diff options
author | Clifford Wolf <clifford@clifford.at> | 2019-09-13 10:22:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-13 10:22:34 +0200 |
commit | 4da6e19fe1c326bb86e68f4446597c2163f3fbb2 (patch) | |
tree | 1d861edf39b3a8eeb81fe59966da61278586478c | |
parent | 6044fff074f026676312f047cfd5a7c862ff987f (diff) | |
parent | 855e6a9b9172e6817c9ff57f7041b09a1cc0367e (diff) | |
download | yosys-4da6e19fe1c326bb86e68f4446597c2163f3fbb2.tar.gz yosys-4da6e19fe1c326bb86e68f4446597c2163f3fbb2.tar.bz2 yosys-4da6e19fe1c326bb86e68f4446597c2163f3fbb2.zip |
Merge pull request #1373 from YosysHQ/clifford/fix1364
Fix lexing of integer literals
-rw-r--r-- | frontends/verilog/const2ast.cc | 4 | ||||
-rw-r--r-- | frontends/verilog/verilog_lexer.l | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/frontends/verilog/const2ast.cc b/frontends/verilog/const2ast.cc index 4bf5b1cf5..5da88a93f 100644 --- a/frontends/verilog/const2ast.cc +++ b/frontends/verilog/const2ast.cc @@ -199,13 +199,13 @@ AstNode *VERILOG_FRONTEND::const2ast(std::string code, char case_type, bool warn if (str == endptr) len_in_bits = -1; - // The "<bits>'s?[bodhBODH]<digits>" syntax + // The "<bits>'[sS]?[bodhBODH]<digits>" syntax if (*endptr == '\'') { std::vector<RTLIL::State> data; bool is_signed = false; bool is_unsized = len_in_bits < 0; - if (*(endptr+1) == 's') { + if (*(endptr+1) == 's' || *(endptr+1) == 'S') { is_signed = true; endptr++; } diff --git a/frontends/verilog/verilog_lexer.l b/frontends/verilog/verilog_lexer.l index 57e55b1f4..4acfb414d 100644 --- a/frontends/verilog/verilog_lexer.l +++ b/frontends/verilog/verilog_lexer.l @@ -239,7 +239,7 @@ YOSYS_NAMESPACE_END return TOK_CONSTVAL; } -[0-9]*[ \t]*\'s?[bodhBODH]*[ \t\r\n]*[0-9a-fA-FzxZX?_]+ { +[0-9]*[ \t]*\'[sS]?[bodhBODH]?[ \t\r\n]*[0-9a-fA-FzxZX?_]+ { frontend_verilog_yylval.string = new std::string(yytext); return TOK_CONSTVAL; } |