package diffast-langs-cpp-parsing

  1. Overview
  2. Docs
include MenhirLib.IncrementalEngine.INCREMENTAL_ENGINE with type token = token
type token = token
type production
type 'a env
type '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
type strategy = [
  1. | `Legacy
  2. | `Simplified
]
val resume : ?strategy:strategy -> 'a checkpoint -> 'a checkpoint
val lexer_lexbuf_to_supplier : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> supplier
val loop : ?strategy:strategy -> supplier -> 'a checkpoint -> 'a
val loop_handle : ('a -> 'answer) -> ('a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answer
val loop_handle_undo : ('a -> 'answer) -> ('a checkpoint -> 'a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answer
val shifts : 'a checkpoint -> 'a env option
val acceptable : 'a checkpoint -> token -> MenhirLib.IncrementalEngine.position -> bool
type 'a lr1state
val number : _ lr1state -> int
val production_index : production -> int
val find_production : int -> production
val stack : 'a env -> stack
val top : 'a env -> element option
val pop_many : int -> 'a env -> 'a env option
val get : int -> 'a env -> element option
val current_state_number : 'a env -> int
val equal : 'a env -> 'a env -> bool
val env_has_default_reduction : 'a env -> bool
val state_has_default_reduction : _ lr1state -> bool
val pop : 'a env -> 'a env option
val force_reduction : production -> 'a env -> 'a env
val input_needed : 'a env -> 'a checkpoint
type _ nonterminal =
  1. | N_yield_expression : Ast.node nonterminal
  2. | N_virt_specifier_seq : Ast.node list nonterminal
  3. | N_virt_specifier : Ast.node nonterminal
  4. | N_using_enum_declarator : Ast.node nonterminal
  5. | N_using_enum_declaration : Ast.node nonterminal
  6. | N_using_declarator_list : Ast.node list nonterminal
  7. | N_using_declarator : Ast.node nonterminal
  8. | N_using_declaration : Ast.node nonterminal
  9. | N_unqualified_id : Ast.node nonterminal
  10. | N_unnamed_namespace_definition_head : (Ast.node list * Ast.node list * string) nonterminal
  11. | N_unnamed_namespace_definition : Ast.node nonterminal
  12. | N_unary_operator : Label.t nonterminal
  13. | N_unary_expression : Ast.node nonterminal
  14. | N_typename_specifier : Ast.node nonterminal
  15. | N_type_sub : Ast.node nonterminal
  16. | N_type_specifier : Ast.node nonterminal
  17. | N_type_requirement : Ast.node nonterminal
  18. | N_type_parameter : Ast.node nonterminal
  19. | N_type_name : Ast.node nonterminal
  20. | N_type_id : Ast.node nonterminal
  21. | N_type_constraint : Ast.node nonterminal
  22. | N_ty_macro_call : Ast.node nonterminal
  23. | N_try_block : Ast.node nonterminal
  24. | N_translation_unit : Ast.node nonterminal
  25. | N_trailing_return_type : Ast.node nonterminal
  26. | N_token_seq : Token.t list nonterminal
  27. | N_token_no_paren : Token.t nonterminal
  28. | N_token : Token.t nonterminal
  29. | N_throw_expression : Ast.node nonterminal
  30. | N_template_parameter_list : Ast.node list nonterminal
  31. | N_template_parameter : Ast.node nonterminal
  32. | N_template_id : Ast.node nonterminal
  33. | N_template_head : Ast.node nonterminal
  34. | N_template_declaration : Ast.node nonterminal
  35. | N_template_argument_list_opt : Ast.node list option nonterminal
  36. | N_template_argument_list : Ast.node list nonterminal
  37. | N_template_argument : Ast.node nonterminal
  38. | N_templ_param_macro_call : Ast.node nonterminal
  39. | N_swift_arg : Ast.node nonterminal
  40. | N_suffix_macro_call : Ast.node nonterminal
  41. | N_string_literal_list : Ast.node list nonterminal
  42. | N_string_literal_ : Ast.node nonterminal
  43. | N_string_literal : Ast.node nonterminal
  44. | N_str_ : Ast.node nonterminal
  45. | N_storage_class_specifier : Ast.node nonterminal
  46. | N_stmts_sub : Ast.node nonterminal
  47. | N_stmts_macro_arg : Ast.node list nonterminal
  48. | N_stmt_macro_call : Ast.node nonterminal
  49. | N_stmt_macro_arg : Ast.node nonterminal
  50. | N_static_assert_declaration : Ast.node nonterminal
  51. | N_statement_seq_opt : Ast.node list option nonterminal
  52. | N_statement : Ast.node nonterminal
  53. | N_specs_sub : Ast.node nonterminal
  54. | N_special_token : unit nonterminal
  55. | N_simple_type_specifier : Ast.node nonterminal
  56. | N_simple_template_id_ : Ast.node nonterminal
  57. | N_simple_template_id : Ast.node nonterminal
  58. | N_simple_requirement : Ast.node nonterminal
  59. | N_simple_capture : Ast.node nonterminal
  60. | N_shift_expression : Ast.node nonterminal
  61. | N_separated_nonempty_list_COMMA_type_id_ : Ast.node list nonterminal
  62. | N_separated_nonempty_list_COMMA_objc_struct_dtor_ : Ast.node list nonterminal
  63. | N_separated_nonempty_list_COMMA_objc_property_attr_ : Ast.node list nonterminal
  64. | N_separated_nonempty_list_COMMA_objc_key_value_ : Ast.node list nonterminal
  65. | N_separated_nonempty_list_COMMA_objc_class_name_ : Ast.node list nonterminal
  66. | N_separated_nonempty_list_COMMA_objc_avail_item_ : Ast.node list nonterminal
  67. | N_separated_nonempty_list_COMMA_mock_qualifier_ : Ast.node list nonterminal
  68. | N_separated_nonempty_list_COMMA_conditional_expression_ : Ast.node list nonterminal
  69. | N_selection_statement : Ast.node nonterminal
  70. | N_s_token : (token * Lexing.position * Lexing.position) nonterminal
  71. | N_return_type_requirement : Ast.node nonterminal
  72. | N_restricted_xor_expr : Ast.node nonterminal
  73. | N_restricted_unary_expr : Ast.node nonterminal
  74. | N_restricted_shift_expr : Ast.node nonterminal
  75. | N_restricted_rel_expr : Ast.node nonterminal
  76. | N_restricted_prim_expr : Ast.node nonterminal
  77. | N_restricted_postfix_expr : Ast.node nonterminal
  78. | N_restricted_pm_expr : Ast.node nonterminal
  79. | N_restricted_mult_expr : Ast.node nonterminal
  80. | N_restricted_lor_expr : Ast.node nonterminal
  81. | N_restricted_land_expr : Ast.node nonterminal
  82. | N_restricted_ior_expr : Ast.node nonterminal
  83. | N_restricted_expr : Ast.node nonterminal
  84. | N_restricted_eq_expr : Ast.node nonterminal
  85. | N_restricted_decls : Ast.node list nonterminal
  86. | N_restricted_decl : Ast.node nonterminal
  87. | N_restricted_cond_expr : Ast.node nonterminal
  88. | N_restricted_comp_expr : Ast.node nonterminal
  89. | N_restricted_cast_expr : Ast.node nonterminal
  90. | N_restricted_assign_expr : Ast.node nonterminal
  91. | N_restricted_and_expr : Ast.node nonterminal
  92. | N_restricted_add_expr : Ast.node nonterminal
  93. | N_requires_expression : Ast.node nonterminal
  94. | N_requires_clause : Ast.node nonterminal
  95. | N_requirement_seq : Ast.node list nonterminal
  96. | N_requirement_parameter_list : Ast.node nonterminal
  97. | N_requirement_body : Ast.node nonterminal
  98. | N_requirement : Ast.node nonterminal
  99. | N_relational_expression : Ast.node nonterminal
  100. | N_ref_qualifier : Ast.node nonterminal
  101. | N_quasi_keyword : Token.t nonterminal
  102. | N_qualified_id : Ast.node nonterminal
  103. | N_q_prop_token : Ast.node nonterminal
  104. | N_pure_specifier : Ast.node nonterminal
  105. | N_ptr_operator : Ast.node nonterminal
  106. | N_ptr_declarator : Ast.node nonterminal
  107. | N_ptr_abstract_declarator : Ast.node nonterminal
  108. | N_primary_expression : Ast.node nonterminal
  109. | N_pp_templ_param_if_section : Ast.node nonterminal
  110. | N_pp_templ_param_if_group : Ast.node nonterminal
  111. | N_pp_templ_param_else_group : Ast.node nonterminal
  112. | N_pp_templ_param_elif_group : Ast.node nonterminal
  113. | N_pp_templ_arg_if_section : Ast.node nonterminal
  114. | N_pp_templ_arg_if_group : Ast.node nonterminal
  115. | N_pp_templ_arg_else_group : Ast.node nonterminal
  116. | N_pp_templ_arg_elif_group : Ast.node nonterminal
  117. | N_pp_str_if_section : Ast.node nonterminal
  118. | N_pp_str_if_group : Ast.node nonterminal
  119. | N_pp_str_else_group : Ast.node nonterminal
  120. | N_pp_str_elif_group : Ast.node nonterminal
  121. | N_pp_stmt_if_section_closing : Ast.node nonterminal
  122. | N_pp_stmt_if_section_close_open : Ast.node nonterminal
  123. | N_pp_stmt_if_section_broken : Ast.node nonterminal
  124. | N_pp_stmt_if_section : Ast.node nonterminal
  125. | N_pp_stmt_if_group_closing : Ast.node nonterminal
  126. | N_pp_stmt_if_group_close_open : Ast.node nonterminal
  127. | N_pp_stmt_if_group_broken : Ast.node nonterminal
  128. | N_pp_stmt_if_group : Ast.node nonterminal
  129. | N_pp_stmt_else_group_closing : Ast.node nonterminal
  130. | N_pp_stmt_else_group_close_open : Ast.node nonterminal
  131. | N_pp_stmt_else_group_broken : Ast.node nonterminal
  132. | N_pp_stmt_else_group : Ast.node nonterminal
  133. | N_pp_stmt_elif_group_closing : Ast.node nonterminal
  134. | N_pp_stmt_elif_group_close_open : Ast.node nonterminal
  135. | N_pp_stmt_elif_group_broken : Ast.node nonterminal
  136. | N_pp_stmt_elif_group : Ast.node nonterminal
  137. | N_pp_spec_if_section : Ast.node nonterminal
  138. | N_pp_spec_if_group : Ast.node nonterminal
  139. | N_pp_spec_else_group : Ast.node nonterminal
  140. | N_pp_spec_elif_group : Ast.node nonterminal
  141. | N_pp_param_list : Label.macro_kind nonterminal
  142. | N_pp_param_if_section : Ast.node nonterminal
  143. | N_pp_param_if_group : Ast.node nonterminal
  144. | N_pp_param_else_group : Ast.node nonterminal
  145. | N_pp_param_elif_group : Ast.node nonterminal
  146. | N_pp_p_if_section : Ast.node nonterminal
  147. | N_pp_p_if_group : Ast.node nonterminal
  148. | N_pp_p_else_group : Ast.node nonterminal
  149. | N_pp_p_elif_group : Ast.node nonterminal
  150. | N_pp_old_param_decl_list_if_section : Ast.node nonterminal
  151. | N_pp_old_param_decl_list_if_group : Ast.node nonterminal
  152. | N_pp_old_param_decl_list_else_group : Ast.node nonterminal
  153. | N_pp_old_param_decl_list_elif_group : Ast.node nonterminal
  154. | N_pp_objc_protocol_ref_list_if_section : Ast.node nonterminal
  155. | N_pp_objc_protocol_ref_list_else_group : Ast.node nonterminal
  156. | N_pp_objc_protocol_ref_list_elif_group : Ast.node nonterminal
  157. | N_pp_objc_proto_name_if_section : Ast.node nonterminal
  158. | N_pp_objc_proto_name_if_group : Ast.node nonterminal
  159. | N_pp_objc_proto_name_else_group : Ast.node nonterminal
  160. | N_pp_objc_proto_name_elif_group : Ast.node nonterminal
  161. | N_pp_objc_ivar_decl_if_section : Ast.node nonterminal
  162. | N_pp_objc_ivar_decl_if_group : Ast.node nonterminal
  163. | N_pp_objc_ivar_decl_else_group : Ast.node nonterminal
  164. | N_pp_objc_ivar_decl_elif_group : Ast.node nonterminal
  165. | N_pp_objc_idecl_if_section : Ast.node nonterminal
  166. | N_pp_objc_idecl_if_group : Ast.node nonterminal
  167. | N_pp_objc_idecl_else_group : Ast.node nonterminal
  168. | N_pp_objc_idecl_elif_group : Ast.node nonterminal
  169. | N_pp_objc_class_interface_head_if_section : Ast.node nonterminal
  170. | N_pp_objc_class_interface_head_if_group : Ast.node nonterminal
  171. | N_pp_objc_class_interface_head_else_group : Ast.node nonterminal
  172. | N_pp_objc_class_interface_head_elif_group : Ast.node nonterminal
  173. | N_pp_objc_category_interface_head_if_section : Ast.node nonterminal
  174. | N_pp_objc_category_interface_head_if_group : Ast.node nonterminal
  175. | N_pp_objc_category_interface_head_else_group : Ast.node nonterminal
  176. | N_pp_objc_category_interface_head_elif_group : Ast.node nonterminal
  177. | N_pp_minit_if_section_broken : Ast.node nonterminal
  178. | N_pp_minit_if_section : Ast.node nonterminal
  179. | N_pp_minit_if_group_broken : Ast.node nonterminal
  180. | N_pp_minit_if_group : Ast.node nonterminal
  181. | N_pp_minit_else_group_broken : Ast.node nonterminal
  182. | N_pp_minit_else_group : Ast.node nonterminal
  183. | N_pp_minit_elif_group_broken : Ast.node nonterminal
  184. | N_pp_minit_elif_group : Ast.node nonterminal
  185. | N_pp_mdecl_if_section_broken : Ast.node nonterminal
  186. | N_pp_mdecl_if_section : Ast.node nonterminal
  187. | N_pp_mdecl_if_group_broken : Ast.node nonterminal
  188. | N_pp_mdecl_if_group : Ast.node nonterminal
  189. | N_pp_mdecl_else_group_broken : Ast.node nonterminal
  190. | N_pp_mdecl_else_group : Ast.node nonterminal
  191. | N_pp_mdecl_elif_group_broken : Ast.node nonterminal
  192. | N_pp_mdecl_elif_group : Ast.node nonterminal
  193. | N_pp_lor_if_section : Ast.node nonterminal
  194. | N_pp_lor_if_group : Ast.node nonterminal
  195. | N_pp_lor_else_group : Ast.node nonterminal
  196. | N_pp_lor_elif_group : Ast.node nonterminal
  197. | N_pp_land_if_section : Ast.node nonterminal
  198. | N_pp_land_if_group : Ast.node nonterminal
  199. | N_pp_land_else_group : Ast.node nonterminal
  200. | N_pp_land_elif_group : Ast.node nonterminal
  201. | N_pp_lambda_head_if_section_broken : Ast.node nonterminal
  202. | N_pp_lambda_head_if_group_broken : Ast.node nonterminal
  203. | N_pp_lambda_head_else_group_broken : Ast.node nonterminal
  204. | N_pp_lambda_head_elif_group_broken : Ast.node nonterminal
  205. | N_pp_ior_if_section_seq : Ast.node list nonterminal
  206. | N_pp_ior_if_section : Ast.node nonterminal
  207. | N_pp_ior_if_group : Ast.node nonterminal
  208. | N_pp_ior_else_group : Ast.node nonterminal
  209. | N_pp_ior_elif_group : Ast.node nonterminal
  210. | N_pp_init_if_section_closing : Ast.node nonterminal
  211. | N_pp_init_if_section : Ast.node nonterminal
  212. | N_pp_init_if_group_closing : Ast.node nonterminal
  213. | N_pp_init_if_group : Ast.node nonterminal
  214. | N_pp_init_else_group_closing : Ast.node nonterminal
  215. | N_pp_init_else_group : Ast.node nonterminal
  216. | N_pp_init_elif_group_closing : Ast.node nonterminal
  217. | N_pp_init_elif_group : Ast.node nonterminal
  218. | N_pp_ifx_x : Ast.node nonterminal
  219. | N_pp_ifx_shift : Ast.node nonterminal
  220. | N_pp_ifx_s : Ast.node nonterminal
  221. | N_pp_ifx_p : Ast.node nonterminal
  222. | N_pp_ifx_o : Ast.node nonterminal
  223. | N_pp_ifx_i : Ast.node nonterminal
  224. | N_pp_ifx_h : Ast.node nonterminal
  225. | N_pp_ifx_eh : Ast.node nonterminal
  226. | N_pp_ifx_e : Ast.node nonterminal
  227. | N_pp_ifx_d : Ast.node nonterminal
  228. | N_pp_ifx_cond_ : Ast.node nonterminal
  229. | N_pp_ifx_cond : Ast.node nonterminal
  230. | N_pp_ifx_closing : Ast.node nonterminal
  231. | N_pp_ifx_close_open : Ast.node nonterminal
  232. | N_pp_ifx_cb : Ast.node nonterminal
  233. | N_pp_ifx_c : Ast.node nonterminal
  234. | N_pp_ifx_broken : Ast.node nonterminal
  235. | N_pp_ifx_b : Ast.node nonterminal
  236. | N_pp_ifx_attr : Ast.node nonterminal
  237. | N_pp_ifx_a : Ast.node nonterminal
  238. | N_pp_ifx : Ast.node nonterminal
  239. | N_pp_ifstmt_if_section_closing : Ast.node nonterminal
  240. | N_pp_ifstmt_if_group_closing : Ast.node nonterminal
  241. | N_pp_ifstmt_else_group_closing : Ast.node nonterminal
  242. | N_pp_ifstmt_elif_group_closing : Ast.node nonterminal
  243. | N_pp_idtor_if_section : Ast.node nonterminal
  244. | N_pp_idtor_if_group : Ast.node nonterminal
  245. | N_pp_idtor_else_group : Ast.node nonterminal
  246. | N_pp_idtor_elif_group : Ast.node nonterminal
  247. | N_pp_handler_if_section_broken : Ast.node nonterminal
  248. | N_pp_handler_if_section : Ast.node nonterminal
  249. | N_pp_handler_if_group_broken : Ast.node nonterminal
  250. | N_pp_handler_if_group : Ast.node nonterminal
  251. | N_pp_handler_else_group_broken : Ast.node nonterminal
  252. | N_pp_handler_else_group : Ast.node nonterminal
  253. | N_pp_handler_elif_group_broken : Ast.node nonterminal
  254. | N_pp_handler_elif_group : Ast.node nonterminal
  255. | N_pp_gnu_asm_if_section : Ast.node nonterminal
  256. | N_pp_gnu_asm_if_group : Ast.node nonterminal
  257. | N_pp_gnu_asm_else_group : Ast.node nonterminal
  258. | N_pp_gnu_asm_elif_group : Ast.node nonterminal
  259. | N_pp_func_head_if_section_broken : Ast.node nonterminal
  260. | N_pp_func_head_if_group_broken : Ast.node nonterminal
  261. | N_pp_func_head_else_group_broken : Ast.node nonterminal
  262. | N_pp_func_head_elif_group_broken : Ast.node nonterminal
  263. | N_pp_func_body_if_section : Ast.node nonterminal
  264. | N_pp_func_body_if_group : Ast.node nonterminal
  265. | N_pp_func_body_else_group : Ast.node nonterminal
  266. | N_pp_func_body_elif_group : Ast.node nonterminal
  267. | N_pp_expr_if_section_broken2 : Ast.node nonterminal
  268. | N_pp_expr_if_section_broken : Ast.node nonterminal
  269. | N_pp_expr_if_section : Ast.node nonterminal
  270. | N_pp_expr_if_group_broken2 : Ast.node nonterminal
  271. | N_pp_expr_if_group_broken : Ast.node nonterminal
  272. | N_pp_expr_if_group : Ast.node nonterminal
  273. | N_pp_expr_else_group_broken2 : Ast.node nonterminal
  274. | N_pp_expr_else_group_broken : Ast.node nonterminal
  275. | N_pp_expr_else_group : Ast.node nonterminal
  276. | N_pp_expr_elif_group_broken2 : Ast.node nonterminal
  277. | N_pp_expr_elif_group_broken : Ast.node nonterminal
  278. | N_pp_expr_elif_group : Ast.node nonterminal
  279. | N_pp_enum_if_section_closing : Ast.node nonterminal
  280. | N_pp_enum_if_group_closing : Ast.node nonterminal
  281. | N_pp_enum_head_if_section : Ast.node nonterminal
  282. | N_pp_enum_head_if_group : Ast.node nonterminal
  283. | N_pp_enum_head_else_group : Ast.node nonterminal
  284. | N_pp_enum_head_elif_group : Ast.node nonterminal
  285. | N_pp_enum_else_group_closing : Ast.node nonterminal
  286. | N_pp_enum_elif_group_closing : Ast.node nonterminal
  287. | N_pp_endif : Ast.node nonterminal
  288. | N_pp_else : Ast.node nonterminal
  289. | N_pp_elif : Ast.node nonterminal
  290. | N_pp_edef_if_section : Ast.node nonterminal
  291. | N_pp_edef_if_group : Ast.node nonterminal
  292. | N_pp_edef_else_group : Ast.node nonterminal
  293. | N_pp_edef_elif_group : Ast.node nonterminal
  294. | N_pp_dtor_if_section_broken : Ast.node nonterminal
  295. | N_pp_dtor_if_section : Ast.node nonterminal
  296. | N_pp_dtor_if_group_broken : Ast.node nonterminal
  297. | N_pp_dtor_if_group : Ast.node nonterminal
  298. | N_pp_dtor_else_group_broken : Ast.node nonterminal
  299. | N_pp_dtor_else_group : Ast.node nonterminal
  300. | N_pp_dtor_elif_group_broken : Ast.node nonterminal
  301. | N_pp_dtor_elif_group : Ast.node nonterminal
  302. | N_pp_dinit_if_section : Ast.node nonterminal
  303. | N_pp_dinit_if_group : Ast.node nonterminal
  304. | N_pp_dinit_else_group : Ast.node nonterminal
  305. | N_pp_dinit_elif_group : Ast.node nonterminal
  306. | N_pp_decl_spec_if_section : Ast.node nonterminal
  307. | N_pp_decl_spec_if_group : Ast.node nonterminal
  308. | N_pp_decl_spec_else_group : Ast.node nonterminal
  309. | N_pp_decl_spec_elif_group : Ast.node nonterminal
  310. | N_pp_decl_if_section_broken : Ast.node nonterminal
  311. | N_pp_decl_if_section : Ast.node nonterminal
  312. | N_pp_decl_if_group_broken : Ast.node nonterminal
  313. | N_pp_decl_if_group : Ast.node nonterminal
  314. | N_pp_decl_else_group_broken : Ast.node nonterminal
  315. | N_pp_decl_else_group : Ast.node nonterminal
  316. | N_pp_decl_elif_group_broken : Ast.node nonterminal
  317. | N_pp_decl_elif_group : Ast.node nonterminal
  318. | N_pp_ctor_init_if_section : Ast.node nonterminal
  319. | N_pp_ctor_init_if_group : Ast.node nonterminal
  320. | N_pp_ctor_init_else_group : Ast.node nonterminal
  321. | N_pp_ctor_init_elif_group : Ast.node nonterminal
  322. | N_pp_control_line : Ast.node nonterminal
  323. | N_pp_cond_tl_if_section : Ast.node nonterminal
  324. | N_pp_cond_tl_if_group : Ast.node nonterminal
  325. | N_pp_cond_tl_else_group : Ast.node nonterminal
  326. | N_pp_cond_tl_elif_group : Ast.node nonterminal
  327. | N_pp_cond_if_section : Ast.node nonterminal
  328. | N_pp_cond_if_group : Ast.node nonterminal
  329. | N_pp_cond_hd_if_section : Ast.node nonterminal
  330. | N_pp_cond_hd_if_group : Ast.node nonterminal
  331. | N_pp_cond_hd_else_group : Ast.node nonterminal
  332. | N_pp_cond_hd_elif_group : Ast.node nonterminal
  333. | N_pp_cond_else_group : Ast.node nonterminal
  334. | N_pp_cond_elif_group : Ast.node nonterminal
  335. | N_pp_concat : Ast.node nonterminal
  336. | N_pp_class_head_if_section_broken : Ast.node nonterminal
  337. | N_pp_class_head_if_section : Ast.node nonterminal
  338. | N_pp_class_head_if_group_broken : Ast.node nonterminal
  339. | N_pp_class_head_if_group : Ast.node nonterminal
  340. | N_pp_class_head_else_group_broken : Ast.node nonterminal
  341. | N_pp_class_head_else_group : Ast.node nonterminal
  342. | N_pp_class_head_elif_group_broken : Ast.node nonterminal
  343. | N_pp_class_head_elif_group : Ast.node nonterminal
  344. | N_pp_class_body_if_section : Ast.node nonterminal
  345. | N_pp_class_body_if_group : Ast.node nonterminal
  346. | N_pp_class_body_else_group : Ast.node nonterminal
  347. | N_pp_class_body_elif_group : Ast.node nonterminal
  348. | N_pp_cc_if_section : Ast.node nonterminal
  349. | N_pp_cc_if_group : Ast.node nonterminal
  350. | N_pp_cc_else_group : Ast.node nonterminal
  351. | N_pp_cc_elif_group : Ast.node nonterminal
  352. | N_pp_capture_if_section : Ast.node nonterminal
  353. | N_pp_capture_if_group : Ast.node nonterminal
  354. | N_pp_capture_else_group : Ast.node nonterminal
  355. | N_pp_capture_elif_group : Ast.node nonterminal
  356. | N_pp_base_clause_if_section : Ast.node nonterminal
  357. | N_pp_base_clause_if_group : Ast.node nonterminal
  358. | N_pp_base_clause_else_group : Ast.node nonterminal
  359. | N_pp_base_clause_elif_group : Ast.node nonterminal
  360. | N_pp_attr_if_section : Ast.node nonterminal
  361. | N_pp_attr_if_group : Ast.node nonterminal
  362. | N_pp_attr_else_group : Ast.node nonterminal
  363. | N_pp_attr_elif_group : Ast.node nonterminal
  364. | N_pp_args_if_section_closing : Ast.node nonterminal
  365. | N_pp_args_if_section_close_open : Ast.node nonterminal
  366. | N_pp_args_if_group_closing : Ast.node nonterminal
  367. | N_pp_args_if_group_close_open : Ast.node nonterminal
  368. | N_pp_args_else_group_closing : Ast.node nonterminal
  369. | N_pp_args_else_group_close_open : Ast.node nonterminal
  370. | N_pp_args_elif_group_closing : Ast.node nonterminal
  371. | N_pp_args_elif_group_close_open : Ast.node nonterminal
  372. | N_pp_aexpr_if_section_closing : Ast.node nonterminal
  373. | N_pp_aexpr_if_section : Ast.node nonterminal
  374. | N_pp_aexpr_if_group_closing : Ast.node nonterminal
  375. | N_pp_aexpr_if_group : Ast.node nonterminal
  376. | N_pp_aexpr_else_group_closing : Ast.node nonterminal
  377. | N_pp_aexpr_else_group : Ast.node nonterminal
  378. | N_pp_aexpr_elif_group_closing : Ast.node nonterminal
  379. | N_pp_aexpr_elif_group : Ast.node nonterminal
  380. | N_pp_a_if_section : Ast.node nonterminal
  381. | N_pp_a_if_group : Ast.node nonterminal
  382. | N_pp_a_else_group : Ast.node nonterminal
  383. | N_pp_a_elif_group : Ast.node nonterminal
  384. | N_postfix_expression : Ast.node nonterminal
  385. | N_pm_expression : Ast.node nonterminal
  386. | N_placeholder_type_specifier : Ast.node nonterminal
  387. | N_params_list : Ast.node list nonterminal
  388. | N_params_body_macro_call : Ast.node nonterminal
  389. | N_params_body_macro : Ast.node nonterminal
  390. | N_parameters_and_qualifiers : Ast.node nonterminal
  391. | N_parameter_declaration_list : Ast.node list nonterminal
  392. | N_parameter_declaration_clause : Ast.node nonterminal
  393. | N_parameter_declaration : Ast.node nonterminal
  394. | N_operator_function_id : Ast.node nonterminal
  395. | N_operator : Ast.node nonterminal
  396. | N_opaque_enum_declaration : Ast.node nonterminal
  397. | N_op_macro_call : Ast.node nonterminal
  398. | N_old_param_decl_list : Ast.node list nonterminal
  399. | N_old_param_decl : Ast.node nonterminal
  400. | N_old_init_decl_list : Ast.node list nonterminal
  401. | N_odd_stmt : Ast.node nonterminal
  402. | N_odd_mult_expr : Ast.node nonterminal
  403. | N_odd_mem_decl : Ast.node nonterminal
  404. | N_odd_if_stmt_open : Ast.node nonterminal
  405. | N_odd_expr : Ast.node nonterminal
  406. | N_odd_else_stmt : Ast.node nonterminal
  407. | N_odd_decl : Ast.node nonterminal
  408. | N_objc_visibility_spec : Ast.node nonterminal
  409. | N_objc_try_block : Ast.node nonterminal
  410. | N_objc_try : Ast.node nonterminal
  411. | N_objc_superclass : Ast.node nonterminal
  412. | N_objc_struct_dtor : Ast.node nonterminal
  413. | N_objc_struct_decl : Ast.node nonterminal
  414. | N_objc_selector_expr : Ast.node nonterminal
  415. | N_objc_selector : Ast.node nonterminal
  416. | N_objc_qualified_interface_decl : Ast.node nonterminal
  417. | N_objc_qualified_idecl_seq : Ast.node list nonterminal
  418. | N_objc_protocol_ref_list : Ast.node nonterminal
  419. | N_objc_protocol_name_list : Ast.node list nonterminal
  420. | N_objc_protocol_name : Ast.node nonterminal
  421. | N_objc_protocol_expr : Ast.node nonterminal
  422. | N_objc_protocol_decl_list : Ast.node nonterminal
  423. | N_objc_protocol_decl : Ast.node nonterminal
  424. | N_objc_property_decl : Ast.node nonterminal
  425. | N_objc_property_attrs_decl : Ast.node nonterminal
  426. | N_objc_property_attr : Ast.node nonterminal
  427. | N_objc_odd_decl : Ast.node nonterminal
  428. | N_objc_method_type : Ast.node nonterminal
  429. | N_objc_method_selector : Ast.node nonterminal
  430. | N_objc_method_decl : Ast.node nonterminal
  431. | N_objc_message_selector : Ast.node nonterminal
  432. | N_objc_message_expr : Ast.node nonterminal
  433. | N_objc_literal : Ast.node nonterminal
  434. | N_objc_keyword_selector : Ast.node nonterminal
  435. | N_objc_keyword_name_list : Ast.node list nonterminal
  436. | N_objc_keyword_name : Ast.node nonterminal
  437. | N_objc_keyword_dtor : Ast.node nonterminal
  438. | N_objc_keyword_arg : Ast.node nonterminal
  439. | N_objc_key_value : Ast.node nonterminal
  440. | N_objc_interface_decl : Ast.node nonterminal
  441. | N_objc_instance_vars : Ast.node nonterminal
  442. | N_objc_instance_var_decl : Ast.node nonterminal
  443. | N_objc_identifier : Ast.node nonterminal
  444. | N_objc_idecl_seq : Ast.node list nonterminal
  445. | N_objc_finally : Ast.node nonterminal
  446. | N_objc_encode_expr : Ast.node nonterminal
  447. | N_objc_dict : Ast.node nonterminal
  448. | N_objc_decls_sub : Ast.node nonterminal
  449. | N_objc_class_name : Ast.node nonterminal
  450. | N_objc_class_interface : Ast.node nonterminal
  451. | N_objc_class_decl_list : Ast.node nonterminal
  452. | N_objc_category_interface : Ast.node nonterminal
  453. | N_objc_catch_clause : Ast.node nonterminal
  454. | N_objc_available : Ast.node nonterminal
  455. | N_objc_avail_item : Ast.node nonterminal
  456. | N_objc_array : Ast.node nonterminal
  457. | N_noptr_new_declarator : Ast.node nonterminal
  458. | N_noptr_declarator : Ast.node nonterminal
  459. | N_noptr_abstract_pack_declarator : Ast.node nonterminal
  460. | N_noptr_abstract_declarator : Ast.node nonterminal
  461. | N_nonempty_list_token_ : Token.t list nonterminal
  462. | N_nonempty_list_swift_arg_ : Ast.node list nonterminal
  463. | N_nonempty_list_s_token_ : (token * Lexing.position * Lexing.position) list nonterminal
  464. | N_nonempty_list_q_prop_token_ : Ast.node list nonterminal
  465. | N_nonempty_list_pp_param_if_section_ : Ast.node list nonterminal
  466. | N_nonempty_list_pp_idtor_if_section_ : Ast.node list nonterminal
  467. | N_nonempty_list_pp_control_line_ : Ast.node list nonterminal
  468. | N_nonempty_list_pp_base_clause_if_section_ : Ast.node list nonterminal
  469. | N_nonempty_list_odd_else_stmt_ : Ast.node list nonterminal
  470. | N_nonempty_list_objc_keyword_dtor_ : Ast.node list nonterminal
  471. | N_nonempty_list_objc_keyword_arg_ : Ast.node list nonterminal
  472. | N_nonempty_list_objc_instance_var_decl_ : Ast.node list nonterminal
  473. | N_nonempty_list_objc_catch_clause_ : Ast.node list nonterminal
  474. | N_nonempty_list_namespace_definition_ : Ast.node list nonterminal
  475. | N_nonempty_list_multiplicative_unit_ : Ast.node list nonterminal
  476. | N_nonempty_list_int_literal_ : Ast.node list nonterminal
  477. | N_nonempty_list_header_name_token_ : string list nonterminal
  478. | N_nonempty_list_gnu_asm_token_ : (token * Lexing.position * Lexing.position) list nonterminal
  479. | N_nonempty_list_error_token_ : Token.t list nonterminal
  480. | N_nonempty_list_designator_ : Ast.node list nonterminal
  481. | N_nonempty_list_char_literal_ : Ast.node list nonterminal
  482. | N_nonempty_list_additive_unit_ : Ast.node list nonterminal
  483. | N_nonempty_list__pp_lor_if_section_ : Ast.node list nonterminal
  484. | N_nonempty_list_RBRACE_ : unit list nonterminal
  485. | N_nonempty_list_QUEST_ : unit list nonterminal
  486. | N_noexcept_specifier : Ast.node nonterminal
  487. | N_noexcept_expression : Ast.node nonterminal
  488. | N_nodeclspec_function_definition : Ast.node nonterminal
  489. | N_new_type_id : Ast.node nonterminal
  490. | N_new_placement : Ast.node nonterminal
  491. | N_new_initializer : Ast.node nonterminal
  492. | N_new_expression : Ast.node nonterminal
  493. | N_new_declarator : Ast.node nonterminal
  494. | N_nested_requirement : Ast.node nonterminal
  495. | N_nested_namespace_definition_head : (Ast.node * Ast.node list * string) nonterminal
  496. | N_nested_namespace_definition : Ast.node nonterminal
  497. | N_nested_name_specifier : Ast.node nonterminal
  498. | N_namespace_definition : Ast.node nonterminal
  499. | N_namespace_body : Ast.node list nonterminal
  500. | N_named_namespace_definition_head : (Ast.node list * Ast.node list * string * Ast.node list) nonterminal
  501. | N_named_namespace_definition : Ast.node nonterminal
  502. | N_multiplicative_expression : Ast.node nonterminal
  503. | N_ms_warn_spec_list : Ast.node list nonterminal
  504. | N_ms_warn_spec : Ast.node nonterminal
  505. | N_ms_attr : Ast.node nonterminal
  506. | N_module_import_declaration : Ast.node nonterminal
  507. | N_mock_qualifier : Ast.node nonterminal
  508. | N_mid_typaram : unit nonterminal
  509. | N_mid_templ_head : unit nonterminal
  510. | N_mid_templ_decl : unit nonterminal
  511. | N_mid_paren_open : unit nonterminal
  512. | N_mid_paren_close : unit nonterminal
  513. | N_mid_objc_cat_iface : unit nonterminal
  514. | N_mid_init : unit nonterminal
  515. | N_mid_brace_open : unit nonterminal
  516. | N_mid_brace_close : unit nonterminal
  517. | N_member_specification : Ast.node nonterminal
  518. | N_member_declarator_list : Ast.node list nonterminal
  519. | N_member_declarator : Ast.node nonterminal
  520. | N_member_declaration : Ast.node nonterminal
  521. | N_mem_initializer_list : Ast.node list nonterminal
  522. | N_mem_initializer_id : Ast.node nonterminal
  523. | N_mem_initializer : Ast.node nonterminal
  524. | N_mem_init_macro_call : Ast.node nonterminal
  525. | N_mem_decls_sub : Ast.node nonterminal
  526. | N_mem_decl_seq : Ast.node list nonterminal
  527. | N_mem_access_spec_head : Ast.node nonterminal
  528. | N_mem_access_spec : Ast.node nonterminal
  529. | N_main : Ast.node nonterminal
  530. | N_macro_fun_head : string nonterminal
  531. | N_macro_arg_list : Ast.node list nonterminal
  532. | N_macro_arg : Ast.node nonterminal
  533. | N_lor_unit_seq : Ast.node list nonterminal
  534. | N_lor_macro_call : Ast.node nonterminal
  535. | N_logical_or_expression : Ast.node nonterminal
  536. | N_logical_and_expression : Ast.node nonterminal
  537. | N_literal_operator_id : Ast.node nonterminal
  538. | N_literal_macro_call : Ast.node nonterminal
  539. | N_literal : Ast.node nonterminal
  540. | N_list_str__ : Ast.node list nonterminal
  541. | N_list_pp_templ_param_elif_group_ : Ast.node list nonterminal
  542. | N_list_pp_templ_arg_elif_group_ : Ast.node list nonterminal
  543. | N_list_pp_str_elif_group_ : Ast.node list nonterminal
  544. | N_list_pp_stmt_elif_group_closing_ : Ast.node list nonterminal
  545. | N_list_pp_stmt_elif_group_close_open_ : Ast.node list nonterminal
  546. | N_list_pp_stmt_elif_group_broken_ : Ast.node list nonterminal
  547. | N_list_pp_stmt_elif_group_ : Ast.node list nonterminal
  548. | N_list_pp_spec_elif_group_ : Ast.node list nonterminal
  549. | N_list_pp_param_elif_group_ : Ast.node list nonterminal
  550. | N_list_pp_p_elif_group_ : Ast.node list nonterminal
  551. | N_list_pp_old_param_decl_list_elif_group_ : Ast.node list nonterminal
  552. | N_list_pp_objc_protocol_ref_list_elif_group_ : Ast.node list nonterminal
  553. | N_list_pp_objc_proto_name_elif_group_ : Ast.node list nonterminal
  554. | N_list_pp_objc_ivar_decl_elif_group_ : Ast.node list nonterminal
  555. | N_list_pp_objc_idecl_elif_group_ : Ast.node list nonterminal
  556. | N_list_pp_objc_class_interface_head_elif_group_ : Ast.node list nonterminal
  557. | N_list_pp_objc_category_interface_head_elif_group_ : Ast.node list nonterminal
  558. | N_list_pp_minit_elif_group_broken_ : Ast.node list nonterminal
  559. | N_list_pp_minit_elif_group_ : Ast.node list nonterminal
  560. | N_list_pp_mdecl_elif_group_broken_ : Ast.node list nonterminal
  561. | N_list_pp_mdecl_elif_group_ : Ast.node list nonterminal
  562. | N_list_pp_lor_elif_group_ : Ast.node list nonterminal
  563. | N_list_pp_land_elif_group_ : Ast.node list nonterminal
  564. | N_list_pp_lambda_head_elif_group_broken_ : Ast.node list nonterminal
  565. | N_list_pp_ior_elif_group_ : Ast.node list nonterminal
  566. | N_list_pp_init_elif_group_closing_ : Ast.node list nonterminal
  567. | N_list_pp_init_elif_group_ : Ast.node list nonterminal
  568. | N_list_pp_ifstmt_elif_group_closing_ : Ast.node list nonterminal
  569. | N_list_pp_idtor_elif_group_ : Ast.node list nonterminal
  570. | N_list_pp_handler_elif_group_broken_ : Ast.node list nonterminal
  571. | N_list_pp_handler_elif_group_ : Ast.node list nonterminal
  572. | N_list_pp_gnu_asm_elif_group_ : Ast.node list nonterminal
  573. | N_list_pp_func_head_elif_group_broken_ : Ast.node list nonterminal
  574. | N_list_pp_func_body_elif_group_ : Ast.node list nonterminal
  575. | N_list_pp_expr_elif_group_broken2_ : Ast.node list nonterminal
  576. | N_list_pp_expr_elif_group_broken_ : Ast.node list nonterminal
  577. | N_list_pp_expr_elif_group_ : Ast.node list nonterminal
  578. | N_list_pp_enum_head_elif_group_ : Ast.node list nonterminal
  579. | N_list_pp_enum_elif_group_closing_ : Ast.node list nonterminal
  580. | N_list_pp_edef_elif_group_ : Ast.node list nonterminal
  581. | N_list_pp_dtor_elif_group_broken_ : Ast.node list nonterminal
  582. | N_list_pp_dtor_elif_group_ : Ast.node list nonterminal
  583. | N_list_pp_dinit_elif_group_ : Ast.node list nonterminal
  584. | N_list_pp_decl_spec_elif_group_ : Ast.node list nonterminal
  585. | N_list_pp_decl_elif_group_broken_ : Ast.node list nonterminal
  586. | N_list_pp_decl_elif_group_ : Ast.node list nonterminal
  587. | N_list_pp_ctor_init_elif_group_ : Ast.node list nonterminal
  588. | N_list_pp_control_line_ : Ast.node list nonterminal
  589. | N_list_pp_cond_tl_elif_group_ : Ast.node list nonterminal
  590. | N_list_pp_cond_hd_elif_group_ : Ast.node list nonterminal
  591. | N_list_pp_cond_elif_group_ : Ast.node list nonterminal
  592. | N_list_pp_class_head_elif_group_broken_ : Ast.node list nonterminal
  593. | N_list_pp_class_head_elif_group_ : Ast.node list nonterminal
  594. | N_list_pp_class_body_elif_group_ : Ast.node list nonterminal
  595. | N_list_pp_cc_elif_group_ : Ast.node list nonterminal
  596. | N_list_pp_capture_elif_group_ : Ast.node list nonterminal
  597. | N_list_pp_base_clause_elif_group_ : Ast.node list nonterminal
  598. | N_list_pp_attr_elif_group_ : Ast.node list nonterminal
  599. | N_list_pp_args_elif_group_closing_ : Ast.node list nonterminal
  600. | N_list_pp_args_elif_group_close_open_ : Ast.node list nonterminal
  601. | N_list_pp_aexpr_elif_group_closing_ : Ast.node list nonterminal
  602. | N_list_pp_aexpr_elif_group_ : Ast.node list nonterminal
  603. | N_list_pp_a_elif_group_ : Ast.node list nonterminal
  604. | N_list_gnu_asm_token_ : (token * Lexing.position * Lexing.position) list nonterminal
  605. | N_list_asm_token_ : Token.t list nonterminal
  606. | N_list__pp_lor_elif_group_ : Ast.node list nonterminal
  607. | N_list__pp_land_elif_group_ : Ast.node list nonterminal
  608. | N_list__pp_ior_elif_group_ : Ast.node list nonterminal
  609. | N_list__pp_func_head_elif_group_ : Ast.node list nonterminal
  610. | N_list__pp_eor_elif_group_ : Ast.node list nonterminal
  611. | N_list_INT_LITERAL_ : string list nonterminal
  612. | N_linkage_specification : Ast.node nonterminal
  613. | N_land_unit_seq : Ast.node list nonterminal
  614. | N_lambda_introducer : Ast.node nonterminal
  615. | N_lambda_expression : Ast.node nonterminal
  616. | N_lambda_declarator : Ast.node nonterminal
  617. | N_lambda_capture : Ast.node nonterminal
  618. | N_labeled_statement : Ast.node nonterminal
  619. | N_label_seq : Ast.node list nonterminal
  620. | N_label : Ast.node nonterminal
  621. | N_jump_statement : Ast.node nonterminal
  622. | N_iteration_statement : Ast.node nonterminal
  623. | N_iteration_macro : Ast.node nonterminal
  624. | N_ior_unit_seq : Ast.node list nonterminal
  625. | N_initializer_list : Ast.node list nonterminal
  626. | N_initializer_clause : Ast.node nonterminal
  627. | N_initializer_ : Ast.node nonterminal
  628. | N_init_sub : Ast.node nonterminal
  629. | N_init_statement : Ast.node nonterminal
  630. | N_init_head_macro : Ast.node nonterminal
  631. | N_init_end_macro : Ast.node nonterminal
  632. | N_init_declarator_list : Ast.node list nonterminal
  633. | N_init_declarator : Ast.node nonterminal
  634. | N_init_capture : Ast.node nonterminal
  635. | N_inclusive_or_expression : Ast.node nonterminal
  636. | N_identifier_list : Ast.node list nonterminal
  637. | N_id_macro_call : Ast.node nonterminal
  638. | N_id_expression : Ast.node nonterminal
  639. | N_header_name_token : string nonterminal
  640. | N_has_include_expression : Ast.node nonterminal
  641. | N_has_attribute_expression : Ast.node nonterminal
  642. | N_handler_seq : Ast.node list nonterminal
  643. | N_handler : Ast.node nonterminal
  644. | N_gnu_attribute_seq : Ast.node list nonterminal
  645. | N_gnu_attribute : Ast.node nonterminal
  646. | N_gnu_asm_token : (token * Lexing.position * Lexing.position) nonterminal
  647. | N_gnu_asm_frag_seq : Ast.node list nonterminal
  648. | N_gnu_asm_attr : Ast.node nonterminal
  649. | N_function_try_block : Ast.node nonterminal
  650. | N_function_specifier : Ast.node nonterminal
  651. | N_function_definition : Ast.node nonterminal
  652. | N_function_body : Ast.node nonterminal
  653. | N_for_range_initializer : Ast.node nonterminal
  654. | N_for_range_declaration : Ast.node nonterminal
  655. | N_fold_operator : Ast.node nonterminal
  656. | N_fold_expression : Ast.node nonterminal
  657. | N_extra_keyword : Token.t nonterminal
  658. | N_expression_list_opt : Ast.node list option nonterminal
  659. | N_expression_list : Ast.node list nonterminal
  660. | N_expression : Ast.node nonterminal
  661. | N_expr_sub : Ast.node nonterminal
  662. | N_expr_or_braced_init_list : Ast.node nonterminal
  663. | N_expr_macro_call : Ast.node nonterminal
  664. | N_export_declaration : Ast.node nonterminal
  665. | N_explicit_specifier : Ast.node nonterminal
  666. | N_explicit_specialization : Ast.node nonterminal
  667. | N_explicit_instantiation : Ast.node nonterminal
  668. | N_exclusive_or_expression : Ast.node nonterminal
  669. | N_exception_declaration : Ast.node nonterminal
  670. | N_etors_sub : Ast.node nonterminal
  671. | N_error_token_seq : Token.t list nonterminal
  672. | N_error_token : Token.t nonterminal
  673. | N_equality_expression : Ast.node nonterminal
  674. | N_enumerator_list : Ast.node list nonterminal
  675. | N_enumerator_definition : Ast.node nonterminal
  676. | N_enumerator : Ast.node nonterminal
  677. | N_enum_specifier : Ast.node nonterminal
  678. | N_enum_key : Label.EnumKey.t nonterminal
  679. | N_enum_head : Ast.node nonterminal
  680. | N_enum_base : Ast.node nonterminal
  681. | N_enclosing_namespace_specifier : Ast.node nonterminal
  682. | N_empty_declaration : Ast.node nonterminal
  683. | N_elaborated_type_specifier : Ast.node nonterminal
  684. | N_dtors_sub : Ast.node nonterminal
  685. | N_dsl_macro_args : Ast.node nonterminal
  686. | N_dsl_macro : Ast.node nonterminal
  687. | N_designator : Ast.node nonterminal
  688. | N_designated_initializer_clause : Ast.node nonterminal
  689. | N_delim_macro_call : Ast.node nonterminal
  690. | N_delim_macro : Ast.node nonterminal
  691. | N_delim : Ast.node nonterminal
  692. | N_delete_expression : Ast.node nonterminal
  693. | N_defining_type_specifier_seq : Ast.node list nonterminal
  694. | N_defining_type_specifier : Ast.node nonterminal
  695. | N_defining_type_id : Ast.node nonterminal
  696. | N_defined_macro_expression : Ast.node nonterminal
  697. | N_deduction_guide : Ast.node nonterminal
  698. | N_decltype_specifier : Ast.node nonterminal
  699. | N_decls_sub : Ast.node nonterminal
  700. | N_declarator_id : Ast.node nonterminal
  701. | N_declarator : Ast.node nonterminal
  702. | N_declaration_seq : Ast.node list nonterminal
  703. | N_declaration : Ast.node nonterminal
  704. | N_decl_specifier_seq : Ast.node list nonterminal
  705. | N_decl_specifier : Ast.node nonterminal
  706. | N_decl_spec_macro_call : Ast.node nonterminal
  707. | N_decl_spec_macro : Ast.node nonterminal
  708. | N_decl_macro_call_ : Ast.node nonterminal
  709. | N_decl_OR_stmt_macro_call : Ast.node nonterminal
  710. | N_decl_OR_expr : Ast.node nonterminal
  711. | N_cv_qualifier_seq : Ast.node list nonterminal
  712. | N_cv_qualifier : Ast.node nonterminal
  713. | N_cuda_exec_config : Ast.node nonterminal
  714. | N_ctor_initializer : Ast.node nonterminal
  715. | N_conversion_type_id : Ast.node nonterminal
  716. | N_conversion_function_id : Ast.node nonterminal
  717. | N_conversion_declarator : Ast.node nonterminal
  718. | N_contract_level_opt : Ast.node option nonterminal
  719. | N_contract_level : Ast.node nonterminal
  720. | N_contract_attribute_specifier : Ast.node nonterminal
  721. | N_constraint_logical_or_expression : Ast.node nonterminal
  722. | N_constraint_logical_and_expression : Ast.node nonterminal
  723. | N_constraint_expression : Ast.node nonterminal
  724. | N_constant_expression : Ast.node nonterminal
  725. | N_conditional_expression : Ast.node nonterminal
  726. | N_condition : Ast.node nonterminal
  727. | N_cond_unit_seq : Ast.node nonterminal
  728. | N_concept_definition : Ast.node nonterminal
  729. | N_compound_statement : Ast.node nonterminal
  730. | N_compound_requirement : Ast.node nonterminal
  731. | N_compare_expression : Ast.node nonterminal
  732. | N_class_virt_specifier : Ast.node nonterminal
  733. | N_class_specifier : Ast.node nonterminal
  734. | N_class_or_decltype : Ast.node nonterminal
  735. | N_class_name : Ast.node nonterminal
  736. | N_class_key : Label.ClassKey.t nonterminal
  737. | N_class_head_name : Ast.node nonterminal
  738. | N_class_head : Ast.node nonterminal
  739. | N_class_body_head_macro : Ast.node nonterminal
  740. | N_class_body_end_macro : Ast.node nonterminal
  741. | N_char_literal : Ast.node nonterminal
  742. | N_cast_key : Label.t nonterminal
  743. | N_cast_expression : Ast.node nonterminal
  744. | N_capture_macro_call : Ast.node nonterminal
  745. | N_capture_list : Ast.node list nonterminal
  746. | N_capture_default : Ast.node nonterminal
  747. | N_capture : Ast.node nonterminal
  748. | N_braced_init_list : Ast.node nonterminal
  749. | N_brace_or_equal_initializer : Ast.node nonterminal
  750. | N_block_literal_expression : Ast.node nonterminal
  751. | N_block_head_macro : Ast.node nonterminal
  752. | N_block_end_macro : Ast.node nonterminal
  753. | N_block_declaration : Ast.node nonterminal
  754. | N_bit_field_macro_call : Ast.node nonterminal
  755. | N_base_specifier_list : Ast.node list nonterminal
  756. | N_base_specifier : Ast.node nonterminal
  757. | N_base_clause : Ast.node nonterminal
  758. | N_balanced_token_seq_opt : Ast.node list option nonterminal
  759. | N_balanced_token_seq : Ast.node list nonterminal
  760. | N_balanced_token : Ast.node nonterminal
  761. | N_await_expression : Ast.node nonterminal
  762. | N_attribute_using_prefix : Ast.node nonterminal
  763. | N_attribute_token : Ast.node nonterminal
  764. | N_attribute_specifier_seq : Ast.node list nonterminal
  765. | N_attribute_specifier : Ast.node nonterminal
  766. | N_attribute_scoped_token : Ast.node nonterminal
  767. | N_attribute_namespace_seq : Ast.node list nonterminal
  768. | N_attribute_list : Ast.node list nonterminal
  769. | N_attribute_declaration : Ast.node nonterminal
  770. | N_attribute_argument_clause_opt : Ast.node option nonterminal
  771. | N_attribute_argument_clause : Ast.node nonterminal
  772. | N_attribute : Ast.node nonterminal
  773. | N_attr_macro_call : Ast.node nonterminal
  774. | N_assignment_operator : Label.t nonterminal
  775. | N_assignment_expression : Ast.node nonterminal
  776. | N_asm_token : Token.t nonterminal
  777. | N_asm_block : Ast.node nonterminal
  778. | N_and_expression : Ast.node nonterminal
  779. | N_alignment_specifier : Ast.node nonterminal
  780. | N_alias_declaration : Ast.node nonterminal
  781. | N_additive_expression : Ast.node nonterminal
  782. | N_access_specifier : Ast.node nonterminal
  783. | N_acc_annot : Ast.node nonterminal
  784. | N_abstract_pack_declarator : Ast.node nonterminal
  785. | N_abstract_declarator : Ast.node nonterminal
  786. | N__using_enum_declaration : Ast.node nonterminal
  787. | N__using_directive : Ast.node nonterminal
  788. | N__using_declaration : Ast.node nonterminal
  789. | N__type_specifier_seq : Ast.node list nonterminal
  790. | N__static_assert_declaration : Ast.node nonterminal
  791. | N__statement_seq : Ast.node list nonterminal
  792. | N__simple_declaration : Ast.node nonterminal
  793. | N__pp_param_list : string list nonterminal
  794. | N__pp_lor_if_section : Ast.node nonterminal
  795. | N__pp_lor_if_group : Ast.node nonterminal
  796. | N__pp_lor_else_group : Ast.node nonterminal
  797. | N__pp_lor_elif_group : Ast.node nonterminal
  798. | N__pp_land_if_section : Ast.node nonterminal
  799. | N__pp_land_if_group : Ast.node nonterminal
  800. | N__pp_land_else_group : Ast.node nonterminal
  801. | N__pp_land_elif_group : Ast.node nonterminal
  802. | N__pp_ior_if_section : Ast.node nonterminal
  803. | N__pp_ior_if_group : Ast.node nonterminal
  804. | N__pp_ior_else_group : Ast.node nonterminal
  805. | N__pp_ior_elif_group : Ast.node nonterminal
  806. | N__pp_idtor_if_section : Ast.node nonterminal
  807. | N__pp_func_head_if_section : Ast.node nonterminal
  808. | N__pp_func_head_if_group : Ast.node nonterminal
  809. | N__pp_func_head_else_group : Ast.node nonterminal
  810. | N__pp_func_head_elif_group : Ast.node nonterminal
  811. | N__pp_eor_if_section : Ast.node nonterminal
  812. | N__pp_eor_if_group : Ast.node nonterminal
  813. | N__pp_eor_else_group : Ast.node nonterminal
  814. | N__pp_eor_elif_group : Ast.node nonterminal
  815. | N__pp_dinit_if_section_list : Ast.node list nonterminal
  816. | N__pp_define : Ast.node nonterminal
  817. | N__pp_control_line : Ast.node nonterminal
  818. | N__opaque_enum_declaration : Ast.node nonterminal
  819. | N__odd_stmt : Ast.node nonterminal
  820. | N__namespace_alias_definition : Ast.node nonterminal
  821. | N__lambda_expression : Ast.node nonterminal
  822. | N__initializer_list : Ast.node list nonterminal
  823. | N__init_statement : Ast.node nonterminal
  824. | N__designated_initializer_list : Ast.node list nonterminal
  825. | N__block_declaration : Ast.node nonterminal
  826. | N__asm_declaration : Ast.node nonterminal
  827. | N__alias_declaration : Ast.node nonterminal
  828. | N___initializer_list : Ast.node list 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
type 'a symbol =
  1. | T : 'a terminal -> 'a symbol
  2. | N : 'a nonterminal -> 'a symbol
type xsymbol =
  1. | X : 'a symbol -> xsymbol
type item = production * int
val compare_terminals : _ terminal -> _ terminal -> int
val compare_nonterminals : _ nonterminal -> _ nonterminal -> int
val compare_symbols : xsymbol -> xsymbol -> int
val compare_productions : production -> production -> int
val compare_items : item -> item -> int
val incoming_symbol : 'a lr1state -> 'a symbol
val items : _ lr1state -> item list
val lhs : production -> xsymbol
val rhs : production -> xsymbol list
val nullable : _ nonterminal -> bool
val first : _ nonterminal -> _ terminal -> bool
val xfirst : xsymbol -> _ terminal -> bool
val foreach_terminal : (xsymbol -> 'a -> 'a) -> 'a -> 'a
val foreach_terminal_but_error : (xsymbol -> 'a -> 'a) -> 'a -> 'a
OCaml

Innovation. Community. Security.