Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

9175 lines (9165 sloc) 634.698 kb
open Base
#22 "ocaml_parser.trx"
open Ocaml
open Printf
let make_app l =
assert(List.length l >= 2);
let rec aux r = function
| [] -> assert false
| [hd] -> App (r, hd)
| hd::tl -> aux (App (r, hd)) tl
in aux (List.hd l) (List.tl l);;
#231 "ocaml_parser.trx"
let make_fun e = function | [] -> e | x -> Abs (x, e)
#38 "ocaml_types.trx"
open Base
open Ocaml
#47 "ocaml_types.trx"
let compute_vars = function None -> [] | Some l -> List.map (function TypeVar s -> s | _ -> assert false) l
let _grammar_rules = [ ("Ocaml_types_typevars", None) ; ("Ocaml_types_typevarorname", None) ; ("Ocaml_types_typevar", None) ; ("Ocaml_types_typerecord_aux", None) ; ("Ocaml_types_typerecord", None) ; ("Ocaml_types_typeparam", None) ; ("Ocaml_types_typename", None) ; ("Ocaml_types_typefinder", None) ; ("Ocaml_types_typedeflist", None) ; ("Ocaml_types_typedef_no_arrow", None) ; ("Ocaml_types_typedef_base", None) ; ("Ocaml_types_typedef_aux", None) ; ("Ocaml_types_typedef", None) ; ("Ocaml_types_typedeclaration", None) ; ("Ocaml_types_typeconstructor", None) ; ("Ocaml_types_typeconst", None) ; ("Ocaml_types_typeSum", None) ; ("Ocaml_types_typeIdent_cont", None) ; ("Ocaml_types_typeIdent_aux", None) ; ("Ocaml_types_typeIdent", None) ; ("Ocaml_types_test", None) ; ("Ocaml_types_spacing", None) ; ("Ocaml_types_onetyperecord", None) ; ("Ocaml_types_lineskipper", None) ; ("Ocaml_types_UnitT", None) ; ("Ocaml_types_StringT", None) ; ("Ocaml_types_IntT", None) ; ("Ocaml_types_Int64T", None) ; ("Ocaml_types_FloatT", None) ; ("Ocaml_types_BoolT", None) ; ("Ocaml_parser_unit", None) ; ("Ocaml_parser_type", None) ; ("Ocaml_parser_spacing", None) ; ("Ocaml_parser_pattern_cons", None) ; ("Ocaml_parser_pattern_aux_l", None) ; ("Ocaml_parser_pattern_aux_aux", None) ; ("Ocaml_parser_pattern_aux", None) ; ("Ocaml_parser_pattern", None) ; ("Ocaml_parser_parse", None) ; ("Ocaml_parser_paramFormel", None) ; ("Ocaml_parser_paramEffectif", None) ; ("Ocaml_parser_op_special", None) ; ("Ocaml_parser_op_or", None) ; ("Ocaml_parser_op_notequal_struct", None) ; ("Ocaml_parser_op_notequal", None) ; ("Ocaml_parser_op_logic", None) ; ("Ocaml_parser_op_equal_struct", None) ; ("Ocaml_parser_op_equal", None) ; ("Ocaml_parser_op_concat", None) ; ("Ocaml_parser_op_aro", None) ; ("Ocaml_parser_op_and", None) ; ("Ocaml_parser_moduleName_", None) ; ("Ocaml_parser_moduleName", None) ; ("Ocaml_parser_mlIdent_cont", None) ; ("Ocaml_parser_mlIdent_aux_", None) ; ("Ocaml_parser_mlIdent_aux", None) ; ("Ocaml_parser_mlIdent_", None) ; ("Ocaml_parser_mlIdent", None) ; ("Ocaml_parser_matchExpr", None) ; ("Ocaml_parser_emptylist", None) ; ("Ocaml_parser_dotable", None) ; ("Ocaml_parser_constructorName", None) ; ("Ocaml_parser_const", None) ; ("Ocaml_parser_capMlIdent_", None) ; ("Ocaml_parser_capMlIdent", None) ; ("Ocaml_parser_Var", None) ; ("Ocaml_parser_Type", None) ; ("Ocaml_parser_Try", None) ; ("Ocaml_parser_SimpleExpr", None) ; ("Ocaml_parser_SetRef", None) ; ("Ocaml_parser_Record", None) ; ("Ocaml_parser_Raise", None) ; ("Ocaml_parser_RNameOpt", None) ; ("Ocaml_parser_Paren", None) ; ("Ocaml_parser_PLUS", None) ; ("Ocaml_parser_Operators", None) ; ("Ocaml_parser_Open", None) ; ("Ocaml_parser_OpLevel4", None) ; ("Ocaml_parser_OpLevel3", None) ; ("Ocaml_parser_OpLevel2", None) ; ("Ocaml_parser_OpLevel1", None) ; ("Ocaml_parser_Module", None) ; ("Ocaml_parser_Match", None) ; ("Ocaml_parser_MakeRef", None) ; ("Ocaml_parser_MULT", None) ; ("Ocaml_parser_MINUS", None) ; ("Ocaml_parser_Letin", None) ; ("Ocaml_parser_LetOrType", None) ; ("Ocaml_parser_Let", None) ; ("Ocaml_parser_LT", None) ; ("Ocaml_parser_LE", None) ; ("Ocaml_parser_InfOpLevel4", None) ; ("Ocaml_parser_InfOpLevel3", None) ; ("Ocaml_parser_InfOpLevel2", None) ; ("Ocaml_parser_InfOpLevel1", None) ; ("Ocaml_parser_IPLUS", None) ; ("Ocaml_parser_IMULT", None) ; ("Ocaml_parser_IMINUS", None) ; ("Ocaml_parser_IDIV", None) ; ("Ocaml_parser_GetRef", None) ; ("Ocaml_parser_GT", None) ; ("Ocaml_parser_GE", None) ; ("Ocaml_parser_FPLUS", None) ; ("Ocaml_parser_FMULT", None) ; ("Ocaml_parser_FMINUS", None) ; ("Ocaml_parser_FDIV", None) ; ("Ocaml_parser_Expr_without_seq_aux", None) ; ("Ocaml_parser_Expr_without_seq", None) ; ("Ocaml_parser_ExprNotApp", None) ; ("Ocaml_parser_Expr", None) ; ("Ocaml_parser_Exception", None) ; ("Ocaml_parser_EmptyList", None) ; ("Ocaml_parser_Dot", None) ; ("Ocaml_parser_DIV", None) ; ("Ocaml_parser_Constructor", None) ; ("Ocaml_parser_Const", None) ; ("Ocaml_parser_Cons", None) ; ("Ocaml_parser_Cond", None) ; ("Ocaml_parser_Assert", None) ; ("Ocaml_parser_App", None) ; ("Ocaml_parser_Abs", None) ; ("Ocaml_keywords_spacing", None) ; ("Ocaml_keywords_WITH", None) ; ("Ocaml_keywords_WHEN", None) ; ("Ocaml_keywords_VAL", None) ; ("Ocaml_keywords_TYPE", None) ; ("Ocaml_keywords_TRY", None) ; ("Ocaml_keywords_TRUE", None) ; ("Ocaml_keywords_THEN", None) ; ("Ocaml_keywords_STRUCT", None) ; ("Ocaml_keywords_SPECIALS", None) ; ("Ocaml_keywords_SIG", None) ; ("Ocaml_keywords_REF", None) ; ("Ocaml_keywords_REC", None) ; ("Ocaml_keywords_RAISE", None) ; ("Ocaml_keywords_ORL", None) ; ("Ocaml_keywords_OPEN", None) ; ("Ocaml_keywords_OF", None) ; ("Ocaml_keywords_MUTABLE", None) ; ("Ocaml_keywords_MODULE", None) ; ("Ocaml_keywords_MATCH", None) ; ("Ocaml_keywords_LET", None) ; ("Ocaml_keywords_KEYWORDS", None) ; ("Ocaml_keywords_IN", None) ; ("Ocaml_keywords_IF", None) ; ("Ocaml_keywords_GETREF", None) ; ("Ocaml_keywords_FUNCTION", None) ; ("Ocaml_keywords_FUN", None) ; ("Ocaml_keywords_FALSE", None) ; ("Ocaml_keywords_EXCEPTION", None) ; ("Ocaml_keywords_END", None) ; ("Ocaml_keywords_ELSE", None) ; ("Ocaml_keywords_CONSTRUCTOR_aux", None) ; ("Ocaml_keywords_CONSTRUCTOR", None) ; ("Ocaml_keywords_CONS", None) ; ("Ocaml_keywords_BEGIN", None) ; ("Ocaml_keywords_ASSERT", None) ; ("Ocaml_keywords_AS", None) ; ("Ocaml_keywords_ANDL", None) ; ("Ocaml_keywords_AND", None) ; ("Default_underscore", None) ; ("Default_times", None) ; ("Default_tilde_", None) ; ("Default_strint64", None) ; ("Default_strint", None) ; ("Default_stringsinglequote", None) ; ("Default_stringsinglechar", None) ; ("Default_stringquote", None) ; ("Default_stringnosp", None) ; ("Default_stringcharspecial", None) ; ("Default_stringchar", None) ; ("Default_string", None) ; ("Default_strfloat", None) ; ("Default_strbool", None) ; ("Default_str_ipaddr", None) ; ("Default_spacing", None) ; ("Default_space", None) ; ("Default_slash", None) ; ("Default_singlequotechar_", None) ; ("Default_sharpcomment", None) ; ("Default_sharp", None) ; ("Default_semi", None) ; ("Default_rparen", None) ; ("Default_rightarrow", None) ; ("Default_rbracket", None) ; ("Default_raccol", None) ; ("Default_question_", None) ; ("Default_question", None) ; ("Default_plus", None) ; ("Default_parexprnosp", None) ; ("Default_parexprexcluded", None) ; ("Default_parexpr", None) ; ("Default_mlcomment", None) ; ("Default_mlCOMMENTSTOP", None) ; ("Default_mlCOMMENTSTART", None) ; ("Default_lparen", None) ; ("Default_leftarrow", None) ; ("Default_lbracket", None) ; ("Default_laccol", None) ; ("Default_int64", None) ; ("Default_int3", None) ; ("Default_int", None) ; ("Default_humanint", None) ; ("Default_hexa", None) ; ("Default_float", None) ; ("Default_equal", None) ; ("Default_eol", None) ; ("Default_eof", None) ; ("Default_dot", None) ; ("Default_comma", None) ; ("Default_colon", None) ; ("Default_charsinglequote", None) ; ("Default_bracketexprcontent", None) ; ("Default_bracketexpr", None) ; ("Default_bool", None) ; ("Default_bar", None) ; ("Default_bang", None) ; ("Default_at", None) ; ("Default_accolexprcontent", None) ; ("Default_accolexpr", None) ]
let parse_with f_noerr f_err _text _start = let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match (f_noerr (_text) (_start)) with
Some ( ( pos, res ) ) -> (pos, res)
| None -> (match (f_err (_text) (_start)) with
Trx_runtime.Ok ( ( ( _, _ ), _ ) ) -> (assert false)
| Trx_runtime.Fail ( ( err ) ) -> (Trx_runtime.gen_syntax_error (((FilePos.get_pos_no_cache) (_text))) (err))))
let memo_Default_bar = ((Hashtbl.create) (128))
let memo_Default_bar_err = ((Hashtbl.create) (128))
let memo_Default_charsinglequote = ((Hashtbl.create) (128))
let memo_Default_charsinglequote_err = ((Hashtbl.create) (128))
let memo_Default_colon = ((Hashtbl.create) (128))
let memo_Default_colon_err = ((Hashtbl.create) (128))
let memo_Default_comma = ((Hashtbl.create) (128))
let memo_Default_comma_err = ((Hashtbl.create) (128))
let memo_Default_dot = ((Hashtbl.create) (128))
let memo_Default_dot_err = ((Hashtbl.create) (128))
let memo_Default_equal = ((Hashtbl.create) (128))
let memo_Default_equal_err = ((Hashtbl.create) (128))
let memo_Default_float = ((Hashtbl.create) (128))
let memo_Default_float_err = ((Hashtbl.create) (128))
let memo_Default_int = ((Hashtbl.create) (128))
let memo_Default_int_err = ((Hashtbl.create) (128))
let memo_Default_laccol = ((Hashtbl.create) (128))
let memo_Default_laccol_err = ((Hashtbl.create) (128))
let memo_Default_lbracket = ((Hashtbl.create) (128))
let memo_Default_lbracket_err = ((Hashtbl.create) (128))
let memo_Default_leftarrow = ((Hashtbl.create) (128))
let memo_Default_leftarrow_err = ((Hashtbl.create) (128))
let memo_Default_lparen = ((Hashtbl.create) (128))
let memo_Default_lparen_err = ((Hashtbl.create) (128))
let memo_Default_mlcomment = ((Hashtbl.create) (128))
let memo_Default_mlcomment_err = ((Hashtbl.create) (128))
let memo_Default_question = ((Hashtbl.create) (128))
let memo_Default_question_err = ((Hashtbl.create) (128))
let memo_Default_raccol = ((Hashtbl.create) (128))
let memo_Default_raccol_err = ((Hashtbl.create) (128))
let memo_Default_rbracket = ((Hashtbl.create) (128))
let memo_Default_rbracket_err = ((Hashtbl.create) (128))
let memo_Default_rightarrow = ((Hashtbl.create) (128))
let memo_Default_rightarrow_err = ((Hashtbl.create) (128))
let memo_Default_rparen = ((Hashtbl.create) (128))
let memo_Default_rparen_err = ((Hashtbl.create) (128))
let memo_Default_semi = ((Hashtbl.create) (128))
let memo_Default_semi_err = ((Hashtbl.create) (128))
let memo_Default_singlequotechar_ = ((Hashtbl.create) (128))
let memo_Default_singlequotechar__err = ((Hashtbl.create) (128))
let memo_Default_spacing = ((Hashtbl.create) (128))
let memo_Default_spacing_err = ((Hashtbl.create) (128))
let memo_Default_strfloat = ((Hashtbl.create) (128))
let memo_Default_strfloat_err = ((Hashtbl.create) (128))
let memo_Default_string = ((Hashtbl.create) (128))
let memo_Default_string_err = ((Hashtbl.create) (128))
let memo_Default_stringchar = ((Hashtbl.create) (128))
let memo_Default_stringchar_err = ((Hashtbl.create) (128))
let memo_Default_stringcharspecial = ((Hashtbl.create) (128))
let memo_Default_stringcharspecial_err = ((Hashtbl.create) (128))
let memo_Default_stringnosp = ((Hashtbl.create) (128))
let memo_Default_stringnosp_err = ((Hashtbl.create) (128))
let memo_Default_strint = ((Hashtbl.create) (128))
let memo_Default_strint_err = ((Hashtbl.create) (128))
let memo_Default_underscore = ((Hashtbl.create) (128))
let memo_Default_underscore_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_AND = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_AND_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_AS = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_AS_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_ASSERT = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_ASSERT_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_BEGIN = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_BEGIN_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_CONS = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_CONS_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_ELSE = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_ELSE_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_END = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_END_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_EXCEPTION = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_EXCEPTION_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_FUN = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_FUN_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_FUNCTION = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_FUNCTION_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_GETREF = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_GETREF_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_IF = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_IF_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_IN = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_IN_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_KEYWORDS = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_KEYWORDS_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_LET = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_LET_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_MATCH = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_MATCH_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_MODULE = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_MODULE_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_MUTABLE = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_MUTABLE_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_OF = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_OF_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_OPEN = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_OPEN_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_RAISE = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_RAISE_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_REC = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_REC_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_REF = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_REF_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_SPECIALS = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_SPECIALS_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_STRUCT = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_STRUCT_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_THEN = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_THEN_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_TRY = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_TRY_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_TYPE = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_TYPE_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_WHEN = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_WHEN_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_WITH = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_WITH_err = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_spacing = ((Hashtbl.create) (128))
let memo_Ocaml_keywords_spacing_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Abs = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Abs_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_App = ((Hashtbl.create) (128))
let memo_Ocaml_parser_App_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Assert = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Assert_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Cond = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Cond_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Cons = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Cons_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Const = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Const_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Constructor = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Constructor_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_DIV = ((Hashtbl.create) (128))
let memo_Ocaml_parser_DIV_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Dot = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Dot_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_EmptyList = ((Hashtbl.create) (128))
let memo_Ocaml_parser_EmptyList_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Exception = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Exception_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Expr = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Expr_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_ExprNotApp = ((Hashtbl.create) (128))
let memo_Ocaml_parser_ExprNotApp_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Expr_without_seq = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Expr_without_seq_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Expr_without_seq_aux = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Expr_without_seq_aux_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_FDIV = ((Hashtbl.create) (128))
let memo_Ocaml_parser_FDIV_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_FMINUS = ((Hashtbl.create) (128))
let memo_Ocaml_parser_FMINUS_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_FMULT = ((Hashtbl.create) (128))
let memo_Ocaml_parser_FMULT_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_FPLUS = ((Hashtbl.create) (128))
let memo_Ocaml_parser_FPLUS_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_GE = ((Hashtbl.create) (128))
let memo_Ocaml_parser_GE_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_GT = ((Hashtbl.create) (128))
let memo_Ocaml_parser_GT_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_GetRef = ((Hashtbl.create) (128))
let memo_Ocaml_parser_GetRef_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_IDIV = ((Hashtbl.create) (128))
let memo_Ocaml_parser_IDIV_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_IMINUS = ((Hashtbl.create) (128))
let memo_Ocaml_parser_IMINUS_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_IMULT = ((Hashtbl.create) (128))
let memo_Ocaml_parser_IMULT_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_IPLUS = ((Hashtbl.create) (128))
let memo_Ocaml_parser_IPLUS_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_InfOpLevel1 = ((Hashtbl.create) (128))
let memo_Ocaml_parser_InfOpLevel1_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_InfOpLevel2 = ((Hashtbl.create) (128))
let memo_Ocaml_parser_InfOpLevel2_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_InfOpLevel3 = ((Hashtbl.create) (128))
let memo_Ocaml_parser_InfOpLevel3_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_InfOpLevel4 = ((Hashtbl.create) (128))
let memo_Ocaml_parser_InfOpLevel4_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_LE = ((Hashtbl.create) (128))
let memo_Ocaml_parser_LE_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_LT = ((Hashtbl.create) (128))
let memo_Ocaml_parser_LT_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Let = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Let_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_LetOrType = ((Hashtbl.create) (128))
let memo_Ocaml_parser_LetOrType_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Letin = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Letin_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_MINUS = ((Hashtbl.create) (128))
let memo_Ocaml_parser_MINUS_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_MULT = ((Hashtbl.create) (128))
let memo_Ocaml_parser_MULT_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_MakeRef = ((Hashtbl.create) (128))
let memo_Ocaml_parser_MakeRef_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Match = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Match_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Module = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Module_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_OpLevel1 = ((Hashtbl.create) (128))
let memo_Ocaml_parser_OpLevel1_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_OpLevel2 = ((Hashtbl.create) (128))
let memo_Ocaml_parser_OpLevel2_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_OpLevel3 = ((Hashtbl.create) (128))
let memo_Ocaml_parser_OpLevel3_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_OpLevel4 = ((Hashtbl.create) (128))
let memo_Ocaml_parser_OpLevel4_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Open = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Open_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_PLUS = ((Hashtbl.create) (128))
let memo_Ocaml_parser_PLUS_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Paren = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Paren_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_RNameOpt = ((Hashtbl.create) (128))
let memo_Ocaml_parser_RNameOpt_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Raise = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Raise_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Record = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Record_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_SetRef = ((Hashtbl.create) (128))
let memo_Ocaml_parser_SetRef_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_SimpleExpr = ((Hashtbl.create) (128))
let memo_Ocaml_parser_SimpleExpr_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Try = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Try_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Type = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Type_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Var = ((Hashtbl.create) (128))
let memo_Ocaml_parser_Var_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_capMlIdent = ((Hashtbl.create) (128))
let memo_Ocaml_parser_capMlIdent_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_capMlIdent_ = ((Hashtbl.create) (128))
let memo_Ocaml_parser_capMlIdent__err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_const = ((Hashtbl.create) (128))
let memo_Ocaml_parser_const_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_constructorName = ((Hashtbl.create) (128))
let memo_Ocaml_parser_constructorName_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_dotable = ((Hashtbl.create) (128))
let memo_Ocaml_parser_dotable_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_emptylist = ((Hashtbl.create) (128))
let memo_Ocaml_parser_emptylist_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_matchExpr = ((Hashtbl.create) (128))
let memo_Ocaml_parser_matchExpr_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_mlIdent = ((Hashtbl.create) (128))
let memo_Ocaml_parser_mlIdent_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_mlIdent_ = ((Hashtbl.create) (128))
let memo_Ocaml_parser_mlIdent__err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_mlIdent_aux = ((Hashtbl.create) (128))
let memo_Ocaml_parser_mlIdent_aux_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_mlIdent_aux_ = ((Hashtbl.create) (128))
let memo_Ocaml_parser_mlIdent_aux__err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_moduleName = ((Hashtbl.create) (128))
let memo_Ocaml_parser_moduleName_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_moduleName_ = ((Hashtbl.create) (128))
let memo_Ocaml_parser_moduleName__err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_and = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_and_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_aro = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_aro_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_concat = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_concat_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_equal = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_equal_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_equal_struct = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_equal_struct_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_logic = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_logic_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_notequal = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_notequal_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_notequal_struct = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_notequal_struct_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_or = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_or_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_special = ((Hashtbl.create) (128))
let memo_Ocaml_parser_op_special_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_paramEffectif = ((Hashtbl.create) (128))
let memo_Ocaml_parser_paramEffectif_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_paramFormel = ((Hashtbl.create) (128))
let memo_Ocaml_parser_paramFormel_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_parse = ((Hashtbl.create) (128))
let memo_Ocaml_parser_parse_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_pattern = ((Hashtbl.create) (128))
let memo_Ocaml_parser_pattern_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_pattern_aux = ((Hashtbl.create) (128))
let memo_Ocaml_parser_pattern_aux_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_pattern_aux_aux = ((Hashtbl.create) (128))
let memo_Ocaml_parser_pattern_aux_aux_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_pattern_aux_l = ((Hashtbl.create) (128))
let memo_Ocaml_parser_pattern_aux_l_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_pattern_cons = ((Hashtbl.create) (128))
let memo_Ocaml_parser_pattern_cons_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_spacing = ((Hashtbl.create) (128))
let memo_Ocaml_parser_spacing_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_type = ((Hashtbl.create) (128))
let memo_Ocaml_parser_type_err = ((Hashtbl.create) (128))
let memo_Ocaml_parser_unit = ((Hashtbl.create) (128))
let memo_Ocaml_parser_unit_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_lineskipper = ((Hashtbl.create) (128))
let memo_Ocaml_types_lineskipper_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_onetyperecord = ((Hashtbl.create) (128))
let memo_Ocaml_types_onetyperecord_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_spacing = ((Hashtbl.create) (128))
let memo_Ocaml_types_spacing_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_test = ((Hashtbl.create) (128))
let memo_Ocaml_types_test_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typeIdent = ((Hashtbl.create) (128))
let memo_Ocaml_types_typeIdent_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typeIdent_aux = ((Hashtbl.create) (128))
let memo_Ocaml_types_typeIdent_aux_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typeSum = ((Hashtbl.create) (128))
let memo_Ocaml_types_typeSum_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typeconst = ((Hashtbl.create) (128))
let memo_Ocaml_types_typeconst_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typeconstructor = ((Hashtbl.create) (128))
let memo_Ocaml_types_typeconstructor_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typedeclaration = ((Hashtbl.create) (128))
let memo_Ocaml_types_typedeclaration_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typedef = ((Hashtbl.create) (128))
let memo_Ocaml_types_typedef_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typedef_aux = ((Hashtbl.create) (128))
let memo_Ocaml_types_typedef_aux_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typedef_base = ((Hashtbl.create) (128))
let memo_Ocaml_types_typedef_base_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typedef_no_arrow = ((Hashtbl.create) (128))
let memo_Ocaml_types_typedef_no_arrow_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typedeflist = ((Hashtbl.create) (128))
let memo_Ocaml_types_typedeflist_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typefinder = ((Hashtbl.create) (128))
let memo_Ocaml_types_typefinder_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typename = ((Hashtbl.create) (128))
let memo_Ocaml_types_typename_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typeparam = ((Hashtbl.create) (128))
let memo_Ocaml_types_typeparam_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typerecord = ((Hashtbl.create) (128))
let memo_Ocaml_types_typerecord_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typerecord_aux = ((Hashtbl.create) (128))
let memo_Ocaml_types_typerecord_aux_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typevar = ((Hashtbl.create) (128))
let memo_Ocaml_types_typevar_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typevarorname = ((Hashtbl.create) (128))
let memo_Ocaml_types_typevarorname_err = ((Hashtbl.create) (128))
let memo_Ocaml_types_typevars = ((Hashtbl.create) (128))
let memo_Ocaml_types_typevars_err = ((Hashtbl.create) (128))
let prepare_cache () = ((Hashtbl.clear) (memo_Default_bar)) ; ((Hashtbl.clear) (memo_Default_bar_err)) ; ((Hashtbl.clear) (memo_Default_charsinglequote)) ; ((Hashtbl.clear) (memo_Default_charsinglequote_err)) ; ((Hashtbl.clear) (memo_Default_colon)) ; ((Hashtbl.clear) (memo_Default_colon_err)) ; ((Hashtbl.clear) (memo_Default_comma)) ; ((Hashtbl.clear) (memo_Default_comma_err)) ; ((Hashtbl.clear) (memo_Default_dot)) ; ((Hashtbl.clear) (memo_Default_dot_err)) ; ((Hashtbl.clear) (memo_Default_equal)) ; ((Hashtbl.clear) (memo_Default_equal_err)) ; ((Hashtbl.clear) (memo_Default_float)) ; ((Hashtbl.clear) (memo_Default_float_err)) ; ((Hashtbl.clear) (memo_Default_int)) ; ((Hashtbl.clear) (memo_Default_int_err)) ; ((Hashtbl.clear) (memo_Default_laccol)) ; ((Hashtbl.clear) (memo_Default_laccol_err)) ; ((Hashtbl.clear) (memo_Default_lbracket)) ; ((Hashtbl.clear) (memo_Default_lbracket_err)) ; ((Hashtbl.clear) (memo_Default_leftarrow)) ; ((Hashtbl.clear) (memo_Default_leftarrow_err)) ; ((Hashtbl.clear) (memo_Default_lparen)) ; ((Hashtbl.clear) (memo_Default_lparen_err)) ; ((Hashtbl.clear) (memo_Default_mlcomment)) ; ((Hashtbl.clear) (memo_Default_mlcomment_err)) ; ((Hashtbl.clear) (memo_Default_question)) ; ((Hashtbl.clear) (memo_Default_question_err)) ; ((Hashtbl.clear) (memo_Default_raccol)) ; ((Hashtbl.clear) (memo_Default_raccol_err)) ; ((Hashtbl.clear) (memo_Default_rbracket)) ; ((Hashtbl.clear) (memo_Default_rbracket_err)) ; ((Hashtbl.clear) (memo_Default_rightarrow)) ; ((Hashtbl.clear) (memo_Default_rightarrow_err)) ; ((Hashtbl.clear) (memo_Default_rparen)) ; ((Hashtbl.clear) (memo_Default_rparen_err)) ; ((Hashtbl.clear) (memo_Default_semi)) ; ((Hashtbl.clear) (memo_Default_semi_err)) ; ((Hashtbl.clear) (memo_Default_singlequotechar_)) ; ((Hashtbl.clear) (memo_Default_singlequotechar__err)) ; ((Hashtbl.clear) (memo_Default_spacing)) ; ((Hashtbl.clear) (memo_Default_spacing_err)) ; ((Hashtbl.clear) (memo_Default_strfloat)) ; ((Hashtbl.clear) (memo_Default_strfloat_err)) ; ((Hashtbl.clear) (memo_Default_string)) ; ((Hashtbl.clear) (memo_Default_string_err)) ; ((Hashtbl.clear) (memo_Default_stringchar)) ; ((Hashtbl.clear) (memo_Default_stringchar_err)) ; ((Hashtbl.clear) (memo_Default_stringcharspecial)) ; ((Hashtbl.clear) (memo_Default_stringcharspecial_err)) ; ((Hashtbl.clear) (memo_Default_stringnosp)) ; ((Hashtbl.clear) (memo_Default_stringnosp_err)) ; ((Hashtbl.clear) (memo_Default_strint)) ; ((Hashtbl.clear) (memo_Default_strint_err)) ; ((Hashtbl.clear) (memo_Default_underscore)) ; ((Hashtbl.clear) (memo_Default_underscore_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_AND)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_AND_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_AS)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_AS_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_ASSERT)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_ASSERT_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_BEGIN)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_BEGIN_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_CONS)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_CONS_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_ELSE)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_ELSE_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_END)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_END_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_EXCEPTION)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_EXCEPTION_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_FUN)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_FUN_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_FUNCTION)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_FUNCTION_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_GETREF)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_GETREF_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_IF)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_IF_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_IN)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_IN_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_KEYWORDS)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_KEYWORDS_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_LET)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_LET_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_MATCH)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_MATCH_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_MODULE)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_MODULE_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_MUTABLE)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_MUTABLE_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_OF)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_OF_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_OPEN)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_OPEN_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_RAISE)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_RAISE_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_REC)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_REC_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_REF)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_REF_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_SPECIALS)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_SPECIALS_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_STRUCT)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_STRUCT_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_THEN)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_THEN_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_TRY)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_TRY_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_TYPE)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_TYPE_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_WHEN)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_WHEN_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_WITH)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_WITH_err)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_spacing)) ; ((Hashtbl.clear) (memo_Ocaml_keywords_spacing_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Abs)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Abs_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_App)) ; ((Hashtbl.clear) (memo_Ocaml_parser_App_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Assert)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Assert_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Cond)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Cond_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Cons)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Cons_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Const)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Const_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Constructor)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Constructor_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_DIV)) ; ((Hashtbl.clear) (memo_Ocaml_parser_DIV_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Dot)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Dot_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_EmptyList)) ; ((Hashtbl.clear) (memo_Ocaml_parser_EmptyList_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Exception)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Exception_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Expr)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Expr_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_ExprNotApp)) ; ((Hashtbl.clear) (memo_Ocaml_parser_ExprNotApp_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Expr_without_seq)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Expr_without_seq_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Expr_without_seq_aux)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Expr_without_seq_aux_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_FDIV)) ; ((Hashtbl.clear) (memo_Ocaml_parser_FDIV_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_FMINUS)) ; ((Hashtbl.clear) (memo_Ocaml_parser_FMINUS_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_FMULT)) ; ((Hashtbl.clear) (memo_Ocaml_parser_FMULT_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_FPLUS)) ; ((Hashtbl.clear) (memo_Ocaml_parser_FPLUS_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_GE)) ; ((Hashtbl.clear) (memo_Ocaml_parser_GE_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_GT)) ; ((Hashtbl.clear) (memo_Ocaml_parser_GT_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_GetRef)) ; ((Hashtbl.clear) (memo_Ocaml_parser_GetRef_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_IDIV)) ; ((Hashtbl.clear) (memo_Ocaml_parser_IDIV_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_IMINUS)) ; ((Hashtbl.clear) (memo_Ocaml_parser_IMINUS_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_IMULT)) ; ((Hashtbl.clear) (memo_Ocaml_parser_IMULT_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_IPLUS)) ; ((Hashtbl.clear) (memo_Ocaml_parser_IPLUS_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_InfOpLevel1)) ; ((Hashtbl.clear) (memo_Ocaml_parser_InfOpLevel1_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_InfOpLevel2)) ; ((Hashtbl.clear) (memo_Ocaml_parser_InfOpLevel2_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_InfOpLevel3)) ; ((Hashtbl.clear) (memo_Ocaml_parser_InfOpLevel3_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_InfOpLevel4)) ; ((Hashtbl.clear) (memo_Ocaml_parser_InfOpLevel4_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_LE)) ; ((Hashtbl.clear) (memo_Ocaml_parser_LE_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_LT)) ; ((Hashtbl.clear) (memo_Ocaml_parser_LT_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Let)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Let_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_LetOrType)) ; ((Hashtbl.clear) (memo_Ocaml_parser_LetOrType_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Letin)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Letin_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_MINUS)) ; ((Hashtbl.clear) (memo_Ocaml_parser_MINUS_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_MULT)) ; ((Hashtbl.clear) (memo_Ocaml_parser_MULT_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_MakeRef)) ; ((Hashtbl.clear) (memo_Ocaml_parser_MakeRef_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Match)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Match_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Module)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Module_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_OpLevel1)) ; ((Hashtbl.clear) (memo_Ocaml_parser_OpLevel1_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_OpLevel2)) ; ((Hashtbl.clear) (memo_Ocaml_parser_OpLevel2_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_OpLevel3)) ; ((Hashtbl.clear) (memo_Ocaml_parser_OpLevel3_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_OpLevel4)) ; ((Hashtbl.clear) (memo_Ocaml_parser_OpLevel4_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Open)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Open_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_PLUS)) ; ((Hashtbl.clear) (memo_Ocaml_parser_PLUS_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Paren)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Paren_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_RNameOpt)) ; ((Hashtbl.clear) (memo_Ocaml_parser_RNameOpt_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Raise)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Raise_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Record)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Record_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_SetRef)) ; ((Hashtbl.clear) (memo_Ocaml_parser_SetRef_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_SimpleExpr)) ; ((Hashtbl.clear) (memo_Ocaml_parser_SimpleExpr_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Try)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Try_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Type)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Type_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Var)) ; ((Hashtbl.clear) (memo_Ocaml_parser_Var_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_capMlIdent)) ; ((Hashtbl.clear) (memo_Ocaml_parser_capMlIdent_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_capMlIdent_)) ; ((Hashtbl.clear) (memo_Ocaml_parser_capMlIdent__err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_const)) ; ((Hashtbl.clear) (memo_Ocaml_parser_const_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_constructorName)) ; ((Hashtbl.clear) (memo_Ocaml_parser_constructorName_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_dotable)) ; ((Hashtbl.clear) (memo_Ocaml_parser_dotable_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_emptylist)) ; ((Hashtbl.clear) (memo_Ocaml_parser_emptylist_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_matchExpr)) ; ((Hashtbl.clear) (memo_Ocaml_parser_matchExpr_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_mlIdent)) ; ((Hashtbl.clear) (memo_Ocaml_parser_mlIdent_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_mlIdent_)) ; ((Hashtbl.clear) (memo_Ocaml_parser_mlIdent__err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_mlIdent_aux)) ; ((Hashtbl.clear) (memo_Ocaml_parser_mlIdent_aux_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_mlIdent_aux_)) ; ((Hashtbl.clear) (memo_Ocaml_parser_mlIdent_aux__err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_moduleName)) ; ((Hashtbl.clear) (memo_Ocaml_parser_moduleName_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_moduleName_)) ; ((Hashtbl.clear) (memo_Ocaml_parser_moduleName__err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_and)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_and_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_aro)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_aro_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_concat)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_concat_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_equal)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_equal_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_equal_struct)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_equal_struct_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_logic)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_logic_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_notequal)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_notequal_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_notequal_struct)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_notequal_struct_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_or)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_or_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_special)) ; ((Hashtbl.clear) (memo_Ocaml_parser_op_special_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_paramEffectif)) ; ((Hashtbl.clear) (memo_Ocaml_parser_paramEffectif_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_paramFormel)) ; ((Hashtbl.clear) (memo_Ocaml_parser_paramFormel_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_parse)) ; ((Hashtbl.clear) (memo_Ocaml_parser_parse_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_pattern)) ; ((Hashtbl.clear) (memo_Ocaml_parser_pattern_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_pattern_aux)) ; ((Hashtbl.clear) (memo_Ocaml_parser_pattern_aux_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_pattern_aux_aux)) ; ((Hashtbl.clear) (memo_Ocaml_parser_pattern_aux_aux_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_pattern_aux_l)) ; ((Hashtbl.clear) (memo_Ocaml_parser_pattern_aux_l_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_pattern_cons)) ; ((Hashtbl.clear) (memo_Ocaml_parser_pattern_cons_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_spacing)) ; ((Hashtbl.clear) (memo_Ocaml_parser_spacing_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_type)) ; ((Hashtbl.clear) (memo_Ocaml_parser_type_err)) ; ((Hashtbl.clear) (memo_Ocaml_parser_unit)) ; ((Hashtbl.clear) (memo_Ocaml_parser_unit_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_lineskipper)) ; ((Hashtbl.clear) (memo_Ocaml_types_lineskipper_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_onetyperecord)) ; ((Hashtbl.clear) (memo_Ocaml_types_onetyperecord_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_spacing)) ; ((Hashtbl.clear) (memo_Ocaml_types_spacing_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_test)) ; ((Hashtbl.clear) (memo_Ocaml_types_test_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typeIdent)) ; ((Hashtbl.clear) (memo_Ocaml_types_typeIdent_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typeIdent_aux)) ; ((Hashtbl.clear) (memo_Ocaml_types_typeIdent_aux_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typeSum)) ; ((Hashtbl.clear) (memo_Ocaml_types_typeSum_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typeconst)) ; ((Hashtbl.clear) (memo_Ocaml_types_typeconst_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typeconstructor)) ; ((Hashtbl.clear) (memo_Ocaml_types_typeconstructor_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typedeclaration)) ; ((Hashtbl.clear) (memo_Ocaml_types_typedeclaration_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typedef)) ; ((Hashtbl.clear) (memo_Ocaml_types_typedef_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typedef_aux)) ; ((Hashtbl.clear) (memo_Ocaml_types_typedef_aux_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typedef_base)) ; ((Hashtbl.clear) (memo_Ocaml_types_typedef_base_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typedef_no_arrow)) ; ((Hashtbl.clear) (memo_Ocaml_types_typedef_no_arrow_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typedeflist)) ; ((Hashtbl.clear) (memo_Ocaml_types_typedeflist_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typefinder)) ; ((Hashtbl.clear) (memo_Ocaml_types_typefinder_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typename)) ; ((Hashtbl.clear) (memo_Ocaml_types_typename_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typeparam)) ; ((Hashtbl.clear) (memo_Ocaml_types_typeparam_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typerecord)) ; ((Hashtbl.clear) (memo_Ocaml_types_typerecord_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typerecord_aux)) ; ((Hashtbl.clear) (memo_Ocaml_types_typerecord_aux_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typevar)) ; ((Hashtbl.clear) (memo_Ocaml_types_typevar_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typevarorname)) ; ((Hashtbl.clear) (memo_Ocaml_types_typevarorname_err)) ; ((Hashtbl.clear) (memo_Ocaml_types_typevars)) ; ((Hashtbl.clear) (memo_Ocaml_types_typevars_err))
let rec try_Default_mlCOMMENTSTART =
#102 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match (Trx_runtime.option_to_res_msg (if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('('))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('*'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "(*")) ) else ( None )) (input) ("\"(*\"")) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1839, __1 ), err ) ) -> (Trx_runtime.addErrorInfo (err) (Trx_runtime.Ok(((input_1839, ( () )), ((Trx_runtime.emptyError) (input_1839))))))))
let rec try_Default_mlCOMMENTSTOP =
#103 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match (Trx_runtime.option_to_res_msg (if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('*'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) (')'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "*)")) ) else ( None )) (input) ("\"*)\"")) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1838, __1 ), err ) ) -> (Trx_runtime.addErrorInfo (err) (Trx_runtime.Ok(((input_1838, ( () )), ((Trx_runtime.emptyError) (input_1838))))))))
let rec try_Default_mlcomment =
#101 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_mlcomment_err) (input))
) with
Not_found -> let res = (match (try_Default_mlCOMMENTSTART (_filename) (_text) (input)) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1830, __1 ), err ) ) -> (Trx_runtime.addErrorInfo (err) ((match (Trx_runtime.while_primary_nores (false) ((fun input_1833 -> (match (try_Default_mlCOMMENTSTOP (_filename) (_text) (input_1833)) with
Trx_runtime.Fail ( ( err ) ) -> let input_1834 = input_1833 in
let __1 = () in
(Trx_runtime.addErrorInfo (err) ((match (match (match (try_Default_mlcomment (_filename) (_text) (input_1834)) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1837, __1 ), err ) ) -> (Trx_runtime.addErrorInfo (err) (Trx_runtime.Ok(((input_1837, __1), ((Trx_runtime.emptyError) (input_1837))))))) with
Trx_runtime.Fail ( ( err ) ) -> (Trx_runtime.addErrorInfo (err) ((match (Trx_runtime.option_to_res_err (if ( (((<)) (input_1834) (_len)) ) then ( let c = ((_get_char) (input_1834)) in
Some((((succ) (input_1834)), c)) ) else ( None )) (input_1834) (((Trx_runtime.Expected(("any character")))::([])))) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1836, __1 ), err ) ) -> (Trx_runtime.addErrorInfo (err) (Trx_runtime.Ok(((input_1836, ( () )), ((Trx_runtime.emptyError) (input_1836)))))))))
| ( _ok ) as __pat_var -> __pat_var) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1835, __2 ), err ) ) -> (Trx_runtime.addErrorInfo (err) (Trx_runtime.Ok(((input_1835, __2), ((Trx_runtime.emptyError) (input_1835)))))))))
| Trx_runtime.Ok ( ( ( _, _ ), err ) ) -> let err = err in
Trx_runtime.Fail((err))))) (input_1830)) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1831, __2 ), err ) ) -> (Trx_runtime.addErrorInfo (err) ((match (try_Default_mlCOMMENTSTOP (_filename) (_text) (input_1831)) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1832, __3 ), err ) ) -> (Trx_runtime.addErrorInfo (err) (Trx_runtime.Ok(((input_1832, ( () )), ((Trx_runtime.emptyError) (input_1832))))))))))))) in
(Hashtbl.add (memo_Default_mlcomment_err) (input) (res)) ; res)
)
let rec try_Default_space =
#20 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match (Trx_runtime.option_to_res_err (if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((||)) ((((=)) (c) (' '))) ((((||)) ((((=)) (c) ('\n'))) ((((||)) ((((=)) (c) ('\r'))) ((((=)) (c) ('\t')))))))) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None )) (input) ([ Trx_runtime.Expected(("'\t'")) ; Trx_runtime.Expected(("'\n'")) ; Trx_runtime.Expected(("'\r'")) ; Trx_runtime.Expected(("' '")) ])) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1779, __1 ), err ) ) -> (Trx_runtime.addErrorInfo (err) (Trx_runtime.Ok(((input_1779, __1), ((Trx_runtime.emptyError) (input_1779))))))))
let rec try_Ocaml_parser_spacing =
#35 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_spacing_err) (input))
) with
Not_found -> let res = (match (Trx_runtime.while_primary_nores (false) ((fun input_1102 -> (match (match (try_Default_space (_filename) (_text) (input_1102)) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1104, __1 ), err ) ) -> (Trx_runtime.addErrorInfo (err) (Trx_runtime.Ok(((input_1104, ( () )), ((Trx_runtime.emptyError) (input_1104))))))) with
Trx_runtime.Fail ( ( err ) ) -> (Trx_runtime.addErrorInfo (err) ((match (try_Default_mlcomment (_filename) (_text) (input_1102)) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1103, __1 ), err ) ) -> (Trx_runtime.addErrorInfo (err) (Trx_runtime.Ok(((input_1103, __1), ((Trx_runtime.emptyError) (input_1103)))))))))
| ( _ok ) as __pat_var -> __pat_var))) (input)) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1101, __1 ), err ) ) -> (Trx_runtime.addErrorInfo (err) (Trx_runtime.Ok(((input_1101, ( () )), ((Trx_runtime.emptyError) (input_1101))))))) in
(Hashtbl.add (memo_Ocaml_parser_spacing_err) (input) (res)) ; res)
)
let rec try_Ocaml_parser_op_equal_struct =
#383 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_op_equal_struct_err) (input))
) with
Not_found -> let res = (match (Trx_runtime.option_to_res_msg (if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('='))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('='))) (true)))))) ) then ( Some(((((+)) (input) (2)), "==")) ) else ( None )) (input) ("\"==\"")) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1242, __1 ), err ) ) -> (Trx_runtime.addErrorInfo (err) ((match (try_Ocaml_parser_spacing (_filename) (_text) (input_1242)) with
( Trx_runtime.Fail ( ( _err ) ) ) as __pat_var -> __pat_var
| Trx_runtime.Ok ( ( ( input_1243, __2 ), err ) ) -> (Trx_runtime.addErrorInfo (err) (Trx_runtime.Ok(((input_1243,
#383 "ocaml_parser.trx"
( __1 )), ((Trx_runtime.emptyError) (input_1243)))))))))) in
(Hashtbl.add (memo_Ocaml_parser_op_equal_struct_err) (input) (res)) ; res)
)
let rec try_Default_mlCOMMENTSTART_noerr =
#102 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('('))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('*'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "(*")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_887, __1 ) ) -> Some((input_887, ( () )))))
let rec try_Default_mlCOMMENTSTOP_noerr =
#103 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('*'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) (')'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "*)")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_886, __1 ) ) -> Some((input_886, ( () )))))
let rec try_Default_mlcomment_noerr =
#101 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_mlcomment) (input))
) with
Not_found -> let res = (match (try_Default_mlCOMMENTSTART_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_878, __1 ) ) -> (match (Trx_runtime.while_primary_noerr_nores (false) ((fun input_881 -> (match (try_Default_mlCOMMENTSTOP_noerr (_filename) (_text) (input_881)) with
None -> let input_882 = input_881 in
let __1 = () in
(match (try_Default_mlcomment_noerr (_filename) (_text) (input_882)) with
None -> (match if ( (((<)) (input_882) (_len)) ) then ( let c = ((_get_char) (input_882)) in
Some((((succ) (input_882)), c)) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_884, __1 ) ) -> Some((input_884, ( () ))))
| ( _ok ) as __pat_var -> __pat_var)
| Some ( ( _, _ ) ) -> None))) (input_878)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_879, __2 ) ) -> (match (try_Default_mlCOMMENTSTOP_noerr (_filename) (_text) (input_879)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_880, __3 ) ) -> Some((input_880, ( () )))))) in
(Hashtbl.add (memo_Default_mlcomment) (input) (res)) ; res)
)
let rec try_Default_space_noerr =
#20 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((||)) ((((=)) (c) (' '))) ((((||)) ((((=)) (c) ('\n'))) ((((||)) ((((=)) (c) ('\r'))) ((((=)) (c) ('\t')))))))) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ))
let rec try_Default_spacing_noerr =
#19 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_spacing) (input))
) with
Not_found -> let res = (match (Trx_runtime.while_primary_noerr_nores (false) ((fun input_824 -> (match (match (try_Default_space_noerr (_filename) (_text) (input_824)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_826, __1 ) ) -> Some((input_826, ( () )))) with
None -> (try_Default_mlcomment_noerr (_filename) (_text) (input_824))
| ( _ok ) as __pat_var -> __pat_var))) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_823, __1 ) ) -> Some((input_823, ( () )))) in
(Hashtbl.add (memo_Default_spacing) (input) (res)) ; res)
)
let rec try_Default_bar_noerr =
#80 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_bar) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('|')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_938, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_938)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_939, __2 ) ) -> Some((input_939, ( () ))))) in
(Hashtbl.add (memo_Default_bar) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_spacing_noerr =
#20 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_spacing) (input))
) with
Not_found -> let res = (match (Trx_runtime.while_primary_noerr_nores (false) ((fun input_683 -> (match (match (try_Default_space_noerr (_filename) (_text) (input_683)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_685, __1 ) ) -> Some((input_685, ( () )))) with
None -> (try_Default_mlcomment_noerr (_filename) (_text) (input_683))
| ( _ok ) as __pat_var -> __pat_var))) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_682, __1 ) ) -> Some((input_682, ( () )))) in
(Hashtbl.add (memo_Ocaml_keywords_spacing) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_FUNCTION_noerr =
#52 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_FUNCTION) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (8))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('f'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('u'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('n'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('c'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (7))))) ('n'))) (true)))))))))))))))))) ) then ( Some(((((+)) (input) (8)), "function")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_730, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_730)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_731, __2 ) ) -> Some((input_731, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_FUNCTION) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_MATCH_noerr =
#46 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_MATCH) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (5))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('m'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('c'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('h'))) (true)))))))))))) ) then ( Some(((((+)) (input) (5)), "match")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_720, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_720)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_721, __2 ) ) -> Some((input_721, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_MATCH) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_WITH_noerr =
#47 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_WITH) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('w'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('h'))) (true)))))))))) ) then ( Some(((((+)) (input) (4)), "with")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_686, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_686)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_687, __2 ) ) -> Some((input_687, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_WITH) (input) (res)) ; res)
)
let rec try_Default_semi_noerr =
#68 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_semi) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) (';')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_841, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_841)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_842, __2 ) ) -> Some((input_842, ( () ))))) in
(Hashtbl.add (memo_Default_semi) (input) (res)) ; res)
)
let rec try_Default_comma_noerr =
#63 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_comma) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) (',')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_922, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_922)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_923, __2 ) ) -> Some((input_923, ( () ))))) in
(Hashtbl.add (memo_Default_comma) (input) (res)) ; res)
)
let rec try_Ocaml_parser_spacing_noerr =
#35 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_spacing) (input))
) with
Not_found -> let res = (match (Trx_runtime.while_primary_noerr_nores (false) ((fun input_150 -> (match (match (try_Default_space_noerr (_filename) (_text) (input_150)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_152, __1 ) ) -> Some((input_152, ( () )))) with
None -> (try_Default_mlcomment_noerr (_filename) (_text) (input_150))
| ( _ok ) as __pat_var -> __pat_var))) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_149, __1 ) ) -> Some((input_149, ( () )))) in
(Hashtbl.add (memo_Ocaml_parser_spacing) (input) (res)) ; res)
)
let rec try_Ocaml_parser_op_and_noerr =
#380 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_op_and) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('&'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('&'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "&&")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_298, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_298)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_299, __2 ) ) -> Some((input_299,
#380 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_op_and) (input) (res)) ; res)
)
let rec try_Ocaml_parser_op_or_noerr =
#381 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_op_or) (input))
) with
Not_found -> let res = (match if ( (((<)) ((((+)) (input) (0))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (0)))) with
'|' -> if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('|'))) (true)))) ) then ( Some(((((+)) (input) (2)), "||")) ) else ( None )
| 'o' -> if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('r'))) (true)))) ) then ( Some(((((+)) (input) (2)), "or")) ) else ( None )
| _ -> None) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_282, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_282)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_283, __2 ) ) -> Some((input_283,
#381 "ocaml_parser.trx"
( "||" ))))) in
(Hashtbl.add (memo_Ocaml_parser_op_or) (input) (res)) ; res)
)
let rec try_Ocaml_parser_InfOpLevel1_noerr =
#354 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_InfOpLevel1) (input))
) with
Not_found -> let res = (match (match (try_Ocaml_parser_op_and_noerr (_filename) (_text) (input)) with
None -> (try_Ocaml_parser_op_or_noerr (_filename) (_text) (input))
| ( _ok ) as __pat_var -> __pat_var) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_560, __1 ) ) -> Some((input_560,
#355 "ocaml_parser.trx"
( Ocaml.make_Var __1
)))) in
(Hashtbl.add (memo_Ocaml_parser_InfOpLevel1) (input) (res)) ; res)
)
let rec try_Ocaml_parser_GE_noerr =
#396 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_GE) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('>'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('='))) (true)))))) ) then ( Some(((((+)) (input) (2)), ">=")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_575, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_575)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_576, __2 ) ) -> Some((input_576,
#396 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_GE) (input) (res)) ; res)
)
let rec try_Ocaml_parser_GT_noerr =
#394 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_GT) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (1))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('>'))) (true)))) ) then ( Some(((((+)) (input) (1)), ">")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_573, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_573)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_574, __2 ) ) -> Some((input_574,
#394 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_GT) (input) (res)) ; res)
)
let rec try_Ocaml_parser_LE_noerr =
#395 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_LE) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('<'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('='))) (true)))))) ) then ( Some(((((+)) (input) (2)), "<=")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_539, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_539)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_540, __2 ) ) -> Some((input_540,
#395 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_LE) (input) (res)) ; res)
)
let rec try_Ocaml_parser_LT_noerr =
#393 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_LT) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (1))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('<'))) (true)))) ) then ( Some(((((+)) (input) (1)), "<")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_537, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_537)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_538, __2 ) ) -> Some((input_538,
#393 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_LT) (input) (res)) ; res)
)
let rec try_Ocaml_parser_op_equal_noerr =
#382 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_op_equal) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (1))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('='))) (true)))) ) then ( Some(((((+)) (input) (1)), "=")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_292, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_292)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_293, __2 ) ) -> Some((input_293,
#382 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_op_equal) (input) (res)) ; res)
)
let rec try_Ocaml_parser_op_equal_struct_noerr =
#383 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_op_equal_struct) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('='))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('='))) (true)))))) ) then ( Some(((((+)) (input) (2)), "==")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_290, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_290)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_291, __2 ) ) -> Some((input_291,
#383 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_op_equal_struct) (input) (res)) ; res)
)
let rec try_Ocaml_parser_op_notequal_noerr =
#385 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_op_notequal) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('<'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('>'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "<>")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_286, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_286)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_287, __2 ) ) -> Some((input_287,
#385 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_op_notequal) (input) (res)) ; res)
)
let rec try_Ocaml_parser_op_notequal_struct_noerr =
#384 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_op_notequal_struct) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('!'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('='))) (true)))))) ) then ( Some(((((+)) (input) (2)), "!=")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_284, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_284)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_285, __2 ) ) -> Some((input_285,
#384 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_op_notequal_struct) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_SPECIALS_noerr =
#39 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_SPECIALS) (input))
) with
Not_found -> let res = if ( (((<)) ((((+)) (input) (0))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (0)))) with
'm' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('d'))) (true)))))) ) then ( Some(((((+)) (input) (3)), "mod")) ) else ( None )
| 'l' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'x' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('r'))) (true)))))) ) then ( Some(((((+)) (input) (4)), "lxor")) ) else ( None )
| 's' -> if ( (((<)) ((((+)) (input) (2))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (2)))) with
'r' -> Some(((((+)) (input) (3)), "lsr"))
| 'l' -> Some(((((+)) (input) (3)), "lsl"))
| _ -> None) ) else ( None )
| 'o' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('r'))) (true)))) ) then ( Some(((((+)) (input) (3)), "lor")) ) else ( None )
| 'a' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('n'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('d'))) (true)))))) ) then ( Some(((((+)) (input) (4)), "land")) ) else ( None )
| _ -> None) ) else ( None )
| _ -> None) ) else ( None ) in
(Hashtbl.add (memo_Ocaml_keywords_SPECIALS) (input) (res)) ; res)
)
let rec try_Ocaml_parser_op_special_noerr =
#391 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_op_special) (input))
) with
Not_found -> let res = (match (try_Ocaml_keywords_SPECIALS_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_280, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_280)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_281, __2 ) ) -> Some((input_281,
#391 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_op_special) (input) (res)) ; res)
)
let rec try_Ocaml_parser_InfOpLevel2_noerr =
#359 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_InfOpLevel2) (input))
) with
Not_found -> let res = (match (match (match (try_Ocaml_parser_op_equal_struct_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_parser_op_equal_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_parser_op_notequal_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_parser_op_notequal_struct_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_parser_LE_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_parser_GE_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_parser_LT_noerr (_filename) (_text) (input)) with
None -> (try_Ocaml_parser_GT_noerr (_filename) (_text) (input))
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_551, __1 ) ) -> Some((input_551,
#361 "ocaml_parser.trx"
( Ocaml.make_Var __1
)))) with
None -> (match (try_Ocaml_parser_op_special_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_550, __1 ) ) -> Some((input_550,
#366 "ocaml_parser.trx"
( Ocaml.make_Var __1
))))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_parser_InfOpLevel2) (input) (res)) ; res)
)
let rec try_Ocaml_parser_FMINUS_noerr =
#409 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_FMINUS) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('-'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('.'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "-.")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_581, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_581)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_582, __2 ) ) -> Some((input_582,
#409 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_FMINUS) (input) (res)) ; res)
)
let rec try_Ocaml_parser_IMINUS_noerr =
#404 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_IMINUS) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (1))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('-'))) (true)))) ) then ( Some(((((+)) (input) (1)), "-")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_567, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_567)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_568, __2 ) ) -> Some((input_568,
#404 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_IMINUS) (input) (res)) ; res)
)
let rec try_Ocaml_parser_MINUS_noerr =
#399 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_MINUS) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_FMINUS_noerr (_filename) (_text) (input)) with
None -> (try_Ocaml_parser_IMINUS_noerr (_filename) (_text) (input))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_parser_MINUS) (input) (res)) ; res)
)
let rec try_Ocaml_parser_FPLUS_noerr =
#408 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_FPLUS) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('+'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('.'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "+.")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_577, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_577)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_578, __2 ) ) -> Some((input_578,
#408 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_FPLUS) (input) (res)) ; res)
)
let rec try_Ocaml_parser_IPLUS_noerr =
#403 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_IPLUS) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (1))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('+'))) (true)))) ) then ( Some(((((+)) (input) (1)), "+")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_563, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_563)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_564, __2 ) ) -> Some((input_564,
#403 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_IPLUS) (input) (res)) ; res)
)
let rec try_Ocaml_parser_PLUS_noerr =
#398 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_PLUS) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_FPLUS_noerr (_filename) (_text) (input)) with
None -> (try_Ocaml_parser_IPLUS_noerr (_filename) (_text) (input))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_parser_PLUS) (input) (res)) ; res)
)
let rec try_Ocaml_parser_op_aro_noerr =
#388 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_op_aro) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (1))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('@'))) (true)))) ) then ( Some(((((+)) (input) (1)), "@")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_296, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_296)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_297, __2 ) ) -> Some((input_297,
#388 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_op_aro) (input) (res)) ; res)
)
let rec try_Ocaml_parser_op_concat_noerr =
#387 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_op_concat) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (1))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('^'))) (true)))) ) then ( Some(((((+)) (input) (1)), "^")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_294, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_294)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_295, __2 ) ) -> Some((input_295,
#387 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_op_concat) (input) (res)) ; res)
)
let rec try_Ocaml_parser_op_logic_noerr =
#389 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_op_logic) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('s'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('r'))) (true)))))))) ) then ( Some(((((+)) (input) (3)), "asr")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_288, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_288)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_289, __2 ) ) -> Some((input_289,
#389 "ocaml_parser.trx"
( "asr" ))))) in
(Hashtbl.add (memo_Ocaml_parser_op_logic) (input) (res)) ; res)
)
let rec try_Ocaml_parser_InfOpLevel3_noerr =
#370 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_InfOpLevel3) (input))
) with
Not_found -> let res = (match (match (try_Ocaml_parser_PLUS_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_parser_MINUS_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_parser_op_concat_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_parser_op_aro_noerr (_filename) (_text) (input)) with
None -> (try_Ocaml_parser_op_logic_noerr (_filename) (_text) (input))
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_544, __1 ) ) -> Some((input_544,
#371 "ocaml_parser.trx"
( Ocaml.make_Var __1
)))) in
(Hashtbl.add (memo_Ocaml_parser_InfOpLevel3) (input) (res)) ; res)
)
let rec try_Default_lparen_noerr =
#69 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_lparen) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('(')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_888, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_888)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_889, __2 ) ) -> Some((input_889, ( () ))))) in
(Hashtbl.add (memo_Default_lparen) (input) (res)) ; res)
)
let rec try_Default_rparen_noerr =
#70 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_rparen) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) (')')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_843, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_843)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_844, __2 ) ) -> Some((input_844, ( () ))))) in
(Hashtbl.add (memo_Default_rparen) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_CONS_noerr =
#79 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_CONS) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) (':'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) (':'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "::")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_748, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_748)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_749, __2 ) ) -> Some((input_749, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_CONS) (input) (res)) ; res)
)
let rec try_Default_rightarrow_noerr =
#86 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_rightarrow) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('-'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('>'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "->")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_845, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_845)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_846, __2 ) ) -> Some((input_846, ( () ))))) in
(Hashtbl.add (memo_Default_rightarrow) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_FUN_noerr =
#41 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_FUN) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('f'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('u'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('n'))) (true)))))))) ) then ( Some(((((+)) (input) (3)), "fun")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_732, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_732)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_733, __2 ) ) -> Some((input_733, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_FUN) (input) (res)) ; res)
)
let rec try_Default_colon_noerr =
#67 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_colon) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) (':')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_924, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_924)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_925, __2 ) ) -> Some((input_925, ( () ))))) in
(Hashtbl.add (memo_Default_colon) (input) (res)) ; res)
)
let rec try_Default_equal_noerr =
#62 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_equal) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('=')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_915, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_915)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_916, __2 ) ) -> Some((input_916, ( () ))))) in
(Hashtbl.add (memo_Default_equal) (input) (res)) ; res)
)
let rec try_Default_question_noerr =
#76 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_question) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('?')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_852, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_852)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_853, __2 ) ) -> Some((input_853, ( () ))))) in
(Hashtbl.add (memo_Default_question) (input) (res)) ; res)
)
let rec try_Default_tilde__noerr =
#83 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('~')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_764, __1 ) ) -> Some((input_764, ( () )))))
let rec try_Ocaml_keywords_KEYWORDS_noerr =
#22 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_KEYWORDS) (input))
) with
Not_found -> let res = if ( (((<)) ((((+)) (input) (0))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (0)))) with
'~' -> Some(((((+)) (input) (1)), "~"))
| '}' -> Some(((((+)) (input) (1)), "}"))
| '|' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'|' -> Some(((((+)) (input) (2)), "||"))
| ']' -> Some(((((+)) (input) (2)), "|]"))
| _ -> Some(((((+)) (input) (1)), "|"))) ) else ( Some(((((+)) (input) (1)), "|")) )
| '{' -> if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('<'))) (true)))) ) then ( Some(((((+)) (input) (2)), "{<")) ) else ( Some(((((+)) (input) (1)), "{")) )
| 'w' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'i' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('h'))) (true)))))) ) then ( Some(((((+)) (input) (4)), "with")) ) else ( None )
| 'h' -> if ( (((<)) ((((+)) (input) (2))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (2)))) with
'i' -> if ( (((&&)) ((((<=)) ((((+)) (input) (5))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('l'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('e'))) (true)))))) ) then ( Some(((((+)) (input) (5)), "while")) ) else ( None )
| 'e' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('n'))) (true)))) ) then ( Some(((((+)) (input) (4)), "when")) ) else ( None )
| _ -> None) ) else ( None )
| _ -> None) ) else ( None )
| 'v' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'i' -> if ( (((&&)) ((((<=)) ((((+)) (input) (7))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('u'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('l'))) (true)))))))))))) ) then ( Some(((((+)) (input) (7)), "virtual")) ) else ( None )
| 'a' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('l'))) (true)))) ) then ( Some(((((+)) (input) (3)), "val")) ) else ( None )
| _ -> None) ) else ( None )
| 't' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'y' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('p'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) (true)))))) ) then ( Some(((((+)) (input) (4)), "type")) ) else ( None )
| 'r' -> if ( (((<)) ((((+)) (input) (2))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (2)))) with
'y' -> Some(((((+)) (input) (3)), "try"))
| 'u' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) (true)))) ) then ( Some(((((+)) (input) (4)), "true")) ) else ( None )
| _ -> None) ) else ( None )
| 'o' -> Some(((((+)) (input) (2)), "to"))
| 'h' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('n'))) (true)))))) ) then ( Some(((((+)) (input) (4)), "then")) ) else ( None )
| _ -> None) ) else ( None )
| 's' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
't' -> if ( (((&&)) ((((<=)) ((((+)) (input) (6))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('u'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('c'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('t'))) (true)))))))))) ) then ( Some(((((+)) (input) (6)), "struct")) ) else ( None )
| 'i' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('g'))) (true)))) ) then ( Some(((((+)) (input) (3)), "sig")) ) else ( None )
| _ -> None) ) else ( None )
| 'r' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('c'))) (true)))))) ) then ( Some(((((+)) (input) (3)), "rec")) ) else ( None )
| 'p' -> if ( (((&&)) ((((<=)) ((((+)) (input) (7))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('v'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('e'))) (true)))))))))))))) ) then ( Some(((((+)) (input) (7)), "private")) ) else ( None )
| 'o' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'r' -> Some(((((+)) (input) (2)), "or"))
| 'p' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('n'))) (true)))))) ) then ( Some(((((+)) (input) (4)), "open")) ) else ( None )
| 'f' -> Some(((((+)) (input) (2)), "of"))
| 'b' -> if ( (((&&)) ((((<=)) ((((+)) (input) (6))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('j'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('c'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('t'))) (true)))))))))) ) then ( Some(((((+)) (input) (6)), "object")) ) else ( None )
| _ -> None) ) else ( None )
| 'n' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('w'))) (true)))))) ) then ( Some(((((+)) (input) (3)), "new")) ) else ( None )
| 'm' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'u' -> if ( (((&&)) ((((<=)) ((((+)) (input) (7))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('b'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('l'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('e'))) (true)))))))))))) ) then ( Some(((((+)) (input) (7)), "mutable")) ) else ( None )
| 'o' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('d'))) (true)))) ) then ( if ( (((&&)) ((((<=)) ((((+)) (input) (6))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('u'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('l'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('e'))) (true)))))))) ) then ( Some(((((+)) (input) (6)), "module")) ) else ( Some(((((+)) (input) (3)), "mod")) ) ) else ( None )
| 'e' -> if ( (((&&)) ((((<=)) ((((+)) (input) (6))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('h'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('d'))) (true)))))))))) ) then ( Some(((((+)) (input) (6)), "method")) ) else ( None )
| 'a' -> if ( (((&&)) ((((<=)) ((((+)) (input) (5))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('c'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('h'))) (true)))))))) ) then ( Some(((((+)) (input) (5)), "match")) ) else ( None )
| _ -> None) ) else ( None )
| 'l' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'x' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('r'))) (true)))))) ) then ( Some(((((+)) (input) (4)), "lxor")) ) else ( None )
| 's' -> if ( (((<)) ((((+)) (input) (2))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (2)))) with
'r' -> Some(((((+)) (input) (3)), "lsr"))
| 'l' -> Some(((((+)) (input) (3)), "lsl"))
| _ -> None) ) else ( None )
| 'o' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('r'))) (true)))) ) then ( Some(((((+)) (input) (3)), "lor")) ) else ( None )
| 'e' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('t'))) (true)))) ) then ( Some(((((+)) (input) (3)), "let")) ) else ( None )
| 'a' -> if ( (((<)) ((((+)) (input) (2))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (2)))) with
'z' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('y'))) (true)))) ) then ( Some(((((+)) (input) (4)), "lazy")) ) else ( None )
| 'n' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('d'))) (true)))) ) then ( Some(((((+)) (input) (4)), "land")) ) else ( None )
| _ -> None) ) else ( None )
| _ -> None) ) else ( None )
| 'i' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'n' -> if ( (((<)) ((((+)) (input) (2))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (2)))) with
'i' -> if ( (((&&)) ((((<=)) ((((+)) (input) (11))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('l'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (7))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (8))))) ('z'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (9))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (10))))) ('r'))) (true)))))))))))))))))) ) then ( Some(((((+)) (input) (11)), "initializer")) ) else ( Some(((((+)) (input) (2)), "in")) )
| 'h' -> if ( (((&&)) ((((<=)) ((((+)) (input) (7))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('t'))) (true)))))))))) ) then ( Some(((((+)) (input) (7)), "inherit")) ) else ( Some(((((+)) (input) (2)), "in")) )
| 'c' -> if ( (((&&)) ((((<=)) ((((+)) (input) (7))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('l'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('u'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('d'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('e'))) (true)))))))))) ) then ( Some(((((+)) (input) (7)), "include")) ) else ( Some(((((+)) (input) (2)), "in")) )
| _ -> Some(((((+)) (input) (2)), "in"))) ) else ( Some(((((+)) (input) (2)), "in")) )
| 'f' -> Some(((((+)) (input) (2)), "if"))
| _ -> None) ) else ( None )
| 'f' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'u' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('n'))) (true)))) ) then ( if ( (((&&)) ((((<=)) ((((+)) (input) (5))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('c'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('t'))) (true)))))) ) then ( if ( (((<)) ((((+)) (input) (5))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (5)))) with
'o' -> if ( (((&&)) ((((<=)) ((((+)) (input) (7))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('r'))) (true)))) ) then ( Some(((((+)) (input) (7)), "functor")) ) else ( Some(((((+)) (input) (3)), "fun")) )
| 'i' -> if ( (((&&)) ((((<=)) ((((+)) (input) (8))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (7))))) ('n'))) (true)))))) ) then ( Some(((((+)) (input) (8)), "function")) ) else ( Some(((((+)) (input) (3)), "fun")) )
| _ -> Some(((((+)) (input) (3)), "fun"))) ) else ( Some(((((+)) (input) (3)), "fun")) ) ) else ( Some(((((+)) (input) (3)), "fun")) ) ) else ( None )
| 'o' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('r'))) (true)))) ) then ( Some(((((+)) (input) (3)), "for")) ) else ( None )
| 'a' -> if ( (((&&)) ((((<=)) ((((+)) (input) (5))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('l'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('s'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('e'))) (true)))))))) ) then ( Some(((((+)) (input) (5)), "false")) ) else ( None )
| _ -> None) ) else ( None )
| 'e' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'x' -> if ( (((<)) ((((+)) (input) (2))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (2)))) with
't' -> if ( (((&&)) ((((<=)) ((((+)) (input) (8))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('n'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (7))))) ('l'))) (true)))))))))))) ) then ( Some(((((+)) (input) (8)), "external")) ) else ( None )
| 'c' -> if ( (((&&)) ((((<=)) ((((+)) (input) (9))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('p'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (7))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (8))))) ('n'))) (true)))))))))))))) ) then ( Some(((((+)) (input) (9)), "exception")) ) else ( None )
| _ -> None) ) else ( None )
| 'n' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('d'))) (true)))) ) then ( Some(((((+)) (input) (3)), "end")) ) else ( None )
| 'l' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('s'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) (true)))))) ) then ( Some(((((+)) (input) (4)), "else")) ) else ( None )
| _ -> None) ) else ( None )
| 'd' -> if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('o'))) (true)))) ) then ( if ( (((<)) ((((+)) (input) (2))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (2)))) with
'w' -> if ( (((&&)) ((((<=)) ((((+)) (input) (6))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('n'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('o'))) (true)))))))) ) then ( Some(((((+)) (input) (6)), "downto")) ) else ( Some(((((+)) (input) (2)), "do")) )
| 'n' -> if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) (true)))) ) then ( Some(((((+)) (input) (4)), "done")) ) else ( Some(((((+)) (input) (2)), "do")) )
| _ -> Some(((((+)) (input) (2)), "do"))) ) else ( Some(((((+)) (input) (2)), "do")) ) ) else ( None )
| 'c' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'o' -> if ( (((&&)) ((((<=)) ((((+)) (input) (10))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('n'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('s'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (7))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (8))))) ('n'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (9))))) ('t'))) (true)))))))))))))))))) ) then ( Some(((((+)) (input) (10)), "constraint")) ) else ( None )
| 'l' -> if ( (((&&)) ((((<=)) ((((+)) (input) (5))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('s'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('s'))) (true)))))))) ) then ( Some(((((+)) (input) (5)), "class")) ) else ( None )
| _ -> None) ) else ( None )
| 'b' -> if ( (((&&)) ((((<=)) ((((+)) (input) (5))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('g'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('n'))) (true)))))))))) ) then ( Some(((((+)) (input) (5)), "begin")) ) else ( None )
| 'a' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
's' -> if ( (((<)) ((((+)) (input) (2))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (2)))) with
's' -> if ( (((&&)) ((((<=)) ((((+)) (input) (6))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('t'))) (true)))))))) ) then ( Some(((((+)) (input) (6)), "assert")) ) else ( Some(((((+)) (input) (2)), "as")) )
| 'r' -> Some(((((+)) (input) (3)), "asr"))
| _ -> Some(((((+)) (input) (2)), "as"))) ) else ( Some(((((+)) (input) (2)), "as")) )
| 'n' -> if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('d'))) (true)))) ) then ( Some(((((+)) (input) (3)), "and")) ) else ( None )
| _ -> None) ) else ( None )
| '`' -> Some(((((+)) (input) (1)), "`"))
| '_' -> Some(((((+)) (input) (1)), "_"))
| ']' -> Some(((((+)) (input) (1)), "]"))
| '[' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'|' -> Some(((((+)) (input) (2)), "[|"))
| '>' -> Some(((((+)) (input) (2)), "[>"))
| '<' -> Some(((((+)) (input) (2)), "[<"))
| _ -> Some(((((+)) (input) (1)), "["))) ) else ( Some(((((+)) (input) (1)), "[")) )
| '?' -> if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('?'))) (true)))) ) then ( Some(((((+)) (input) (2)), "??")) ) else ( Some(((((+)) (input) (1)), "?")) )
| '>' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'}' -> Some(((((+)) (input) (2)), ">}"))
| ']' -> Some(((((+)) (input) (2)), ">]"))
| _ -> Some(((((+)) (input) (1)), ">"))) ) else ( Some(((((+)) (input) (1)), ">")) )
| '=' -> Some(((((+)) (input) (1)), "="))
| '<' -> if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('-'))) (true)))) ) then ( Some(((((+)) (input) (2)), "<-")) ) else ( Some(((((+)) (input) (1)), "<")) )
| ';' -> if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) (';'))) (true)))) ) then ( Some(((((+)) (input) (2)), ";;")) ) else ( Some(((((+)) (input) (1)), ";")) )
| ':' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'>' -> Some(((((+)) (input) (2)), ":>"))
| '=' -> Some(((((+)) (input) (2)), ":="))
| ':' -> Some(((((+)) (input) (2)), "::"))
| _ -> Some(((((+)) (input) (1)), ":"))) ) else ( Some(((((+)) (input) (1)), ":")) )
| '.' -> if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('.'))) (true)))) ) then ( Some(((((+)) (input) (2)), "..")) ) else ( Some(((((+)) (input) (1)), ".")) )
| '-' -> if ( (((<)) ((((+)) (input) (1))) (_len)) ) then ( (match ((_get_char) ((((+)) (input) (1)))) with
'>' -> Some(((((+)) (input) (2)), "->"))
| '.' -> Some(((((+)) (input) (2)), "-."))
| _ -> Some(((((+)) (input) (1)), "-"))) ) else ( Some(((((+)) (input) (1)), "-")) )
| ',' -> Some(((((+)) (input) (1)), ","))
| '+' -> Some(((((+)) (input) (1)), "+"))
| '*' -> Some(((((+)) (input) (1)), "*"))
| ')' -> Some(((((+)) (input) (1)), ")"))
| '(' -> Some(((((+)) (input) (1)), "("))
| '\'' -> Some(((((+)) (input) (1)), "'"))
| '&' -> if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('&'))) (true)))) ) then ( Some(((((+)) (input) (2)), "&&")) ) else ( Some(((((+)) (input) (1)), "&")) )
| '#' -> Some(((((+)) (input) (1)), "#"))
| _ -> None) ) else ( None ) in
(Hashtbl.add (memo_Ocaml_keywords_KEYWORDS) (input) (res)) ; res)
)
let rec try_Ocaml_parser_mlIdent_cont_noerr =
#50 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((||)) ((((&&)) ((((>=)) (c) ('a'))) ((((<=)) (c) ('z'))))) ((((||)) ((((&&)) ((((>=)) (c) ('A'))) ((((<=)) (c) ('Z'))))) ((((||)) ((((=)) (c) ('_'))) ((((||)) ((((&&)) ((((>=)) (c) ('0'))) ((((<=)) (c) ('9'))))) ((((=)) (c) ('\'')))))))))) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ))
let rec try_Ocaml_parser_mlIdent_aux__noerr =
#51 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_mlIdent_aux_) (input))
) with
Not_found -> let res = (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((||)) ((((&&)) ((((>=)) (c) ('a'))) ((((<=)) (c) ('z'))))) ((((=)) (c) ('_')))) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_304, __1 ) ) -> (match (Trx_runtime.while_primary_noerr_nores (false) ((fun input_306 -> (try_Ocaml_parser_mlIdent_cont_noerr (_filename) (_text) (input_306)))) (input_304)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_305, __2 ) ) -> Some((input_305, (_get_sub (input) ((((-)) (input_305) (input)))))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_303, __1 ) ) -> Some((input_303,
#51 "ocaml_parser.trx"
( __1 )))) in
(Hashtbl.add (memo_Ocaml_parser_mlIdent_aux_) (input) (res)) ; res)
)
let rec try_Ocaml_parser_mlIdent__noerr =
#56 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_mlIdent_) (input))
) with
Not_found -> let res = (match (match (try_Ocaml_keywords_KEYWORDS_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_311, __1 ) ) -> (match (try_Ocaml_parser_mlIdent_cont_noerr (_filename) (_text) (input_311)) with
None -> let input_312 = input_311 in
let __2 = () in
Some((input_312, __1))
| Some ( ( _, _ ) ) -> None)) with
None -> let input_309 = input in
let __1 = () in
(match (try_Ocaml_parser_mlIdent_aux__noerr (_filename) (_text) (input_309)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_310, __2 ) ) -> Some((input_310,
#56 "ocaml_parser.trx"
( __2 ))))
| Some ( ( _, _ ) ) -> None) in
(Hashtbl.add (memo_Ocaml_parser_mlIdent_) (input) (res)) ; res)
)
let rec try_Ocaml_parser_mlIdent_aux_noerr =
#52 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_mlIdent_aux) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_mlIdent_aux__noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_307, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_307)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_308, __2 ) ) -> Some((input_308,
#52 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_mlIdent_aux) (input) (res)) ; res)
)
let rec try_Ocaml_parser_mlIdent_noerr =
#53 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_mlIdent) (input))
) with
Not_found -> let res = (match (match (match (try_Ocaml_keywords_KEYWORDS_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_321, __1 ) ) -> (match (try_Ocaml_parser_mlIdent_cont_noerr (_filename) (_text) (input_321)) with
None -> let input_322 = input_321 in
let __2 = () in
Some((input_322, __1))
| Some ( ( _, _ ) ) -> None)) with
None -> let input_319 = input in
let __1 = () in
(match (try_Ocaml_parser_mlIdent_aux_noerr (_filename) (_text) (input_319)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_320, __2 ) ) -> Some((input_320,
#53 "ocaml_parser.trx"
( __2 ))))
| Some ( ( _, _ ) ) -> None) with
None -> (match (try_Default_lparen_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_313, __1 ) ) -> (match (match if ( (((<)) (input_313) (_len)) ) then ( let c = ((_get_char) (input_313)) in
if ( (((||)) ((((=)) (c) ('!'))) ((((||)) ((((=)) (c) ('$'))) ((((||)) ((((=)) (c) ('%'))) ((((||)) ((((=)) (c) ('&'))) ((((||)) ((((=)) (c) ('*'))) ((((||)) ((((&&)) ((((>=)) (c) ('+'))) ((((<=)) (c) ('.'))))) ((((||)) ((((=)) (c) ('/'))) ((((||)) ((((=)) (c) (':'))) ((((||)) ((((=)) (c) ('<'))) ((((||)) ((((=)) (c) ('='))) ((((||)) ((((=)) (c) ('>'))) ((((||)) ((((=)) (c) ('?'))) ((((||)) ((((=)) (c) ('@'))) ((((||)) ((((=)) (c) ('^'))) ((((||)) ((((=)) (c) ('|'))) ((((=)) (c) ('~')))))))))))))))))))))))))))))))) ) then ( Some((((succ) (input_313)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_316, __1 ) ) -> (match (Trx_runtime.while_primary_noerr_nores (false) ((fun input_318 -> if ( (((<)) (input_318) (_len)) ) then ( let c = ((_get_char) (input_318)) in
if ( (((||)) ((((=)) (c) ('!'))) ((((||)) ((((=)) (c) ('$'))) ((((||)) ((((=)) (c) ('%'))) ((((||)) ((((=)) (c) ('&'))) ((((||)) ((((=)) (c) ('*'))) ((((||)) ((((&&)) ((((>=)) (c) ('+'))) ((((<=)) (c) ('.'))))) ((((||)) ((((=)) (c) ('/'))) ((((||)) ((((=)) (c) (':'))) ((((||)) ((((=)) (c) ('<'))) ((((||)) ((((=)) (c) ('='))) ((((||)) ((((=)) (c) ('>'))) ((((||)) ((((=)) (c) ('?'))) ((((||)) ((((=)) (c) ('@'))) ((((||)) ((((=)) (c) ('^'))) ((((||)) ((((=)) (c) ('|'))) ((((=)) (c) ('~')))))))))))))))))))))))))))))))) ) then ( Some((((succ) (input_318)), c)) ) else ( None ) ) else ( None ))) (input_316)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_317, __2 ) ) -> Some((input_317, (_get_sub (input_313) ((((-)) (input_317) (input_313)))))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_314, __2 ) ) -> (match (try_Default_rparen_noerr (_filename) (_text) (input_314)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_315, __3 ) ) -> Some((input_315,
#55 "ocaml_parser.trx"
( sprintf "(%s)" __2 ))))))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_parser_mlIdent) (input) (res)) ; res)
)
let rec try_Default_laccol_noerr =
#65 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_laccol) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('{')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_894, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_894)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_895, __2 ) ) -> Some((input_895, ( () ))))) in
(Hashtbl.add (memo_Default_laccol) (input) (res)) ; res)
)
let rec try_Default_lbracket_noerr =
#71 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_lbracket) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('[')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_892, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_892)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_893, __2 ) ) -> Some((input_893, ( () ))))) in
(Hashtbl.add (memo_Default_lbracket) (input) (res)) ; res)
)
let rec try_Default_raccol_noerr =
#66 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_raccol) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('}')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_849, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_849)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_850, __2 ) ) -> Some((input_850, ( () ))))) in
(Hashtbl.add (memo_Default_raccol) (input) (res)) ; res)
)
let rec try_Default_rbracket_noerr =
#72 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_rbracket) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) (']')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_847, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_847)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_848, __2 ) ) -> Some((input_848, ( () ))))) in
(Hashtbl.add (memo_Default_rbracket) (input) (res)) ; res)
)
let rec try_Default_underscore_noerr =
#82 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_underscore) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('_')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_760, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_760)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_761, __2 ) ) -> Some((input_761, ( () ))))) in
(Hashtbl.add (memo_Default_underscore) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_AS_noerr =
#51 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_AS) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('s'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "as")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_754, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_754)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_755, __2 ) ) -> Some((input_755, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_AS) (input) (res)) ; res)
)
let rec try_Default_stringcharspecial_noerr =
#33 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_stringcharspecial) (input))
) with
Not_found -> let res = (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('n')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_795, __1 ) ) -> Some((input_795,
#34 "default.trx"
( '\n' )))) with
None -> (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('r')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_794, __1 ) ) -> Some((input_794,
#34 "default.trx"
( '\r' )))) with
None -> (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('t')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_793, __1 ) ) -> Some((input_793,
#34 "default.trx"
( '\t' )))) with
None -> (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('\'')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_792, __1 ) ) -> Some((input_792,
#35 "default.trx"
( '\'' )))) with
None -> (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('"')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_791, __1 ) ) -> Some((input_791,
#35 "default.trx"
( '\"' )))) with
None -> (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('\\')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_790, __1 ) ) -> Some((input_790,
#35 "default.trx"
( '\\' )))) with
None -> (match (Trx_runtime.while_primary_noerr (true) ((fun input_789 -> if ( (((<)) (input_789) (_len)) ) then ( let c = ((_get_char) (input_789)) in
if ( (((&&)) ((((>=)) (c) ('0'))) ((((<=)) (c) ('9')))) ) then ( Some((((succ) (input_789)), c)) ) else ( None ) ) else ( None ))) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_788, __1 ) ) -> Some((input_788,
#36 "default.trx"
( char_of_int (Tgrammar.int_of_chars __1) ))))
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Default_stringcharspecial) (input) (res)) ; res)
)
let rec try_Default_singlequotechar__noerr =
#40 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_singlequotechar_) (input))
) with
Not_found -> let res = (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('\\')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_832, __1 ) ) -> (match (try_Default_stringcharspecial_noerr (_filename) (_text) (input_832)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_833, __2 ) ) -> Some((input_833,
#41 "default.trx"
( __2 ))))) with
None -> (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((||)) ((((=)) (c) ('\\'))) ((((=)) (c) ('\'')))) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
None -> let input_830 = input in
let __1 = () in
if ( (((<)) (input_830) (_len)) ) then ( let c = ((_get_char) (input_830)) in
Some((((succ) (input_830)), c)) ) else ( None )
| Some ( ( _, _ ) ) -> None)
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Default_singlequotechar_) (input) (res)) ; res)
)
let rec try_Default_charsinglequote_noerr =
#46 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_charsinglequote) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('\'')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_926, __1 ) ) -> (match (try_Default_singlequotechar__noerr (_filename) (_text) (input_926)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_927, __2 ) ) -> (match if ( (((<)) (input_927) (_len)) ) then ( let c = ((_get_char) (input_927)) in
if ( (((=)) (c) ('\'')) ) then ( Some((((succ) (input_927)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_928, __3 ) ) -> Some((input_928,
#46 "default.trx"
( __2 )))))) in
(Hashtbl.add (memo_Default_charsinglequote) (input) (res)) ; res)
)
let rec try_Default_strfloat_noerr =
#97 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_strfloat) (input))
) with
Not_found -> let res = (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('-')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
None -> Some((input, None))
| Some ( ( input_814, r ) ) -> Some((input_814, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_802, __1 ) ) -> (match (match (match (Trx_runtime.while_primary_noerr_nores (true) ((fun input_813 -> if ( (((<)) (input_813) (_len)) ) then ( let c = ((_get_char) (input_813)) in
if ( (((&&)) ((((>=)) (c) ('0'))) ((((<=)) (c) ('9')))) ) then ( Some((((succ) (input_813)), c)) ) else ( None ) ) else ( None ))) (input_802)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_809, __1 ) ) -> (match if ( (((<)) (input_809) (_len)) ) then ( let c = ((_get_char) (input_809)) in
if ( (((=)) (c) ('.')) ) then ( Some((((succ) (input_809)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_810, __2 ) ) -> (match (Trx_runtime.while_primary_noerr_nores (false) ((fun input_812 -> if ( (((<)) (input_812) (_len)) ) then ( let c = ((_get_char) (input_812)) in
if ( (((&&)) ((((>=)) (c) ('0'))) ((((<=)) (c) ('9')))) ) then ( Some((((succ) (input_812)), c)) ) else ( None ) ) else ( None ))) (input_810)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_811, __3 ) ) -> Some((input_811, ()))))) with
None -> (match (Trx_runtime.while_primary_noerr_nores (false) ((fun input_808 -> if ( (((<)) (input_808) (_len)) ) then ( let c = ((_get_char) (input_808)) in
if ( (((&&)) ((((>=)) (c) ('0'))) ((((<=)) (c) ('9')))) ) then ( Some((((succ) (input_808)), c)) ) else ( None ) ) else ( None ))) (input_802)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_804, __1 ) ) -> (match if ( (((<)) (input_804) (_len)) ) then ( let c = ((_get_char) (input_804)) in
if ( (((=)) (c) ('.')) ) then ( Some((((succ) (input_804)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_805, __2 ) ) -> (match (Trx_runtime.while_primary_noerr_nores (true) ((fun input_807 -> if ( (((<)) (input_807) (_len)) ) then ( let c = ((_get_char) (input_807)) in
if ( (((&&)) ((((>=)) (c) ('0'))) ((((<=)) (c) ('9')))) ) then ( Some((((succ) (input_807)), c)) ) else ( None ) ) else ( None ))) (input_805)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_806, __3 ) ) -> Some((input_806, ())))))
| ( _ok ) as __pat_var -> __pat_var) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_803, __2 ) ) -> Some((input_803, (_get_sub (input) ((((-)) (input_803) (input)))))))) in
(Hashtbl.add (memo_Default_strfloat) (input) (res)) ; res)
)
let rec try_Default_float_noerr =
#98 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_float) (input))
) with
Not_found -> let res = (match (try_Default_strfloat_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_914, __1 ) ) -> Some((input_914,
#98 "default.trx"
( float_of_string __1 )))) in
(Hashtbl.add (memo_Default_float) (input) (res)) ; res)
)
let rec try_Default_strint_noerr =
#94 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_strint) (input))
) with
Not_found -> let res = (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('-')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
None -> Some((input, None))
| Some ( ( input_772, r ) ) -> Some((input_772, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_769, __1 ) ) -> (match (Trx_runtime.while_primary_noerr_nores (true) ((fun input_771 -> if ( (((<)) (input_771) (_len)) ) then ( let c = ((_get_char) (input_771)) in
if ( (((&&)) ((((>=)) (c) ('0'))) ((((<=)) (c) ('9')))) ) then ( Some((((succ) (input_771)), c)) ) else ( None ) ) else ( None ))) (input_769)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_770, __2 ) ) -> Some((input_770, (_get_sub (input) ((((-)) (input_770) (input)))))))) in
(Hashtbl.add (memo_Default_strint) (input) (res)) ; res)
)
let rec try_Default_int_noerr =
#95 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_int) (input))
) with
Not_found -> let res = (match (try_Default_strint_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_909, __1 ) ) -> Some((input_909,
#95 "default.trx"
( int_of_string __1 )))) in
(Hashtbl.add (memo_Default_int) (input) (res)) ; res)
)
let rec try_Default_stringchar_noerr =
#37 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_stringchar) (input))
) with
Not_found -> let res = (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('\\')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_798, __1 ) ) -> (match (try_Default_stringcharspecial_noerr (_filename) (_text) (input_798)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_799, __2 ) ) -> Some((input_799,
#38 "default.trx"
( __2 ))))) with
None -> (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((||)) ((((=)) (c) ('\\'))) ((((=)) (c) ('"')))) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
None -> let input_796 = input in
let __1 = () in
if ( (((<)) (input_796) (_len)) ) then ( let c = ((_get_char) (input_796)) in
Some((((succ) (input_796)), c)) ) else ( None )
| Some ( ( _, _ ) ) -> None)
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Default_stringchar) (input) (res)) ; res)
)
let rec try_Default_stringnosp_noerr =
#28 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_stringnosp) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('"')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_784, __1 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_787 -> (try_Default_stringchar_noerr (_filename) (_text) (input_787)))) (input_784)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_785, __2 ) ) -> (match if ( (((<)) (input_785) (_len)) ) then ( let c = ((_get_char) (input_785)) in
if ( (((=)) (c) ('"')) ) then ( Some((((succ) (input_785)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_786, __3 ) ) -> Some((input_786,
#28 "default.trx"
( Tgrammar.string_of_chars __2 )))))) in
(Hashtbl.add (memo_Default_stringnosp) (input) (res)) ; res)
)
let rec try_Default_string_noerr =
#27 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_string) (input))
) with
Not_found -> let res = (match (try_Default_stringnosp_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_800, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_800)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_801, __2 ) ) -> Some((input_801,
#27 "default.trx"
( __1 ))))) in
(Hashtbl.add (memo_Default_string) (input) (res)) ; res)
)
let rec try_Ocaml_parser_unit_noerr =
#38 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_unit) (input))
) with
Not_found -> let res = (match (try_Default_lparen_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_145, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_145)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_146, __2 ) ) -> (match (try_Default_rparen_noerr (_filename) (_text) (input_146)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_147, __3 ) ) -> Some((input_147, ( () )))))) in
(Hashtbl.add (memo_Ocaml_parser_unit) (input) (res)) ; res)
)
let rec try_Ocaml_parser_const_noerr =
#39 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_const) (input))
) with
Not_found -> let res = (match (match (try_Default_float_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_350, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_350)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_351, __2 ) ) -> Some((input_351,
#40 "ocaml_parser.trx"
( Float __1 ))))) with
None -> (match (match (try_Default_int_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_348, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_348)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_349, __2 ) ) -> Some((input_349,
#41 "ocaml_parser.trx"
( Int __1 ))))) with
None -> (match (match (try_Default_string_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_346, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_346)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_347, __2 ) ) -> Some((input_347,
#42 "ocaml_parser.trx"
( String __1 ))))) with
None -> (match (match (try_Default_charsinglequote_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_344, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_344)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_345, __2 ) ) -> Some((input_345,
#44 "ocaml_parser.trx"
( Char (__1) ))))) with
None -> (match (match (try_Ocaml_parser_unit_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_343, __1 ) ) -> Some((input_343,
#45 "ocaml_parser.trx"
( Unit )))) with
None -> (match (match if ( (((&&)) ((((<=)) ((((+)) (input) (5))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('f'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('l'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('s'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('e'))) (true)))))))))))) ) then ( Some(((((+)) (input) (5)), "false")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_341, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_341)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_342, __2 ) ) -> Some((input_342,
#46 "ocaml_parser.trx"
( Bool false ))))) with
None -> (match if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('u'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) (true)))))))))) ) then ( Some(((((+)) (input) (4)), "true")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_339, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_339)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_340, __2 ) ) -> Some((input_340,
#47 "ocaml_parser.trx"
( Bool true )))))
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_parser_const) (input) (res)) ; res)
)
let rec try_Ocaml_parser_capMlIdent__noerr =
#116 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_capMlIdent_) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((||)) ((((=)) (c) ('`'))) ((((&&)) ((((>=)) (c) ('A'))) ((((<=)) (c) ('Z')))))) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_353, __1 ) ) -> (match (Trx_runtime.while_primary_noerr_nores (false) ((fun input_355 -> (try_Ocaml_parser_mlIdent_cont_noerr (_filename) (_text) (input_355)))) (input_353)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_354, __2 ) ) -> Some((input_354, (_get_sub (input) ((((-)) (input_354) (input)))))))) in
(Hashtbl.add (memo_Ocaml_parser_capMlIdent_) (input) (res)) ; res)
)
let rec try_Ocaml_parser_constructorName_noerr =
#121 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_constructorName) (input))
) with
Not_found -> let res = (match (Trx_runtime.while_primary_noerr (false) ((fun input_336 -> (match (try_Ocaml_parser_capMlIdent__noerr (_filename) (_text) (input_336)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_337, __1 ) ) -> (match if ( (((<)) (input_337) (_len)) ) then ( let c = ((_get_char) (input_337)) in
if ( (((=)) (c) ('.')) ) then ( Some((((succ) (input_337)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_338, __2 ) ) -> Some((input_338,
#121 "ocaml_parser.trx"
( __1 ))))))) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_332, __1 ) ) -> (match (try_Ocaml_parser_capMlIdent__noerr (_filename) (_text) (input_332)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_333, __2 ) ) -> (match if ( (((<)) (input_333) (_len)) ) then ( let c = ((_get_char) (input_333)) in
if ( (((=)) (c) ('.')) ) then ( Some((((succ) (input_333)), c)) ) else ( None ) ) else ( None ) with
None -> let input_334 = input_333 in
let __3 = () in
(match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_334)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_335, __4 ) ) -> Some((input_335,
#121 "ocaml_parser.trx"
( __1 @ [__2] ))))
| Some ( ( _, _ ) ) -> None))) in
(Hashtbl.add (memo_Ocaml_parser_constructorName) (input) (res)) ; res)
)
let rec try_Ocaml_types_spacing_noerr =
#19 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_spacing) (input))
) with
Not_found -> let res = (match (Trx_runtime.while_primary_noerr_nores (false) ((fun input_123 -> (match (match (try_Default_space_noerr (_filename) (_text) (input_123)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_125, __1 ) ) -> Some((input_125, ( () )))) with
None -> (try_Default_mlcomment_noerr (_filename) (_text) (input_123))
| ( _ok ) as __pat_var -> __pat_var))) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_122, __1 ) ) -> Some((input_122, ( () )))) in
(Hashtbl.add (memo_Ocaml_types_spacing) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_OF_noerr =
#50 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_OF) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('f'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "of")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_714, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_714)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_715, __2 ) ) -> Some((input_715, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_OF) (input) (res)) ; res)
)
let rec try_Ocaml_types_typeIdent_cont_noerr =
#30 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((||)) ((((&&)) ((((>=)) (c) ('a'))) ((((<=)) (c) ('z'))))) ((((||)) ((((&&)) ((((>=)) (c) ('A'))) ((((<=)) (c) ('Z'))))) ((((||)) ((((&&)) ((((>=)) (c) ('0'))) ((((<=)) (c) ('9'))))) ((((=)) (c) ('_')))))))) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ))
let rec try_Ocaml_types_typeconstructor_noerr =
#33 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typeconstructor) (input))
) with
Not_found -> let res = (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((&&)) ((((>=)) (c) ('A'))) ((((<=)) (c) ('Z')))) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_88, __1 ) ) -> (match (Trx_runtime.while_primary_noerr_nores (false) ((fun input_90 -> (try_Ocaml_types_typeIdent_cont_noerr (_filename) (_text) (input_90)))) (input_88)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_89, __2 ) ) -> Some((input_89, (_get_sub (input) ((((-)) (input_89) (input)))))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_86, __1 ) ) -> (match (try_Ocaml_types_spacing_noerr (_filename) (_text) (input_86)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_87, __2 ) ) -> Some((input_87,
#33 "ocaml_types.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_types_typeconstructor) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_MUTABLE_noerr =
#64 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_MUTABLE) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (7))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('m'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('u'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('b'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('l'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('e'))) (true)))))))))))))))) ) then ( Some(((((+)) (input) (7)), "mutable")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_716, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_716)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_717, __2 ) ) -> Some((input_717, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_MUTABLE) (input) (res)) ; res)
)
let rec try_Ocaml_types_typeIdent_aux_noerr =
#31 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typeIdent_aux) (input))
) with
Not_found -> let res = (match (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((&&)) ((((>=)) (c) ('a'))) ((((<=)) (c) ('z')))) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_108, __1 ) ) -> (match (Trx_runtime.while_primary_noerr_nores (false) ((fun input_110 -> (try_Ocaml_types_typeIdent_cont_noerr (_filename) (_text) (input_110)))) (input_108)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_109, __2 ) ) -> Some((input_109, (_get_sub (input) ((((-)) (input_109) (input)))))))) with
None -> (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('_')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_105, __1 ) ) -> (match (Trx_runtime.while_primary_noerr_nores (true) ((fun input_107 -> (try_Ocaml_types_typeIdent_cont_noerr (_filename) (_text) (input_107)))) (input_105)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_106, __2 ) ) -> Some((input_106, (_get_sub (input) ((((-)) (input_106) (input))))))))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_types_typeIdent_aux) (input) (res)) ; res)
)
let rec try_Ocaml_types_typeIdent_noerr =
#32 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typeIdent) (input))
) with
Not_found -> let res = (match (match (try_Ocaml_keywords_KEYWORDS_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_114, __1 ) ) -> (match (try_Ocaml_types_typeIdent_cont_noerr (_filename) (_text) (input_114)) with
None -> let input_115 = input_114 in
let __2 = () in
Some((input_115, __1))
| Some ( ( _, _ ) ) -> None)) with
None -> let input_111 = input in
let __1 = () in
(match (try_Ocaml_types_typeIdent_aux_noerr (_filename) (_text) (input_111)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_112, __2 ) ) -> (match (try_Ocaml_types_spacing_noerr (_filename) (_text) (input_112)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_113, __3 ) ) -> Some((input_113,
#32 "ocaml_types.trx"
( __2 )))))
| Some ( ( _, _ ) ) -> None) in
(Hashtbl.add (memo_Ocaml_types_typeIdent) (input) (res)) ; res)
)
let rec try_Ocaml_types_BoolT_noerr =
#28 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('b'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('l'))) (true)))))))))) ) then ( Some(((((+)) (input) (4)), "bool")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_144, __1 ) ) -> Some((input_144,
#28 "ocaml_types.trx"
( TypeBool )))))
let rec try_Ocaml_types_FloatT_noerr =
#25 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match if ( (((&&)) ((((<=)) ((((+)) (input) (5))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('f'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('l'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('t'))) (true)))))))))))) ) then ( Some(((((+)) (input) (5)), "float")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_143, __1 ) ) -> Some((input_143,
#25 "ocaml_types.trx"
( TypeFloat )))))
let rec try_Ocaml_types_Int64T_noerr =
#24 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match if ( (((&&)) ((((<=)) ((((+)) (input) (5))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('n'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('6'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('4'))) (true)))))))))))) ) then ( Some(((((+)) (input) (5)), "int64")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_142, __1 ) ) -> Some((input_142,
#24 "ocaml_types.trx"
( TypeInt64 )))))
let rec try_Ocaml_types_IntT_noerr =
#23 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('n'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('t'))) (true)))))))) ) then ( Some(((((+)) (input) (3)), "int")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_141, __1 ) ) -> Some((input_141,
#23 "ocaml_types.trx"
( TypeInt )))))
let rec try_Ocaml_types_StringT_noerr =
#26 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match if ( (((&&)) ((((<=)) ((((+)) (input) (6))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('s'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('n'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('g'))) (true)))))))))))))) ) then ( Some(((((+)) (input) (6)), "string")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_140, __1 ) ) -> Some((input_140,
#26 "ocaml_types.trx"
( TypeString )))))
let rec try_Ocaml_types_UnitT_noerr =
#27 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(match if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('u'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('n'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('t'))) (true)))))))))) ) then ( Some(((((+)) (input) (4)), "unit")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_139, __1 ) ) -> Some((input_139,
#27 "ocaml_types.trx"
( TypeUnit )))))
let rec try_Ocaml_types_typeconst_noerr =
#22 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typeconst) (input))
) with
Not_found -> let res = (match (match (try_Ocaml_types_IntT_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_types_Int64T_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_types_FloatT_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_types_StringT_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_types_UnitT_noerr (_filename) (_text) (input)) with
None -> (try_Ocaml_types_BoolT_noerr (_filename) (_text) (input))
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_91, __1 ) ) -> Some((input_91,
#22 "ocaml_types.trx"
( TypeConst __1 )))) in
(Hashtbl.add (memo_Ocaml_types_typeconst) (input) (res)) ; res)
)
let rec try_Ocaml_types_typename_noerr =
#35 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typename) (input))
) with
Not_found -> let res = (match (match (try_Ocaml_types_typeconstructor_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_37, __1 ) ) -> (match if ( (((<)) (input_37) (_len)) ) then ( let c = ((_get_char) (input_37)) in
if ( (((=)) (c) ('.')) ) then ( Some((((succ) (input_37)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_38, __2 ) ) -> (match (try_Ocaml_types_typename_noerr (_filename) (_text) (input_38)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_39, __3 ) ) -> Some((input_39,
#35 "ocaml_types.trx"
( __1 :: __3 )))))) with
None -> (match (try_Ocaml_types_typeIdent_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_36, __1 ) ) -> Some((input_36,
#36 "ocaml_types.trx"
( [__1] ))))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_types_typename) (input) (res)) ; res)
)
let rec try_Ocaml_types_typevar_noerr =
#34 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typevar) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('\'')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_15, __1 ) ) -> (match (try_Ocaml_types_typeIdent_noerr (_filename) (_text) (input_15)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_16, __2 ) ) -> Some((input_16,
#34 "ocaml_types.trx"
( TypeVar ("'" ^ __2) ))))) in
(Hashtbl.add (memo_Ocaml_types_typevar) (input) (res)) ; res)
)
let rec try_Ocaml_types_typevarorname_noerr =
#45 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typevarorname) (input))
) with
Not_found -> let res = (match (try_Ocaml_types_typevar_noerr (_filename) (_text) (input)) with
None -> (match (match (match (try_Ocaml_types_typeconst_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_12, __1 ) ) -> (match (try_Ocaml_types_typeIdent_cont_noerr (_filename) (_text) (input_12)) with
None -> let input_13 = input_12 in
let __2 = () in
Some((input_13, __1))
| Some ( ( _, _ ) ) -> None)) with
None -> let input_10 = input in
let __1 = () in
(match (try_Ocaml_types_typename_noerr (_filename) (_text) (input_10)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_11, __2 ) ) -> Some((input_11,
#45 "ocaml_types.trx"
( TypeName ([], __2) ))))
| Some ( ( _, _ ) ) -> None) with
None -> (match (try_Ocaml_types_typeconst_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_8, __1 ) ) -> (match (try_Ocaml_types_spacing_noerr (_filename) (_text) (input_8)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_9, __2 ) ) -> Some((input_9,
#45 "ocaml_types.trx"
( __1 )))))
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_types_typevarorname) (input) (res)) ; res)
)
let rec try_Ocaml_types_typedef_noerr =
#88 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typedef) (input))
) with
Not_found -> let res = (match (match (try_Ocaml_types_typedef_no_arrow_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_69, __1 ) ) -> (match (try_Default_rightarrow_noerr (_filename) (_text) (input_69)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_70, __2 ) ) -> (match (try_Ocaml_types_typedef_noerr (_filename) (_text) (input_70)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_71, __3 ) ) -> Some((input_71,
#89 "ocaml_types.trx"
( TypeArrow ( __1, __3) )))))) with
None -> (match (try_Ocaml_types_typedef_no_arrow_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_68, __1 ) ) -> Some((input_68,
#90 "ocaml_types.trx"
( __1 ))))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_types_typedef) (input) (res)) ; res)
)
and try_Ocaml_types_typedef_base_noerr =
#64 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typedef_base) (input))
) with
Not_found -> let res = (match (try_Ocaml_types_typeSum_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_types_typerecord_noerr (_filename) (_text) (input)) with
None -> (match (try_Ocaml_types_typevarorname_noerr (_filename) (_text) (input)) with
None -> (match (try_Default_lparen_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_58, __1 ) ) -> (match (try_Ocaml_types_typedef_noerr (_filename) (_text) (input_58)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_59, __2 ) ) -> (match (try_Default_rparen_noerr (_filename) (_text) (input_59)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_60, __3 ) ) -> Some((input_60,
#66 "ocaml_types.trx"
( __2 ))))))
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_types_typedef_base) (input) (res)) ; res)
)
and try_Ocaml_types_typerecord_aux_noerr =
#95 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typerecord_aux) (input))
) with
Not_found -> let res = (match (try_Ocaml_types_onetyperecord_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_17, __1 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_21 -> (match (try_Default_semi_noerr (_filename) (_text) (input_21)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_22, __1 ) ) -> (match (try_Ocaml_types_onetyperecord_noerr (_filename) (_text) (input_22)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_23, __2 ) ) -> Some((input_23,
#95 "ocaml_types.trx"
( __2 ))))))) (input_17)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_18, __2 ) ) -> (match (match (try_Default_semi_noerr (_filename) (_text) (input_18)) with
None -> Some((input_18, None))
| Some ( ( input_20, r ) ) -> Some((input_20, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_19, __3 ) ) -> Some((input_19,
#95 "ocaml_types.trx"
( __1 ::__2 )))))) in
(Hashtbl.add (memo_Ocaml_types_typerecord_aux) (input) (res)) ; res)
)
and try_Ocaml_types_typeparam_noerr =
#68 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typeparam) (input))
) with
Not_found -> let res = (match (match (try_Default_lparen_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_29, __1 ) ) -> (match (try_Ocaml_types_typedef_noerr (_filename) (_text) (input_29)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_30, __2 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_33 -> (match (try_Default_comma_noerr (_filename) (_text) (input_33)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_34, __1 ) ) -> (match (try_Ocaml_types_typedef_noerr (_filename) (_text) (input_34)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_35, __2 ) ) -> Some((input_35,
#69 "ocaml_types.trx"
( __2 ))))))) (input_30)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_31, __3 ) ) -> (match (try_Default_rparen_noerr (_filename) (_text) (input_31)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_32, __4 ) ) -> Some((input_32,
#69 "ocaml_types.trx"
( __2 :: __3 ))))))) with
None -> (match (try_Ocaml_types_typedef_base_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_28, __1 ) ) -> Some((input_28,
#70 "ocaml_types.trx"
( [__1] ))))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_types_typeparam) (input) (res)) ; res)
)
and try_Ocaml_types_typeSum_noerr =
#97 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typeSum) (input))
) with
Not_found -> let res = (match (try_Ocaml_types_typeconstructor_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_98, __1 ) ) -> (match if ( (((<)) (input_98) (_len)) ) then ( let c = ((_get_char) (input_98)) in
if ( (((=)) (c) ('.')) ) then ( Some((((succ) (input_98)), c)) ) else ( None ) ) else ( None ) with
None -> let input_99 = input_98 in
let __2 = () in
(match (match (match (try_Ocaml_keywords_OF_noerr (_filename) (_text) (input_99)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_101, __1 ) ) -> (match (try_Ocaml_types_typedef_noerr (_filename) (_text) (input_101)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_102, __2 ) ) -> Some((input_102,
#97 "ocaml_types.trx"
( __2 ))))) with
None -> Some((input_99, None))
| Some ( ( input_103, r ) ) -> Some((input_103, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_100, __3 ) ) -> Some((input_100,
#97 "ocaml_types.trx"
( TypeConstructor [__1, __3] ))))
| Some ( ( _, _ ) ) -> None)) in
(Hashtbl.add (memo_Ocaml_types_typeSum) (input) (res)) ; res)
)
and try_Ocaml_types_typedef_no_arrow_noerr =
#81 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typedef_no_arrow) (input))
) with
Not_found -> let res = (match (try_Ocaml_types_typedef_aux_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_52, __1 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_54 -> (match if ( (((<)) (input_54) (_len)) ) then ( let c = ((_get_char) (input_54)) in
if ( (((=)) (c) ('*')) ) then ( Some((((succ) (input_54)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_55, __1 ) ) -> (match (try_Ocaml_types_spacing_noerr (_filename) (_text) (input_55)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_56, __2 ) ) -> (match (try_Ocaml_types_typedef_aux_noerr (_filename) (_text) (input_56)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_57, __3 ) ) -> Some((input_57,
#81 "ocaml_types.trx"
( __3 )))))))) (input_52)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_53, __2 ) ) -> Some((input_53,
#81 "ocaml_types.trx"
( match (__1::__2) with
| [] -> failwith "@Ocaml_types.typedef_no_arrow : empty type tuple"
| [td] -> td
| tdl -> TypeTuple tdl
))))) in
(Hashtbl.add (memo_Ocaml_types_typedef_no_arrow) (input) (res)) ; res)
)
and try_Ocaml_types_onetyperecord_noerr =
#94 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_onetyperecord) (input))
) with
Not_found -> let res = (match (match (try_Ocaml_keywords_MUTABLE_noerr (_filename) (_text) (input)) with
None -> Some((input, None))
| Some ( ( input_130, r ) ) -> Some((input_130, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_126, __1 ) ) -> (match (try_Ocaml_types_typeIdent_noerr (_filename) (_text) (input_126)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_127, __2 ) ) -> (match (try_Default_colon_noerr (_filename) (_text) (input_127)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_128, __3 ) ) -> (match (try_Ocaml_types_typedef_noerr (_filename) (_text) (input_128)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_129, __4 ) ) -> Some((input_129,
#94 "ocaml_types.trx"
( (match __1 with None -> false | _ -> true), __2, __4 ))))))) in
(Hashtbl.add (memo_Ocaml_types_onetyperecord) (input) (res)) ; res)
)
and try_Ocaml_types_typedef_aux_noerr =
#72 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typedef_aux) (input))
) with
Not_found -> let res = (match (match (try_Ocaml_types_typeparam_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_65, __1 ) ) -> (match (Trx_runtime.while_primary_noerr (true) ((fun input_67 -> (try_Ocaml_types_typename_noerr (_filename) (_text) (input_67)))) (input_65)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_66, __2 ) ) -> Some((input_66,
#73 "ocaml_types.trx"
( match __2 with
| hd :: tl ->
List.fold_left (fun acc x -> TypeName ([acc], x)) (TypeName (__1, hd)) tl
| _ -> assert false
))))) with
None -> (try_Ocaml_types_typedef_base_noerr (_filename) (_text) (input))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_types_typedef_aux) (input) (res)) ; res)
)
and try_Ocaml_types_typerecord_noerr =
#101 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typerecord) (input))
) with
Not_found -> let res = (match (try_Default_laccol_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_24, __1 ) ) -> (match (match (try_Ocaml_types_typerecord_aux_noerr (_filename) (_text) (input_24)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_27, __1 ) ) -> Some((input_27,
#101 "ocaml_types.trx"
( TypeRecord __1 )))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_25, __2 ) ) -> (match (try_Default_raccol_noerr (_filename) (_text) (input_25)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_26, __3 ) ) -> Some((input_26,
#100 "ocaml_types.trx"
( __2 )))))) in
(Hashtbl.add (memo_Ocaml_types_typerecord) (input) (res)) ; res)
)
let rec try_Ocaml_parser_type_noerr =
#123 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_type) (input))
) with
Not_found -> let res = (try_Ocaml_types_typedef_noerr (_filename) (_text) (input)) in
(Hashtbl.add (memo_Ocaml_parser_type) (input) (res)) ; res)
)
let rec try_Ocaml_parser_pattern_aux_noerr =
#178 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_pattern_aux) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_pattern_aux_l_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_211, __1 ) ) -> Some((input_211,
#179 "ocaml_parser.trx"
( match __1 with
| [t] -> t
| _ -> PatTuple __1
)))) in
(Hashtbl.add (memo_Ocaml_parser_pattern_aux) (input) (res)) ; res)
)
and try_Ocaml_parser_pattern_cons_noerr =
#164 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_pattern_cons) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_pattern_aux_aux_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_153, __1 ) ) -> (match (match (match (try_Ocaml_keywords_CONS_noerr (_filename) (_text) (input_153)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_155, __1 ) ) -> (match (try_Ocaml_parser_pattern_cons_noerr (_filename) (_text) (input_155)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_156, __2 ) ) -> Some((input_156,
#164 "ocaml_parser.trx"
( __2 ))))) with
None -> Some((input_153, None))
| Some ( ( input_157, r ) ) -> Some((input_157, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_154, __2 ) ) -> Some((input_154,
#165 "ocaml_parser.trx"
( match __2 with
| None -> __1
| Some x -> PatList (__1, x)
))))) in
(Hashtbl.add (memo_Ocaml_parser_pattern_cons) (input) (res)) ; res)
)
and try_Ocaml_parser_pattern_aux_aux_noerr =
#127 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_pattern_aux_aux) (input))
) with
Not_found -> let res = (match (match (match (try_Ocaml_parser_mlIdent_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_210, __1 ) ) -> Some((input_210,
#129 "ocaml_parser.trx"
( PatVar (Ident.source __1) )))) with
None -> (match (match (try_Default_lparen_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_203, __1 ) ) -> (match (try_Ocaml_parser_pattern_aux_noerr (_filename) (_text) (input_203)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_204, __2 ) ) -> (match (match (match (try_Default_colon_noerr (_filename) (_text) (input_204)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_207, __1 ) ) -> (match (try_Ocaml_parser_type_noerr (_filename) (_text) (input_207)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_208, __2 ) ) -> Some((input_208, ())))) with
None -> Some((input_204, None))
| Some ( ( input_209, r ) ) -> Some((input_209, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_205, __3 ) ) -> (match (try_Default_rparen_noerr (_filename) (_text) (input_205)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_206, __4 ) ) -> Some((input_206,
#131 "ocaml_parser.trx"
( __2 ))))))) with
None -> (match (match (try_Default_underscore_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_202, __1 ) ) -> Some((input_202,
#133 "ocaml_parser.trx"
( PatAny )))) with
None -> (match (match (try_Ocaml_parser_const_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_201, __1 ) ) -> Some((input_201,
#135 "ocaml_parser.trx"
( PatConst __1 )))) with
None -> (match (match (try_Default_laccol_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_188, __1 ) ) -> (match (try_Ocaml_parser_mlIdent_noerr (_filename) (_text) (input_188)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_189, __2 ) ) -> (match (try_Default_equal_noerr (_filename) (_text) (input_189)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_190, __3 ) ) -> (match (try_Ocaml_parser_pattern_aux_noerr (_filename) (_text) (input_190)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_191, __4 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_196 -> (match (try_Default_semi_noerr (_filename) (_text) (input_196)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_197, __1 ) ) -> (match (try_Ocaml_parser_mlIdent_noerr (_filename) (_text) (input_197)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_198, __2 ) ) -> (match (try_Default_equal_noerr (_filename) (_text) (input_198)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_199, __3 ) ) -> (match (try_Ocaml_parser_pattern_aux_noerr (_filename) (_text) (input_199)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_200, __4 ) ) -> Some((input_200,
#137 "ocaml_parser.trx"
( __2, __4 ))))))))) (input_191)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_192, __5 ) ) -> (match (match (try_Default_semi_noerr (_filename) (_text) (input_192)) with
None -> Some((input_192, None))
| Some ( ( input_195, r ) ) -> Some((input_195, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_193, __6 ) ) -> (match (try_Default_raccol_noerr (_filename) (_text) (input_193)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_194, __7 ) ) -> Some((input_194,
#138 "ocaml_parser.trx"
( PatRecord ((__2, __4)::__5)
)))))))))) with
None -> (match (match (try_Default_lbracket_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_179, __1 ) ) -> (match (match (match (try_Ocaml_parser_pattern_aux_noerr (_filename) (_text) (input_179)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_182, __1 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_184 -> (match (try_Default_semi_noerr (_filename) (_text) (input_184)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_185, __1 ) ) -> (match (try_Ocaml_parser_pattern_aux_noerr (_filename) (_text) (input_185)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_186, __2 ) ) -> Some((input_186,
#142 "ocaml_parser.trx"
( __2 ))))))) (input_182)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_183, __2 ) ) -> Some((input_183,
#142 "ocaml_parser.trx"
( __1, __2 ))))) with
None -> Some((input_179, None))
| Some ( ( input_187, r ) ) -> Some((input_187, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_180, __2 ) ) -> (match (try_Default_rbracket_noerr (_filename) (_text) (input_180)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_181, __3 ) ) -> Some((input_181,
#143 "ocaml_parser.trx"
( match __2 with
| None -> PatEmptyList
| Some (a, l) ->
PatList (a, List.fold_right (fun e accu -> PatList (e, accu)) l PatEmptyList)
)))))) with
None -> (match (match (try_Ocaml_parser_constructorName_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_171, __1 ) ) -> (match (try_Default_lparen_noerr (_filename) (_text) (input_171)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_172, __2 ) ) -> (match (try_Ocaml_parser_pattern_cons_noerr (_filename) (_text) (input_172)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_173, __3 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_176 -> (match (try_Default_comma_noerr (_filename) (_text) (input_176)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_177, __1 ) ) -> (match (try_Ocaml_parser_pattern_cons_noerr (_filename) (_text) (input_177)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_178, __2 ) ) -> Some((input_178,
#150 "ocaml_parser.trx"
( __2 ))))))) (input_173)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_174, __4 ) ) -> (match (try_Default_rparen_noerr (_filename) (_text) (input_174)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_175, __5 ) ) -> Some((input_175,
#151 "ocaml_parser.trx"
( PatConstructor (List.map Ident.source __1, __3::__4)
)))))))) with
None -> (match (try_Ocaml_parser_constructorName_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_168, __1 ) ) -> (match (match (try_Ocaml_parser_pattern_cons_noerr (_filename) (_text) (input_168)) with
None -> Some((input_168, None))
| Some ( ( input_170, r ) ) -> Some((input_170, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_169, __2 ) ) -> Some((input_169,
#156 "ocaml_parser.trx"
( PatConstructor (List.map Ident.source __1, match __2 with Some x -> [x] | None -> [])
)))))
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_163, __1 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_165 -> (match (try_Ocaml_keywords_AS_noerr (_filename) (_text) (input_165)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_166, __1 ) ) -> (match (try_Ocaml_parser_mlIdent_noerr (_filename) (_text) (input_166)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_167, __2 ) ) -> Some((input_167,
#159 "ocaml_parser.trx"
( __2 ))))))) (input_163)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_164, __2 ) ) -> Some((input_164,
#160 "ocaml_parser.trx"
( List.fold_left (fun accu e -> PatAs (accu, Ident.source e)) __1 __2
))))) in
(Hashtbl.add (memo_Ocaml_parser_pattern_aux_aux) (input) (res)) ; res)
)
and try_Ocaml_parser_pattern_aux_l_noerr =
#171 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_pattern_aux_l) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_pattern_cons_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_158, __1 ) ) -> (match (match (match (try_Default_comma_noerr (_filename) (_text) (input_158)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_160, __1 ) ) -> (match (try_Ocaml_parser_pattern_aux_l_noerr (_filename) (_text) (input_160)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_161, __2 ) ) -> Some((input_161,
#171 "ocaml_parser.trx"
( __2 ))))) with
None -> Some((input_158, None))
| Some ( ( input_162, r ) ) -> Some((input_162, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_159, __2 ) ) -> Some((input_159,
#172 "ocaml_parser.trx"
( match __2 with
| None -> [__1]
| Some s -> __1::s
))))) in
(Hashtbl.add (memo_Ocaml_parser_pattern_aux_l) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_ASSERT_noerr =
#65 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_ASSERT) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (6))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('s'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('s'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('t'))) (true)))))))))))))) ) then ( Some(((((+)) (input) (6)), "assert")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_752, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_752)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_753, __2 ) ) -> Some((input_753, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_ASSERT) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_ELSE_noerr =
#73 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_ELSE) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('l'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('s'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) (true)))))))))) ) then ( Some(((((+)) (input) (4)), "else")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_740, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_740)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_741, __2 ) ) -> Some((input_741, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_ELSE) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_IF_noerr =
#71 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_IF) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('f'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "if")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_726, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_726)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_727, __2 ) ) -> Some((input_727, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_IF) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_THEN_noerr =
#72 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_THEN) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('h'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('n'))) (true)))))))))) ) then ( Some(((((+)) (input) (4)), "then")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_698, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_698)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_699, __2 ) ) -> Some((input_699, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_THEN) (input) (res)) ; res)
)
let rec try_Ocaml_parser_emptylist_noerr =
#37 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_emptylist) (input))
) with
Not_found -> let res = (match (try_Default_lbracket_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_326, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_326)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_327, __2 ) ) -> (match (try_Default_rbracket_noerr (_filename) (_text) (input_327)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_328, __3 ) ) -> Some((input_328,
#37 "ocaml_parser.trx"
( EmptyList )))))) in
(Hashtbl.add (memo_Ocaml_parser_emptylist) (input) (res)) ; res)
)
let rec try_Ocaml_parser_EmptyList_noerr =
#226 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_EmptyList) (input))
) with
Not_found -> let res = (try_Ocaml_parser_emptylist_noerr (_filename) (_text) (input)) in
(Hashtbl.add (memo_Ocaml_parser_EmptyList) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_EXCEPTION_noerr =
#61 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_EXCEPTION) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (9))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('x'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('c'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('p'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (6))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (7))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (8))))) ('n'))) (true)))))))))))))))))))) ) then ( Some(((((+)) (input) (9)), "exception")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_736, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_736)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_737, __2 ) ) -> Some((input_737, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_EXCEPTION) (input) (res)) ; res)
)
let rec try_Ocaml_parser_capMlIdent_noerr =
#117 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_capMlIdent) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_capMlIdent__noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_356, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_356)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_357, __2 ) ) -> Some((input_357,
#117 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_capMlIdent) (input) (res)) ; res)
)
let rec try_Ocaml_parser_Exception_noerr =
#280 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_Exception) (input))
) with
Not_found -> let res = (match (try_Ocaml_keywords_EXCEPTION_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_618, __1 ) ) -> (match (try_Ocaml_parser_capMlIdent_noerr (_filename) (_text) (input_618)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_619, __2 ) ) -> (match (match (match (try_Ocaml_keywords_OF_noerr (_filename) (_text) (input_619)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_621, __1 ) ) -> (match (try_Ocaml_parser_type_noerr (_filename) (_text) (input_621)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_622, __2 ) ) -> Some((input_622, ())))) with
None -> Some((input_619, None))
| Some ( ( input_623, r ) ) -> Some((input_623, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_620, __3 ) ) -> Some((input_620,
#280 "ocaml_parser.trx"
( Exception (__2, None) (* FIXME *) )))))) in
(Hashtbl.add (memo_Ocaml_parser_Exception) (input) (res)) ; res)
)
let rec try_Default_leftarrow_noerr =
#85 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_leftarrow) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('<'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('-'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "<-")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_890, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_890)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_891, __2 ) ) -> Some((input_891, ( () ))))) in
(Hashtbl.add (memo_Default_leftarrow) (input) (res)) ; res)
)
let rec try_Ocaml_parser_Const_noerr =
#218 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_Const) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_const_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_648, __1 ) ) -> Some((input_648,
#218 "ocaml_parser.trx"
( Const __1 )))) in
(Hashtbl.add (memo_Ocaml_parser_Const) (input) (res)) ; res)
)
let rec try_Default_dot_noerr =
#78 "default.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Default_dot) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('.')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_920, __1 ) ) -> (match (try_Default_spacing_noerr (_filename) (_text) (input_920)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_921, __2 ) ) -> Some((input_921, ( () ))))) in
(Hashtbl.add (memo_Default_dot) (input) (res)) ; res)
)
let rec try_Ocaml_parser_Dot_noerr =
#315 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_Dot) (input))
) with
Not_found -> let res = (match (try_Default_dot_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_625, __1 ) ) -> (match (match (Trx_runtime.while_primary_noerr (false) ((fun input_634 -> (match (try_Ocaml_parser_capMlIdent__noerr (_filename) (_text) (input_634)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_635, __1 ) ) -> (match if ( (((<)) (input_635) (_len)) ) then ( let c = ((_get_char) (input_635)) in
if ( (((=)) (c) ('.')) ) then ( Some((((succ) (input_635)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_636, __2 ) ) -> Some((input_636,
#315 "ocaml_parser.trx"
( __1 ))))))) (input_625)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_633, __1 ) ) -> Some((input_633,
#315 "ocaml_parser.trx"
( __1 )))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_626, __2 ) ) -> (match (match (match (try_Ocaml_parser_mlIdent_noerr (_filename) (_text) (input_626)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_632, __1 ) ) -> Some((input_632,
#315 "ocaml_parser.trx"
( `MlIdent __1 )))) with
None -> (match (try_Default_lparen_noerr (_filename) (_text) (input_626)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_628, __1 ) ) -> (match (try_Default_int_noerr (_filename) (_text) (input_628)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_629, __2 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_629)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_630, __3 ) ) -> (match (try_Default_rparen_noerr (_filename) (_text) (input_630)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_631, __4 ) ) -> Some((input_631,
#315 "ocaml_parser.trx"
( `Int __2 )))))))
| ( _ok ) as __pat_var -> __pat_var) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_627, __3 ) ) -> Some((input_627,
#315 "ocaml_parser.trx"
( match __3 with `MlIdent s ->
let tmp = String.concat_map "." (fun s -> s) __2 in
let tmp = if tmp = "" then "" else tmp ^ "." in
`MlIdent (tmp ^ s) | `Int i -> `Int i )))))) in
(Hashtbl.add (memo_Ocaml_parser_Dot) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_BEGIN_noerr =
#58 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_BEGIN) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (5))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('b'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('g'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('n'))) (true)))))))))))) ) then ( Some(((((+)) (input) (5)), "begin")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_750, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_750)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_751, __2 ) ) -> Some((input_751, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_BEGIN) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_END_noerr =
#56 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_END) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('n'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('d'))) (true)))))))) ) then ( Some(((((+)) (input) (3)), "end")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_738, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_738)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_739, __2 ) ) -> Some((input_739, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_END) (input) (res)) ; res)
)
let rec try_Ocaml_parser_RNameOpt_noerr =
#257 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_RNameOpt) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_mlIdent_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_407, __1 ) ) -> (match (try_Ocaml_keywords_WITH_noerr (_filename) (_text) (input_407)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_408, __2 ) ) -> Some((input_408,
#257 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_RNameOpt) (input) (res)) ; res)
)
let rec try_Ocaml_parser_moduleName__noerr =
#119 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_moduleName_) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_capMlIdent__noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_300, __1 ) ) -> Some((input_300,
#119 "ocaml_parser.trx"
( __1 )))) in
(Hashtbl.add (memo_Ocaml_parser_moduleName_) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_AND_noerr =
#49 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_AND) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('n'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('d'))) (true)))))))) ) then ( Some(((((+)) (input) (3)), "and")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_758, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_758)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_759, __2 ) ) -> Some((input_759, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_AND) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_IN_noerr =
#44 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_IN) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('n'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "in")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_724, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_724)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_725, __2 ) ) -> Some((input_725, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_IN) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_LET_noerr =
#42 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_LET) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('l'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('t'))) (true)))))))) ) then ( Some(((((+)) (input) (3)), "let")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_722, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_722)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_723, __2 ) ) -> Some((input_723, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_LET) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_REC_noerr =
#45 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_REC) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('c'))) (true)))))))) ) then ( Some(((((+)) (input) (3)), "rec")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_706, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_706)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_707, __2 ) ) -> Some((input_707, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_REC) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_REF_noerr =
#60 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_REF) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('f'))) (true)))))))) ) then ( Some(((((+)) (input) (3)), "ref")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_704, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_704)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_705, __2 ) ) -> Some((input_705, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_REF) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_MODULE_noerr =
#54 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_MODULE) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (6))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('m'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('d'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('u'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('l'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('e'))) (true)))))))))))))) ) then ( Some(((((+)) (input) (6)), "module")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_718, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_718)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_719, __2 ) ) -> Some((input_719, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_MODULE) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_STRUCT_noerr =
#55 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_STRUCT) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (6))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('s'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('u'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('c'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (5))))) ('t'))) (true)))))))))))))) ) then ( Some(((((+)) (input) (6)), "struct")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_700, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_700)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_701, __2 ) ) -> Some((input_701, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_STRUCT) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_TYPE_noerr =
#48 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_TYPE) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('y'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('p'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('e'))) (true)))))))))) ) then ( Some(((((+)) (input) (4)), "type")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_692, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_692)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_693, __2 ) ) -> Some((input_693, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_TYPE) (input) (res)) ; res)
)
let rec try_Ocaml_types_typedeflist_noerr =
#56 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typedeflist) (input))
) with
Not_found -> let res = (match (match (try_Default_bar_noerr (_filename) (_text) (input)) with
None -> Some((input, None))
| Some ( ( input_51, r ) ) -> Some((input_51, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_45, __1 ) ) -> (match (try_Ocaml_types_typedef_noerr (_filename) (_text) (input_45)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_46, __2 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_48 -> (match (try_Default_bar_noerr (_filename) (_text) (input_48)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_49, __1 ) ) -> (match (try_Ocaml_types_typedef_noerr (_filename) (_text) (input_49)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_50, __2 ) ) -> Some((input_50,
#56 "ocaml_types.trx"
( __2 ))))))) (input_46)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_47, __3 ) ) -> Some((input_47,
#56 "ocaml_types.trx"
( match __2, __3 with
| _, [] -> __2
| TypeConstructor l1, l2 ->
TypeConstructor ( l1 @ List.flatten (List.map (function | TypeConstructor l -> l | _ -> failwith "@Ocaml_types.typedeflist : must be a constructor") l2))
| _x, _xl -> failwith "@Ocaml_types.typedeflist : impossible"
)))))) in
(Hashtbl.add (memo_Ocaml_types_typedeflist) (input) (res)) ; res)
)
let rec try_Ocaml_types_typevars_noerr =
#43 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typevars) (input))
) with
Not_found -> let res = (match (match (try_Ocaml_types_typevar_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_7, __1 ) ) -> Some((input_7,
#43 "ocaml_types.trx"
( [__1] )))) with
None -> (match (try_Default_lparen_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_0, __1 ) ) -> (match (try_Ocaml_types_typevar_noerr (_filename) (_text) (input_0)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_1, __2 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_4 -> (match (try_Default_comma_noerr (_filename) (_text) (input_4)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_5, __1 ) ) -> (match (try_Ocaml_types_typevar_noerr (_filename) (_text) (input_5)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_6, __2 ) ) -> Some((input_6,
#44 "ocaml_types.trx"
( __2 ))))))) (input_1)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_2, __3 ) ) -> (match (try_Default_rparen_noerr (_filename) (_text) (input_2)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_3, __4 ) ) -> Some((input_3,
#44 "ocaml_types.trx"
( __2 :: __3 )))))))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_types_typevars) (input) (res)) ; res)
)
let rec try_Ocaml_types_typedeclaration_noerr =
#48 "ocaml_types.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_types_typedeclaration) (input))
) with
Not_found -> let res = (match (try_Ocaml_keywords_TYPE_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_72, __1 ) ) -> (match (match (try_Ocaml_types_typevars_noerr (_filename) (_text) (input_72)) with
None -> Some((input_72, None))
| Some ( ( input_85, r ) ) -> Some((input_85, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_73, __2 ) ) -> (match (try_Ocaml_types_typeIdent_noerr (_filename) (_text) (input_73)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_74, __3 ) ) -> (match (try_Default_equal_noerr (_filename) (_text) (input_74)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_75, __4 ) ) -> (match (try_Ocaml_types_typedeflist_noerr (_filename) (_text) (input_75)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_76, __5 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_78 -> (match (try_Ocaml_keywords_AND_noerr (_filename) (_text) (input_78)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_79, __1 ) ) -> (match (match (try_Ocaml_types_typevars_noerr (_filename) (_text) (input_79)) with
None -> Some((input_79, None))
| Some ( ( input_84, r ) ) -> Some((input_84, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_80, __2 ) ) -> (match (try_Ocaml_types_typeIdent_noerr (_filename) (_text) (input_80)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_81, __3 ) ) -> (match (try_Default_equal_noerr (_filename) (_text) (input_81)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_82, __4 ) ) -> (match (try_Ocaml_types_typedeflist_noerr (_filename) (_text) (input_82)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_83, __5 ) ) -> Some((input_83,
#49 "ocaml_types.trx"
( compute_vars __2, __3, __5 )))))))))) (input_76)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_77, __6 ) ) -> Some((input_77,
#50 "ocaml_types.trx"
( (compute_vars __2, __3, __5) :: __6 ))))))))) in
(Hashtbl.add (memo_Ocaml_types_typedeclaration) (input) (res)) ; res)
)
let rec try_Ocaml_parser_Type_noerr =
#262 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_Type) (input))
) with
Not_found -> let res = (match (try_Ocaml_types_typedeclaration_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_359, __1 ) ) -> Some((input_359,
#262 "ocaml_parser.trx"
( Type __1 )))) in
(Hashtbl.add (memo_Ocaml_parser_Type) (input) (res)) ; res)
)
let rec try_Ocaml_parser_moduleName_noerr =
#118 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_moduleName) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_capMlIdent_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_301, __1 ) ) -> Some((input_301,
#118 "ocaml_parser.trx"
( __1 )))) in
(Hashtbl.add (memo_Ocaml_parser_moduleName) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_OPEN_noerr =
#59 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_OPEN) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('o'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('p'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('n'))) (true)))))))))) ) then ( Some(((((+)) (input) (4)), "open")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_712, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_712)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_713, __2 ) ) -> Some((input_713, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_OPEN) (input) (res)) ; res)
)
let rec try_Ocaml_parser_Open_noerr =
#194 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_Open) (input))
) with
Not_found -> let res = (match (try_Ocaml_keywords_OPEN_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_425, __1 ) ) -> (match (try_Ocaml_parser_moduleName_noerr (_filename) (_text) (input_425)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_426, __2 ) ) -> Some((input_426,
#194 "ocaml_parser.trx"
( Open [ Ident.source __2 ] ))))) in
(Hashtbl.add (memo_Ocaml_parser_Open) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_RAISE_noerr =
#63 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_RAISE) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (5))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('a'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('i'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('s'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (4))))) ('e'))) (true)))))))))))) ) then ( Some(((((+)) (input) (5)), "raise")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_708, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_708)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_709, __2 ) ) -> Some((input_709, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_RAISE) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_GETREF_noerr =
#78 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_GETREF) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) (':'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('='))) (true)))))) ) then ( Some(((((+)) (input) (2)), ":=")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_728, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_728)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_729, __2 ) ) -> Some((input_729, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_GETREF) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_TRY_noerr =
#62 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_TRY) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (3))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('t'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('r'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('y'))) (true)))))))) ) then ( Some(((((+)) (input) (3)), "try")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_694, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_694)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_695, __2 ) ) -> Some((input_695, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_TRY) (input) (res)) ; res)
)
let rec try_Ocaml_keywords_WHEN_noerr =
#80 "ocaml_keywords.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_keywords_WHEN) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (4))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('w'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('h'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (2))))) ('e'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (3))))) ('n'))) (true)))))))))) ) then ( Some(((((+)) (input) (4)), "when")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_688, __1 ) ) -> (match (try_Ocaml_keywords_spacing_noerr (_filename) (_text) (input_688)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_689, __2 ) ) -> Some((input_689, ( () ))))) in
(Hashtbl.add (memo_Ocaml_keywords_WHEN) (input) (res)) ; res)
)
let rec try_Ocaml_parser_FDIV_noerr =
#411 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_FDIV) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('/'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('.'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "/.")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_583, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_583)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_584, __2 ) ) -> Some((input_584,
#411 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_FDIV) (input) (res)) ; res)
)
let rec try_Ocaml_parser_IDIV_noerr =
#406 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_IDIV) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (1))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('/'))) (true)))) ) then ( Some(((((+)) (input) (1)), "/")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_569, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_569)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_570, __2 ) ) -> Some((input_570,
#406 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_IDIV) (input) (res)) ; res)
)
let rec try_Ocaml_parser_DIV_noerr =
#401 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_DIV) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_FDIV_noerr (_filename) (_text) (input)) with
None -> (try_Ocaml_parser_IDIV_noerr (_filename) (_text) (input))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_parser_DIV) (input) (res)) ; res)
)
let rec try_Ocaml_parser_FMULT_noerr =
#410 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_FMULT) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('*'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (1))))) ('.'))) (true)))))) ) then ( Some(((((+)) (input) (2)), "*.")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_579, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_579)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_580, __2 ) ) -> Some((input_580,
#410 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_FMULT) (input) (res)) ; res)
)
let rec try_Ocaml_parser_IMULT_noerr =
#405 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_IMULT) (input))
) with
Not_found -> let res = (match if ( (((&&)) ((((<=)) ((((+)) (input) (1))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input) (0))))) ('*'))) (true)))) ) then ( Some(((((+)) (input) (1)), "*")) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_565, __1 ) ) -> (match (try_Ocaml_parser_spacing_noerr (_filename) (_text) (input_565)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_566, __2 ) ) -> Some((input_566,
#405 "ocaml_parser.trx"
( __1 ))))) in
(Hashtbl.add (memo_Ocaml_parser_IMULT) (input) (res)) ; res)
)
let rec try_Ocaml_parser_MULT_noerr =
#400 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_MULT) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_FMULT_noerr (_filename) (_text) (input)) with
None -> (try_Ocaml_parser_IMULT_noerr (_filename) (_text) (input))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_parser_MULT) (input) (res)) ; res)
)
let rec try_Ocaml_parser_InfOpLevel4_noerr =
#375 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_InfOpLevel4) (input))
) with
Not_found -> let res = (match (match (try_Ocaml_parser_MULT_noerr (_filename) (_text) (input)) with
None -> (try_Ocaml_parser_DIV_noerr (_filename) (_text) (input))
| ( _ok ) as __pat_var -> __pat_var) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_541, __1 ) ) -> Some((input_541,
#376 "ocaml_parser.trx"
( Ocaml.make_Var __1
)))) in
(Hashtbl.add (memo_Ocaml_parser_InfOpLevel4) (input) (res)) ; res)
)
let rec try_Ocaml_parser_SimpleExpr_noerr =
#325 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_SimpleExpr) (input))
) with
Not_found -> let res = (match (match (try_Ocaml_parser_dotable_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_374, __1 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_380 -> (try_Ocaml_parser_Dot_noerr (_filename) (_text) (input_380)))) (input_374)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_375, __2 ) ) -> (match (match (match (try_Default_leftarrow_noerr (_filename) (_text) (input_375)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_377, __1 ) ) -> (match (try_Ocaml_parser_Expr_without_seq_noerr (_filename) (_text) (input_377)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_378, __2 ) ) -> Some((input_378,
#326 "ocaml_parser.trx"
( __2 ))))) with
None -> Some((input_375, None))
| Some ( ( input_379, r ) ) -> Some((input_379, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_376, __3 ) ) -> Some((input_376,
#326 "ocaml_parser.trx"
( let tmp = List.fold_left (fun accu -> function | `MlIdent e -> Dot (accu, e)
| `Int i -> Dot (accu, sprintf "(%d)" i)) __1 __2 in match __3 with None -> tmp | Some s -> SetMutable (tmp, s) )))))) with
None -> (match (match (try_Ocaml_parser_Const_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_373, __1 ) ) -> Some((input_373,
#328 "ocaml_parser.trx"
( __1 )))) with
None -> (match (try_Default_lparen_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_370, __1 ) ) -> (match (try_Ocaml_parser_op_special_noerr (_filename) (_text) (input_370)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_371, __2 ) ) -> (match (try_Default_rparen_noerr (_filename) (_text) (input_371)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_372, __3 ) ) -> Some((input_372,
#329 "ocaml_parser.trx"
( Var (Pated ([Ident.source __2], true)) ))))))
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_parser_SimpleExpr) (input) (res)) ; res)
)
and try_Ocaml_parser_Expr_without_seq_aux_noerr =
#331 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_Expr_without_seq_aux) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_OpLevel1_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_585, __1 ) ) -> (match (match (match (try_Default_comma_noerr (_filename) (_text) (input_585)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_587, __1 ) ) -> (match (try_Ocaml_parser_Expr_without_seq_aux_noerr (_filename) (_text) (input_587)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_588, __2 ) ) -> Some((input_588,
#331 "ocaml_parser.trx"
( __2 ))))) with
None -> Some((input_585, None))
| Some ( ( input_589, r ) ) -> Some((input_589, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_586, __2 ) ) -> Some((input_586,
#331 "ocaml_parser.trx"
( match __2 with None -> [__1] | Some s -> __1::s ))))) in
(Hashtbl.add (memo_Ocaml_parser_Expr_without_seq_aux) (input) (res)) ; res)
)
and try_Ocaml_parser_Expr_without_seq_noerr =
#332 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_Expr_without_seq) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_Expr_without_seq_aux_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_590, __1 ) ) -> Some((input_590,
#332 "ocaml_parser.trx"
( match __1 with [t] -> t | _ -> Tuple __1 )))) in
(Hashtbl.add (memo_Ocaml_parser_Expr_without_seq) (input) (res)) ; res)
)
and try_Ocaml_parser_MakeRef_noerr =
#220 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_MakeRef) (input))
) with
Not_found -> let res = (match (try_Ocaml_keywords_REF_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_487, __1 ) ) -> (match (try_Ocaml_parser_SimpleExpr_noerr (_filename) (_text) (input_487)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_488, __2 ) ) -> Some((input_488,
#220 "ocaml_parser.trx"
( MakeRef __2 ))))) in
(Hashtbl.add (memo_Ocaml_parser_MakeRef) (input) (res)) ; res)
)
and try_Ocaml_parser_Try_noerr =
#287 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_Try) (input))
) with
Not_found -> let res = (match (try_Ocaml_keywords_TRY_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_360, __1 ) ) -> (match (try_Ocaml_parser_Expr_noerr (_filename) (_text) (input_360)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_361, __2 ) ) -> (match (try_Ocaml_keywords_WITH_noerr (_filename) (_text) (input_361)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_362, __3 ) ) -> (match (match (try_Default_bar_noerr (_filename) (_text) (input_362)) with
None -> Some((input_362, None))
| Some ( ( input_369, r ) ) -> Some((input_369, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_363, __4 ) ) -> (match (try_Ocaml_parser_matchExpr_noerr (_filename) (_text) (input_363)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_364, __5 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_366 -> (match (try_Default_bar_noerr (_filename) (_text) (input_366)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_367, __1 ) ) -> (match (try_Ocaml_parser_matchExpr_noerr (_filename) (_text) (input_367)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_368, __2 ) ) -> Some((input_368,
#288 "ocaml_parser.trx"
( __2 ))))))) (input_364)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_365, __6 ) ) -> Some((input_365,
#288 "ocaml_parser.trx"
( Try (__2 , __5::__6) ))))))))) in
(Hashtbl.add (memo_Ocaml_parser_Try) (input) (res)) ; res)
)
and try_Ocaml_parser_OpLevel3_noerr =
#337 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_OpLevel3) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_OpLevel4_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_432, __1 ) ) -> (match (match (match (try_Ocaml_parser_InfOpLevel3_noerr (_filename) (_text) (input_432)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_434, __1 ) ) -> (match (try_Ocaml_parser_OpLevel3_noerr (_filename) (_text) (input_434)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_435, __2 ) ) -> Some((input_435,
#337 "ocaml_parser.trx"
( __1, __2 ))))) with
None -> Some((input_432, None))
| Some ( ( input_436, r ) ) -> Some((input_436, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_433, __2 ) ) -> Some((input_433,
#337 "ocaml_parser.trx"
( match __2 with None -> __1 | Some (__2, __3) -> App (App (__2, __1), __3) ))))) in
(Hashtbl.add (memo_Ocaml_parser_OpLevel3) (input) (res)) ; res)
)
and try_Ocaml_parser_App_noerr =
#339 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_App) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_Constructor_noerr (_filename) (_text) (input)) with
None -> (match (match (match (try_Ocaml_parser_SimpleExpr_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_670, __1 ) ) -> (match if ( (((&&)) ((((<=)) ((((+)) (input_670) (1))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input_670) (0))))) ('-'))) (true)))) ) then ( Some(((((+)) (input_670) (1)), "-")) ) else ( None ) with
None -> let input_671 = input_670 in
let __2 = () in
(match if ( (((&&)) ((((<=)) ((((+)) (input_671) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input_671) (0))))) (':'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input_671) (1))))) (':'))) (true)))))) ) then ( Some(((((+)) (input_671) (2)), "::")) ) else ( None ) with
None -> let input_672 = input_671 in
let __3 = () in
(match if ( (((&&)) ((((<=)) ((((+)) (input_672) (2))) (_len))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input_672) (0))))) (':'))) ((((&&)) ((((=)) (((_get_char) ((((+)) (input_672) (1))))) ('='))) (true)))))) ) then ( Some(((((+)) (input_672) (2)), ":=")) ) else ( None ) with
None -> let input_673 = input_672 in
let __4 = () in
Some((input_673, __1))
| Some ( ( _, _ ) ) -> None)
| Some ( ( _, _ ) ) -> None)
| Some ( ( _, _ ) ) -> None)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_667, __1 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_669 -> (try_Ocaml_parser_ExprNotApp_noerr (_filename) (_text) (input_669)))) (input_667)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_668, __2 ) ) -> Some((input_668,
#344 "ocaml_parser.trx"
( match __2 with [] -> __1 | _ -> make_app (__1 :: __2) ))))) with
None -> (try_Ocaml_parser_ExprNotApp_noerr (_filename) (_text) (input))
| ( _ok ) as __pat_var -> __pat_var)
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_parser_App) (input) (res)) ; res)
)
and try_Ocaml_parser_Cons_noerr =
#223 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_Cons) (input))
) with
Not_found -> let res = (match (try_Default_lbracket_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_649, __1 ) ) -> (match (try_Ocaml_parser_Expr_without_seq_noerr (_filename) (_text) (input_649)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_650, __2 ) ) -> (match (Trx_runtime.while_primary_noerr (false) ((fun input_653 -> (match (try_Default_semi_noerr (_filename) (_text) (input_653)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_654, __1 ) ) -> (match (try_Ocaml_parser_Expr_without_seq_noerr (_filename) (_text) (input_654)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_655, __2 ) ) -> Some((input_655,
#224 "ocaml_parser.trx"
( __2 ))))))) (input_650)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_651, __3 ) ) -> (match (try_Default_rbracket_noerr (_filename) (_text) (input_651)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_652, __4 ) ) -> Some((input_652,
#225 "ocaml_parser.trx"
( List.fold_right (fun e accu -> Cons (e, accu)) (__2::__3) EmptyList ))))))) in
(Hashtbl.add (memo_Ocaml_parser_Cons) (input) (res)) ; res)
)
and try_Ocaml_parser_Paren_noerr =
#320 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_Paren) (input))
) with
Not_found -> let res = (match (match (try_Default_lparen_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_412, __1 ) ) -> (match (try_Ocaml_parser_Expr_noerr (_filename) (_text) (input_412)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_413, __2 ) ) -> (match (match (match (try_Default_colon_noerr (_filename) (_text) (input_413)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_416, __1 ) ) -> (match (try_Ocaml_parser_type_noerr (_filename) (_text) (input_416)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_417, __2 ) ) -> Some((input_417, ())))) with
None -> Some((input_413, None))
| Some ( ( input_418, r ) ) -> Some((input_418, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_414, __3 ) ) -> (match (try_Default_rparen_noerr (_filename) (_text) (input_414)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_415, __4 ) ) -> Some((input_415,
#320 "ocaml_parser.trx"
( __2 ))))))) with
None -> (match (try_Ocaml_keywords_BEGIN_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_409, __1 ) ) -> (match (try_Ocaml_parser_Expr_noerr (_filename) (_text) (input_409)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_410, __2 ) ) -> (match (try_Ocaml_keywords_END_noerr (_filename) (_text) (input_410)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_411, __3 ) ) -> Some((input_411,
#320 "ocaml_parser.trx"
( __2 ))))))
| ( _ok ) as __pat_var -> __pat_var) in
(Hashtbl.add (memo_Ocaml_parser_Paren) (input) (res)) ; res)
)
and try_Ocaml_parser_OpLevel4_noerr =
#338 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_OpLevel4) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_App_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_427, __1 ) ) -> (match (match (match (try_Ocaml_parser_InfOpLevel4_noerr (_filename) (_text) (input_427)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_429, __1 ) ) -> (match (try_Ocaml_parser_OpLevel4_noerr (_filename) (_text) (input_429)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_430, __2 ) ) -> Some((input_430,
#338 "ocaml_parser.trx"
( __1, __2 ))))) with
None -> Some((input_427, None))
| Some ( ( input_431, r ) ) -> Some((input_431, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_428, __2 ) ) -> Some((input_428,
#338 "ocaml_parser.trx"
( match __2 with None -> __1 | Some (__2, __3) -> App (App (__2, __1), __3) ))))) in
(Hashtbl.add (memo_Ocaml_parser_OpLevel4) (input) (res)) ; res)
)
and try_Ocaml_parser_OpLevel1_noerr =
#335 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_OpLevel1) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_OpLevel2_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_442, __1 ) ) -> (match (match (match (try_Ocaml_parser_InfOpLevel1_noerr (_filename) (_text) (input_442)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_444, __1 ) ) -> (match (try_Ocaml_parser_OpLevel1_noerr (_filename) (_text) (input_444)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_445, __2 ) ) -> Some((input_445,
#335 "ocaml_parser.trx"
( __1, __2 ))))) with
None -> Some((input_442, None))
| Some ( ( input_446, r ) ) -> Some((input_446, Some((r))))) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_443, __2 ) ) -> Some((input_443,
#335 "ocaml_parser.trx"
( match __2 with None -> __1 | Some (__2, __3) -> App (App (__2, __1), __3) ))))) in
(Hashtbl.add (memo_Ocaml_parser_OpLevel1) (input) (res)) ; res)
)
and try_Ocaml_parser_Var_noerr =
#219 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_Var) (input))
) with
Not_found -> let res = (match (try_Ocaml_parser_paramEffectif_noerr (_filename) (_text) (input)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_358, __1 ) ) -> Some((input_358,
#219 "ocaml_parser.trx"
( Var __1 )))) in
(Hashtbl.add (memo_Ocaml_parser_Var) (input) (res)) ; res)
)
and try_Ocaml_parser_GetRef_noerr =
#221 "ocaml_parser.trx"
(fun _filename _text input -> let _len = ((String.length) (_text))
and _get_char = ((String.unsafe_get) (_text))
and _get_sub = ((String.sub) (_text)) in
(try (
(Hashtbl.find (memo_Ocaml_parser_GetRef) (input))
) with
Not_found -> let res = (match if ( (((<)) (input) (_len)) ) then ( let c = ((_get_char) (input)) in
if ( (((=)) (c) ('!')) ) then ( Some((((succ) (input)), c)) ) else ( None ) ) else ( None ) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_571, __1 ) ) -> (match (try_Ocaml_parser_SimpleExpr_noerr (_filename) (_text) (input_571)) with
( None ) as __pat_var -> __pat_var
| Some ( ( input_572, __2 ) ) -> Some((input_572,
#221 "ocaml_parser.trx"
( GetRef __2 ))))) in
(Hashtbl.add (memo_Ocaml_parser_GetRef) (input) (res)) ; res)
)
and try_Ocaml_parser_OpLevel2_noerr =
#336 "ocaml_pa