package jasmin

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Parser.MenhirInterpreterSource

include MenhirLib.IncrementalEngine.INCREMENTAL_ENGINE with type token = token
Sourcetype token = token
Sourcetype production
Sourcetype 'a env
Sourcetype 'a checkpoint = private
  1. | InputNeeded of 'a env
  2. | Shifting of 'a env * 'a env * bool
  3. | AboutToReduce of 'a env * production
  4. | HandlingError of 'a env
  5. | Accepted of 'a
  6. | Rejected
Sourcetype strategy = [
  1. | `Legacy
  2. | `Simplified
]
Sourceval resume : ?strategy:strategy -> 'a checkpoint -> 'a checkpoint
Sourceval lexer_lexbuf_to_supplier : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> supplier
Sourceval loop : ?strategy:strategy -> supplier -> 'a checkpoint -> 'a
Sourceval loop_handle : ('a -> 'answer) -> ('a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answer
Sourceval loop_handle_undo : ('a -> 'answer) -> ('a checkpoint -> 'a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answer
Sourceval shifts : 'a checkpoint -> 'a env option
Sourcetype 'a lr1state
Sourceval number : _ lr1state -> int
Sourceval production_index : production -> int
Sourceval find_production : int -> production
Sourceval stack : 'a env -> stack
Sourceval top : 'a env -> element option
Sourceval pop_many : int -> 'a env -> 'a env option
Sourceval get : int -> 'a env -> element option
Sourceval current_state_number : 'a env -> int
Sourceval equal : 'a env -> 'a env -> bool
Sourceval env_has_default_reduction : 'a env -> bool
Sourceval state_has_default_reduction : _ lr1state -> bool
Sourceval pop : 'a env -> 'a env option
Sourceval force_reduction : production -> 'a env -> 'a env
Sourceval input_needed : 'a env -> 'a checkpoint
Sourcetype _ terminal =
  1. | T_error : unit terminal
  2. | T_WHILE : unit terminal
  3. | T_UNDERSCORE : unit terminal
  4. | T_UNALIGNED : unit terminal
  5. | T_T_W : Syntax.swsize terminal
  6. | T_T_INT_CAST : Syntax.sign terminal
  7. | T_T_INT : unit terminal
  8. | T_T_BOOL : unit terminal
  9. | T_TYPE : unit terminal
  10. | T_TRUE : unit terminal
  11. | T_TO : unit terminal
  12. | T_SWSIZE : Syntax.swsize terminal
  13. | T_SVSIZE : Syntax.svsize terminal
  14. | T_STRING : string terminal
  15. | T_STAR : unit terminal
  16. | T_STACK : unit terminal
  17. | T_SLASH : Syntax.sign option terminal
  18. | T_SHARP : unit terminal
  19. | T_SEMICOLON : unit terminal
  20. | T_RPAREN : unit terminal
  21. | T_ROR : unit terminal
  22. | T_ROL : unit terminal
  23. | T_RETURN : unit terminal
  24. | T_REQUIRE : unit terminal
  25. | T_REG : unit terminal
  26. | T_RBRACKET : unit terminal
  27. | T_RBRACE : unit terminal
  28. | T_RARROW : unit terminal
  29. | T_QUESTIONMARK : unit terminal
  30. | T_POINTER : unit terminal
  31. | T_PLUS : unit terminal
  32. | T_PIPEPIPE : unit terminal
  33. | T_PIPE : unit terminal
  34. | T_PERCENT : Syntax.sign option terminal
  35. | T_PARAM : unit terminal
  36. | T_NID : string terminal
  37. | T_NAMESPACE : unit terminal
  38. | T_MUTABLE : unit terminal
  39. | T_MINUS : unit terminal
  40. | T_LTLT : unit terminal
  41. | T_LT : Syntax.sign option terminal
  42. | T_LPAREN : unit terminal
  43. | T_LE : Syntax.sign option terminal
  44. | T_LBRACKET : unit terminal
  45. | T_LBRACE : unit terminal
  46. | T_INT : Syntax.int_representation terminal
  47. | T_INLINE : unit terminal
  48. | T_IF : unit terminal
  49. | T_HAT : unit terminal
  50. | T_GTGT : Syntax.sign option terminal
  51. | T_GT : Syntax.sign option terminal
  52. | T_GLOBAL : unit terminal
  53. | T_GE : Syntax.sign option terminal
  54. | T_FROM : unit terminal
  55. | T_FOR : unit terminal
  56. | T_FN : unit terminal
  57. | T_FALSE : unit terminal
  58. | T_EXPORT : unit terminal
  59. | T_EXEC : unit terminal
  60. | T_EQEQ : unit terminal
  61. | T_EQ : unit terminal
  62. | T_EOF : unit terminal
  63. | T_ELSE : unit terminal
  64. | T_DOWNTO : unit terminal
  65. | T_DOT : unit terminal
  66. | T_CONSTANT : unit terminal
  67. | T_COMMA : unit terminal
  68. | T_COLONCOLON : unit terminal
  69. | T_COLON : unit terminal
  70. | T_BANGEQ : unit terminal
  71. | T_BANG : unit terminal
  72. | T_ARRAYINIT : unit terminal
  73. | T_AMPAMP : unit terminal
  74. | T_AMP : unit terminal
  75. | T_ALIGNED : unit terminal
Sourcetype _ nonterminal =
  1. | N_writable : Syntax.writable nonterminal
  2. | N_var : Annotations.pident nonterminal
  3. | N_utype_array : Syntax.psizetype nonterminal
  4. | N_utype : Syntax.swsize nonterminal
  5. | N_top_annotation : Annotations.annotations nonterminal
  6. | N_top : Syntax.pitem nonterminal
  7. | N_swsize : Syntax.swsize nonterminal
  8. | N_svsize : Syntax.svsize nonterminal
  9. | N_struct_annot : Annotations.annotations nonterminal
  10. | N_storage : Syntax.pstorage nonterminal
  11. | N_stor_type : Syntax.pstotype nonterminal
  12. | N_simple_attribute : Annotations.simple_attribute nonterminal
  13. | N_separated_nonempty_list_option_COMMA__loc_decl__ : Syntax.vardecl Location.located list nonterminal
  14. | N_separated_nonempty_list_empty_var_ : Annotations.pident list nonterminal
  15. | N_separated_nonempty_list_COMMA_var_ : Annotations.pident list nonterminal
  16. | N_separated_nonempty_list_COMMA_range_ : (string * string) list nonterminal
  17. | N_separated_nonempty_list_COMMA_plvalue_ : Syntax.plvalue list nonterminal
  18. | N_separated_nonempty_list_COMMA_pexpr_ : Syntax.pexpr list nonterminal
  19. | N_separated_nonempty_list_COMMA_annotation_ : Annotations.annotations nonterminal
  20. | N_separated_nonempty_list_COMMA_annot_stor_type_ : (Annotations.annotations * Syntax.pstotype) list nonterminal
  21. | N_separated_nonempty_list_COMMA_annot_pparamdecl_ : (Annotations.annotations * Syntax.paramdecls) list nonterminal
  22. | N_separated_nonempty_list_COLONCOLON_NID_ : string list nonterminal
  23. | N_range : (string * string) nonterminal
  24. | N_ptype_r : Syntax.ptype_r nonterminal
  25. | N_ptype : Syntax.ptype nonterminal
  26. | N_ptr : Syntax.ptr nonterminal
  27. | N_prim : Annotations.pident nonterminal
  28. | N_prequire1 : Syntax.prequire nonterminal
  29. | N_prequire : (Annotations.pident option * Syntax.prequire list) nonterminal
  30. | N_pparamdecl_empty_ : Syntax.paramdecls nonterminal
  31. | N_pparam : Syntax.pparam nonterminal
  32. | N_pointer : Syntax.writable option nonterminal
  33. | N_plvalues : Syntax.plvals nonterminal
  34. | N_plvalue_r : Syntax.plvalue_r nonterminal
  35. | N_plvalue : Syntax.plvalue nonterminal
  36. | N_pinstr_r : Syntax.pinstr_r nonterminal
  37. | N_pinstr : Syntax.pinstr nonterminal
  38. | N_pif : Syntax.pinstr_r nonterminal
  39. | N_pglobal : Syntax.pglobal nonterminal
  40. | N_pgexpr : Syntax.gpexpr nonterminal
  41. | N_pfundef : Syntax.pfundef nonterminal
  42. | N_pfunbody : Syntax.pfunbody nonterminal
  43. | N_pexpr_r : Syntax.pexpr_r nonterminal
  44. | N_pexpr : Syntax.pexpr nonterminal
  45. | N_pexec : Syntax.pexec nonterminal
  46. | N_peqop : Syntax.peqop nonterminal
  47. | N_pelseif : Syntax.pblock_r nonterminal
  48. | N_pelse : Syntax.pblock nonterminal
  49. | N_pblock_r : Syntax.pblock_r nonterminal
  50. | N_pblock : Syntax.pblock nonterminal
  51. | N_option_writable_ : Syntax.writable option nonterminal
  52. | N_option_unaligned_ : [ `Aligned | `Unaligned ] option nonterminal
  53. | N_option_prefix_RARROW_tuple_annot_stor_type___ : (Annotations.annotations * Syntax.pstotype) list option nonterminal
  54. | N_option_prefix_IF_pexpr__ : Syntax.pexpr option nonterminal
  55. | N_option_pointer_ : Syntax.writable option option nonterminal
  56. | N_option_pblock_ : Syntax.pblock option nonterminal
  57. | N_option_loc_castop1__ : Syntax.castop nonterminal
  58. | N_option_from_ : Annotations.pident option nonterminal
  59. | N_option_call_conv_ : Syntax.pcall_conv option nonterminal
  60. | N_option_attribute_ : Annotations.attribute option nonterminal
  61. | N_option_arr_access_len_ : Syntax.pexpr option nonterminal
  62. | N_option_access_type_ : (unit option * Syntax.swsize Location.located) option nonterminal
  63. | N_option___anonymous_1_ : Annotations.pident list option nonterminal
  64. | N_option_DOT_ : unit option nonterminal
  65. | N_option_COMMA_ : unit option nonterminal
  66. | N_option_COLON_ : unit option nonterminal
  67. | N_nonempty_list_prequire1_ : Syntax.prequire list nonterminal
  68. | N_module_ : Syntax.pprogram nonterminal
  69. | N_loption_separated_nonempty_list_COMMA_var__ : Annotations.pident list nonterminal
  70. | N_loption_separated_nonempty_list_COMMA_range__ : (string * string) list nonterminal
  71. | N_loption_separated_nonempty_list_COMMA_pexpr__ : Syntax.pexpr list nonterminal
  72. | N_loption_separated_nonempty_list_COMMA_annotation__ : Annotations.annotations nonterminal
  73. | N_loption_separated_nonempty_list_COMMA_annot_stor_type__ : (Annotations.annotations * Syntax.pstotype) list nonterminal
  74. | N_loption_separated_nonempty_list_COMMA_annot_pparamdecl__ : (Annotations.annotations * Syntax.paramdecls) list nonterminal
  75. | N_list_top_annotation_ : Annotations.annotations list nonterminal
  76. | N_list_pinstr_ : Syntax.pblock_r nonterminal
  77. | N_list_loc_top__ : Syntax.pprogram nonterminal
  78. | N_keyword : string nonterminal
  79. | N_int : Z.t nonterminal
  80. | N_implicites : Annotations.annotations Location.located nonterminal
  81. | N_from : Annotations.pident nonterminal
  82. | N_castop1 : Syntax.castop1 nonterminal
  83. | N_castop : Syntax.castop nonterminal
  84. | N_cast : Syntax.cast nonterminal
  85. | N_call_conv : Syntax.pcall_conv nonterminal
  86. | N_attribute : Annotations.simple_attribute Location.located nonterminal
  87. | N_arr_access_len : Syntax.pexpr nonterminal
  88. | N_arr_access_i : ((unit option * Syntax.swsize Location.located) option * Syntax.pexpr * Syntax.pexpr option * [ `Aligned | `Unaligned ] option) nonterminal
  89. | N_arr_access : (Warray_.arr_access * (Syntax.swsize Location.located option * Syntax.pexpr * Syntax.pexpr option * [ `Aligned | `Unaligned ] option)) nonterminal
  90. | N_annotations : Annotations.annotations nonterminal
  91. | N_annotationlabel : Syntax.prequire nonterminal
  92. | N_annotation : Annotations.annotation nonterminal
  93. | N_annot_stor_type : (Annotations.annotations * Syntax.pstotype) nonterminal
  94. | N_annot_pparamdecl : (Annotations.annotations * Syntax.paramdecls) nonterminal
include MenhirLib.IncrementalEngine.INSPECTION with type 'a lr1state := 'a lr1state with type production := production with type 'a terminal := 'a terminal with type 'a nonterminal := 'a nonterminal with type 'a env := 'a env
include MenhirLib.IncrementalEngine.SYMBOLS with type 'a terminal := 'a terminal with type 'a nonterminal := 'a nonterminal
Sourcetype 'a symbol =
  1. | T : 'a terminal -> 'a symbol
  2. | N : 'a nonterminal -> 'a symbol
Sourcetype xsymbol =
  1. | X : 'a symbol -> xsymbol
Sourcetype item = production * int
Sourceval compare_terminals : _ terminal -> _ terminal -> int
Sourceval compare_nonterminals : _ nonterminal -> _ nonterminal -> int
Sourceval compare_symbols : xsymbol -> xsymbol -> int
Sourceval compare_productions : production -> production -> int
Sourceval compare_items : item -> item -> int
Sourceval incoming_symbol : 'a lr1state -> 'a symbol
Sourceval items : _ lr1state -> item list
Sourceval rhs : production -> xsymbol list
Sourceval nullable : _ nonterminal -> bool
Sourceval first : _ nonterminal -> _ terminal -> bool
Sourceval xfirst : xsymbol -> _ terminal -> bool
Sourceval foreach_terminal : (xsymbol -> 'a -> 'a) -> 'a -> 'a
Sourceval foreach_terminal_but_error : (xsymbol -> 'a -> 'a) -> 'a -> 'a