Mesa (glsl-pp-rework-2): slang: Correctly handle end of tokens marker.

Michał Król michal at kemper.freedesktop.org
Tue Sep 8 11:32:28 UTC 2009


Module: Mesa
Branch: glsl-pp-rework-2
Commit: fab99092a0879531442d1dd20f971ae7eda824eb
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fab99092a0879531442d1dd20f971ae7eda824eb

Author: Michal Krol <michal at vmware.com>
Date:   Tue Sep  8 13:32:20 2009 +0200

slang: Correctly handle end of tokens marker.

---

 src/mesa/shader/grammar/grammar.c                |    2 ++
 src/mesa/shader/slang/library/slang_shader.syn   |    2 +-
 src/mesa/shader/slang/library/slang_shader_syn.h |    2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/shader/grammar/grammar.c b/src/mesa/shader/grammar/grammar.c
index 36ed9d5..54e94bb 100644
--- a/src/mesa/shader/grammar/grammar.c
+++ b/src/mesa/shader/grammar/grammar.c
@@ -2069,6 +2069,8 @@ static int get_spec (const byte **text, spec **sp, map_str *maps, map_byte *mapb
             s->m_token = SL_PP_IDENTIFIER;
          } else if (!strcmp(s->m_string, "@NUM")) {
             s->m_token = SL_PP_NUMBER;
+         } else if (!strcmp(s->m_string, "@EOF")) {
+            s->m_token = SL_PP_EOF;
          } else {
             spec_destroy(&s);
             return 1;
diff --git a/src/mesa/shader/slang/library/slang_shader.syn b/src/mesa/shader/slang/library/slang_shader.syn
index 4558ed5..f6bf7f1 100644
--- a/src/mesa/shader/slang/library/slang_shader.syn
+++ b/src/mesa/shader/slang/library/slang_shader.syn
@@ -1291,7 +1291,7 @@ var_with_field
  */
 translation_unit
     .true .emit REVISION .and external_declaration .error INVALID_EXTERNAL_DECLARATION .and
-    .loop external_declaration .and '\0' .error INVALID_EXTERNAL_DECLARATION .emit EXTERNAL_NULL;
+    .loop external_declaration .and "@EOF" .error INVALID_EXTERNAL_DECLARATION .emit EXTERNAL_NULL;
 
 
 /*
diff --git a/src/mesa/shader/slang/library/slang_shader_syn.h b/src/mesa/shader/slang/library/slang_shader_syn.h
index e94238e..9a56643 100644
--- a/src/mesa/shader/slang/library/slang_shader_syn.h
+++ b/src/mesa/shader/slang/library/slang_shader_syn.h
@@ -601,7 +601,7 @@
 " variable_identifier .and dot .and field_selection .emit OP_FIELD;\n"
 "translation_unit\n"
 " .true .emit REVISION .and external_declaration .error INVALID_EXTERNAL_DECLARATION .and\n"
-" .loop external_declaration .and '\\0' .error INVALID_EXTERNAL_DECLARATION .emit EXTERNAL_NULL;\n"
+" .loop external_declaration .and \"@EOF\" .error INVALID_EXTERNAL_DECLARATION .emit EXTERNAL_NULL;\n"
 "external_declaration\n"
 " precision_stmt .emit DEFAULT_PRECISION .or\n"
 " function_definition .emit EXTERNAL_FUNCTION_DEFINITION .or\n"




More information about the mesa-commit mailing list