diff --git a/parser/verilog_keyword.c b/parser/verilog_keyword.c index a08d2c00a58fa6a906ad7681f5cde034826f4c7f..1220ef4e1a717a76846af2ae9938416c01734930 100644 --- a/parser/verilog_keyword.c +++ b/parser/verilog_keyword.c @@ -184,7 +184,7 @@ static struct s_key_word_list { DEFKEYWORD(SYS_NOCHANGE ,"$nochange") }; -int verilog_find_reserved_word(const char * ident) +int verilog_find_keyword_word(const char * ident) { int i; for (i = 0;i');} YY_BREAK case 20: YY_RULE_SETUP -#line 119 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 117 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN('<');} YY_BREAK case 21: YY_RULE_SETUP -#line 120 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 118 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN('!');} YY_BREAK case 22: YY_RULE_SETUP -#line 121 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 119 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN('&');} YY_BREAK case 23: YY_RULE_SETUP -#line 122 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 120 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN('|');} YY_BREAK case 24: YY_RULE_SETUP -#line 123 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 121 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN('^');} YY_BREAK case 25: YY_RULE_SETUP -#line 124 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 122 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN('~');} YY_BREAK case 26: YY_RULE_SETUP -#line 125 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 123 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN('?');} YY_BREAK case 27: YY_RULE_SETUP -#line 126 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 124 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(ATTRIBUTE_START);} YY_BREAK case 28: YY_RULE_SETUP -#line 127 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 125 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(ATTRIBUTE_END);} YY_BREAK case 29: YY_RULE_SETUP -#line 128 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 126 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(ASL);} YY_BREAK case 30: YY_RULE_SETUP -#line 129 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 127 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(ASR);} YY_BREAK case 31: YY_RULE_SETUP -#line 130 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 128 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(LSL);} YY_BREAK case 32: YY_RULE_SETUP -#line 131 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 129 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(LSR);} YY_BREAK case 33: YY_RULE_SETUP -#line 132 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 130 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(GTE);} YY_BREAK case 34: YY_RULE_SETUP -#line 133 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 131 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(LTE);} YY_BREAK case 35: YY_RULE_SETUP -#line 134 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 132 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(L_AND);} YY_BREAK case 36: YY_RULE_SETUP -#line 135 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 133 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(L_OR);} YY_BREAK case 37: YY_RULE_SETUP -#line 136 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 134 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(L_EQ);} YY_BREAK case 38: YY_RULE_SETUP -#line 137 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 135 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(C_EQ);} YY_BREAK case 39: YY_RULE_SETUP -#line 138 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 136 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(L_NEQ);} YY_BREAK case 40: YY_RULE_SETUP -#line 139 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 137 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(C_NEQ);} YY_BREAK case 41: YY_RULE_SETUP -#line 140 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 138 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(B_EQU);} YY_BREAK case 42: YY_RULE_SETUP -#line 141 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 139 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(B_EQU);} YY_BREAK case 43: YY_RULE_SETUP -#line 142 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 140 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(B_NAND);} YY_BREAK case 44: YY_RULE_SETUP -#line 143 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 141 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {EMIT_TOKEN(B_NOR);} YY_BREAK case 45: YY_RULE_SETUP -#line 146 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 144 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {BEGIN(in_dec_val); EMIT_TOKEN(DEC_BASE);} YY_BREAK case 46: YY_RULE_SETUP -#line 147 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 145 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {BEGIN(in_hex_val); EMIT_TOKEN(HEX_BASE);} YY_BREAK case 47: YY_RULE_SETUP -#line 148 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 146 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {BEGIN(in_oct_val); EMIT_TOKEN(OCT_BASE);} YY_BREAK case 48: YY_RULE_SETUP -#line 149 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 147 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {BEGIN(in_bin_val); EMIT_TOKEN(BIN_BASE);} YY_BREAK case 49: YY_RULE_SETUP -#line 151 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 149 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {BEGIN(INITIAL); yylval.string = _strdup(yytext); EMIT_TOKEN(BIN_VALUE);} YY_BREAK case 50: YY_RULE_SETUP -#line 152 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 150 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {BEGIN(INITIAL); yylval.string = _strdup(yytext); EMIT_TOKEN(OCT_VALUE);} YY_BREAK case 51: YY_RULE_SETUP -#line 153 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 151 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {BEGIN(INITIAL); yylval.string = _strdup(yytext); EMIT_TOKEN(HEX_VALUE);} YY_BREAK case 52: YY_RULE_SETUP -#line 154 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 152 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {BEGIN(INITIAL); yylval.string = _strdup(yytext); EMIT_TOKEN(DEC_VALUE);} YY_BREAK case 53: YY_RULE_SETUP -#line 157 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 155 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {yylval.string=_strdup(yytext);EMIT_TOKEN(NUM_REAL);} YY_BREAK case 54: YY_RULE_SETUP -#line 158 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 156 "D:/gitwork/hdl4se/parser/verilog_scanner.l" { yylval.string=_strdup(yytext); EMIT_TOKEN(UNSIGNED_NUMBER); @@ -1227,11 +1225,11 @@ YY_RULE_SETUP YY_BREAK case 55: YY_RULE_SETUP -#line 163 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 161 "D:/gitwork/hdl4se/parser/verilog_scanner.l" { yylval.string=_strdup(yytext); if (objectCall0(preprocess, SymbolEmitEnabled)) { - int id = verilog_find_reserved_word(yytext); + int id = verilog_find_keyword_word(yytext); if (id == -1) { EMIT_TOKEN(SYSTEM_ID); } else { @@ -1242,7 +1240,7 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 174 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 172 "D:/gitwork/hdl4se/parser/verilog_scanner.l" { yylval.string=_strdup(yytext); EMIT_TOKEN(ESCAPED_ID); @@ -1250,11 +1248,11 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 178 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 176 "D:/gitwork/hdl4se/parser/verilog_scanner.l" { yylval.string=_strdup(yytext); if (objectCall0(preprocess, SymbolEmitEnabled)) { - int id = verilog_find_reserved_word(yytext); + int id = verilog_find_keyword_word(yytext); if (id == -1) { EMIT_TOKEN(SIMPLE_ID); } else { @@ -1265,23 +1263,23 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 190 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 188 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {yylval.string= _strdup(yytext);EMIT_TOKEN(STRING);} YY_BREAK case 59: /* rule 59 can match eol */ YY_RULE_SETUP -#line 192 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 190 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {/*EMIT_TOKEN(NEWLINE); IGNORE */ } YY_BREAK case 60: YY_RULE_SETUP -#line 193 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 191 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {/*EMIT_TOKEN(SPACE); IGNORE */ } YY_BREAK case 61: YY_RULE_SETUP -#line 194 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 192 "D:/gitwork/hdl4se/parser/verilog_scanner.l" {/*EMIT_TOKEN(TAB); IGNORE */ } YY_BREAK case YY_STATE_EOF(INITIAL): @@ -1290,7 +1288,7 @@ case YY_STATE_EOF(in_hex_val): case YY_STATE_EOF(in_oct_val): case YY_STATE_EOF(in_bin_val): case YY_STATE_EOF(in_number): -#line 196 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 194 "D:/gitwork/hdl4se/parser/verilog_scanner.l" { yypop_buffer_state(); @@ -1308,17 +1306,17 @@ case YY_STATE_EOF(in_number): YY_BREAK case 62: YY_RULE_SETUP -#line 211 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 209 "D:/gitwork/hdl4se/parser/verilog_scanner.l" { EMIT_TOKEN(ANY); } YY_BREAK case 63: YY_RULE_SETUP -#line 215 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 213 "D:/gitwork/hdl4se/parser/verilog_scanner.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 1321 "D:/gitwork/hdl4se/parser/verilog_scanner.c" +#line 1319 "D:/gitwork/hdl4se/parser/verilog_scanner.c" case YY_END_OF_BUFFER: { @@ -2333,6 +2331,6 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 215 "D:/gitwork/hdl4se/parser/verilog_scanner.l" +#line 213 "D:/gitwork/hdl4se/parser/verilog_scanner.l" diff --git a/parser/verilog_scanner.l b/parser/verilog_scanner.l index bb53e40605d40924a82b8939ce036e63277665fa..ac2426cf4b642449e3aa007a5b6d6c9e77a143da 100644 --- a/parser/verilog_scanner.l +++ b/parser/verilog_scanner.l @@ -6,14 +6,12 @@ #include "verilog_keyword.h" static IPreprocess ** preprocess = NULL; - static char * __macroname = NULL; - + int SetPreProcess(HOBJECT object) { return objectQueryInterface(object, IID_PREPROCESS, (const void **)&preprocess); } - extern int verilog_find_reserved_word(const char * ident); #define YY_NO_UNISTD_H #define YY_INPUT(buf, result, max_size) \ @@ -163,7 +161,7 @@ B_NOR "~|" {SYSTEM_ID} { yylval.string=_strdup(yytext); if (objectCall0(preprocess, SymbolEmitEnabled)) { - int id = verilog_find_reserved_word(yytext); + int id = verilog_find_keyword_word(yytext); if (id == -1) { EMIT_TOKEN(SYSTEM_ID); } else { @@ -178,7 +176,7 @@ B_NOR "~|" {SIMPLE_ID} { yylval.string=_strdup(yytext); if (objectCall0(preprocess, SymbolEmitEnabled)) { - int id = verilog_find_reserved_word(yytext); + int id = verilog_find_keyword_word(yytext); if (id == -1) { EMIT_TOKEN(SIMPLE_ID); } else {