@@ -541,7 +541,7 @@ int yyverilogerror(const char *error)
541541
542542/* Others */
543543%token TOK_ENDOFFILE
544- %token TOK_CHARSTR
544+ %token TOK_NON_TYPE_IDENTIFIER
545545%token TOK_NUMBER // number , any base
546546%token TOK_TIME_LITERAL // number followed by time unit
547547%token TOK_QSTRING // quoted string
@@ -1040,7 +1040,7 @@ data_type:
10401040 ;
10411041
10421042enum_name_declaration :
1043- TOK_CHARSTR
1043+ TOK_NON_TYPE_IDENTIFIER
10441044 ;
10451045
10461046enum_name_declaration_list :
@@ -1767,7 +1767,7 @@ name_of_gate_instance_opt:
17671767 | name_of_gate_instance
17681768 ;
17691769
1770- name_of_gate_instance : TOK_CHARSTR ;
1770+ name_of_gate_instance : TOK_NON_TYPE_IDENTIFIER ;
17711771
17721772// System Verilog standard 1800-2017
17731773// A.4.1.1 Module instantiation
@@ -1829,9 +1829,10 @@ module_instance:
18291829 { init($$ , ID_inst); addswap($$ , ID_instance, $1 ); swapop($$ , $3 ); }
18301830 ;
18311831
1832- name_of_instance : { init($$ , " $_&#ANON" + PARSER.get_dummy_id());}
1833- |
1834- TOK_CHARSTR ;
1832+ name_of_instance :
1833+ { init($$ , " $_&#ANON" + PARSER.get_dummy_id());}
1834+ | TOK_NON_TYPE_IDENTIFIER
1835+ ;
18351836
18361837list_of_module_connections_opt :
18371838 /* Optional */
@@ -2827,65 +2828,52 @@ attr_name: identifier
28272828// System Verilog standard 1800-2017
28282829// A.9.3 Identifiers
28292830
2830- block_identifier : TOK_CHARSTR ;
2831+ block_identifier : TOK_NON_TYPE_IDENTIFIER ;
28312832
2832- genvar_identifier : TOK_CHARSTR
2833- { new_symbol($$ , $1 ); }
2834- ;
2833+ genvar_identifier : identifier ;
28352834
28362835hierarchical_parameter_identifier : hierarchical_identifier
28372836 ;
28382837
28392838interface_identifier :
28402839 ;
28412840
2842- module_identifier : TOK_CHARSTR ;
2841+ module_identifier : TOK_NON_TYPE_IDENTIFIER ;
28432842
28442843module_identifier_opt :
28452844 /* Optional */
28462845 | module_identifier
28472846 ;
28482847
2849- net_identifier : TOK_CHARSTR
2850- { new_symbol($$ , $1 ); }
2851- ;
2848+ net_identifier : identifier ;
28522849
2853- param_identifier : TOK_CHARSTR ;
2850+ param_identifier : TOK_NON_TYPE_IDENTIFIER ;
28542851
2855- port_identifier : TOK_CHARSTR
2856- { new_symbol($$ , $1 ); }
2857- ;
2852+ port_identifier : identifier ;
28582853
28592854ps_covergroup_identifier :
28602855 ;
28612856
2862- memory_identifier : TOK_CHARSTR
2863- { new_symbol($$ , $1 ); }
2864- ;
2857+ memory_identifier : identifier ;
28652858
2866- type_identifier : TOK_CHARSTR
2867- { new_symbol($$ , $1 ); }
2868- ;
2859+ type_identifier : identifier ;
28692860
2870- parameter_identifier : TOK_CHARSTR ;
2861+ parameter_identifier : TOK_NON_TYPE_IDENTIFIER ;
28712862
2872- generate_block_identifier : TOK_CHARSTR ;
2863+ generate_block_identifier : TOK_NON_TYPE_IDENTIFIER ;
28732864
2874- udp_identifier : TOK_CHARSTR ;
2865+ udp_identifier : TOK_NON_TYPE_IDENTIFIER ;
28752866
28762867task_identifier : hierarchical_identifier
28772868 ;
28782869
2879- event_identifier :
2880- TOK_CHARSTR
2881- { new_symbol($$ , $1 ); }
2882- ;
2870+ event_identifier : identifier ;
28832871
28842872hierarchical_task_or_block_identifier : task_identifier ;
28852873
28862874hierarchical_tf_identifier : hierarchical_identifier ;
28872875
2888- specparam_identifier : TOK_CHARSTR ;
2876+ specparam_identifier : TOK_NON_TYPE_IDENTIFIER ;
28892877
28902878function_identifier : hierarchical_identifier
28912879 ;
@@ -2904,14 +2892,12 @@ hierarchical_identifier:
29042892
29052893hierarchical_variable_identifier : hierarchical_identifier ;
29062894
2907- identifier : TOK_CHARSTR
2895+ identifier : TOK_NON_TYPE_IDENTIFIER
29082896 { new_symbol($$ , $1 ); }
29092897 ;
29102898
2911- property_identifier : TOK_CHARSTR ;
2899+ property_identifier : TOK_NON_TYPE_IDENTIFIER ;
29122900
2913- variable_identifier : TOK_CHARSTR
2914- { new_symbol($$ , $1 ); }
2915- ;
2901+ variable_identifier : identifier ;
29162902
29172903%%
0 commit comments