From 33bea9e69451f368f97955d6a9d7062e009c5b46 Mon Sep 17 00:00:00 2001 From: Zachary Snow Date: Wed, 4 Sep 2019 21:02:02 -0400 Subject: [PATCH] added remaining SV keywords --- src/Language/SystemVerilog/Parser/Lex.x | 148 ++++++++++++++++++++ src/Language/SystemVerilog/Parser/Parse.y | 148 ++++++++++++++++++++ src/Language/SystemVerilog/Parser/Tokens.hs | 38 +++-- 3 files changed, 325 insertions(+), 9 deletions(-) diff --git a/src/Language/SystemVerilog/Parser/Lex.x b/src/Language/SystemVerilog/Parser/Lex.x index c7bb4bb..5e7d14a 100644 --- a/src/Language/SystemVerilog/Parser/Lex.x +++ b/src/Language/SystemVerilog/Parser/Lex.x @@ -109,6 +109,8 @@ $decimalDigit = [0-9] tokens :- "$bits" { tok KW_dollar_bits } + "accept_on" { tok KW_accept_on } + "alias" { tok KW_alias } "always" { tok KW_always } "always_comb" { tok KW_always_comb } "always_ff" { tok KW_always_ff } @@ -118,93 +120,239 @@ tokens :- "assign" { tok KW_assign } "assume" { tok KW_assume } "automatic" { tok KW_automatic } + "before" { tok KW_before } "begin" { tok KW_begin } + "bind" { tok KW_bind } + "bins" { tok KW_bins } + "binsof" { tok KW_binsof } "bit" { tok KW_bit } + "break" { tok KW_break } "buf" { tok KW_buf } + "bufif0" { tok KW_bufif0 } + "bufif1" { tok KW_bufif1 } "byte" { tok KW_byte } "case" { tok KW_case } "casex" { tok KW_casex } "casez" { tok KW_casez } + "cell" { tok KW_cell } + "chandle" { tok KW_chandle } + "checker" { tok KW_checker } + "class" { tok KW_class } + "clocking" { tok KW_clocking } + "cmos" { tok KW_cmos } + "config" { tok KW_config } + "const" { tok KW_const } + "constraint" { tok KW_constraint } + "context" { tok KW_context } + "continue" { tok KW_continue } "cover" { tok KW_cover } + "covergroup" { tok KW_covergroup } + "coverpoint" { tok KW_coverpoint } + "cross" { tok KW_cross } + "deassign" { tok KW_deassign } "default" { tok KW_default } "defparam" { tok KW_defparam } + "design" { tok KW_design } "disable" { tok KW_disable } + "dist" { tok KW_dist } "do" { tok KW_do } + "edge" { tok KW_edge } "else" { tok KW_else } "end" { tok KW_end } "endcase" { tok KW_endcase } + "endchecker" { tok KW_endchecker } + "endclass" { tok KW_endclass } + "endclocking" { tok KW_endclocking } + "endconfig" { tok KW_endconfig } "endfunction" { tok KW_endfunction } "endgenerate" { tok KW_endgenerate } + "endgroup" { tok KW_endgroup } "endinterface" { tok KW_endinterface } "endmodule" { tok KW_endmodule } "endpackage" { tok KW_endpackage } + "endprimitive" { tok KW_endprimitive } + "endprogram" { tok KW_endprogram } + "endproperty" { tok KW_endproperty } + "endspecify" { tok KW_endspecify } + "endsequence" { tok KW_endsequence } + "endtable" { tok KW_endtable } "endtask" { tok KW_endtask } "enum" { tok KW_enum } + "event" { tok KW_event } + "eventually" { tok KW_eventually } + "expect" { tok KW_expect } "export" { tok KW_export } + "extends" { tok KW_extends } "extern" { tok KW_extern } + "final" { tok KW_final } "first_match" { tok KW_first_match } "for" { tok KW_for } + "force" { tok KW_force } + "foreach" { tok KW_foreach } "forever" { tok KW_forever } + "fork" { tok KW_fork } + "forkjoin" { tok KW_forkjoin } "function" { tok KW_function } "generate" { tok KW_generate } "genvar" { tok KW_genvar } + "global" { tok KW_global } + "highz0" { tok KW_highz0 } + "highz1" { tok KW_highz1 } "if" { tok KW_if } "iff" { tok KW_iff } + "ifnone" { tok KW_ifnone } + "ignore_bins" { tok KW_ignore_bins } + "illegal_bins" { tok KW_illegal_bins } + "implements" { tok KW_implements } + "implies" { tok KW_implies } "import" { tok KW_import } + "incdir" { tok KW_incdir } + "include" { tok KW_include } "initial" { tok KW_initial } "inout" { tok KW_inout } "input" { tok KW_input } + "inside" { tok KW_inside } + "instance" { tok KW_instance } "int" { tok KW_int } "integer" { tok KW_integer } + "interconnect" { tok KW_interconnect } "interface" { tok KW_interface } "intersect" { tok KW_intersect } + "join" { tok KW_join } + "join_any" { tok KW_join_any } + "join_none" { tok KW_join_none } + "large" { tok KW_large } + "let" { tok KW_let } + "liblist" { tok KW_liblist } + "library" { tok KW_library } + "local" { tok KW_local } "localparam" { tok KW_localparam } "logic" { tok KW_logic } "longint" { tok KW_longint } + "macromodule" { tok KW_macromodule } + "matches" { tok KW_matches } + "medium" { tok KW_medium } "modport" { tok KW_modport } "module" { tok KW_module } "nand" { tok KW_nand } "negedge" { tok KW_negedge } + "nettype" { tok KW_nettype } + "new" { tok KW_new } + "nexttime" { tok KW_nexttime } + "nmos" { tok KW_nmos } "nor" { tok KW_nor } + "noshowcancelled" { tok KW_noshowcancelled } "not" { tok KW_not } + "notif0" { tok KW_notif0 } + "notif1" { tok KW_notif1 } + "null" { tok KW_null } "or" { tok KW_or } "output" { tok KW_output } "package" { tok KW_package } "packed" { tok KW_packed } "parameter" { tok KW_parameter } + "pmos" { tok KW_pmos } "posedge" { tok KW_posedge } + "primitive" { tok KW_primitive } "priority" { tok KW_priority } + "program" { tok KW_program } "property" { tok KW_property } + "protected" { tok KW_protected } + "pull0" { tok KW_pull0 } + "pull1" { tok KW_pull1 } + "pulldown" { tok KW_pulldown } + "pullup" { tok KW_pullup } + "pulsestyle_ondetect" { tok KW_pulsestyle_ondetect } + "pulsestyle_onevent" { tok KW_pulsestyle_onevent } + "pure" { tok KW_pure } + "rand" { tok KW_rand } + "randc" { tok KW_randc } + "randcase" { tok KW_randcase } + "randsequence" { tok KW_randsequence } + "rcmos" { tok KW_rcmos } "real" { tok KW_real } "realtime" { tok KW_realtime } + "ref" { tok KW_ref } "reg" { tok KW_reg } + "reject_on" { tok KW_reject_on } + "release" { tok KW_release } "repeat" { tok KW_repeat } + "restrict" { tok KW_restrict } "return" { tok KW_return } + "rnmos" { tok KW_rnmos } + "rpmos" { tok KW_rpmos } + "rtran" { tok KW_rtran } + "rtranif0" { tok KW_rtranif0 } + "rtranif1" { tok KW_rtranif1 } + "s_always" { tok KW_s_always } + "s_eventually" { tok KW_s_eventually } + "s_nexttime" { tok KW_s_nexttime } + "s_until" { tok KW_s_until } + "s_until_with" { tok KW_s_until_with } + "scalared" { tok KW_scalared } + "sequence" { tok KW_sequence } "shortint" { tok KW_shortint } "shortreal" { tok KW_shortreal } + "showcancelled" { tok KW_showcancelled } "signed" { tok KW_signed } + "small" { tok KW_small } + "soft" { tok KW_soft } + "solve" { tok KW_solve } + "specify" { tok KW_specify } + "specparam" { tok KW_specparam } "static" { tok KW_static } + "string" { tok KW_string } + "strong" { tok KW_strong } + "strong0" { tok KW_strong0 } + "strong1" { tok KW_strong1 } "struct" { tok KW_struct } + "super" { tok KW_super } "supply0" { tok KW_supply0 } "supply1" { tok KW_supply1 } + "sync_accept_on" { tok KW_sync_accept_on } + "sync_reject_on" { tok KW_sync_reject_on } + "table" { tok KW_table } + "tagged" { tok KW_tagged } "task" { tok KW_task } + "this" { tok KW_this } "throughout" { tok KW_throughout } "time" { tok KW_time } + "timeprecision" { tok KW_timeprecision } + "timeunit" { tok KW_timeunit } + "tran" { tok KW_tran } + "tranif0" { tok KW_tranif0 } + "tranif1" { tok KW_tranif1 } "tri" { tok KW_tri } "tri0" { tok KW_tri0 } "tri1" { tok KW_tri1 } "triand" { tok KW_triand } "trior" { tok KW_trior } "trireg" { tok KW_trireg } + "type" { tok KW_type } "typedef" { tok KW_typedef } "union" { tok KW_union } "unique" { tok KW_unique } "unique0" { tok KW_unique0 } "unsigned" { tok KW_unsigned } + "until" { tok KW_until } + "until_with" { tok KW_until_with } + "untyped" { tok KW_untyped } + "use" { tok KW_use } "uwire" { tok KW_uwire } + "var" { tok KW_var } + "vectored" { tok KW_vectored } + "virtual" { tok KW_virtual } + "void" { tok KW_void } + "wait" { tok KW_wait } + "wait_order" { tok KW_wait_order } "wand" { tok KW_wand } + "weak" { tok KW_weak } + "weak0" { tok KW_weak0 } + "weak1" { tok KW_weak1 } "while" { tok KW_while } + "wildcard" { tok KW_wildcard } "wire" { tok KW_wire } + "with" { tok KW_with } "within" { tok KW_within } "wor" { tok KW_wor } "xnor" { tok KW_xnor } diff --git a/src/Language/SystemVerilog/Parser/Parse.y b/src/Language/SystemVerilog/Parser/Parse.y index f02d8ca..a1bdee0 100644 --- a/src/Language/SystemVerilog/Parser/Parse.y +++ b/src/Language/SystemVerilog/Parser/Parse.y @@ -27,6 +27,8 @@ import Language.SystemVerilog.Parser.Tokens %token "$bits" { Token KW_dollar_bits _ _ } +"accept_on" { Token KW_accept_on _ _ } +"alias" { Token KW_alias _ _ } "always" { Token KW_always _ _ } "always_comb" { Token KW_always_comb _ _ } "always_ff" { Token KW_always_ff _ _ } @@ -36,93 +38,239 @@ import Language.SystemVerilog.Parser.Tokens "assign" { Token KW_assign _ _ } "assume" { Token KW_assume _ _ } "automatic" { Token KW_automatic _ _ } +"before" { Token KW_before _ _ } "begin" { Token KW_begin _ _ } +"bind" { Token KW_bind _ _ } +"bins" { Token KW_bins _ _ } +"binsof" { Token KW_binsof _ _ } "bit" { Token KW_bit _ _ } +"break" { Token KW_break _ _ } "buf" { Token KW_buf _ _ } +"bufif0" { Token KW_bufif0 _ _ } +"bufif1" { Token KW_bufif1 _ _ } "byte" { Token KW_byte _ _ } "case" { Token KW_case _ _ } "casex" { Token KW_casex _ _ } "casez" { Token KW_casez _ _ } +"cell" { Token KW_cell _ _ } +"chandle" { Token KW_chandle _ _ } +"checker" { Token KW_checker _ _ } +"class" { Token KW_class _ _ } +"clocking" { Token KW_clocking _ _ } +"cmos" { Token KW_cmos _ _ } +"config" { Token KW_config _ _ } +"const" { Token KW_const _ _ } +"constraint" { Token KW_constraint _ _ } +"context" { Token KW_context _ _ } +"continue" { Token KW_continue _ _ } "cover" { Token KW_cover _ _ } +"covergroup" { Token KW_covergroup _ _ } +"coverpoint" { Token KW_coverpoint _ _ } +"cross" { Token KW_cross _ _ } +"deassign" { Token KW_deassign _ _ } "default" { Token KW_default _ _ } "defparam" { Token KW_defparam _ _ } +"design" { Token KW_design _ _ } "disable" { Token KW_disable _ _ } +"dist" { Token KW_dist _ _ } "do" { Token KW_do _ _ } +"edge" { Token KW_edge _ _ } "else" { Token KW_else _ _ } "end" { Token KW_end _ _ } "endcase" { Token KW_endcase _ _ } +"endchecker" { Token KW_endchecker _ _ } +"endclass" { Token KW_endclass _ _ } +"endclocking" { Token KW_endclocking _ _ } +"endconfig" { Token KW_endconfig _ _ } "endfunction" { Token KW_endfunction _ _ } "endgenerate" { Token KW_endgenerate _ _ } +"endgroup" { Token KW_endgroup _ _ } "endinterface" { Token KW_endinterface _ _ } "endmodule" { Token KW_endmodule _ _ } "endpackage" { Token KW_endpackage _ _ } +"endprimitive" { Token KW_endprimitive _ _ } +"endprogram" { Token KW_endprogram _ _ } +"endproperty" { Token KW_endproperty _ _ } +"endspecify" { Token KW_endspecify _ _ } +"endsequence" { Token KW_endsequence _ _ } +"endtable" { Token KW_endtable _ _ } "endtask" { Token KW_endtask _ _ } "enum" { Token KW_enum _ _ } +"event" { Token KW_event _ _ } +"eventually" { Token KW_eventually _ _ } +"expect" { Token KW_expect _ _ } "export" { Token KW_export _ _ } +"extends" { Token KW_extends _ _ } "extern" { Token KW_extern _ _ } +"final" { Token KW_final _ _ } "first_match" { Token KW_first_match _ _ } "for" { Token KW_for _ _ } +"force" { Token KW_force _ _ } +"foreach" { Token KW_foreach _ _ } "forever" { Token KW_forever _ _ } +"fork" { Token KW_fork _ _ } +"forkjoin" { Token KW_forkjoin _ _ } "function" { Token KW_function _ _ } "generate" { Token KW_generate _ _ } "genvar" { Token KW_genvar _ _ } +"global" { Token KW_global _ _ } +"highz0" { Token KW_highz0 _ _ } +"highz1" { Token KW_highz1 _ _ } "if" { Token KW_if _ _ } "iff" { Token KW_iff _ _ } +"ifnone" { Token KW_ifnone _ _ } +"ignore_bins" { Token KW_ignore_bins _ _ } +"illegal_bins" { Token KW_illegal_bins _ _ } +"implements" { Token KW_implements _ _ } +"implies" { Token KW_implies _ _ } "import" { Token KW_import _ _ } +"incdir" { Token KW_incdir _ _ } +"include" { Token KW_include _ _ } "initial" { Token KW_initial _ _ } "inout" { Token KW_inout _ _ } "input" { Token KW_input _ _ } +"inside" { Token KW_inside _ _ } +"instance" { Token KW_instance _ _ } "int" { Token KW_int _ _ } "integer" { Token KW_integer _ _ } +"interconnect" { Token KW_interconnect _ _ } "interface" { Token KW_interface _ _ } "intersect" { Token KW_intersect _ _ } +"join" { Token KW_join _ _ } +"join_any" { Token KW_join_any _ _ } +"join_none" { Token KW_join_none _ _ } +"large" { Token KW_large _ _ } +"let" { Token KW_let _ _ } +"liblist" { Token KW_liblist _ _ } +"library" { Token KW_library _ _ } +"local" { Token KW_local _ _ } "localparam" { Token KW_localparam _ _ } "logic" { Token KW_logic _ _ } "longint" { Token KW_longint _ _ } +"macromodule" { Token KW_macromodule _ _ } +"matches" { Token KW_matches _ _ } +"medium" { Token KW_medium _ _ } "modport" { Token KW_modport _ _ } "module" { Token KW_module _ _ } "nand" { Token KW_nand _ _ } "negedge" { Token KW_negedge _ _ } +"nettype" { Token KW_nettype _ _ } +"new" { Token KW_new _ _ } +"nexttime" { Token KW_nexttime _ _ } +"nmos" { Token KW_nmos _ _ } "nor" { Token KW_nor _ _ } +"noshowcancelled" { Token KW_noshowcancelled _ _ } "not" { Token KW_not _ _ } +"notif0" { Token KW_notif0 _ _ } +"notif1" { Token KW_notif1 _ _ } +"null" { Token KW_null _ _ } "or" { Token KW_or _ _ } "output" { Token KW_output _ _ } "package" { Token KW_package _ _ } "packed" { Token KW_packed _ _ } "parameter" { Token KW_parameter _ _ } +"pmos" { Token KW_pmos _ _ } "posedge" { Token KW_posedge _ _ } +"primitive" { Token KW_primitive _ _ } "priority" { Token KW_priority _ _ } +"program" { Token KW_program _ _ } "property" { Token KW_property _ _ } +"protected" { Token KW_protected _ _ } +"pull0" { Token KW_pull0 _ _ } +"pull1" { Token KW_pull1 _ _ } +"pulldown" { Token KW_pulldown _ _ } +"pullup" { Token KW_pullup _ _ } +"pulsestyle_ondetect" { Token KW_pulsestyle_ondetect _ _ } +"pulsestyle_onevent" { Token KW_pulsestyle_onevent _ _ } +"pure" { Token KW_pure _ _ } +"rand" { Token KW_rand _ _ } +"randc" { Token KW_randc _ _ } +"randcase" { Token KW_randcase _ _ } +"randsequence" { Token KW_randsequence _ _ } +"rcmos" { Token KW_rcmos _ _ } "real" { Token KW_real _ _ } "realtime" { Token KW_realtime _ _ } +"ref" { Token KW_ref _ _ } "reg" { Token KW_reg _ _ } +"reject_on" { Token KW_reject_on _ _ } +"release" { Token KW_release _ _ } "repeat" { Token KW_repeat _ _ } +"restrict" { Token KW_restrict _ _ } "return" { Token KW_return _ _ } +"rnmos" { Token KW_rnmos _ _ } +"rpmos" { Token KW_rpmos _ _ } +"rtran" { Token KW_rtran _ _ } +"rtranif0" { Token KW_rtranif0 _ _ } +"rtranif1" { Token KW_rtranif1 _ _ } +"s_always" { Token KW_s_always _ _ } +"s_eventually" { Token KW_s_eventually _ _ } +"s_nexttime" { Token KW_s_nexttime _ _ } +"s_until" { Token KW_s_until _ _ } +"s_until_with" { Token KW_s_until_with _ _ } +"scalared" { Token KW_scalared _ _ } +"sequence" { Token KW_sequence _ _ } "shortint" { Token KW_shortint _ _ } "shortreal" { Token KW_shortreal _ _ } +"showcancelled" { Token KW_showcancelled _ _ } "signed" { Token KW_signed _ _ } +"small" { Token KW_small _ _ } +"soft" { Token KW_soft _ _ } +"solve" { Token KW_solve _ _ } +"specify" { Token KW_specify _ _ } +"specparam" { Token KW_specparam _ _ } "static" { Token KW_static _ _ } +"string" { Token KW_string _ _ } +"strong" { Token KW_strong _ _ } +"strong0" { Token KW_strong0 _ _ } +"strong1" { Token KW_strong1 _ _ } "struct" { Token KW_struct _ _ } +"super" { Token KW_super _ _ } "supply0" { Token KW_supply0 _ _ } "supply1" { Token KW_supply1 _ _ } +"sync_accept_on" { Token KW_sync_accept_on _ _ } +"sync_reject_on" { Token KW_sync_reject_on _ _ } +"table" { Token KW_table _ _ } +"tagged" { Token KW_tagged _ _ } "task" { Token KW_task _ _ } +"this" { Token KW_this _ _ } "throughout" { Token KW_throughout _ _ } "time" { Token KW_time _ _ } +"timeprecision" { Token KW_timeprecision _ _ } +"timeunit" { Token KW_timeunit _ _ } +"tran" { Token KW_tran _ _ } +"tranif0" { Token KW_tranif0 _ _ } +"tranif1" { Token KW_tranif1 _ _ } "tri" { Token KW_tri _ _ } "tri0" { Token KW_tri0 _ _ } "tri1" { Token KW_tri1 _ _ } "triand" { Token KW_triand _ _ } "trior" { Token KW_trior _ _ } "trireg" { Token KW_trireg _ _ } +"type" { Token KW_type _ _ } "typedef" { Token KW_typedef _ _ } "union" { Token KW_union _ _ } "unique" { Token KW_unique _ _ } "unique0" { Token KW_unique0 _ _ } "unsigned" { Token KW_unsigned _ _ } +"until" { Token KW_until _ _ } +"until_with" { Token KW_until_with _ _ } +"untyped" { Token KW_untyped _ _ } +"use" { Token KW_use _ _ } "uwire" { Token KW_uwire _ _ } +"var" { Token KW_var _ _ } +"vectored" { Token KW_vectored _ _ } +"virtual" { Token KW_virtual _ _ } +"void" { Token KW_void _ _ } +"wait" { Token KW_wait _ _ } +"wait_order" { Token KW_wait_order _ _ } "wand" { Token KW_wand _ _ } +"weak" { Token KW_weak _ _ } +"weak0" { Token KW_weak0 _ _ } +"weak1" { Token KW_weak1 _ _ } "while" { Token KW_while _ _ } +"wildcard" { Token KW_wildcard _ _ } "wire" { Token KW_wire _ _ } +"with" { Token KW_with _ _ } "within" { Token KW_within _ _ } "wor" { Token KW_wor _ _ } "xnor" { Token KW_xnor _ _ } diff --git a/src/Language/SystemVerilog/Parser/Tokens.hs b/src/Language/SystemVerilog/Parser/Tokens.hs index de3c50e..d4acc67 100644 --- a/src/Language/SystemVerilog/Parser/Tokens.hs +++ b/src/Language/SystemVerilog/Parser/Tokens.hs @@ -29,7 +29,9 @@ data Token deriving (Show, Eq) data TokenName - = KW_alias + = KW_dollar_bits + | KW_accept_on + | KW_alias | KW_always | KW_always_comb | KW_always_ff @@ -55,6 +57,7 @@ data TokenName | KW_casez | KW_cell | KW_chandle + | KW_checker | KW_class | KW_clocking | KW_cmos @@ -74,11 +77,11 @@ data TokenName | KW_disable | KW_dist | KW_do - | KW_dollar_bits | KW_edge | KW_else | KW_end | KW_endcase + | KW_endchecker | KW_endclass | KW_endclocking | KW_endconfig @@ -97,6 +100,7 @@ data TokenName | KW_endtask | KW_enum | KW_event + | KW_eventually | KW_expect | KW_export | KW_extends @@ -110,9 +114,9 @@ data TokenName | KW_fork | KW_forkjoin | KW_function - | KW_function_prototype | KW_generate | KW_genvar + | KW_global | KW_highz0 | KW_highz1 | KW_if @@ -120,6 +124,8 @@ data TokenName | KW_ifnone | KW_ignore_bins | KW_illegal_bins + | KW_implements + | KW_implies | KW_import | KW_incdir | KW_include @@ -130,12 +136,14 @@ data TokenName | KW_instance | KW_int | KW_integer + | KW_interconnect | KW_interface | KW_intersect | KW_join | KW_join_any | KW_join_none | KW_large + | KW_let | KW_liblist | KW_library | KW_local @@ -149,7 +157,9 @@ data TokenName | KW_module | KW_nand | KW_negedge + | KW_nettype | KW_new + | KW_nexttime | KW_nmos | KW_nor | KW_noshowcancelled @@ -157,13 +167,11 @@ data TokenName | KW_notif0 | KW_notif1 | KW_null - | KW_option | KW_or | KW_output | KW_package | KW_packed | KW_parameter - | KW_pathpulse_dollar | KW_pmos | KW_posedge | KW_primitive @@ -175,8 +183,8 @@ data TokenName | KW_pull1 | KW_pulldown | KW_pullup - | KW_pulsestyle_onevent | KW_pulsestyle_ondetect + | KW_pulsestyle_onevent | KW_pure | KW_rand | KW_randc @@ -187,14 +195,21 @@ data TokenName | KW_realtime | KW_ref | KW_reg + | KW_reject_on | KW_release | KW_repeat + | KW_restrict | KW_return | KW_rnmos | KW_rpmos | KW_rtran | KW_rtranif0 | KW_rtranif1 + | KW_s_always + | KW_s_eventually + | KW_s_nexttime + | KW_s_until + | KW_s_until_with | KW_scalared | KW_sequence | KW_shortint @@ -202,19 +217,21 @@ data TokenName | KW_showcancelled | KW_signed | KW_small + | KW_soft | KW_solve | KW_specify | KW_specparam | KW_static - | KW_strength0 - | KW_strength1 | KW_string + | KW_strong | KW_strong0 | KW_strong1 | KW_struct | KW_super | KW_supply0 | KW_supply1 + | KW_sync_accept_on + | KW_sync_reject_on | KW_table | KW_tagged | KW_task @@ -234,11 +251,13 @@ data TokenName | KW_trireg | KW_type | KW_typedef - | KW_type_option | KW_union | KW_unique | KW_unique0 | KW_unsigned + | KW_until + | KW_until_with + | KW_untyped | KW_use | KW_uwire | KW_var @@ -248,6 +267,7 @@ data TokenName | KW_wait | KW_wait_order | KW_wand + | KW_weak | KW_weak0 | KW_weak1 | KW_while