@@ -541,7 +541,7 @@ int yyverilogerror(const char *error)
541
541
542
542
/* Others */
543
543
%token TOK_ENDOFFILE
544
- %token TOK_CHARSTR
544
+ %token TOK_NON_TYPE_IDENTIFIER
545
545
%token TOK_NUMBER // number , any base
546
546
%token TOK_TIME_LITERAL // number followed by time unit
547
547
%token TOK_QSTRING // quoted string
@@ -1040,7 +1040,7 @@ data_type:
1040
1040
;
1041
1041
1042
1042
enum_name_declaration :
1043
- TOK_CHARSTR
1043
+ TOK_NON_TYPE_IDENTIFIER
1044
1044
;
1045
1045
1046
1046
enum_name_declaration_list :
@@ -1767,7 +1767,7 @@ name_of_gate_instance_opt:
1767
1767
| name_of_gate_instance
1768
1768
;
1769
1769
1770
- name_of_gate_instance : TOK_CHARSTR ;
1770
+ name_of_gate_instance : TOK_NON_TYPE_IDENTIFIER ;
1771
1771
1772
1772
// System Verilog standard 1800-2017
1773
1773
// A.4.1.1 Module instantiation
@@ -1829,9 +1829,10 @@ module_instance:
1829
1829
{ init($$ , ID_inst); addswap($$ , ID_instance, $1 ); swapop($$ , $3 ); }
1830
1830
;
1831
1831
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
+ ;
1835
1836
1836
1837
list_of_module_connections_opt :
1837
1838
/* Optional */
@@ -2827,65 +2828,52 @@ attr_name: identifier
2827
2828
// System Verilog standard 1800-2017
2828
2829
// A.9.3 Identifiers
2829
2830
2830
- block_identifier : TOK_CHARSTR ;
2831
+ block_identifier : TOK_NON_TYPE_IDENTIFIER ;
2831
2832
2832
- genvar_identifier : TOK_CHARSTR
2833
- { new_symbol($$ , $1 ); }
2834
- ;
2833
+ genvar_identifier : identifier ;
2835
2834
2836
2835
hierarchical_parameter_identifier : hierarchical_identifier
2837
2836
;
2838
2837
2839
2838
interface_identifier :
2840
2839
;
2841
2840
2842
- module_identifier : TOK_CHARSTR ;
2841
+ module_identifier : TOK_NON_TYPE_IDENTIFIER ;
2843
2842
2844
2843
module_identifier_opt :
2845
2844
/* Optional */
2846
2845
| module_identifier
2847
2846
;
2848
2847
2849
- net_identifier : TOK_CHARSTR
2850
- { new_symbol($$ , $1 ); }
2851
- ;
2848
+ net_identifier : identifier ;
2852
2849
2853
- param_identifier : TOK_CHARSTR ;
2850
+ param_identifier : TOK_NON_TYPE_IDENTIFIER ;
2854
2851
2855
- port_identifier : TOK_CHARSTR
2856
- { new_symbol($$ , $1 ); }
2857
- ;
2852
+ port_identifier : identifier ;
2858
2853
2859
2854
ps_covergroup_identifier :
2860
2855
;
2861
2856
2862
- memory_identifier : TOK_CHARSTR
2863
- { new_symbol($$ , $1 ); }
2864
- ;
2857
+ memory_identifier : identifier ;
2865
2858
2866
- type_identifier : TOK_CHARSTR
2867
- { new_symbol($$ , $1 ); }
2868
- ;
2859
+ type_identifier : identifier ;
2869
2860
2870
- parameter_identifier : TOK_CHARSTR ;
2861
+ parameter_identifier : TOK_NON_TYPE_IDENTIFIER ;
2871
2862
2872
- generate_block_identifier : TOK_CHARSTR ;
2863
+ generate_block_identifier : TOK_NON_TYPE_IDENTIFIER ;
2873
2864
2874
- udp_identifier : TOK_CHARSTR ;
2865
+ udp_identifier : TOK_NON_TYPE_IDENTIFIER ;
2875
2866
2876
2867
task_identifier : hierarchical_identifier
2877
2868
;
2878
2869
2879
- event_identifier :
2880
- TOK_CHARSTR
2881
- { new_symbol($$ , $1 ); }
2882
- ;
2870
+ event_identifier : identifier ;
2883
2871
2884
2872
hierarchical_task_or_block_identifier : task_identifier ;
2885
2873
2886
2874
hierarchical_tf_identifier : hierarchical_identifier ;
2887
2875
2888
- specparam_identifier : TOK_CHARSTR ;
2876
+ specparam_identifier : TOK_NON_TYPE_IDENTIFIER ;
2889
2877
2890
2878
function_identifier : hierarchical_identifier
2891
2879
;
@@ -2904,14 +2892,12 @@ hierarchical_identifier:
2904
2892
2905
2893
hierarchical_variable_identifier : hierarchical_identifier ;
2906
2894
2907
- identifier : TOK_CHARSTR
2895
+ identifier : TOK_NON_TYPE_IDENTIFIER
2908
2896
{ new_symbol($$ , $1 ); }
2909
2897
;
2910
2898
2911
- property_identifier : TOK_CHARSTR ;
2899
+ property_identifier : TOK_NON_TYPE_IDENTIFIER ;
2912
2900
2913
- variable_identifier : TOK_CHARSTR
2914
- { new_symbol($$ , $1 ); }
2915
- ;
2901
+ variable_identifier : identifier ;
2916
2902
2917
2903
%%
0 commit comments