diff options
author | Jim Lawson <ucbjrl@berkeley.edu> | 2018-12-18 14:08:20 -0800 |
---|---|---|
committer | Jim Lawson <ucbjrl@berkeley.edu> | 2018-12-18 14:08:20 -0800 |
commit | f4d500f98e0e298a98099ec2177b43571e9cda61 (patch) | |
tree | e39952065ae50763d5ef47ec1495ad234eaca59e /frontends/verilog/verilog_lexer.l | |
parent | 3bb9288d65f547085b79fbaffb7046f336ff7f59 (diff) | |
parent | 2d73e1b60a43f2a621b387768134b83054f59e89 (diff) | |
download | yosys-f4d500f98e0e298a98099ec2177b43571e9cda61.tar.gz yosys-f4d500f98e0e298a98099ec2177b43571e9cda61.tar.bz2 yosys-f4d500f98e0e298a98099ec2177b43571e9cda61.zip |
Merge remote-tracking branch 'upstream/master'
# Conflicts:
# CHANGELOG
# frontends/verific/verific.cc
# frontends/verilog/verilog_parser.y
Diffstat (limited to 'frontends/verilog/verilog_lexer.l')
-rw-r--r-- | frontends/verilog/verilog_lexer.l | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/frontends/verilog/verilog_lexer.l b/frontends/verilog/verilog_lexer.l index 83921bf0b..f9118e142 100644 --- a/frontends/verilog/verilog_lexer.l +++ b/frontends/verilog/verilog_lexer.l @@ -135,6 +135,9 @@ YOSYS_NAMESPACE_END frontend_verilog_yyerror("Unsupported default nettype: %s", p); } +"`protect"[^\n]* /* ignore `protect*/ +"`endprotect"[^\n]* /* ignore `endprotect*/ + "`"[a-zA-Z_$][a-zA-Z0-9_$]* { frontend_verilog_yyerror("Unimplemented compiler directive or undefined macro %s.", yytext); } @@ -150,6 +153,9 @@ YOSYS_NAMESPACE_END "specparam" { return TOK_SPECPARAM; } "package" { SV_KEYWORD(TOK_PACKAGE); } "endpackage" { SV_KEYWORD(TOK_ENDPACKAGE); } +"interface" { SV_KEYWORD(TOK_INTERFACE); } +"endinterface" { SV_KEYWORD(TOK_ENDINTERFACE); } +"modport" { SV_KEYWORD(TOK_MODPORT); } "parameter" { return TOK_PARAMETER; } "localparam" { return TOK_LOCALPARAM; } "defparam" { return TOK_DEFPARAM; } @@ -295,6 +301,11 @@ supply1 { return TOK_SUPPLY1; } return TOK_ID; } +[a-zA-Z_$][a-zA-Z0-9_$\.]* { + frontend_verilog_yylval.string = new std::string(std::string("\\") + yytext); + return TOK_ID; +} + "/*"[ \t]*(synopsys|synthesis)[ \t]*translate_off[ \t]*"*/" { static bool printed_warning = false; if (!printed_warning) { |