diff --git a/spectec/src/backend-splice/config.ml b/spectec/src/backend-splice/config.ml index 773d839e3e..dd6059ae81 100644 --- a/spectec/src/backend-splice/config.ml +++ b/spectec/src/backend-splice/config.ml @@ -1,8 +1,8 @@ type anchor = { token : string; (* anchor token *) - prefix : string; (* prefix generated for splice *) - suffix : string; (* suffix generated for splice *) + prefix : string; (* prefix generated for math splice *) + suffix : string; (* suffix generated for math splice *) indent : string; (* inserted after generated newlines *) } @@ -20,15 +20,9 @@ type config = type t = config -let default = - { anchors = [ {token = "%"; prefix = ""; suffix = ""; indent = ""} ]; - latex = Backend_latex.Config.default; - prose = Backend_prose.Config.default; - } - let latex = - { anchors = default.anchors @ [ - {token = "@@"; prefix = "$"; suffix ="$"; indent = ""}; + { anchors = [ + {token = "@@"; prefix = "$"; suffix = "$"; indent = ""}; {token = "@@@"; prefix = "$$\n"; suffix = "\n$$"; indent = ""}; ]; latex = Backend_latex.Config.default; @@ -36,8 +30,8 @@ let latex = } let sphinx = - { anchors = default.anchors @ [ - {token = "$"; prefix = ":math:`"; suffix ="`"; indent = ""}; + { anchors = [ + {token = "$"; prefix = ":math:`"; suffix = "`"; indent = ""}; {token = "$$"; prefix = ".. math::\n "; suffix = ""; indent = " "}; ]; latex = Backend_latex.Config.default; diff --git a/spectec/src/backend-splice/splice.ml b/spectec/src/backend-splice/splice.ml index 3e6aa90014..cf82d6c051 100644 --- a/spectec/src/backend-splice/splice.ml +++ b/spectec/src/backend-splice/splice.ml @@ -24,10 +24,9 @@ let rec pos' src j (line, column) : Source.pos = (if src.s.[j] = '\n' then line + 1, 1 else line, column + 1) let pos src = pos' src 0 (1, 1) +let region src = let pos = pos src in {left = pos; right = pos} -let error src msg = - let pos = pos src in - Source.error {left = pos; right = pos} "splice replacement" msg +let error src msg = Source.error (region src) "splicing" msg (* Environment *) @@ -40,9 +39,8 @@ type syntax = {sdef : El.Ast.def; sfragments : (string * El.Ast.def * use) list} type grammar = {gdef : El.Ast.def; gfragments : (string * El.Ast.def * use) list} type relation = {rdef : El.Ast.def; rules : (string * El.Ast.def * use) list} type definition = {fdef : El.Ast.def; clauses : El.Ast.def list; use : use} -type validation_prose = {vprose : Backend_prose.Prose.def; use : use} -type execution_prose = {eprose : Backend_prose.Prose.def; use : use} -type definition_prose = {fprose : Backend_prose.Prose.def; use : use} +type relation_prose = {ralgos : (string * Backend_prose.Prose.def * use) list} +type definition_prose = {falgo : Backend_prose.Prose.def; use : use} type env = { config : Config.t; @@ -52,8 +50,7 @@ type env = mutable gram : grammar Map.t; mutable rel : relation Map.t; mutable def : definition Map.t; - mutable valid_prose : validation_prose Map.t; - mutable exec_prose : execution_prose Map.t; + mutable rel_prose : relation_prose Map.t; mutable def_prose : definition_prose Map.t; } @@ -86,14 +83,27 @@ let env_def env def = | VarD _ | SepD | HintD _ -> () +let valid_id = "valid" +let exec_id = "exec" + +let normalize_id id = + let id' = + if id = "" || id.[String.length id - 1] <> '_' then id else + String.sub id 0 (String.length id - 1) + in String.lowercase_ascii id' + let env_prose env prose = match prose with | Pred ((id, _), _, _) -> - env.valid_prose <- Map.add id {vprose = prose; use = ref 0} env.valid_prose + let relation = Map.find valid_id env.rel_prose in + let ralgos = (normalize_id id, prose, ref 0) :: relation.ralgos in + env.rel_prose <- Map.add valid_id {ralgos} env.rel_prose | Algo (Al.Ast.RuleA ((id, _), _, _)) -> - env.exec_prose <- Map.add id {eprose = prose; use = ref 0} env.exec_prose + let relation = Map.find exec_id env.rel_prose in + let ralgos = (normalize_id id, prose, ref 0) :: relation.ralgos in + env.rel_prose <- Map.add exec_id {ralgos} env.rel_prose | Algo (Al.Ast.FuncA (id, _, _)) -> - env.def_prose <- Map.add id {fprose = prose; use = ref 0} env.def_prose + env.def_prose <- Map.add id {falgo = prose; use = ref 0} env.def_prose let env (config : config) pdsts odsts el pr : env = let latex = Backend_latex.Render.env config.latex el in @@ -104,8 +114,7 @@ let env (config : config) pdsts odsts el pr : env = gram = Map.empty; rel = Map.empty; def = Map.empty; - valid_prose = Map.empty; - exec_prose = Map.empty; + rel_prose = Map.(add valid_id {ralgos = []} (add exec_id {ralgos = []} empty)); def_prose = Map.empty; } in @@ -120,7 +129,7 @@ let warn_use use space id1 id2 = let msg = if !use = 0 then "never spliced" else "spliced more than once" in prerr_endline ("warning: " ^ space ^ " `" ^ id ^ "` was " ^ msg) -let warn env = +let warn_math env = Map.iter (fun id1 {sfragments; _} -> List.iter (fun (id2, _, use) -> warn_use use "syntax" id1 id2) sfragments ) env.syn; @@ -130,16 +139,15 @@ let warn env = Map.iter (fun id1 {rules; _} -> List.iter (fun (id2, _, use) -> warn_use use "rule" id1 id2) rules ) env.rel; - Map.iter (fun id1 ({use; _}: definition) -> + Map.iter (fun id1 ({use; _} : definition) -> warn_use use "definition" id1 "" - ) env.def; - Map.iter (fun id1 ({use; _}: validation_prose) -> - warn_use use "validation prose" id1 "" - ) env.valid_prose; - Map.iter (fun id1 ({use; _}: execution_prose) -> - warn_use use "execution prose" id1 "" - ) env.exec_prose; - Map.iter (fun id1 ({use; _}: definition_prose) -> + ) env.def + +let warn_prose env = + Map.iter (fun id1 {ralgos} -> + List.iter (fun (id2, _, use) -> warn_use use "rule prose" id1 id2) ralgos + ) env.rel_prose; + Map.iter (fun id1 ({use; _} : definition_prose) -> warn_use use "definition prose" id1 "" ) env.def_prose @@ -158,6 +166,16 @@ let find_entries space src id1 id2 entries = error src ("unknown " ^ space ^ " identifier `" ^ id1 ^ "/" ^ id2 ^ "`"); List.map (fun (_, def, use) -> incr use; def) defs +let find_entry space src id1 id2 entries = + match find_entries space src id1 id2 entries with + | [def] -> def + | defs -> + Printf.eprintf "warning: %s `%s/%s` has multiple definitions\n%!" space id1 id2; + List.hd defs +(* TODO: this should be an error + error src ("duplicate " ^ space ^ " identifier `" ^ id1 ^ "/" ^ id2 ^ "`") +*) + let find_syntax env src id1 id2 = match Map.find_opt id1 env.syn with | None -> error src ("unknown syntax identifier `" ^ id1 ^ "`") @@ -179,7 +197,7 @@ let find_rule env src id1 id2 = | None -> error src ("unknown relation identifier `" ^ id1 ^ "`") | Some relation -> find_entries "rule" src id1 id2 relation.rules -let find_func env src id1 id2 = +let find_def env src id1 id2 = find_nosub "definition" src id1 id2; match Map.find_opt id1 env.def with | None -> error src ("unknown definition identifier `" ^ id1 ^ "`") @@ -188,20 +206,16 @@ let find_func env src id1 id2 = error src ("definition `" ^ id1 ^ "` has no clauses"); incr definition.use; definition.clauses -let find_vrule_prose env src id = - match Map.find_opt id env.valid_prose with - | None -> error src ("unknown validation identifier `" ^ id ^ "`") - | Some prose -> incr prose.use; prose.vprose - -let find_rrule_prose env src id = - match Map.find_opt id env.exec_prose with - | None -> error src ("unknown execution identifier `" ^ id ^ "`") - | Some prose -> incr prose.use; prose.eprose +let find_rule_prose env src id1 id2 = + match Map.find_opt id1 env.rel_prose with + | None -> error src ("unknown prose relation identifier `" ^ id1 ^ "`") + | Some relation -> find_entry "prose rule" src id1 id2 relation.ralgos -let find_def_prose env src id = - match Map.find_opt id env.def_prose with - | None -> error src ("unknown definition identifier `" ^ id ^ "`") - | Some prose -> incr prose.use; prose.fprose +let find_def_prose env src id1 id2 = + find_nosub "definition" src id1 id2; + match Map.find_opt id1 env.def_prose with + | None -> error src ("unknown prose definition identifier `" ^ id1 ^ "`") + | Some definition -> incr definition.use; definition.falgo (* Parsing *) @@ -245,7 +259,7 @@ let parse_id src space : string = error {src with i = j} ("expected " ^ space ^ " identifier or `}`"); str src j -let parse_id_id env src space1 space2 find : El.Ast.def list = +let parse_id_id env src space1 space2 find = let j = src.i in let id1 = parse_id src space1 in let id2 = @@ -273,12 +287,9 @@ let rec parse_group_list env src space1 space2 find : El.Ast.def list list = type mode = Decorated | Undecorated | Ignored let try_def_anchor env src r sort space1 space2 find mode : bool = - let b = try_string src sort in + let b = try_string src (sort ^ ":") in if b then - ( parse_space src; - if not (try_string src ":") then - error src "colon `:` expected"; - let groups = parse_group_list env src space1 space2 find in + ( let groups = parse_group_list env src space1 space2 find in let defs = List.tl (List.concat_map ((@) [SepD $ no_region]) groups) in if mode <> Ignored then let env' = env.latex @@ -310,18 +321,16 @@ let try_exp_anchor env src r : bool = ); b -let try_prose_anchor env src r sort find : bool = - let b = try_string src sort in +let try_prose_anchor env src r sort space1 space2 find mode : bool = + let b = try_string src (sort ^ ":") in if b then ( parse_space src; - if not (try_string src ":") then - error src "colon `:` expected"; + let algo = parse_id_id env src space1 space2 find in parse_space src; - let id = parse_id src "prose name" in if not (try_string src "}") then error src "closing bracket `}` expected"; - let prose = find env src id in - r := Backend_prose.Render.render_def env.prose prose + if mode <> Ignored then + r := Backend_prose.Render.render_def env.prose algo ); b @@ -331,37 +340,36 @@ let try_prose_anchor env src r sort find : bool = let splice_anchor env src anchor buf = parse_space src; let r = ref "" in + let prose = ref false in ignore ( try_exp_anchor env src r || - try_def_anchor env src r "syntax-ignore" "syntax" "fragment" find_syntax Ignored || - try_def_anchor env src r "grammar-ignore" "grammar" "fragment" find_grammar Ignored || - try_def_anchor env src r "relation-ignore" "relation" "" find_relation Ignored || - try_def_anchor env src r "rule-ignore" "relation" "rule" find_rule Ignored || - try_def_anchor env src r "definition-ignore" "definition" "" find_func Ignored || - try_def_anchor env src r "syntax+" "syntax" "fragment" find_syntax Decorated || try_def_anchor env src r "syntax" "syntax" "fragment" find_syntax Undecorated || + try_def_anchor env src r "syntax+" "syntax" "fragment" find_syntax Decorated || try_def_anchor env src r "grammar" "grammar" "fragment" find_grammar Undecorated || try_def_anchor env src r "relation" "relation" "" find_relation Undecorated || - try_def_anchor env src r "rule+" "relation" "rule" find_rule Decorated || try_def_anchor env src r "rule" "relation" "rule" find_rule Undecorated || - try_def_anchor env src r "definition" "definition" "" find_func Undecorated || - (* TODO: make anchors consistent: - * - change anchors to `rule-prose` (for both pred and algo) and `def-prose` - * - add anchors `rule-prose-ignore` and `rule-def-ignore` - *) - try_prose_anchor env src r "prose-pred" find_vrule_prose || - try_prose_anchor env src r "prose-algo" find_rrule_prose || - try_prose_anchor env src r "prose-func" find_def_prose || - error src "unknown definition sort"; + try_def_anchor env src r "rule+" "relation" "rule" find_rule Decorated || + try_def_anchor env src r "definition" "definition" "" find_def Undecorated || + try_def_anchor env src r "syntax-ignore" "syntax" "fragment" find_syntax Ignored || + try_def_anchor env src r "grammar-ignore" "grammar" "fragment" find_grammar Ignored || + try_def_anchor env src r "relation-ignore" "relation" "" find_relation Ignored || + try_def_anchor env src r "rule-ignore" "relation" "rule" find_rule Ignored || + try_def_anchor env src r "definition-ignore" "definition" "" find_def Ignored || + (prose := true; false) || + try_prose_anchor env src r "rule-prose" "prose relation" "rule" find_rule_prose Undecorated || + try_prose_anchor env src r "definition-prose" "prose definition" "" find_def_prose Undecorated || + try_prose_anchor env src r "rule-prose-ignore" "prose relation" "rule" find_rule_prose Ignored || + try_prose_anchor env src r "definition-prose-ignore" "prose definition" "" find_def_prose Ignored || + error src "unknown anchor sort"; ); if !r <> "" then ( let s = - if anchor.indent = "" then !r else + if !prose || anchor.indent = "" then !r else Str.(global_replace (regexp "\n") ("\n" ^ anchor.indent) !r) in - Buffer.add_string buf anchor.prefix; + if not !prose then Buffer.add_string buf anchor.prefix; Buffer.add_string buf s; - Buffer.add_string buf anchor.suffix; + if not !prose then Buffer.add_string buf anchor.suffix; ) let rec try_anchors env src buf = function diff --git a/spectec/src/backend-splice/splice.mli b/spectec/src/backend-splice/splice.mli index 9417433b3d..0469b14555 100644 --- a/spectec/src/backend-splice/splice.mli +++ b/spectec/src/backend-splice/splice.mli @@ -5,4 +5,5 @@ val env : Config.config -> string list -> string list -> El.Ast.script -> Backen val splice_string : env -> string -> string -> string (* raise Source.Error *) val splice_file : ?dry:bool -> env -> string -> string -> unit (* raise Source.Error *) -val warn : env -> unit +val warn_math : env -> unit +val warn_prose : env -> unit diff --git a/spectec/src/exe-watsup/main.ml b/spectec/src/exe-watsup/main.ml index 5f50ff7ac9..4ae7d0439e 100644 --- a/spectec/src/exe-watsup/main.ml +++ b/spectec/src/exe-watsup/main.ml @@ -38,10 +38,11 @@ type file_kind = | Output let target = ref Latex -let log = ref false (* log execution steps *) -let in_place = ref false (* splice patch files in place *) -let dry = ref false (* dry run for patching *) -let warn = ref false (* warn about unused or reused splices *) +let log = ref false (* log execution steps *) +let in_place = ref false (* splice patch files in place *) +let dry = ref false (* dry run for patching *) +let warn_math = ref false (* warn about unused or reused math splices *) +let warn_prose = ref false (* warn about unused or reused prose splices *) let file_kind = ref Spec let srcs = ref [] (* spec src file arguments *) @@ -112,7 +113,12 @@ let argspec = Arg.align "-d", Arg.Set dry, " Dry run (when -p) "; "-o", Arg.Unit (fun () -> file_kind := Output), " Output files"; "-l", Arg.Set log, " Log execution steps"; - "-w", Arg.Set warn, " Warn about unused or multiply used splices"; + "-w", Arg.Unit (fun () -> warn_math := true; warn_prose := true), + " Warn about unused or multiply used splices"; + "--warn-math", Arg.Set warn_math, + " Warn about unused or multiply used math splices"; + "--warn-prose", Arg.Set warn_prose, + " Warn about unused or multiply used prose splices"; "--check", Arg.Unit (fun () -> target := Check), " Check only"; "--latex", Arg.Unit (fun () -> target := Latex), @@ -180,6 +186,7 @@ let () = ) ) il all_passes in + last_pass := ""; if !print_final_il && not !print_all_il then Printf.printf "%s\n%!" (Il.Print.string_of_script il); @@ -240,7 +247,8 @@ let () = log "Splicing..."; let env = Backend_splice.Splice.(env config !pdsts !odsts el prose) in List.iter2 (Backend_splice.Splice.splice_file ~dry:!dry env) !pdsts !odsts; - if !warn then Backend_splice.Splice.warn env; + if !warn_math then Backend_splice.Splice.warn_math env; + if !warn_prose then Backend_splice.Splice.warn_prose env; | Interpreter args -> log "Initializing interpreter..."; @@ -252,7 +260,7 @@ let () = with | Source.Error (at, msg) -> let pass = if !last_pass = "" then "" else "(pass " ^ !last_pass ^ ") " in - prerr_endline (Source.string_of_region at ^ ": " ^ pass ^ msg); + Source.print_error at (pass ^ msg); exit 1 | exn -> flush_all (); diff --git a/spectec/src/util/source.ml b/spectec/src/util/source.ml index 8bdd8fcdc2..52c58c2c00 100644 --- a/spectec/src/util/source.ml +++ b/spectec/src/util/source.ml @@ -50,3 +50,6 @@ let note {note; _} = note exception Error of region * string let error at category msg = raise (Error (at, category ^ " error: " ^ msg)) + +let print_error at msg = prerr_endline (string_of_region at ^ ": " ^ msg) +let print_warn at msg = prerr_endline (string_of_region at ^ ": warning: " ^ msg) diff --git a/spectec/src/util/source.mli b/spectec/src/util/source.mli index 33d8205d5c..5d00c63ca5 100644 --- a/spectec/src/util/source.mli +++ b/spectec/src/util/source.mli @@ -31,3 +31,6 @@ val note : ('a, 'b) note_phrase -> 'b exception Error of region * string val error : region -> string -> string -> 'a + +val print_error : region -> string -> unit +val print_warn : region -> string -> unit diff --git a/spectec/test-prose/doc/exec/conventions-in.rst b/spectec/test-prose/doc/exec/conventions-in.rst index 185839b420..5fc62a68fc 100644 --- a/spectec/test-prose/doc/exec/conventions-in.rst +++ b/spectec/test-prose/doc/exec/conventions-in.rst @@ -8,7 +8,7 @@ General Constants .. _def-Ki: -%{prose-func: Ki} +$${definition-prose: Ki} \ @@ -29,7 +29,7 @@ Size .. _def-size: -%{prose-func: size} +$${definition-prose: size} \ @@ -37,7 +37,7 @@ $${definition: size} .. _def-packedsize: -%{prose-func: packedsize} +$${definition-prose: packedsize} \ @@ -45,7 +45,7 @@ $${definition: packedsize} .. _def-storagesize: -%{prose-func: storagesize} +$${definition-prose: storagesize} \ @@ -56,7 +56,7 @@ Projections .. _def-funcsxt: -%{prose-func: funcsxt} +$${definition-prose: funcsxt} \ @@ -64,7 +64,7 @@ $${definition: funcsxt} .. _def-globalsxt: -%{prose-func: globalsxt} +$${definition-prose: globalsxt} \ @@ -72,7 +72,7 @@ $${definition: globalsxt} .. _def-tablesxt: -%{prose-func: tablesxt} +$${definition-prose: tablesxt} \ @@ -80,7 +80,7 @@ $${definition: tablesxt} .. _def-memsxt: -%{prose-func: memsxt} +$${definition-prose: memsxt} \ @@ -91,7 +91,7 @@ Packed Fields .. _def-packval: -%{prose-func: packval} +$${definition-prose: packval} \ @@ -99,7 +99,7 @@ $${definition: packval} .. _def-unpackval: -%{prose-func: unpackval} +$${definition-prose: unpackval} \ @@ -107,7 +107,7 @@ $${definition: unpackval} .. _def-sxfield: -%{prose-func: sxfield} +$${definition-prose: sxfield} \ diff --git a/spectec/test-prose/doc/exec/instructions-in.rst b/spectec/test-prose/doc/exec/instructions-in.rst index 98bb9dd278..c72608cc4b 100644 --- a/spectec/test-prose/doc/exec/instructions-in.rst +++ b/spectec/test-prose/doc/exec/instructions-in.rst @@ -6,49 +6,49 @@ Instructions Numeric Instructions ~~~~~~~~~~~~~~~~~~~~ -.. _exec-UNOP: +.. _exec-unop: -%{prose-algo: UNOP} +$${rule-prose: exec/unop} \ $${rule+: Step_pure/unop-*} -.. _exec-BINOP: +.. _exec-binop: -%{prose-algo: BINOP} +$${rule-prose: exec/binop} \ $${rule+: Step_pure/binop-*} -.. _exec-TESTOP: +.. _exec-testop: -%{prose-algo: TESTOP} +$${rule-prose: exec/testop} \ $${rule: Step_pure/testop} -.. _exec-RELOP: +.. _exec-relop: -%{prose-algo: RELOP} +$${rule-prose: exec/relop} \ $${rule: Step_pure/relop} -.. _exec-EXTEND: +.. _exec-extend: -%{prose-algo: EXTEND} +$${rule-prose: exec/extend} \ $${rule: Step_pure/extend} -.. _exec-CVTOP: +.. _exec-cvtop: -%{prose-algo: CVTOP} +$${rule-prose: exec/cvtop} \ @@ -57,153 +57,153 @@ $${rule+: Step_pure/cvtop-*} Vector Instructions ~~~~~~~~~~~~~~~~~~~~ -.. _exec-VVUNOP: +.. _exec-vvunop: -%{prose-algo: VVUNOP} +$${rule-prose: exec/vvunop} \ $${rule+: Step_pure/vvunop} -.. _exec-VVBINOP: +.. _exec-vvbinop: -%{prose-algo: VVBINOP} +$${rule-prose: exec/vvbinop} \ $${rule+: Step_pure/vvbinop} -.. _exec-VVTERNOP: +.. _exec-vvternop: -%{prose-algo: VVTERNOP} +$${rule-prose: exec/vvternop} \ $${rule+: Step_pure/vvternop} -.. _exec-VVTESTOP: +.. _exec-vvtestop: -%{prose-algo: VVTESTOP} +$${rule-prose: exec/vvtestop} \ $${rule+: Step_pure/vvtestop} -.. _exec-VSHUFFLE: +.. _exec-vshuffle: -%{prose-algo: VSHUFFLE} +$${rule-prose: exec/vshuffle} \ $${rule+: Step_pure/vshuffle} -.. _exec-VSPLAT: +.. _exec-vsplat: -%{prose-algo: VSPLAT} +$${rule-prose: exec/vsplat} \ $${rule+: Step_pure/vsplat} -.. _exec-VEXTRACT_LANE: +.. _exec-vextract_lane: -%{prose-algo: VEXTRACT_LANE} +$${rule-prose: exec/vextract_lane} \ $${rule+: Step_pure/vextract_lane-*} -.. _exec-VREPLACE_LANE: +.. _exec-vreplace_lane: -%{prose-algo: VREPLACE_LANE} +$${rule-prose: exec/vreplace_lane} \ $${rule+: Step_pure/vreplace_lane} -.. _exec-VUNOP: +.. _exec-vunop: -%{prose-algo: VUNOP} +$${rule-prose: exec/vunop} \ $${rule+: Step_pure/vunop} -.. _exec-VBINOP: +.. _exec-vbinop: -%{prose-algo: VBINOP} +$${rule-prose: exec/vbinop} \ $${rule+: Step_pure/vbinop-*} -.. _exec-VRELOP: +.. _exec-vrelop: -%{prose-algo: VRELOP} +$${rule-prose: exec/vrelop} \ $${rule+: Step_pure/vrelop} -.. _exec-VISHIFTOP: +.. _exec-vishiftop: -%{prose-algo: VISHIFTOP} +$${rule-prose: exec/vishiftop} \ $${rule+: Step_pure/vishiftop} -.. _exec-VALL_TRUE: +.. _exec-vall_true: -%{prose-algo: VALL_TRUE} +$${rule-prose: exec/vall_true} \ $${rule+: Step_pure/vall_true-*} -.. _exec-VBITMASK: +.. _exec-vbitmask: -%{prose-algo: VBITMASK} +$${rule-prose: exec/vbitmask} \ $${rule+: Step_pure/vbitmask} -.. _exec-VNARROW: +.. _exec-vnarrow: -%{prose-algo: VNARROW} +$${rule-prose: exec/vnarrow} \ $${rule+: Step_pure/vnarrow} -.. _exec-VCVTOP: +.. _exec-vcvtop: -%{prose-algo: VCVTOP} +$${rule-prose: exec/vcvtop} \ $${rule+: Step_pure/vcvtop-*} -.. _exec-VDOT: +.. _exec-vdot: -%{prose-algo: VDOT} +$${rule-prose: exec/vdot} \ $${rule+: Step_pure/vdot} -.. _exec-VEXTMUL: +.. _exec-vextmul: -%{prose-algo: VEXTMUL} +$${rule-prose: exec/vextmul} \ $${rule+: Step_pure/vextmul} -.. _exec-VEXTADD_PAIRWISE: +.. _exec-vextadd_pairwise: -%{prose-algo: VEXTADD_PAIRWISE} +$${rule-prose: exec/vextadd_pairwise} \ @@ -212,65 +212,65 @@ $${rule+: Step_pure/vextadd_pairwise} Reference Instructions ~~~~~~~~~~~~~~~~~~~~~~ -.. _exec-REF.FUNC: +.. _exec-ref.func: -%{prose-algo: REF.FUNC} +$${rule-prose: exec/ref.func} \ $${rule+: Step_read/ref.func} -.. _exec-REF.IS_NULL: +.. _exec-ref.is_null: -%{prose-algo: REF.IS_NULL} +$${rule-prose: exec/ref.is_null} \ $${rule+: Step_pure/ref.is_null-*} -.. _exec-REF.AS_NON_NULL: +.. _exec-ref.as_non_null: -%{prose-algo: REF.AS_NON_NULL} +$${rule-prose: exec/ref.as_non_null} \ $${rule+: Step_pure/ref.as_non_null-*} -.. _exec-REF.EQ: +.. _exec-ref.eq: -%{prose-algo: REF.EQ} +$${rule-prose: exec/ref.eq} \ $${rule+: Step_pure/ref.eq-*} -.. _exec-REF.TEST: +.. _exec-ref.test: -%{prose-algo: REF.TEST} +$${rule-prose: exec/ref.test} \ $${rule+: Step_read/ref.test-*} -.. _exec-REF.CAST: +.. _exec-ref.cast: -%{prose-algo: REF.CAST} +$${rule-prose: exec/ref.cast} \ $${rule: Step_read/ref.cast-*} -.. _exec-REF.I31: +.. _exec-ref.i31: -%{prose-algo: REF.I31} +$${rule-prose: exec/ref.i31} \ $${rule+: Step_pure/ref.i31} -.. _exec-I31.GET: +.. _exec-i31.get: -%{prose-algo: I31.GET} +$${rule-prose: exec/i31.get} \ @@ -278,29 +278,29 @@ $${rule+: Step_pure/i31.get-*} .. _def-ext_structinst: -%{prose-func: ext_structinst} +$${definition-prose: ext_structinst} \ $${definition: ext_structinst} -.. _exec-STRUCT.NEW: +.. _exec-struct.new: -%{prose-algo: STRUCT.NEW} +$${rule-prose: exec/struct.new} \ $${rule+: Step/struct.new} -.. _exec-STRUCT.NEW_DEFAULT: +.. _exec-struct.new_default: -%{prose-algo: STRUCT.NEW_DEFAULT} +$${rule-prose: exec/struct.new_default} \ $${rule+: Step_read/struct.new_default} -.. _exec-STRUCT.GET: +.. _exec-struct.get: STRUCT.GET ^^^^^^^^^^ @@ -311,25 +311,25 @@ TODO (too deeply nested) $${rule+: Step_read/struct.get-*} -.. _exec-STRUCT.SET: +.. _exec-struct.set: -%{prose-algo: STRUCT.SET} +$${rule-prose: exec/struct.set} \ $${rule+: Step/struct.set-*} -.. _exec-ARRAY.NEW: +.. _exec-array.new: -%{prose-algo: ARRAY.NEW} +$${rule-prose: exec/array.new} \ $${rule+: Step_read/array.new} -.. _exec-ARRAY.NEW_DEFAULT: +.. _exec-array.new_default: -%{prose-algo: ARRAY.NEW_DEFAULT} +$${rule-prose: exec/array.new_default} \ @@ -337,23 +337,23 @@ $${rule+: Step_read/array.new_default} .. _def-ext_arrayinst: -%{prose-func: ext_arrayinst} +$${definition-prose: ext_arrayinst} \ $${definition: ext_arrayinst} -.. _exec-ARRAY.NEW_FIXED: +.. _exec-array.new_fixed: -%{prose-algo: ARRAY.NEW_FIXED} +$${rule-prose: exec/array.new_fixed} \ $${rule+: Step/array.new_fixed} -.. _exec-ARRAY.NEW_ELEM: +.. _exec-array.new_elem: -%{prose-algo: ARRAY.NEW_ELEM} +$${rule-prose: exec/array.new_elem} \ @@ -361,90 +361,90 @@ $${rule+: Step_read/array.new_elem-*} .. _def-concat_bytes: -%{prose-func: concat_bytes} +$${definition-prose: concat_bytes} \ $${definition: concat_bytes} -.. _exec-ARRAY.NEW_DATA: +.. _exec-array.new_data: -%{prose-algo: ARRAY.NEW_DATA} +$${rule-prose: exec/array.new_data} \ $${rule+: Step_read/array.new_data-*} -.. _exec-ARRAY.GET: +.. _exec-array.get: -%{prose-algo: ARRAY.GET} +$${rule-prose: exec/array.get} \ $${rule+: Step_read/array.get-*} -.. _exec-ARRAY.SET: +.. _exec-array.set: -%{prose-algo: ARRAY.SET} +$${rule-prose: exec/array.set} \ $${rule+: Step/array.set-*} -.. _exec-ARRAY.LEN: +.. _exec-array.len: -%{prose-algo: ARRAY.LEN} +$${rule-prose: exec/array.len} \ $${rule+: Step_read/array.len-*} -.. _exec-ARRAY.FILL: +.. _exec-array.fill: -%{prose-algo: ARRAY.FILL} +$${rule-prose: exec/array.fill} \ $${rule+: Step_read/array.fill-*} -.. _exec-ARRAY.COPY: +.. _exec-array.copy: ARRAY.COPY ^^^^^^^^^^ -%{prose-algo: ARRAY.COPY} +$${rule-prose: exec/array.copy} \ $${rule+: Step_read/array.copy-*} -.. _exec-ARRAY.INIT_ELEM: +.. _exec-array.init_elem: -%{prose-algo: ARRAY.INIT_ELEM} +$${rule-prose: exec/array.init_elem} \ $${rule+: Step_read/array.init_elem-*} -.. _exec-ARRAY.INIT_DATA: +.. _exec-array.init_data: -%{prose-algo: ARRAY.INIT_DATA} +$${rule-prose: exec/array.init_data} \ $${rule+: Step_read/array.init_data-*} -.. _exec-EXTERN.CONVERT_ANY: +.. _exec-extern.convert_any: -%{prose-algo: EXTERN.CONVERT_ANY} +$${rule-prose: exec/extern.convert_any} \ $${rule+: Step_pure/extern.convert_any-*} -.. _exec-ANY.CONVERT_EXTERN: +.. _exec-any.convert_extern: -%{prose-algo: ANY.CONVERT_EXTERN} +$${rule-prose: exec/any.convert_extern} \ @@ -453,17 +453,17 @@ $${rule+: Step_pure/any.convert_extern-*} Parametric Instructions ~~~~~~~~~~~~~~~~~~~~~~~ -.. _exec-DROP: +.. _exec-drop: -%{prose-algo: DROP} +$${rule-prose: exec/drop} \ $${rule: Step_pure/drop} -.. _exec-SELECT: +.. _exec-select: -%{prose-algo: SELECT} +$${rule-prose: exec/select} \ @@ -472,41 +472,41 @@ $${rule+: Step_pure/select-*} Variable Instructions ~~~~~~~~~~~~~~~~~~~~~ -.. _exec-LOCAL.GET: +.. _exec-local.get: -%{prose-algo: LOCAL.GET} +$${rule-prose: exec/local.get} \ $${rule: Step_read/local.get} -.. _exec-LOCAL.SET: +.. _exec-local.set: -%{prose-algo: LOCAL.SET} +$${rule-prose: exec/local.set} \ $${rule: Step/local.set} -.. _exec-LOCAL.TEE: +.. _exec-local.tee: -%{prose-algo: LOCAL.TEE} +$${rule-prose: exec/local.tee} \ $${rule: Step_pure/local.tee} -.. _exec-GLOBAL.GET: +.. _exec-global.get: -%{prose-algo: GLOBAL.GET} +$${rule-prose: exec/global.get} \ $${rule: Step_read/global.get} -.. _exec-GLOBAL.SET: +.. _exec-global.set: -%{prose-algo: GLOBAL.SET} +$${rule-prose: exec/global.set} \ @@ -515,65 +515,65 @@ $${rule: Step/global.set} Table Instructions ~~~~~~~~~~~~~~~~~~ -.. _exec-TABLE.GET: +.. _exec-table.get: -%{prose-algo: TABLE.GET} +$${rule-prose: exec/table.get} \ $${rule+: Step_read/table.get-*} -.. _exec-TABLE.SET: +.. _exec-table.set: -%{prose-algo: TABLE.SET} +$${rule-prose: exec/table.set} \ $${rule+: Step/table.set-*} -.. _exec-TABLE.SIZE: +.. _exec-table.size: -%{prose-algo: TABLE.SIZE} +$${rule-prose: exec/table.size} \ $${rule: Step_read/table.size} -.. _exec-TABLE.GROW: +.. _exec-table.grow: -%{prose-algo: TABLE.GROW} +$${rule-prose: exec/table.grow} \ $${rule: Step/table.grow-*} -.. _exec-TABLE.FILL: +.. _exec-table.fill: -%{prose-algo: TABLE.FILL} +$${rule-prose: exec/table.fill} \ $${rule+: Step_read/table.fill-*} -.. _exec-TABLE.COPY: +.. _exec-table.copy: -%{prose-algo: TABLE.COPY} +$${rule-prose: exec/table.copy} \ $${rule+: Step_read/table.copy-*} -.. _exec-TABLE.INIT: +.. _exec-table.init: -%{prose-algo: TABLE.INIT} +$${rule-prose: exec/table.init} \ $${rule+: Step_read/table.init-*} -.. _exec-ELEM.DROP: +.. _exec-elem.drop: -%{prose-algo: ELEM.DROP} +$${rule-prose: exec/elem.drop} \ @@ -582,97 +582,97 @@ $${rule: Step/elem.drop} Memory Instructions ~~~~~~~~~~~~~~~~~~~ -.. _exec-LOAD: +.. _exec-load: -%{prose-algo: LOAD} +$${rule-prose: exec/load} \ $${rule+: Step_read/load-*} -.. _exec-STORE: +.. _exec-store: -%{prose-algo: STORE} +$${rule-prose: exec/store} \ $${rule+: Step/store-*} -.. _exec-VLOAD: +.. _exec-vload: -%{prose-algo: VLOAD} +$${rule-prose: exec/vload} \ $${rule+: Step_read/vload-*} -.. _exec-VLOAD_LANE: +.. _exec-vload_lane: -%{prose-algo: VLOAD_LANE} +$${rule-prose: exec/vload_lane} \ $${rule+: Step_read/vload_lane-*} -.. _exec-VSTORE: +.. _exec-vstore: -%{prose-algo: VSTORE} +$${rule-prose: exec/vstore} \ $${rule+: Step/vstore-*} -.. _exec-VSTORE_LANE: +.. _exec-vstore_lane: -%{prose-algo: VSTORE_LANE} +$${rule-prose: exec/vstore_lane} \ $${rule+: Step/vstore_lane-*} -.. _exec-MEMORY.SIZE: +.. _exec-memory.size: -%{prose-algo: MEMORY.SIZE} +$${rule-prose: exec/memory.size} \ $${rule: Step_read/memory.size} -.. _exec-MEMORY.GROW: +.. _exec-memory.grow: -%{prose-algo: MEMORY.GROW} +$${rule-prose: exec/memory.grow} \ $${rule+: Step/memory.grow-*} -.. _exec-MEMORY.FILL: +.. _exec-memory.fill: -%{prose-algo: MEMORY.FILL} +$${rule-prose: exec/memory.fill} \ $${rule+: Step_read/memory.fill-*} -.. _exec-MEMORY.COPY: +.. _exec-memory.copy: -%{prose-algo: MEMORY.COPY} +$${rule-prose: exec/memory.copy} \ $${rule+: Step_read/memory.copy-*} -.. _exec-MEMORY.INIT: +.. _exec-memory.init: -%{prose-algo: MEMORY.INIT} +$${rule-prose: exec/memory.init} \ $${rule+: Step_read/memory.init-*} -.. _exec-DATA.DROP: +.. _exec-data.drop: -%{prose-algo: DATA.DROP} +$${rule-prose: exec/data.drop} \ @@ -681,17 +681,17 @@ $${rule: Step/data.drop} Control Instructions ~~~~~~~~~~~~~~~~~~~~ -.. _exec-NOP: +.. _exec-nop: -%{prose-algo: NOP} +$${rule-prose: exec/nop} \ $${rule: Step_pure/nop} -.. _exec-UNREACHABLE: +.. _exec-unreachable: -%{prose-algo: UNREACHABLE} +$${rule-prose: exec/unreachable} \ @@ -699,103 +699,103 @@ $${rule: Step_pure/unreachable} .. _def-blocktype: -%{prose-func: blocktype} +$${definition-prose: blocktype} \ $${definition: blocktype} -.. _exec-BLOCK: +.. _exec-block: -%{prose-algo: BLOCK} +$${rule-prose: exec/block} \ $${rule+: Step_read/block} -.. _exec-LOOP: +.. _exec-loop: -%{prose-algo: LOOP} +$${rule-prose: exec/loop} \ $${rule+: Step_read/loop} -.. _exec-IF: +.. _exec-if: -%{prose-algo: IF} +$${rule-prose: exec/if} \ $${rule+: Step_pure/if-*} -.. _exec-BR: +.. _exec-br: -%{prose-algo: BR} +$${rule-prose: exec/br} \ $${rule+: Step_pure/br-*} -.. _exec-BR_IF: +.. _exec-br_if: -%{prose-algo: BR_IF} +$${rule-prose: exec/br_if} \ $${rule+: Step_pure/br_if-*} -.. _exec-BR_TABLE: +.. _exec-br_table: -%{prose-algo: BR_TABLE} +$${rule-prose: exec/br_table} \ $${rule+: Step_pure/br_table-*} -.. _exec-BR_ON_NULL: +.. _exec-br_on_null: -%{prose-algo: BR_ON_NULL} +$${rule-prose: exec/br_on_null} \ $${rule+: Step_pure/br_on_null-*} -.. _exec-BR_ON_NON_NULL: +.. _exec-br_on_non_null: -%{prose-algo: BR_ON_NON_NULL} +$${rule-prose: exec/br_on_non_null} \ $${rule+: Step_pure/br_on_non_null-*} -.. _exec-BR_ON_CAST: +.. _exec-br_on_cast: -%{prose-algo: BR_ON_CAST} +$${rule-prose: exec/br_on_cast} \ $${rule+: Step_read/br_on_cast-*} -.. _exec-BR_ON_CAST_FAIL: +.. _exec-br_on_cast_fail: -%{prose-algo: BR_ON_CAST_FAIL} +$${rule-prose: exec/br_on_cast_fail} \ $${rule+: Step_read/br_on_cast_fail-*} -.. _exec-RETURN: +.. _exec-return: -%{prose-algo: RETURN} +$${rule-prose: exec/return} \ $${rule+: Step_pure/return-*} -.. _exec-CALL: +.. _exec-call: -%{prose-algo: CALL} +$${rule-prose: exec/call} \ @@ -804,23 +804,23 @@ $${rule: Step_read/call} CALL_REF ^^^^^^^^ -%{prose-algo: CALL_REF} +$${rule-prose: exec/call_ref} \ $${rule+: Step_read/call_ref-*} -.. _exec-CALL_INDIRECT: +.. _exec-call_indirect: -%{prose-algo: CALL_INDIRECT} +$${rule-prose: exec/call_indirect} \ $${rule+: Step_pure/call_indirect-*} -.. _exec-RETURN_CALL: +.. _exec-return_call: -%{prose-algo: RETURN_CALL} +$${rule-prose: exec/return_call} \ @@ -835,9 +835,9 @@ TODO (too deeply nested) $${rule+: Step_read/return_call_ref-*} -.. _exec-RETURN_CALL_INDIRECT: +.. _exec-return_call_indirect: -%{prose-algo: RETURN_CALL_INDIRECT} +$${rule-prose: exec/return_call_indirect} \ @@ -846,9 +846,9 @@ $${rule+: Step_pure/return_call_indirect} Blocks ~~~~~~ -.. _exec-LABEL_: +.. _exec-label: -%{prose-algo: LABEL_} +$${rule-prose: exec/label} \ @@ -857,9 +857,9 @@ $${rule+: Step_pure/label-vals} Function Calls ~~~~~~~~~~~~~~ -.. _exec-FRAME_: +.. _exec-frame: -%{prose-algo: FRAME_} +$${rule-prose: exec/frame} \ diff --git a/spectec/test-prose/doc/exec/modules-in.rst b/spectec/test-prose/doc/exec/modules-in.rst index 52fcf09ab2..372b622902 100644 --- a/spectec/test-prose/doc/exec/modules-in.rst +++ b/spectec/test-prose/doc/exec/modules-in.rst @@ -8,7 +8,7 @@ Allocation .. _def-alloctypes: -%{prose-func: alloctypes} +$${definition-prose: alloctypes} \ @@ -16,7 +16,7 @@ $${definition: alloctypes} .. _def-allocfunc: -%{prose-func: allocfunc} +$${definition-prose: allocfunc} \ @@ -24,7 +24,7 @@ $${definition: allocfunc} .. _def-allocfuncs: -%{prose-func: allocfuncs} +$${definition-prose: allocfuncs} \ @@ -32,7 +32,7 @@ $${definition: allocfuncs} .. _def-alloctable: -%{prose-func: alloctable} +$${definition-prose: alloctable} \ @@ -40,7 +40,7 @@ $${definition: alloctable} .. _def-alloctables: -%{prose-func: alloctables} +$${definition-prose: alloctables} \ @@ -48,7 +48,7 @@ $${definition: alloctables} .. _def-allocmem: -%{prose-func: allocmem} +$${definition-prose: allocmem} \ @@ -56,7 +56,7 @@ $${definition: allocmem} .. _def-allocmems: -%{prose-func: allocmems} +$${definition-prose: allocmems} \ @@ -64,7 +64,7 @@ $${definition: allocmems} .. _def-allocglobal: -%{prose-func: allocglobal} +$${definition-prose: allocglobal} \ @@ -72,7 +72,7 @@ $${definition: allocglobal} .. _def-allocglobals: -%{prose-func: allocglobals} +$${definition-prose: allocglobals} \ @@ -80,7 +80,7 @@ $${definition: allocglobals} .. _def-allocelem: -%{prose-func: allocelem} +$${definition-prose: allocelem} \ @@ -88,7 +88,7 @@ $${definition: allocelem} .. _def-allocelems: -%{prose-func: allocelems} +$${definition-prose: allocelems} \ @@ -96,7 +96,7 @@ $${definition: allocelems} .. _def-allocdata: -%{prose-func: allocdata} +$${definition-prose: allocdata} \ @@ -104,7 +104,7 @@ $${definition: allocdata} .. _def-allocdatas: -%{prose-func: allocdatas} +$${definition-prose: allocdatas} \ @@ -112,7 +112,7 @@ $${definition: allocdatas} .. _def-growtable: -%{prose-func: growtable} +$${definition-prose: growtable} \ @@ -120,7 +120,7 @@ $${definition: growtable} .. _def-growmemory: -%{prose-func: growmemory} +$${definition-prose: growmemory} \ @@ -128,7 +128,7 @@ $${definition: growmemory} .. _def-instexport: -%{prose-func: instexport} +$${definition-prose: instexport} \ @@ -136,7 +136,7 @@ $${definition: instexport} .. _def-allocmodule: -%{prose-func: allocmodule} +$${definition-prose: allocmodule} \ @@ -149,7 +149,7 @@ Instantiation .. _def-inst_reftype: -%{prose-func: inst_reftype} +$${definition-prose: inst_reftype} \ @@ -157,7 +157,7 @@ $${definition: inst_reftype} .. _def-concat_instr: -%{prose-func: concat_instr} +$${definition-prose: concat_instr} \ @@ -165,7 +165,7 @@ $${definition: concat_instr} .. _def-rundata: -%{prose-func: rundata} +$${definition-prose: rundata} \ @@ -173,7 +173,7 @@ $${definition: rundata} .. _def-runelem: -%{prose-func: runelem} +$${definition-prose: runelem} \ @@ -181,7 +181,7 @@ $${definition: runelem} .. _def-instantiate: -%{prose-func: instantiate} +$${definition-prose: instantiate} \ @@ -194,7 +194,7 @@ Invocation .. _def-invoke: -%{prose-func: invoke} +$${definition-prose: invoke} \ @@ -207,7 +207,7 @@ Address Getters .. _def-funcaddr: -%{prose-func: funcaddr} +$${definition-prose: funcaddr} \ @@ -220,7 +220,7 @@ Getters .. _def-type: -%{prose-func: type} +$${definition-prose: type} \ @@ -228,7 +228,7 @@ $${definition: type} .. _def-func: -%{prose-func: func} +$${definition-prose: func} \ @@ -236,7 +236,7 @@ $${definition: func} .. _def-global: -%{prose-func: global} +$${definition-prose: global} \ @@ -244,7 +244,7 @@ $${definition: global} .. _def-table: -%{prose-func: table} +$${definition-prose: table} \ @@ -252,7 +252,7 @@ $${definition: table} .. _def-mem: -%{prose-func: mem} +$${definition-prose: mem} \ @@ -260,7 +260,7 @@ $${definition: mem} .. _def-elem: -%{prose-func: elem} +$${definition-prose: elem} \ @@ -268,7 +268,7 @@ $${definition: elem} .. _def-data: -%{prose-func: data} +$${definition-prose: data} \ @@ -276,7 +276,7 @@ $${definition: data} .. _def-local: -%{prose-func: local} +$${definition-prose: local} \ @@ -289,7 +289,7 @@ Setters .. _def-with_local: -%{prose-func: with_local} +$${definition-prose: with_local} \ @@ -297,7 +297,7 @@ $${definition: with_local} .. _def-with_locals: -%{prose-func: with_locals} +$${definition-prose: with_locals} \ @@ -305,7 +305,7 @@ $${definition: with_locals} .. _def-with_global: -%{prose-func: with_global} +$${definition-prose: with_global} \ @@ -313,7 +313,7 @@ $${definition: with_global} .. _def-with_table: -%{prose-func: with_table} +$${definition-prose: with_table} \ @@ -321,7 +321,7 @@ $${definition: with_table} .. _def-with_tableinst: -%{prose-func: with_tableinst} +$${definition-prose: with_tableinst} \ @@ -329,7 +329,7 @@ $${definition: with_tableinst} .. _def-with_mem: -%{prose-func: with_mem} +$${definition-prose: with_mem} \ @@ -337,7 +337,7 @@ $${definition: with_mem} .. _def-with_meminst: -%{prose-func: with_meminst} +$${definition-prose: with_meminst} \ @@ -345,7 +345,7 @@ $${definition: with_meminst} .. _def-with_elem: -%{prose-func: with_elem} +$${definition-prose: with_elem} \ @@ -353,7 +353,7 @@ $${definition: with_elem} .. _def-with_data: -%{prose-func: with_data} +$${definition-prose: with_data} \ @@ -361,7 +361,7 @@ $${definition: with_data} .. _def-with_array: -%{prose-func: with_array} +$${definition-prose: with_array} \ @@ -369,7 +369,7 @@ $${definition: with_array} .. _def-with_struct: -%{prose-func: with_struct} +$${definition-prose: with_struct} \ diff --git a/spectec/test-prose/doc/exec/numerics-in.rst b/spectec/test-prose/doc/exec/numerics-in.rst index d51ffec029..17812c54a6 100644 --- a/spectec/test-prose/doc/exec/numerics-in.rst +++ b/spectec/test-prose/doc/exec/numerics-in.rst @@ -10,7 +10,7 @@ Sign Interpretation .. _def-signed: -%{prose-func: signed} +$${definition-prose: signed} \ @@ -18,7 +18,7 @@ $${definition: signed} .. _def-invsigned: -%{prose-func: invsigned} +$${definition-prose: invsigned} \ diff --git a/spectec/test-prose/doc/exec/runtime-in.rst b/spectec/test-prose/doc/exec/runtime-in.rst index 23e400ad0e..7c945b4ce4 100644 --- a/spectec/test-prose/doc/exec/runtime-in.rst +++ b/spectec/test-prose/doc/exec/runtime-in.rst @@ -20,7 +20,7 @@ $${syntax+: .. _def-default: -%{prose-func: default} +$${definition-prose: default} \ @@ -76,7 +76,7 @@ $${syntax: moduleinst} .. _def-moduleinst: -%{prose-func: moduleinst} +$${definition-prose: moduleinst} \ @@ -91,7 +91,7 @@ $${syntax: funcinst} .. _def-funcinst: -%{prose-func: funcinst} +$${definition-prose: funcinst} \ @@ -106,7 +106,7 @@ $${syntax: tableinst} .. _def-tableinst: -%{prose-func: tableinst} +$${definition-prose: tableinst} \ @@ -121,7 +121,7 @@ $${syntax: meminst} .. _def-meminst: -%{prose-func: meminst} +$${definition-prose: meminst} \ @@ -136,7 +136,7 @@ $${syntax: globalinst} .. _def-globalinst: -%{prose-func: globalinst} +$${definition-prose: globalinst} \ @@ -151,7 +151,7 @@ $${syntax: eleminst} .. _def-eleminst: -%{prose-func: eleminst} +$${definition-prose: eleminst} \ @@ -166,7 +166,7 @@ $${syntax: datainst} .. _def-datainst: -%{prose-func: datainst} +$${definition-prose: datainst} \ @@ -188,7 +188,7 @@ $${syntax: externval} .. _def-funcsxv: -%{prose-func: funcsxv} +$${definition-prose: funcsxv} \ @@ -196,7 +196,7 @@ $${definition: funcsxv} .. _def-tablesxv: -%{prose-func: tablesxv} +$${definition-prose: tablesxv} \ @@ -204,7 +204,7 @@ $${definition: tablesxv} .. _def-memsxv: -%{prose-func: memsxv} +$${definition-prose: memsxv} \ @@ -212,7 +212,7 @@ $${definition: memsxv} .. _def-globalsxv: -%{prose-func: globalsxv} +$${definition-prose: globalsxv} \ @@ -236,7 +236,7 @@ $${syntax+: .. _def-arrayinst: -%{prose-func: arrayinst} +$${definition-prose: arrayinst} \ @@ -244,7 +244,7 @@ $${definition: arrayinst} .. _def-structinst: -%{prose-func: structinst} +$${definition-prose: structinst} \ @@ -296,7 +296,7 @@ Typing .. _def-store: -%{prose-func: store} +$${definition-prose: store} \ @@ -304,7 +304,7 @@ $${definition: store} .. _def-frame: -%{prose-func: frame} +$${definition-prose: frame} \ diff --git a/spectec/test-prose/doc/syntax/instructions-in.rst b/spectec/test-prose/doc/syntax/instructions-in.rst index 769f7cf2f8..37408a92d6 100644 --- a/spectec/test-prose/doc/syntax/instructions-in.rst +++ b/spectec/test-prose/doc/syntax/instructions-in.rst @@ -98,7 +98,7 @@ $${syntax+: .. _def-memop0: -%{prose-func: memop0} +%{definition-prose: memop0} \ diff --git a/spectec/test-prose/doc/syntax/values-in.rst b/spectec/test-prose/doc/syntax/values-in.rst index f98a52abff..13f5ed9281 100644 --- a/spectec/test-prose/doc/syntax/values-in.rst +++ b/spectec/test-prose/doc/syntax/values-in.rst @@ -50,7 +50,7 @@ $${syntax+: .. _def-fzero: -%{prose-func: fzero} +$${definition-prose: fzero} \ @@ -58,7 +58,7 @@ $${definition: fzero} .. _def-signif: -%{prose-func: signif} +$${definition-prose: signif} \ @@ -66,7 +66,7 @@ $${definition: signif} .. _def-M: -%{prose-func: M} +$${definition-prose: M} \ @@ -74,7 +74,7 @@ $${definition: M} .. _def-expon: -%{prose-func: expon} +$${definition-prose: expon} \ @@ -82,7 +82,7 @@ $${definition: expon} .. _def-E: -%{prose-func: E} +$${definition-prose: E} \ @@ -101,7 +101,7 @@ $${syntax+: .. _def-utf8: -%{prose-func: utf8} +$${definition-prose: utf8} \ diff --git a/spectec/test-prose/doc/valid/conventions-in.rst b/spectec/test-prose/doc/valid/conventions-in.rst index 2b55f1eead..0236a59201 100644 --- a/spectec/test-prose/doc/valid/conventions-in.rst +++ b/spectec/test-prose/doc/valid/conventions-in.rst @@ -10,7 +10,7 @@ Types .. _def-diffrt: -%{prose-func: diffrt} +$${definition-prose: diffrt} \ @@ -27,7 +27,7 @@ $${syntax: typevar} .. _def-idx: -%{prose-func: idx} +$${definition-prose: idx} \ @@ -48,7 +48,7 @@ Unpacking .. _def-unpacktype: -%{prose-func: unpacktype} +$${definition-prose: unpacktype} \ @@ -56,7 +56,7 @@ $${definition: unpacktype} .. _def-unpacknumtype: -%{prose-func: unpacknumtype} +$${definition-prose: unpacknumtype} \ @@ -69,7 +69,7 @@ Substitutions .. _def-subst_typevar: -%{prose-func: subst_typevar} +$${definition-prose: subst_typevar} \ @@ -77,7 +77,7 @@ $${definition: subst_typevar} .. _def-subst_numtype: -%{prose-func: subst_numtype} +$${definition-prose: subst_numtype} \ @@ -85,7 +85,7 @@ $${definition: subst_numtype} .. _def-subst_vectype: -%{prose-func: subst_vectype} +$${definition-prose: subst_vectype} \ @@ -93,7 +93,7 @@ $${definition: subst_vectype} .. _def-subst_heaptype: -%{prose-func: subst_heaptype} +$${definition-prose: subst_heaptype} \ @@ -101,7 +101,7 @@ $${definition: subst_heaptype} .. _def-subst_reftype: -%{prose-func: subst_reftype} +$${definition-prose: subst_reftype} \ @@ -109,7 +109,7 @@ $${definition: subst_reftype} .. _def-subst_valtype: -%{prose-func: subst_valtype} +$${definition-prose: subst_valtype} \ @@ -117,7 +117,7 @@ $${definition: subst_valtype} .. _def-subst_packedtype: -%{prose-func: subst_packedtype} +$${definition-prose: subst_packedtype} \ @@ -125,7 +125,7 @@ $${definition: subst_packedtype} .. _def-subst_storagetype: -%{prose-func: subst_storagetype} +$${definition-prose: subst_storagetype} \ @@ -133,7 +133,7 @@ $${definition: subst_storagetype} .. _def-subst_fieldtype: -%{prose-func: subst_fieldtype} +$${definition-prose: subst_fieldtype} \ @@ -141,7 +141,7 @@ $${definition: subst_fieldtype} .. _def-subst_comptype: -%{prose-func: subst_comptype} +$${definition-prose: subst_comptype} \ @@ -149,7 +149,7 @@ $${definition: subst_comptype} .. _def-subst_subtype: -%{prose-func: subst_subtype} +$${definition-prose: subst_subtype} \ @@ -157,7 +157,7 @@ $${definition: subst_subtype} .. _def-subst_rectype: -%{prose-func: subst_rectype} +$${definition-prose: subst_rectype} \ @@ -165,7 +165,7 @@ $${definition: subst_rectype} .. _def-subst_deftype: -%{prose-func: subst_deftype} +$${definition-prose: subst_deftype} \ @@ -173,7 +173,7 @@ $${definition: subst_deftype} .. _def-subst_globaltype: -%{prose-func: subst_globaltype} +$${definition-prose: subst_globaltype} \ @@ -181,7 +181,7 @@ $${definition: subst_globaltype} .. _def-subst_functype: -%{prose-func: subst_functype} +$${definition-prose: subst_functype} \ @@ -189,7 +189,7 @@ $${definition: subst_functype} .. _def-subst_tabletype: -%{prose-func: subst_tabletype} +$${definition-prose: subst_tabletype} \ @@ -197,7 +197,7 @@ $${definition: subst_tabletype} .. _def-subst_memtype: -%{prose-func: subst_memtype} +$${definition-prose: subst_memtype} \ @@ -205,7 +205,7 @@ $${definition: subst_memtype} .. _def-subst_externtype: -%{prose-func: subst_externtype} +$${definition-prose: subst_externtype} \ @@ -213,7 +213,7 @@ $${definition: subst_externtype} .. _def-subst_all_reftype: -%{prose-func: subst_all_reftype} +$${definition-prose: subst_all_reftype} \ @@ -221,7 +221,7 @@ $${definition: subst_all_reftype} .. _def-subst_all_deftype: -%{prose-func: subst_all_deftype} +$${definition-prose: subst_all_deftype} \ @@ -229,7 +229,7 @@ $${definition: subst_all_deftype} .. _def-subst_all_deftypes: -%{prose-func: subst_all_deftypes} +$${definition-prose: subst_all_deftypes} \ @@ -242,7 +242,7 @@ Rolling and Unrolling .. _def-rollrt: -%{prose-func: rollrt} +$${definition-prose: rollrt} \ @@ -250,7 +250,7 @@ $${definition: rollrt} .. _def-unrollrt: -%{prose-func: unrollrt} +$${definition-prose: unrollrt} \ @@ -258,7 +258,7 @@ $${definition: unrollrt} .. _def-rolldt: -%{prose-func: rolldt} +$${definition-prose: rolldt} \ @@ -266,7 +266,7 @@ $${definition: rolldt} .. _def-unrolldt: -%{prose-func: unrolldt} +$${definition-prose: unrolldt} \ @@ -274,7 +274,7 @@ $${definition: unrolldt} .. _def-unrollht: -%{prose-func: unrollht} +$${definition-prose: unrollht} \ @@ -282,7 +282,7 @@ $${definition: unrollht} .. _def-expanddt: -%{prose-func: expanddt} +$${definition-prose: expanddt} \ @@ -319,7 +319,7 @@ $${syntax: context} .. _def-clostype: -%{prose-func: clostype} +$${definition-prose: clostype} \ @@ -327,7 +327,7 @@ $${definition: clostype} .. _def-clostypes: -%{prose-func: clostypes} +$${definition-prose: clostypes} \ diff --git a/spectec/test-prose/doc/valid/instructions-in.rst b/spectec/test-prose/doc/valid/instructions-in.rst index 5dac3ea517..4222848789 100644 --- a/spectec/test-prose/doc/valid/instructions-in.rst +++ b/spectec/test-prose/doc/valid/instructions-in.rst @@ -11,57 +11,57 @@ $${rule+: Numeric Instructions ~~~~~~~~~~~~~~~~~~~~ -.. _valid-CONST: +.. _valid-const: -%{prose-pred: CONST} +$${rule-prose: valid/const} \ $${rule: Instr_ok/const} -.. _valid-UNOP: +.. _valid-unop: -%{prose-pred: UNOP} +$${rule-prose: valid/unop} \ $${rule: Instr_ok/unop} -.. _valid-BINOP: +.. _valid-binop: -%{prose-pred: BINOP} +$${rule-prose: valid/binop} \ $${rule: Instr_ok/binop} -.. _valid-TESTOP: +.. _valid-testop: -%{prose-pred: TESTOP} +$${rule-prose: valid/testop} \ $${rule: Instr_ok/testop} -.. _valid-RELOP: +.. _valid-relop: -%{prose-pred: RELOP} +$${rule-prose: valid/relop} \ $${rule: Instr_ok/relop} -.. _valid-EXTEND: +.. _valid-extend: -%{prose-pred: EXTEND} +$${rule-prose: valid/extend} \ $${rule: Instr_ok/extend} -.. _valid-CVTOP: +.. _valid-cvtop: -%{prose-pred: CVTOP} +$${rule-prose: valid/cvtop} \ @@ -73,57 +73,57 @@ $${rule+: Reference Instructions ~~~~~~~~~~~~~~~~~~~~~~ -.. _valid-REF.NULL: +.. _valid-ref.null: -%{prose-pred: REF.NULL} +$${rule-prose: valid/ref.null} \ $${rule: Instr_ok/ref.null} -.. _valid-REF.FUNC: +.. _valid-ref.func: -%{prose-pred: REF.FUNC} +$${rule-prose: valid/ref.func} \ $${rule: Instr_ok/ref.func} -.. _valid-REF.IS_NULL: +.. _valid-ref.is_null: -%{prose-pred: REF.IS_NULL} +$${rule-prose: valid/ref.is_null} \ $${rule: Instr_ok/ref.is_null} -.. _valid-REF.AS_NON_NULL: +.. _valid-ref.as_non_null: -%{prose-pred: REF.AS_NON_NULL} +$${rule-prose: valid/ref.as_non_null} \ $${rule: Instr_ok/ref.as_non_null} -.. _valid-REF.EQ: +.. _valid-ref.eq: -%{prose-pred: REF.EQ} +$${rule-prose: valid/ref.eq} \ $${rule: Instr_ok/ref.eq} -.. _valid-REF.TEST: +.. _valid-ref.test: -%{prose-pred: REF.TEST} +$${rule-prose: valid/ref.test} \ $${rule: Instr_ok/ref.test} -.. _valid-REF.CAST: +.. _valid-ref.cast: -%{prose-pred: REF.CAST} +$${rule-prose: valid/ref.cast} \ @@ -134,129 +134,129 @@ $${rule: Instr_ok/ref.cast} Aggregate Reference Instructions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. _valid-STRUCT.NEW: +.. _valid-struct.new: -%{prose-pred: STRUCT.NEW} +$${rule-prose: valid/struct.new} \ $${rule: Instr_ok/struct.new} -.. _valid-STRUCT.NEW_DEFAULT: +.. _valid-struct.new_default: -%{prose-pred: STRUCT.NEW_DEFAULT} +$${rule-prose: valid/struct.new_default} \ $${rule: Instr_ok/struct.new_default} -.. _valid-STRUCT.GET: +.. _valid-struct.get: -%{prose-pred: STRUCT.GET} +$${rule-prose: valid/struct.get} \ $${rule: Instr_ok/struct.get} -.. _valid-STRUCT.SET: +.. _valid-struct.set: -%{prose-pred: STRUCT.SET} +$${rule-prose: valid/struct.set} \ $${rule: Instr_ok/struct.set} -.. _valid-ARRAY.NEW: +.. _valid-array.new: -%{prose-pred: ARRAY.NEW} +$${rule-prose: valid/array.new} \ $${rule: Instr_ok/array.new} -.. _valid-ARRAY.NEW_DEFAULT: +.. _valid-array.new_default: -%{prose-pred: ARRAY.NEW_DEFAULT} +$${rule-prose: valid/array.new_default} \ $${rule: Instr_ok/array.new_default} -.. _valid-ARRAY.NEW_FIXED: +.. _valid-array.new_fixed: -%{prose-pred: ARRAY.NEW_FIXED} +$${rule-prose: valid/array.new_fixed} \ $${rule: Instr_ok/array.new_fixed} -.. _valid-ARRAY.NEW_ELEM: +.. _valid-array.new_elem: -%{prose-pred: ARRAY.NEW_ELEM} +$${rule-prose: valid/array.new_elem} \ $${rule: Instr_ok/array.new_elem} -.. _valid-ARRAY.NEW_DATA: +.. _valid-array.new_data: -%{prose-pred: ARRAY.NEW_DATA} +$${rule-prose: valid/array.new_data} \ $${rule: Instr_ok/array.new_data} -.. _valid-ARRAY.GET: +.. _valid-array.get: -%{prose-pred: ARRAY.GET} +$${rule-prose: valid/array.get} \ $${rule: Instr_ok/array.get} -.. _valid-ARRAY.SET: +.. _valid-array.set: -%{prose-pred: ARRAY.SET} +$${rule-prose: valid/array.set} \ $${rule: Instr_ok/array.set} -.. _valid-ARRAY.LEN: +.. _valid-array.len: -%{prose-pred: ARRAY.LEN} +$${rule-prose: valid/array.len} \ $${rule: Instr_ok/array.len} -.. _valid-ARRAY.FILL: +.. _valid-array.fill: -%{prose-pred: ARRAY.FILL} +$${rule-prose: valid/array.fill} \ $${rule: Instr_ok/array.fill} -.. _valid-ARRAY.COPY: +.. _valid-array.copy: -%{prose-pred: ARRAY.COPY} +$${rule-prose: valid/array.copy} \ $${rule: Instr_ok/array.copy} -.. _valid-ARRAY.INIT_DATA: +.. _valid-array.init_data: -%{prose-pred: ARRAY.INIT_DATA} +$${rule-prose: valid/array.init_data} \ $${rule: Instr_ok/array.init_data} -.. _valid-ARRAY.INIT_ELEM: +.. _valid-array.init_elem: -%{prose-pred: ARRAY.INIT_ELEM} +$${rule-prose: valid/array.init_elem} \ @@ -267,17 +267,17 @@ $${rule: Instr_ok/array.init_elem} Scalar Reference Instructions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. _valid-REF.I31: +.. _valid-ref.i31: -%{prose-pred: REF.I31} +$${rule-prose: valid/ref.i31} \ $${rule: Instr_ok/ref.i31} -.. _valid-I31.GET: +.. _valid-i31.get: -%{prose-pred: I31.GET} +$${rule-prose: valid/i31.get} \ @@ -288,161 +288,161 @@ $${rule: Instr_ok/i31.get} Vector Instructions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. _valid-VVCONST: +.. _valid-vvconst: -%{prose-pred: VVCONST} +$${rule-prose: valid/vvconst} \ $${rule: Instr_ok/vvconst} -.. _valid-VVUNOP: +.. _valid-vvunop: -%{prose-pred: VVUNOP} +$${rule-prose: valid/vvunop} \ $${rule: Instr_ok/vvunop} -.. _valid-VVBINOP: +.. _valid-vvbinop: -%{prose-pred: VVBINOP} +$${rule-prose: valid/vvbinop} \ $${rule: Instr_ok/vvbinop} -.. _valid-VVTERNOP: +.. _valid-vvternop: -%{prose-pred: VVTERNOP} +$${rule-prose: valid/vvternop} \ $${rule: Instr_ok/vvternop} -.. _valid-VVTESTOP: +.. _valid-vvtestop: -%{prose-pred: VVTESTOP} +$${rule-prose: valid/vvtestop} \ $${rule: Instr_ok/vvtestop} -.. _valid-VSHUFFLE: +.. _valid-vshuffle: -%{prose-pred: VSHUFFLE} +$${rule-prose: valid/vshuffle} \ $${rule: Instr_ok/vshuffle} -.. _valid-VSPLAT: +.. _valid-vsplat: -%{prose-pred: VSPLAT} +$${rule-prose: valid/vsplat} \ $${rule: Instr_ok/vsplat} -.. _valid-VEXTRACT_LANE: +.. _valid-vextract_lane: -%{prose-pred: VEXTRACT_LANE} +$${rule-prose: valid/vextract_lane} \ $${rule: Instr_ok/vextract_lane} -.. _valid-VREPLACE_LANE: +.. _valid-vreplace_lane: -%{prose-pred: VREPLACE_LANE} +$${rule-prose: valid/vreplace_lane} \ $${rule: Instr_ok/vreplace_lane} -.. _valid-VUNOP: +.. _valid-vunop: -%{prose-pred: VUNOP} +$${rule-prose: valid/vunop} \ $${rule: Instr_ok/vunop} -.. _valid-VBINOP: +.. _valid-vbinop: -%{prose-pred: VBINOP} +$${rule-prose: valid/vbinop} \ $${rule: Instr_ok/vbinop} -.. _valid-VRELOP: +.. _valid-vrelop: -%{prose-pred: VRELOP} +$${rule-prose: valid/vrelop} \ $${rule: Instr_ok/vrelop} -.. _valid-VISHIFTOP: +.. _valid-vishiftop: -%{prose-pred: VISHIFTOP} +$${rule-prose: valid/vishiftop} \ $${rule: Instr_ok/vishiftop} -.. _valid-VTESTOP: +.. _valid-vtestop: -%{prose-pred: VALL_TRUE} +$${rule-prose: valid/vall_true} \ $${rule: Instr_ok/vtestop} -.. _valid-VCVTOP: +.. _valid-vcvtop: -%{prose-pred: VCVTOP} +$${rule-prose: valid/vcvtop} \ $${rule: Instr_ok/vcvtop} -.. _valid-VNARROW: +.. _valid-vnarrow: -%{prose-pred: VNARROW} +$${rule-prose: valid/vnarrow} \ $${rule: Instr_ok/vnarrow} -.. _valid-VBITMASK: +.. _valid-vbitmask: -%{prose-pred: VBITMASK} +$${rule-prose: valid/vbitmask} \ $${rule: Instr_ok/vbitmask} -.. _valid-VDOT: +.. _valid-vdot: -%{prose-pred: VDOT} +$${rule-prose: valid/vdot} \ $${rule: Instr_ok/vdot} -.. _valid-VEXTMUL: +.. _valid-vextmul: -%{prose-pred: VEXTMUL} +$${rule-prose: valid/vextmul} \ $${rule: Instr_ok/vextmul} -.. _valid-VEXTADD_PAIRWISE: +.. _valid-vextadd_pairwise: -%{prose-pred: VEXTADD_PAIRWISE} +$${rule-prose: valid/vextadd_pairwise} \ @@ -453,17 +453,17 @@ $${rule: Instr_ok/vextadd_pairwise} External Reference Instructions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.. _valid-EXTERN.CONVERT_ANY: +.. _valid-extern.convert_any: -%{prose-pred: EXTERN.CONVERT_ANY} +$${rule-prose: valid/extern.convert_any} \ $${rule: Instr_ok/extern.convert_any} -.. _valid-ANY.CONVERT_EXTERN: +.. _valid-any.convert_extern: -%{prose-pred: ANY.CONVERT_EXTERN} +$${rule-prose: valid/any.convert_extern} \ @@ -474,17 +474,17 @@ $${rule: Instr_ok/any.convert_extern} Parametric Instructions ~~~~~~~~~~~~~~~~~~~~~~~ -.. _valid-DROP: +.. _valid-drop: -%{prose-pred: DROP} +$${rule-prose: valid/drop} \ $${rule: Instr_ok/drop} -.. _valid-SELECT: +.. _valid-select: -%{prose-pred: SELECT} +$${rule-prose: valid/select} \ @@ -495,15 +495,15 @@ $${rule+: Instr_ok/select-*} Variable Instructions ~~~~~~~~~~~~~~~~~~~~~ -.. _valid-LOCAL.GET: +.. _valid-local.get: -%{prose-pred: LOCAL.GET} +$${rule-prose: valid/local.get} \ $${rule: Instr_ok/local.get} -.. _valid-LOCAL.SET: +.. _valid-local.set: LOCAL.SET ^^^^^^^^^ @@ -514,7 +514,7 @@ TODO (not found) $${rule+: Instrf_ok/local.set} -.. _valid-LOCAL.TEE: +.. _valid-local.tee: LOCAL.TEE ^^^^^^^^^ @@ -525,17 +525,17 @@ TODO (not found) $${rule+: Instrf_ok/local.tee} -.. _valid-GLOBAL.GET: +.. _valid-global.get: -%{prose-pred: GLOBAL.GET} +$${rule-prose: valid/global.get} \ $${rule: Instr_ok/global.get} -.. _valid-GLOBAL.SET: +.. _valid-global.set: -%{prose-pred: GLOBAL.SET} +$${rule-prose: valid/global.set} \ @@ -544,65 +544,65 @@ $${rule: Instr_ok/global.set} Table Instructions ~~~~~~~~~~~~~~~~~~ -.. _valid-TABLE.GET: +.. _valid-table.get: -%{prose-pred: TABLE.GET} +$${rule-prose: valid/table.get} \ $${rule: Instr_ok/table.get} -.. _valid-TABLE.SET: +.. _valid-table.set: -%{prose-pred: TABLE.SET} +$${rule-prose: valid/table.set} \ $${rule: Instr_ok/table.set} -.. _valid-TABLE.SIZE: +.. _valid-table.size: -%{prose-pred: TABLE.SIZE} +$${rule-prose: valid/table.size} \ $${rule: Instr_ok/table.size} -.. _valid-TABLE.GROW: +.. _valid-table.grow: -%{prose-pred: TABLE.GROW} +$${rule-prose: valid/table.grow} \ $${rule: Instr_ok/table.grow} -.. _valid-TABLE.FILL: +.. _valid-table.fill: -%{prose-pred: TABLE.FILL} +$${rule-prose: valid/table.fill} \ $${rule: Instr_ok/table.fill} -.. _valid-TABLE.COPY: +.. _valid-table.copy: -%{prose-pred: TABLE.COPY} +$${rule-prose: valid/table.copy} \ $${rule: Instr_ok/table.copy} -.. _valid-TABLE.INIT: +.. _valid-table.init: -%{prose-pred: TABLE.INIT} +$${rule-prose: valid/table.init} \ $${rule: Instr_ok/table.init} -.. _valid-ELEM.DROP: +.. _valid-elem.drop: -%{prose-pred: ELEM.DROP} +$${rule-prose: valid/elem.drop} \ @@ -613,25 +613,25 @@ $${rule: Instr_ok/elem.drop} Memory Instructions ~~~~~~~~~~~~~~~~~~~ -.. _valid-LOAD: +.. _valid-load: -%{prose-pred: LOAD} +$${rule-prose: valid/load} \ $${rule: Instr_ok/load} -.. _valid-STORE: +.. _valid-store: -%{prose-pred: STORE} +$${rule-prose: valid/store} \ $${rule: Instr_ok/store} -.. _valid-VLOAD: +.. _valid-vload: -%{prose-pred: VLOAD} +$${rule-prose: valid/vload} \ @@ -639,74 +639,74 @@ $${rule: Instr_ok/vload} $${rule: Instr_ok/vload-splat} $${rule: Instr_ok/vload-zero} -.. _valid-VLOAD_LANE: +.. _valid-vload_lane: -%{prose-pred: VLOAD_LANE} +$${rule-prose: valid/vload_lane} \ $${rule: Instr_ok/vload_lane} -.. _valid-VSTORE: +.. _valid-vstore: -%{prose-pred: VSTORE} +$${rule-prose: valid/vstore} \ $${rule: Instr_ok/vstore} -.. _valid-VSTORE_LANE: +.. _valid-vstore_lane: -%{prose-pred: VSTORE_LANE} +$${rule-prose: valid/vstore_lane} \ $${rule: Instr_ok/vstore_lane} -.. _valid-MEMORY.SIZE: +.. _valid-memory.size: -%{prose-pred: MEMORY.SIZE} +$${rule-prose: valid/memory.size} \ $${rule: Instr_ok/memory.size} -.. _valid-MEMORY.GROW: +.. _valid-memory.grow: -%{prose-pred: MEMORY.GROW} +$${rule-prose: valid/memory.grow} \ $${rule: Instr_ok/memory.grow} -.. _valid-MEMORY.FILL: +.. _valid-memory.fill: -%{prose-pred: MEMORY.FILL} +$${rule-prose: valid/memory.fill} \ $${rule: Instr_ok/memory.fill} -.. _valid-MEMORY.COPY: +.. _valid-memory.copy: -%{prose-pred: MEMORY.COPY} +$${rule-prose: valid/memory.copy} \ $${rule: Instr_ok/memory.copy} -.. _valid-MEMORY.INIT: +.. _valid-memory.init: -%{prose-pred: MEMORY.INIT} +$${rule-prose: valid/memory.init} \ $${rule: Instr_ok/memory.init} -.. _valid-DATA.DROP: +.. _valid-data.drop: -%{prose-pred: DATA.DROP} +$${rule-prose: valid/data.drop} \ @@ -717,95 +717,95 @@ $${rule: Instr_ok/data.drop} Control Instructions ~~~~~~~~~~~~~~~~~~~~ -.. _valid-NOP: +.. _valid-nop: -%{prose-pred: NOP} +$${rule-prose: valid/nop} \ $${rule: Instr_ok/nop} -.. _valid-UNREACHABLE: +.. _valid-unreachable: -%{prose-pred: UNREACHABLE} +$${rule-prose: valid/unreachable} \ $${rule: Instr_ok/unreachable} -.. _valid-BLOCK: +.. _valid-block: -%{prose-pred: BLOCK} +$${rule-prose: valid/block} \ $${rule: Instr_ok/block} -.. _valid-LOOP: +.. _valid-loop: -%{prose-pred: LOOP} +$${rule-prose: valid/loop} \ $${rule: Instr_ok/loop} -.. _valid-IF: +.. _valid-if: -%{prose-pred: IF} +$${rule-prose: valid/if} \ $${rule: Instr_ok/if} -.. _valid-BR: +.. _valid-br: -%{prose-pred: BR} +$${rule-prose: valid/br} \ $${rule: Instr_ok/br} -.. _valid-BR_IF: +.. _valid-br_if: -%{prose-pred: BR_IF} +$${rule-prose: valid/br_if} \ $${rule: Instr_ok/br_if} -.. _valid-BR_TABLE: +.. _valid-br_table: -%{prose-pred: BR_TABLE} +$${rule-prose: valid/br_table} \ $${rule: Instr_ok/br_table} -.. _valid-BR_ON_NULL: +.. _valid-br_on_null: -%{prose-pred: BR_ON_NULL} +$${rule-prose: valid/br_on_null} \ $${rule: Instr_ok/br_on_null} -.. _valid-BR_ON_NON_NULL: +.. _valid-br_on_non_null: -%{prose-pred: BR_ON_NON_NULL} +$${rule-prose: valid/br_on_non_null} \ $${rule: Instr_ok/br_on_non_null} -.. _valid-BR_ON_CAST: +.. _valid-br_on_cast: -%{prose-pred: BR_ON_CAST} +$${rule-prose: valid/br_on_cast} \ $${rule: Instr_ok/br_on_cast} -.. _valid-BR_ON_CAST_FAIL: +.. _valid-br_on_cast_fail: TODO (typo in DSL typing rule) @@ -813,58 +813,58 @@ TODO (typo in DSL typing rule) $${rule: Instr_ok/br_on_cast_fail} -.. _valid-RETURN: +.. _valid-return: -%{prose-pred: RETURN} +$${rule-prose: valid/return} \ $${rule: Instr_ok/return} -.. _valid-CALL: +.. _valid-call: -%{prose-pred: CALL} +$${rule-prose: valid/call} \ $${rule: Instr_ok/call} -.. _valid-CALL_REF: +.. _valid-call_ref: -%{prose-pred: CALL_REF} +$${rule-prose: valid/call_ref} \ $${rule+: Instr_ok/call_ref} -.. _valid-CALL_INDIRECT: +.. _valid-call_indirect: -%{prose-pred: CALL_INDIRECT} +$${rule-prose: valid/call_indirect} \ $${rule+: Instr_ok/call_indirect} -.. _valid-RETURN_CALL: +.. _valid-return_call: -%{prose-pred: RETURN_CALL} +$${rule-prose: valid/return_call} \ $${rule+: Instr_ok/return_call} -.. _valid-RETURN_CALL_REF: +.. _valid-return_call_ref: -%{prose-pred: RETURN_CALL_REF} +$${rule-prose: valid/return_call_ref} \ $${rule+: Instr_ok/return_call_ref} -.. _valid-RETURN_CALL_INDIRECT: +.. _valid-return_call_indirect: -%{prose-pred: RETURN_CALL_INDIRECT} +$${rule-prose: valid/return_call_indirect} \ @@ -894,7 +894,7 @@ $${rule+: .. _def-in_binop: -%{prose-func: in_binop} +$${definition-prose: in_binop} \ @@ -902,7 +902,7 @@ $${definition: in_binop} .. _def-in_numtype: -%{prose-func: in_numtype} +$${definition-prose: in_numtype} \ diff --git a/spectec/test-prose/doc/valid/types-in.rst b/spectec/test-prose/doc/valid/types-in.rst index 29f914f943..70328fd9c6 100644 --- a/spectec/test-prose/doc/valid/types-in.rst +++ b/spectec/test-prose/doc/valid/types-in.rst @@ -99,7 +99,7 @@ Recursive Types .. _def-before: -%{prose-func: before} +$${definition-prose: before} \ diff --git a/spectec/test-splice/TEST.md b/spectec/test-splice/TEST.md index d8e7be1699..781eb5108b 100644 --- a/spectec/test-splice/TEST.md +++ b/spectec/test-splice/TEST.md @@ -1171,205 +1171,208 @@ warning: definition `with_table` was never spliced warning: definition `with_tableinst` was never spliced warning: definition `wrap` was never spliced warning: definition `ztbytes` was never spliced -warning: validation prose `ANY.CONVERT_EXTERN` was never spliced -warning: validation prose `ARRAY.COPY` was never spliced -warning: validation prose `ARRAY.FILL` was never spliced -warning: validation prose `ARRAY.GET` was never spliced -warning: validation prose `ARRAY.INIT_DATA` was never spliced -warning: validation prose `ARRAY.INIT_ELEM` was never spliced -warning: validation prose `ARRAY.LEN` was never spliced -warning: validation prose `ARRAY.NEW` was never spliced -warning: validation prose `ARRAY.NEW_DATA` was never spliced -warning: validation prose `ARRAY.NEW_DEFAULT` was never spliced -warning: validation prose `ARRAY.NEW_ELEM` was never spliced -warning: validation prose `ARRAY.NEW_FIXED` was never spliced -warning: validation prose `ARRAY.SET` was never spliced -warning: validation prose `BINOP` was never spliced -warning: validation prose `BLOCK` was never spliced -warning: validation prose `BR` was never spliced -warning: validation prose `BR_IF` was never spliced -warning: validation prose `BR_ON_CAST` was never spliced -warning: validation prose `BR_ON_CAST_FAIL` was never spliced -warning: validation prose `BR_ON_NON_NULL` was never spliced -warning: validation prose `BR_ON_NULL` was never spliced -warning: validation prose `BR_TABLE` was never spliced -warning: validation prose `CALL` was never spliced -warning: validation prose `CALL_INDIRECT` was never spliced -warning: validation prose `CALL_REF` was never spliced -warning: validation prose `CONST` was never spliced -warning: validation prose `CVTOP` was never spliced -warning: validation prose `DATA.DROP` was never spliced -warning: validation prose `DROP` was never spliced -warning: validation prose `ELEM.DROP` was never spliced -warning: validation prose `EXTEND` was never spliced -warning: validation prose `EXTERN.CONVERT_ANY` was never spliced -warning: validation prose `GLOBAL.GET` was never spliced -warning: validation prose `GLOBAL.SET` was never spliced -warning: validation prose `I31.GET` was never spliced -warning: validation prose `IF` was never spliced -warning: validation prose `LOAD` was never spliced -warning: validation prose `LOCAL.GET` was never spliced -warning: validation prose `LOOP` was never spliced -warning: validation prose `MEMORY.COPY` was never spliced -warning: validation prose `MEMORY.FILL` was never spliced -warning: validation prose `MEMORY.GROW` was never spliced -warning: validation prose `MEMORY.INIT` was never spliced -warning: validation prose `MEMORY.SIZE` was never spliced -warning: validation prose `NOP` was never spliced -warning: validation prose `REF.AS_NON_NULL` was never spliced -warning: validation prose `REF.CAST` was never spliced -warning: validation prose `REF.EQ` was never spliced -warning: validation prose `REF.FUNC` was never spliced -warning: validation prose `REF.I31` was never spliced -warning: validation prose `REF.IS_NULL` was never spliced -warning: validation prose `REF.NULL` was never spliced -warning: validation prose `REF.TEST` was never spliced -warning: validation prose `RELOP` was never spliced -warning: validation prose `RETURN` was never spliced -warning: validation prose `RETURN_CALL` was never spliced -warning: validation prose `RETURN_CALL_INDIRECT` was never spliced -warning: validation prose `RETURN_CALL_REF` was never spliced -warning: validation prose `SELECT` was never spliced -warning: validation prose `STORE` was never spliced -warning: validation prose `STRUCT.GET` was never spliced -warning: validation prose `STRUCT.NEW` was never spliced -warning: validation prose `STRUCT.NEW_DEFAULT` was never spliced -warning: validation prose `STRUCT.SET` was never spliced -warning: validation prose `TABLE.COPY` was never spliced -warning: validation prose `TABLE.FILL` was never spliced -warning: validation prose `TABLE.GET` was never spliced -warning: validation prose `TABLE.GROW` was never spliced -warning: validation prose `TABLE.INIT` was never spliced -warning: validation prose `TABLE.SET` was never spliced -warning: validation prose `TABLE.SIZE` was never spliced -warning: validation prose `TESTOP` was never spliced -warning: validation prose `UNOP` was never spliced -warning: validation prose `UNREACHABLE` was never spliced -warning: validation prose `VALL_TRUE` was never spliced -warning: validation prose `VBINOP` was never spliced -warning: validation prose `VBITMASK` was never spliced -warning: validation prose `VCVTOP` was never spliced -warning: validation prose `VDOT` was never spliced -warning: validation prose `VEXTADD_PAIRWISE` was never spliced -warning: validation prose `VEXTMUL` was never spliced -warning: validation prose `VEXTRACT_LANE` was never spliced -warning: validation prose `VISHIFTOP` was never spliced -warning: validation prose `VLOAD` was never spliced -warning: validation prose `VLOAD_LANE` was never spliced -warning: validation prose `VNARROW` was never spliced -warning: validation prose `VRELOP` was never spliced -warning: validation prose `VREPLACE_LANE` was never spliced -warning: validation prose `VSHUFFLE` was never spliced -warning: validation prose `VSPLAT` was never spliced -warning: validation prose `VSTORE` was never spliced -warning: validation prose `VSTORE_LANE` was never spliced -warning: validation prose `VSWIZZLE` was never spliced -warning: validation prose `VUNOP` was never spliced -warning: validation prose `VVBINOP` was never spliced -warning: validation prose `VVCONST` was never spliced -warning: validation prose `VVTERNOP` was never spliced -warning: validation prose `VVTESTOP` was never spliced -warning: validation prose `VVUNOP` was never spliced -warning: execution prose `ANY.CONVERT_EXTERN` was never spliced -warning: execution prose `ARRAY.COPY` was never spliced -warning: execution prose `ARRAY.FILL` was never spliced -warning: execution prose `ARRAY.GET` was never spliced -warning: execution prose `ARRAY.INIT_DATA` was never spliced -warning: execution prose `ARRAY.INIT_ELEM` was never spliced -warning: execution prose `ARRAY.LEN` was never spliced -warning: execution prose `ARRAY.NEW` was never spliced -warning: execution prose `ARRAY.NEW_DATA` was never spliced -warning: execution prose `ARRAY.NEW_DEFAULT` was never spliced -warning: execution prose `ARRAY.NEW_ELEM` was never spliced -warning: execution prose `ARRAY.NEW_FIXED` was never spliced -warning: execution prose `ARRAY.SET` was never spliced -warning: execution prose `BINOP` was never spliced -warning: execution prose `BLOCK` was never spliced -warning: execution prose `BR` was never spliced -warning: execution prose `BR_IF` was never spliced -warning: execution prose `BR_ON_CAST` was never spliced -warning: execution prose `BR_ON_CAST_FAIL` was never spliced -warning: execution prose `BR_ON_NON_NULL` was never spliced -warning: execution prose `BR_ON_NULL` was never spliced -warning: execution prose `BR_TABLE` was never spliced -warning: execution prose `CALL` was never spliced -warning: execution prose `CALL_INDIRECT` was never spliced -warning: execution prose `CALL_REF` was never spliced -warning: execution prose `CVTOP` was never spliced -warning: execution prose `DATA.DROP` was never spliced -warning: execution prose `DROP` was never spliced -warning: execution prose `ELEM.DROP` was never spliced -warning: execution prose `EXTEND` was never spliced -warning: execution prose `EXTERN.CONVERT_ANY` was never spliced -warning: execution prose `FRAME_` was never spliced -warning: execution prose `GLOBAL.GET` was never spliced -warning: execution prose `GLOBAL.SET` was never spliced -warning: execution prose `I31.GET` was never spliced -warning: execution prose `IF` was never spliced -warning: execution prose `LABEL_` was never spliced -warning: execution prose `LOAD` was never spliced -warning: execution prose `LOCAL.GET` was never spliced -warning: execution prose `LOCAL.SET` was never spliced -warning: execution prose `LOCAL.TEE` was never spliced -warning: execution prose `LOOP` was never spliced -warning: execution prose `MEMORY.COPY` was never spliced -warning: execution prose `MEMORY.FILL` was never spliced -warning: execution prose `MEMORY.GROW` was never spliced -warning: execution prose `MEMORY.INIT` was never spliced -warning: execution prose `MEMORY.SIZE` was never spliced -warning: execution prose `NOP` was never spliced -warning: execution prose `REF.AS_NON_NULL` was never spliced -warning: execution prose `REF.CAST` was never spliced -warning: execution prose `REF.EQ` was never spliced -warning: execution prose `REF.FUNC` was never spliced -warning: execution prose `REF.I31` was never spliced -warning: execution prose `REF.IS_NULL` was never spliced -warning: execution prose `REF.TEST` was never spliced -warning: execution prose `RELOP` was never spliced -warning: execution prose `RETURN` was never spliced -warning: execution prose `RETURN_CALL` was never spliced -warning: execution prose `RETURN_CALL_INDIRECT` was never spliced -warning: execution prose `RETURN_CALL_REF` was never spliced -warning: execution prose `SELECT` was never spliced -warning: execution prose `STORE` was never spliced -warning: execution prose `STRUCT.GET` was never spliced -warning: execution prose `STRUCT.NEW` was never spliced -warning: execution prose `STRUCT.NEW_DEFAULT` was never spliced -warning: execution prose `STRUCT.SET` was never spliced -warning: execution prose `TABLE.COPY` was never spliced -warning: execution prose `TABLE.FILL` was never spliced -warning: execution prose `TABLE.GET` was never spliced -warning: execution prose `TABLE.GROW` was never spliced -warning: execution prose `TABLE.INIT` was never spliced -warning: execution prose `TABLE.SET` was never spliced -warning: execution prose `TABLE.SIZE` was never spliced -warning: execution prose `TESTOP` was never spliced -warning: execution prose `UNOP` was never spliced -warning: execution prose `UNREACHABLE` was never spliced -warning: execution prose `VALL_TRUE` was never spliced -warning: execution prose `VBINOP` was never spliced -warning: execution prose `VBITMASK` was never spliced -warning: execution prose `VCVTOP` was never spliced -warning: execution prose `VDOT` was never spliced -warning: execution prose `VEXTADD_PAIRWISE` was never spliced -warning: execution prose `VEXTMUL` was never spliced -warning: execution prose `VEXTRACT_LANE` was never spliced -warning: execution prose `VISHIFTOP` was never spliced -warning: execution prose `VLOAD` was never spliced -warning: execution prose `VLOAD_LANE` was never spliced -warning: execution prose `VNARROW` was never spliced -warning: execution prose `VRELOP` was never spliced -warning: execution prose `VREPLACE_LANE` was never spliced -warning: execution prose `VSHUFFLE` was never spliced -warning: execution prose `VSPLAT` was never spliced -warning: execution prose `VSTORE` was never spliced -warning: execution prose `VSTORE_LANE` was never spliced -warning: execution prose `VSWIZZLE` was never spliced -warning: execution prose `VUNOP` was never spliced -warning: execution prose `VVBINOP` was never spliced -warning: execution prose `VVTERNOP` was never spliced -warning: execution prose `VVTESTOP` was never spliced -warning: execution prose `VVUNOP` was never spliced +warning: rule prose `exec/array.new_data` was never spliced +warning: rule prose `exec/call_ref` was never spliced +warning: rule prose `exec/data.drop` was never spliced +warning: rule prose `exec/memory.grow` was never spliced +warning: rule prose `exec/vstore_lane` was never spliced +warning: rule prose `exec/vstore` was never spliced +warning: rule prose `exec/store` was never spliced +warning: rule prose `exec/elem.drop` was never spliced +warning: rule prose `exec/table.grow` was never spliced +warning: rule prose `exec/table.set` was never spliced +warning: rule prose `exec/global.set` was never spliced +warning: rule prose `exec/local.set` was never spliced +warning: rule prose `exec/array.set` was never spliced +warning: rule prose `exec/array.new_fixed` was never spliced +warning: rule prose `exec/struct.set` was never spliced +warning: rule prose `exec/struct.new` was never spliced +warning: rule prose `exec/memory.init` was never spliced +warning: rule prose `exec/memory.copy` was never spliced +warning: rule prose `exec/memory.fill` was never spliced +warning: rule prose `exec/memory.size` was never spliced +warning: rule prose `exec/vload_lane` was never spliced +warning: rule prose `exec/vload` was never spliced +warning: rule prose `exec/load` was never spliced +warning: rule prose `exec/table.init` was never spliced +warning: rule prose `exec/table.copy` was never spliced +warning: rule prose `exec/table.fill` was never spliced +warning: rule prose `exec/table.size` was never spliced +warning: rule prose `exec/table.get` was never spliced +warning: rule prose `exec/global.get` was never spliced +warning: rule prose `exec/local.get` was never spliced +warning: rule prose `exec/array.init_data` was never spliced +warning: rule prose `exec/array.init_elem` was never spliced +warning: rule prose `exec/array.copy` was never spliced +warning: rule prose `exec/array.fill` was never spliced +warning: rule prose `exec/array.len` was never spliced +warning: rule prose `exec/array.get` was never spliced +warning: rule prose `exec/array.new_data` was never spliced +warning: rule prose `exec/array.new_elem` was never spliced +warning: rule prose `exec/array.new_default` was never spliced +warning: rule prose `exec/array.new` was never spliced +warning: rule prose `exec/struct.get` was never spliced +warning: rule prose `exec/struct.new_default` was never spliced +warning: rule prose `exec/ref.cast` was never spliced +warning: rule prose `exec/ref.test` was never spliced +warning: rule prose `exec/ref.func` was never spliced +warning: rule prose `exec/return_call_ref` was never spliced +warning: rule prose `exec/return_call` was never spliced +warning: rule prose `exec/call_ref` was never spliced +warning: rule prose `exec/call` was never spliced +warning: rule prose `exec/br_on_cast_fail` was never spliced +warning: rule prose `exec/br_on_cast` was never spliced +warning: rule prose `exec/loop` was never spliced +warning: rule prose `exec/block` was never spliced +warning: rule prose `exec/local.tee` was never spliced +warning: rule prose `exec/vextadd_pairwise` was never spliced +warning: rule prose `exec/vextmul` was never spliced +warning: rule prose `exec/vdot` was never spliced +warning: rule prose `exec/vcvtop` was never spliced +warning: rule prose `exec/vnarrow` was never spliced +warning: rule prose `exec/vbitmask` was never spliced +warning: rule prose `exec/vall_true` was never spliced +warning: rule prose `exec/vishiftop` was never spliced +warning: rule prose `exec/vrelop` was never spliced +warning: rule prose `exec/vbinop` was never spliced +warning: rule prose `exec/vunop` was never spliced +warning: rule prose `exec/vreplace_lane` was never spliced +warning: rule prose `exec/vextract_lane` was never spliced +warning: rule prose `exec/vsplat` was never spliced +warning: rule prose `exec/vshuffle` was never spliced +warning: rule prose `exec/vswizzle` was never spliced +warning: rule prose `exec/vvtestop` was never spliced +warning: rule prose `exec/vvternop` was never spliced +warning: rule prose `exec/vvbinop` was never spliced +warning: rule prose `exec/vvunop` was never spliced +warning: rule prose `exec/any.convert_extern` was never spliced +warning: rule prose `exec/extern.convert_any` was never spliced +warning: rule prose `exec/i31.get` was never spliced +warning: rule prose `exec/ref.eq` was never spliced +warning: rule prose `exec/ref.as_non_null` was never spliced +warning: rule prose `exec/ref.is_null` was never spliced +warning: rule prose `exec/ref.i31` was never spliced +warning: rule prose `exec/cvtop` was never spliced +warning: rule prose `exec/extend` was never spliced +warning: rule prose `exec/relop` was never spliced +warning: rule prose `exec/testop` was never spliced +warning: rule prose `exec/binop` was never spliced +warning: rule prose `exec/unop` was never spliced +warning: rule prose `exec/return` was never spliced +warning: rule prose `exec/frame` was never spliced +warning: rule prose `exec/return_call_indirect` was never spliced +warning: rule prose `exec/call_indirect` was never spliced +warning: rule prose `exec/br_on_non_null` was never spliced +warning: rule prose `exec/br_on_null` was never spliced +warning: rule prose `exec/br_table` was never spliced +warning: rule prose `exec/br_if` was never spliced +warning: rule prose `exec/br` was never spliced +warning: rule prose `exec/label` was never spliced +warning: rule prose `exec/if` was never spliced +warning: rule prose `exec/select` was never spliced +warning: rule prose `exec/drop` was never spliced +warning: rule prose `exec/nop` was never spliced +warning: rule prose `exec/unreachable` was never spliced +warning: rule prose `valid/vstore_lane` was never spliced +warning: rule prose `valid/vstore` was never spliced +warning: rule prose `valid/vload_lane` was never spliced +warning: rule prose `valid/vload` was never spliced +warning: rule prose `valid/store` was never spliced +warning: rule prose `valid/load` was never spliced +warning: rule prose `valid/data.drop` was never spliced +warning: rule prose `valid/memory.init` was never spliced +warning: rule prose `valid/memory.copy` was never spliced +warning: rule prose `valid/memory.fill` was never spliced +warning: rule prose `valid/memory.grow` was never spliced +warning: rule prose `valid/memory.size` was never spliced +warning: rule prose `valid/elem.drop` was never spliced +warning: rule prose `valid/table.init` was never spliced +warning: rule prose `valid/table.copy` was never spliced +warning: rule prose `valid/table.fill` was never spliced +warning: rule prose `valid/table.grow` was never spliced +warning: rule prose `valid/table.size` was never spliced +warning: rule prose `valid/table.set` was never spliced +warning: rule prose `valid/table.get` was never spliced +warning: rule prose `valid/global.set` was never spliced +warning: rule prose `valid/global.get` was never spliced +warning: rule prose `valid/local.get` was never spliced +warning: rule prose `valid/vextadd_pairwise` was never spliced +warning: rule prose `valid/vextmul` was never spliced +warning: rule prose `valid/vdot` was never spliced +warning: rule prose `valid/vbitmask` was never spliced +warning: rule prose `valid/vnarrow` was never spliced +warning: rule prose `valid/vcvtop` was never spliced +warning: rule prose `valid/vall_true` was never spliced +warning: rule prose `valid/vishiftop` was never spliced +warning: rule prose `valid/vrelop` was never spliced +warning: rule prose `valid/vbinop` was never spliced +warning: rule prose `valid/vunop` was never spliced +warning: rule prose `valid/vreplace_lane` was never spliced +warning: rule prose `valid/vextract_lane` was never spliced +warning: rule prose `valid/vsplat` was never spliced +warning: rule prose `valid/vshuffle` was never spliced +warning: rule prose `valid/vswizzle` was never spliced +warning: rule prose `valid/vvtestop` was never spliced +warning: rule prose `valid/vvternop` was never spliced +warning: rule prose `valid/vvbinop` was never spliced +warning: rule prose `valid/vvunop` was never spliced +warning: rule prose `valid/vvconst` was never spliced +warning: rule prose `valid/any.convert_extern` was never spliced +warning: rule prose `valid/extern.convert_any` was never spliced +warning: rule prose `valid/array.init_data` was never spliced +warning: rule prose `valid/array.init_elem` was never spliced +warning: rule prose `valid/array.copy` was never spliced +warning: rule prose `valid/array.fill` was never spliced +warning: rule prose `valid/array.len` was never spliced +warning: rule prose `valid/array.set` was never spliced +warning: rule prose `valid/array.get` was never spliced +warning: rule prose `valid/array.new_data` was never spliced +warning: rule prose `valid/array.new_elem` was never spliced +warning: rule prose `valid/array.new_fixed` was never spliced +warning: rule prose `valid/array.new_default` was never spliced +warning: rule prose `valid/array.new` was never spliced +warning: rule prose `valid/struct.set` was never spliced +warning: rule prose `valid/struct.get` was never spliced +warning: rule prose `valid/struct.new_default` was never spliced +warning: rule prose `valid/struct.new` was never spliced +warning: rule prose `valid/i31.get` was never spliced +warning: rule prose `valid/ref.cast` was never spliced +warning: rule prose `valid/ref.test` was never spliced +warning: rule prose `valid/ref.eq` was never spliced +warning: rule prose `valid/ref.as_non_null` was never spliced +warning: rule prose `valid/ref.is_null` was never spliced +warning: rule prose `valid/ref.i31` was never spliced +warning: rule prose `valid/ref.func` was never spliced +warning: rule prose `valid/ref.null` was never spliced +warning: rule prose `valid/cvtop` was never spliced +warning: rule prose `valid/cvtop` was never spliced +warning: rule prose `valid/extend` was never spliced +warning: rule prose `valid/relop` was never spliced +warning: rule prose `valid/testop` was never spliced +warning: rule prose `valid/binop` was never spliced +warning: rule prose `valid/unop` was never spliced +warning: rule prose `valid/const` was never spliced +warning: rule prose `valid/return_call_indirect` was never spliced +warning: rule prose `valid/return_call_ref` was never spliced +warning: rule prose `valid/return_call` was never spliced +warning: rule prose `valid/call_indirect` was never spliced +warning: rule prose `valid/call_ref` was never spliced +warning: rule prose `valid/call` was never spliced +warning: rule prose `valid/return` was never spliced +warning: rule prose `valid/br_on_cast_fail` was never spliced +warning: rule prose `valid/br_on_cast` was never spliced +warning: rule prose `valid/br_on_non_null` was never spliced +warning: rule prose `valid/br_on_null` was never spliced +warning: rule prose `valid/br_table` was never spliced +warning: rule prose `valid/br_if` was never spliced +warning: rule prose `valid/br` was never spliced +warning: rule prose `valid/if` was never spliced +warning: rule prose `valid/loop` was never spliced +warning: rule prose `valid/block` was never spliced +warning: rule prose `valid/select` was never spliced +warning: rule prose `valid/drop` was never spliced +warning: rule prose `valid/nop` was never spliced +warning: rule prose `valid/unreachable` was never spliced warning: definition prose `E` was never spliced warning: definition prose `Ki` was never spliced warning: definition prose `M` was never spliced