Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
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