aboutsummaryrefslogtreecommitdiffstats
path: root/frontends/verilog/verilog_lexer.l
diff options
context:
space:
mode:
authorPeter Crozier <peter@crozier.com>2020-05-12 14:25:33 +0100
committerPeter Crozier <peter@crozier.com>2020-05-12 14:25:33 +0100
commitf482c9c0168a6857383e7d9360c8ca1df36ba2bc (patch)
tree366454dd200407cc54ec7bec0c12b145715e5c25 /frontends/verilog/verilog_lexer.l
parent0b6b47ca670b9219bcb81ab7d3599267c2ef7571 (diff)
downloadyosys-f482c9c0168a6857383e7d9360c8ca1df36ba2bc.tar.gz
yosys-f482c9c0168a6857383e7d9360c8ca1df36ba2bc.tar.bz2
yosys-f482c9c0168a6857383e7d9360c8ca1df36ba2bc.zip
Generalise structs and add support for packed unions.
Diffstat (limited to 'frontends/verilog/verilog_lexer.l')
-rw-r--r--frontends/verilog/verilog_lexer.l6
1 files changed, 4 insertions, 2 deletions
diff --git a/frontends/verilog/verilog_lexer.l b/frontends/verilog/verilog_lexer.l
index 19e54816d..6217b5728 100644
--- a/frontends/verilog/verilog_lexer.l
+++ b/frontends/verilog/verilog_lexer.l
@@ -265,6 +265,7 @@ static bool isUserType(std::string &s)
"bit" { SV_KEYWORD(TOK_LOGIC); }
"int" { SV_KEYWORD(TOK_INT); }
"byte" { SV_KEYWORD(TOK_BYTE); }
+"shortint" { SV_KEYWORD(TOK_SHORTINT); }
"eventually" { if (formal_mode) return TOK_EVENTUALLY; SV_KEYWORD(TOK_EVENTUALLY); }
"s_eventually" { if (formal_mode) return TOK_EVENTUALLY; SV_KEYWORD(TOK_EVENTUALLY); }
@@ -284,8 +285,9 @@ static bool isUserType(std::string &s)
"enum" { SV_KEYWORD(TOK_ENUM); }
"typedef" { SV_KEYWORD(TOK_TYPEDEF); }
-"struct" { SV_KEYWORD(TOK_STRUCT); }
-"packed" { SV_KEYWORD(TOK_PACKED); }
+"struct" { SV_KEYWORD(TOK_STRUCT); }
+"union" { SV_KEYWORD(TOK_UNION); }
+"packed" { SV_KEYWORD(TOK_PACKED); }
[0-9][0-9_]* {
yylval->string = new std::string(yytext);