Add "enum" and "typedef" lexer support
authorClifford Wolf <clifford@clifford.at>
Tue, 17 Jan 2017 16:33:52 +0000 (17:33 +0100)
committerClifford Wolf <clifford@clifford.at>
Tue, 17 Jan 2017 16:33:52 +0000 (17:33 +0100)
frontends/verilog/verilog_lexer.l
frontends/verilog/verilog_parser.y

index 405aeb975bcb75366a976f3faaf38c2bb4707490..c22fdf39c32110a249fb26815c43373bab1c8c9b 100644 (file)
@@ -192,6 +192,9 @@ YOSYS_NAMESPACE_END
 "genvar"  { return TOK_GENVAR; }
 "real"    { return TOK_REAL; }
 
+"enum"    { SV_KEYWORD(TOK_ENUM); }
+"typedef" { SV_KEYWORD(TOK_TYPEDEF); }
+
 [0-9][0-9_]* {
        frontend_verilog_yylval.string = new std::string(yytext);
        return TOK_CONST;
index 607c48a81275af7ce7c7c72086c52fb31ca0a432..ba47bf2d3634560d7cd8723e5a841e7bf95a3f2a 100644 (file)
@@ -114,7 +114,7 @@ static void free_attr(std::map<std::string, AstNode*> *al)
 %token TOK_SYNOPSYS_FULL_CASE TOK_SYNOPSYS_PARALLEL_CASE
 %token TOK_SUPPLY0 TOK_SUPPLY1 TOK_TO_SIGNED TOK_TO_UNSIGNED
 %token TOK_POS_INDEXED TOK_NEG_INDEXED TOK_ASSERT TOK_ASSUME
-%token TOK_RESTRICT TOK_PROPERTY
+%token TOK_RESTRICT TOK_PROPERTY TOK_ENUM TOK_TYPEDEF
 
 %type <ast> range range_or_multirange  non_opt_range non_opt_multirange range_or_signed_int
 %type <ast> wire_type expr basic_expr concat_list rvalue lvalue lvalue_concat_list