Add lib.map information to unsupported message, etc

This commit is contained in:
Wilson Snyder
2025-05-03 05:30:40 -04:00
parent e837f780a2
commit ea65bcd86b
12 changed files with 157 additions and 38 deletions
+12 -11
View File
@@ -441,18 +441,19 @@ vnum {vnum1}|{vnum2}|{vnum3}|{vnum4}|{vnum5}
/* Verilog 2001 Config */
<V01C,V05,VA5,S05,S09,S12,S17,S23,SAX>{
/* Generic unsupported keywords */
"cell" { ERROR_RSVD_WORD("Verilog 2001-config"); }
"config" { ERROR_RSVD_WORD("Verilog 2001-config"); }
"design" { ERROR_RSVD_WORD("Verilog 2001-config"); }
"endconfig" { ERROR_RSVD_WORD("Verilog 2001-config"); }
"incdir" { ERROR_RSVD_WORD("Verilog 2001-config"); }
"include" { FL; yylval.fl->v3warn(E_UNSUPPORTED, "Unsupported: Verilog 2001-config reserved word not implemented;"
" suggest you want `include instead: '" << yytext << "'");
"cell" { FL; ERROR_RSVD_WORD("Verilog 2001-config"); }
"config" { FL; ERROR_RSVD_WORD("Verilog 2001-config"); }
"design" { FL; ERROR_RSVD_WORD("Verilog 2001-config"); }
"endconfig" { FL; ERROR_RSVD_WORD("Verilog 2001-config"); }
"incdir" { FL; ERROR_RSVD_WORD("Verilog 2001-config lib.map"); }
"include" { FL; yylval.fl->v3warn(E_UNSUPPORTED, "Unsupported: Verilog 2001-config lib.map reserved word not implemented: 'include'\n"
<< yylval.fl->warnMore() << "... Suggest unless in a lib.map file,"
" want `include instead");
FL_BRK; }
"instance" { ERROR_RSVD_WORD("Verilog 2001-config"); }
"liblist" { ERROR_RSVD_WORD("Verilog 2001-config"); }
"library" { ERROR_RSVD_WORD("Verilog 2001-config"); }
"use" { ERROR_RSVD_WORD("Verilog 2001-config"); }
"instance" { FL; ERROR_RSVD_WORD("Verilog 2001-config"); }
"liblist" { FL; ERROR_RSVD_WORD("Verilog 2001-config"); }
"library" { FL; ERROR_RSVD_WORD("Verilog 2001-config lib.map"); }
"use" { FL; ERROR_RSVD_WORD("Verilog 2001-config"); }
}
/* Verilog 2005 */
+32
View File
@@ -7733,6 +7733,38 @@ colon<fl>: // Generic colon that isn't making a label (e.g.
| yP_COLON__FORK { $$ = $1; }
;
//**********************************************************************
// Config - config...endconfig
//**********************************************************************
// Config - lib.map
//UNSUP library_text: // == IEEE: library_text (note is top-level entry point)
//UNSUP library_description { }
//UNSUP | library_text library_description { }
//UNSUP ;
//UNSUP library_description: // == IEEE: library_description
//UNSUP // // IEEE: library_declaration
//UNSUP yLIBRARY idAny/*library_identifier*/ file_path_specList ';'
//UNSUP { BBUNSUP($<fl>1, "Unsupported: config lib.map library"); }
//UNSUP yLIBRARY idAny/*library_identifier*/ file_path_specList '-' yINCDIR file_path_specList ';'
//UNSUP { BBUNSUP($<fl>1, "Unsupported: config lib.map library"); }
//UNSUP // // IEEE: include_statement
//UNSUP | yINCLUDE file_path_spec ';' { BBUNSUP($<fl>1, "Unsupported: config include"); }
//UNSUP | config_declaration { }
//UNSUP | ';' { }
//UNSUP ;
//UNSUP file_path_specList: // IEEE: file_path_spec { ',' file_path_spec }
//UNSUP file_path_spec { }
//UNSUP | file_path_specList ',' file_path_spec { }
//UNSUP ;
//UNSUP file_path_spec: // IEEE: file_path_spec
//UNSUP Needs to be lexer rule, Note '/' '*' must not be a comment.
//UNSUP ;
//**********************************************************************
// VLT Files