From b0bb781e1dae3d98b861c1f6cae7fb99efefe2e1 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Fri, 19 Mar 2010 11:12:33 -0700 Subject: [PATCH] Don't track new type names during pass-1 parsing This implementation was wrong anyway because it did not respect scoping rules. This will need to be revisited soon. The most likely result is that the grammar is going to need some significant re-work to be able to use a IDENTIFIER in all the places where a TYPE_NAME is currently used. --- glsl_lexer.lpp | 9 +-------- glsl_parser.ypp | 3 --- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/glsl_lexer.lpp b/glsl_lexer.lpp index 9c7e306..8f3f121 100644 --- a/glsl_lexer.lpp +++ b/glsl_lexer.lpp @@ -24,7 +24,6 @@ #include "ast.h" #include "glsl_parser_extras.h" #include "glsl_parser.h" -#include "symbol_table.h" #define YY_USER_ACTION \ do { \ @@ -245,13 +244,7 @@ precision return PRECISION; [_a-zA-Z][_a-zA-Z0-9]* { yylval->identifier = strdup(yytext); - - if (_mesa_symbol_table_find_symbol(yyextra->symbols, - 0, - yylval->identifier)) - return TYPE_NAME; - else - return IDENTIFIER; + return IDENTIFIER; } . { return yytext[0]; } diff --git a/glsl_parser.ypp b/glsl_parser.ypp index 2bc5cb0..7af93dd 100644 --- a/glsl_parser.ypp +++ b/glsl_parser.ypp @@ -28,7 +28,6 @@ #include "ast.h" #include "glsl_parser_extras.h" -#include "symbol_table.h" #include "glsl_types.h" #define YYLEX_PARAM state->scanner @@ -934,8 +933,6 @@ struct_specifier: STRUCT IDENTIFIER '{' struct_declaration_list '}' { $$ = new ast_struct_specifier($2, $4); - - _mesa_symbol_table_add_symbol(state->symbols, 0, $2, $$); } | STRUCT '{' struct_declaration_list '}' { -- 2.7.4