diff options
| author | Michal Krol <michal@vmware.com> | 2009-09-08 13:32:20 +0200 | 
|---|---|---|
| committer | Michal Krol <michal@vmware.com> | 2009-09-08 13:32:20 +0200 | 
| commit | fab99092a0879531442d1dd20f971ae7eda824eb (patch) | |
| tree | 712e9b51f3413a706341362bc79c1a45b2065cdd | |
| parent | 2ec2936454a4a69b5b3b438ab66f00a5b7d2a5e5 (diff) | |
slang: Correctly handle end of tokens marker.
| -rw-r--r-- | src/mesa/shader/grammar/grammar.c | 2 | ||||
| -rw-r--r-- | src/mesa/shader/slang/library/slang_shader.syn | 2 | ||||
| -rw-r--r-- | 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 36ed9d5603..54e94bbf6a 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 4558ed58b0..f6bf7f1e54 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 e94238e012..9a56643d2f 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" | 
