Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

3243 lines (2807 sloc) 77.411 kb
open Base open Tgrammar
let parse = ( fun _filename _text ->
let _exc_pos = ref ( -1 )
in
let _len = String.length _text
in
let _get_char = String.unsafe_get _text
in
let _get_sub = String.sub _text
in
let parse_with = ( fun f_noerr f_err pos ->
begin
try ( ( begin
match ( ( f_noerr pos ) ) with
| Some ( ( pos , res ) ) -> begin
( pos , res )
end
| None -> begin
begin
match ( ( f_err pos ) ) with
| Trx_runtime.Ok ( ( ( _ , _ ) , _ ) ) -> begin
assert ( false )
end
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.gen_syntax_error _get_char err
end
end
end
end
) ) with
| Trx_runtime.SyntaxError ( loc , err ) -> begin
raise ( ( Trx_runtime.SyntaxError ( ( loc , err ) ) ) )
end
| e -> begin
Trx_runtime.gen_user_error _get_char ( ! _exc_pos ) e
end
end
)
in
let memo_Default_bar = Hashtbl.create ( 128 )
in
let memo_Default_bar_err = Hashtbl.create ( 128 )
in
let memo_Default_bracketexpr = Hashtbl.create ( 128 )
in
let memo_Default_bracketexpr_err = Hashtbl.create ( 128 )
in
let memo_Default_bracketexprcontent = Hashtbl.create ( 128 )
in
let memo_Default_bracketexprcontent_err = Hashtbl.create ( 128 )
in
let memo_Default_lbracket = Hashtbl.create ( 128 )
in
let memo_Default_lbracket_err = Hashtbl.create ( 128 )
in
let memo_Default_lparen = Hashtbl.create ( 128 )
in
let memo_Default_lparen_err = Hashtbl.create ( 128 )
in
let memo_Default_parexpr = Hashtbl.create ( 128 )
in
let memo_Default_parexpr_err = Hashtbl.create ( 128 )
in
let memo_Default_rbracket = Hashtbl.create ( 128 )
in
let memo_Default_rbracket_err = Hashtbl.create ( 128 )
in
let memo_Default_rightarrow = Hashtbl.create ( 128 )
in
let memo_Default_rightarrow_err = Hashtbl.create ( 128 )
in
let memo_Default_rparen = Hashtbl.create ( 128 )
in
let memo_Default_rparen_err = Hashtbl.create ( 128 )
in
let memo_Default_semi = Hashtbl.create ( 128 )
in
let memo_Default_semi_err = Hashtbl.create ( 128 )
in
let memo_Default_spacing = Hashtbl.create ( 128 )
in
let memo_Default_spacing_err = Hashtbl.create ( 128 )
in
let memo_Default_stringchar = Hashtbl.create ( 128 )
in
let memo_Default_stringchar_err = Hashtbl.create ( 128 )
in
let memo_Default_stringcharspecial = Hashtbl.create ( 128 )
in
let memo_Default_stringcharspecial_err = Hashtbl.create ( 128 )
in
let memo_Default_stringnosp = Hashtbl.create ( 128 )
in
let memo_Default_stringnosp_err = Hashtbl.create ( 128 )
in
let memo_Default_stringquote = Hashtbl.create ( 128 )
in
let memo_Default_stringquote_err = Hashtbl.create ( 128 )
in
let memo_Default_times = Hashtbl.create ( 128 )
in
let memo_Default_times_err = Hashtbl.create ( 128 )
in
let memo_Default_underscore = Hashtbl.create ( 128 )
in
let memo_Default_underscore_err = Hashtbl.create ( 128 )
in
let memo_Prxparse_def = Hashtbl.create ( 128 )
in
let memo_Prxparse_def_err = Hashtbl.create ( 128 )
in
let memo_Prxparse_define = Hashtbl.create ( 128 )
in
let memo_Prxparse_define_err = Hashtbl.create ( 128 )
in
let memo_Prxparse_elem = Hashtbl.create ( 128 )
in
let memo_Prxparse_elem_err = Hashtbl.create ( 128 )
in
let memo_Prxparse_file = Hashtbl.create ( 128 )
in
let memo_Prxparse_file_err = Hashtbl.create ( 128 )
in
let memo_Prxparse_name = Hashtbl.create ( 128 )
in
let memo_Prxparse_name_err = Hashtbl.create ( 128 )
in
let memo_Prxparse_operator = Hashtbl.create ( 128 )
in
let memo_Prxparse_operator_err = Hashtbl.create ( 128 )
in
let memo_Prxparse_pattern = Hashtbl.create ( 128 )
in
let memo_Prxparse_pattern_err = Hashtbl.create ( 128 )
in
let memo_Prxparse_production = Hashtbl.create ( 128 )
in
let memo_Prxparse_production_err = Hashtbl.create ( 128 )
in
let memo_Prxparse_rule = Hashtbl.create ( 128 )
in
let memo_Prxparse_rule_err = Hashtbl.create ( 128 )
in
let memo_Prxparse_spacing = Hashtbl.create ( 128 )
in
let memo_Prxparse_spacing_err = Hashtbl.create ( 128 )
in
let rec try_Default_spacing_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_spacing input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.while_primary_noerr ( false ) ( ( fun input_103 ->
if ( ( input_103 < _len ) ) then (
let c = _get_char input_103
in if ( ( ( c = ( ' ' ) ) || ( ( c = ( '\t' ) ) || ( ( c = ( '\r' ) ) || ( c = ( '\n' ) ) ) ) ) ) then ( Some ( ( succ input_103 , c ) ) ) else ( None ) ) else ( None ) ) ) input ) ) with
| None -> begin
None
end
| Some ( ( input_102 , __1 ) ) -> begin
Some ( ( input_102 ,
let _ = _exc_pos := input_102
in ( __1 ) ) )
end
end
in Hashtbl.add memo_Default_spacing input res ;
res
end
end
)
in
let rec try_Default_rightarrow_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_rightarrow input ) ) with
| Not_found -> begin
let res = begin
match ( (
let new_pos = input + ( 2 )
in if ( ( ( new_pos <= _len ) && ( ( ( _get_char ( input + ( 0 ) ) ) = ( '-' ) ) && ( ( ( _get_char ( input + ( 1 ) ) ) = ( '>' ) ) && ( true ) ) ) ) ) then ( Some ( ( new_pos , "->" ) ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_122 , __1 ) ) -> begin
begin
match ( ( try_Default_spacing_noerr input_122 ) ) with
| None -> begin
None
end
| Some ( ( input_123 , __2 ) ) -> begin
Some ( ( input_123 ,
let _ = _exc_pos := input_123
in ( () ) ) )
end
end
end
end
in Hashtbl.add memo_Default_rightarrow input res ;
res
end
end
)
in
let rec try_Prxparse_pattern_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_pattern input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.while_primary_noerr ( true ) ( ( fun input_10 ->
begin
match ( ( begin
match ( ( try_Default_rightarrow_noerr input_10 ) ) with
| None -> begin
Some ( ( input_10 , () ) )
end
| Some ( ( _ , _ ) ) -> begin
None
end
end
) ) with
| None -> begin
None
end
| Some ( ( input_11 , __1 ) ) -> begin
begin
match ( ( if ( ( input_11 < _len ) ) then (
let c = _get_char input_11
in Some ( ( succ input_11 , c ) ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_12 , __2 ) ) -> begin
Some ( ( input_12 ,
let _ = _exc_pos := input_12
in ( __2 ) ) )
end
end
end
end
) ) input ) ) with
| None -> begin
None
end
| Some ( ( input_9 , __1 ) ) -> begin
Some ( ( input_9 , _get_sub input ( input_9 - input ) ) )
end
end
in Hashtbl.add memo_Prxparse_pattern input res ;
res
end
end
)
in
let rec try_Default_spacing = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_spacing_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.while_primary ( false ) ( ( fun input_330 ->
Trx_runtime.option_to_res_err ( if ( ( input_330 < _len ) ) then (
let c = _get_char input_330
in if ( ( ( c = ( ' ' ) ) || ( ( c = ( '\t' ) ) || ( ( c = ( '\r' ) ) || ( c = ( '\n' ) ) ) ) ) ) then ( Some ( ( succ input_330 , c ) ) ) else ( None ) ) else ( None ) ) input_330 ( [ Trx_runtime.Expected ( "'\t'" ) ; Trx_runtime.Expected ( "'\n'" ) ; Trx_runtime.Expected ( "'\r'" ) ; Trx_runtime.Expected ( "' '" ) ] ) ) ) input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_329 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_329 ,
let _ = _exc_pos := input_329
in ( __1 ) ) , Trx_runtime.emptyError input_329 ) )
end
end
in Hashtbl.add memo_Default_spacing_err input res ;
res
end
end
)
in
let rec try_Default_lbracket = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_lbracket_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '[' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'['" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_396 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_spacing input_396 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_397 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_397 ,
let _ = _exc_pos := input_397
in ( () ) ) , Trx_runtime.emptyError input_397 ) )
end
end
)
end
end
in Hashtbl.add memo_Default_lbracket_err input res ;
res
end
end
)
in
let rec try_Default_lparen = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_lparen_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '(' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'('" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_392 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_spacing input_392 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_393 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_393 ,
let _ = _exc_pos := input_393
in ( () ) ) , Trx_runtime.emptyError input_393 ) )
end
end
)
end
end
in Hashtbl.add memo_Default_lparen_err input res ;
res
end
end
)
in
let rec try_Default_rparen = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_rparen_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( ')' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "')'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_347 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_spacing input_347 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_348 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_348 ,
let _ = _exc_pos := input_348
in ( () ) ) , Trx_runtime.emptyError input_348 ) )
end
end
)
end
end
in Hashtbl.add memo_Default_rparen_err input res ;
res
end
end
)
in
let rec try_Default_parexpr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_parexpr_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( try_Default_lparen input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_375 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( Trx_runtime.while_primary ( false ) ( ( fun input_378 ->
begin
match ( ( begin
match ( ( try_Default_parexpr input_378 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_381 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_381 ,
let _ = _exc_pos := input_381
in ( () ) ) , Trx_runtime.emptyError input_381 ) )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( begin
match ( ( try_Default_rparen input_378 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Ok ( ( input_378 , () ) , err )
end
| Trx_runtime.Ok ( ( ( _ , _ ) , err ) ) -> begin
Trx_runtime.Fail ( err )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_379 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input_379 < _len ) ) then (
let c = _get_char input_379
in Some ( ( succ input_379 , c ) ) ) else ( None ) ) input_379 ( [ Trx_runtime.Expected ( "any character" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_380 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_380 ,
let _ = _exc_pos := input_380
in ( () ) ) , Trx_runtime.emptyError input_380 ) )
end
end
)
end
end
)
end
| ok -> begin
ok
end
end
) ) input_375 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_376 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_rparen input_376 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_377 , __3 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_377 , _get_sub input ( input_377 - input ) ) , Trx_runtime.emptyError input_377 ) )
end
end
)
end
end
)
end
end
in Hashtbl.add memo_Default_parexpr_err input res ;
res
end
end
)
in
let rec try_Default_stringcharspecial_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_stringcharspecial input ) ) with
| Not_found -> begin
let res = begin
match ( ( begin
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 -> begin
None
end
| Some ( ( input_75 , __1 ) ) -> begin
Some ( ( input_75 ,
let _ = _exc_pos := input_75
in ( '\n' ) ) )
end
end
) ) with
| None -> begin
begin
match ( ( begin
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 -> begin
None
end
| Some ( ( input_74 , __1 ) ) -> begin
Some ( ( input_74 ,
let _ = _exc_pos := input_74
in ( '\r' ) ) )
end
end
) ) with
| None -> begin
begin
match ( ( begin
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 -> begin
None
end
| Some ( ( input_73 , __1 ) ) -> begin
Some ( ( input_73 ,
let _ = _exc_pos := input_73
in ( '\t' ) ) )
end
end
) ) with
| None -> begin
begin
match ( ( begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '\'' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_72 , __1 ) ) -> begin
Some ( ( input_72 ,
let _ = _exc_pos := input_72
in ( '\'' ) ) )
end
end
) ) with
| None -> begin
begin
match ( ( begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '"' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_71 , __1 ) ) -> begin
Some ( ( input_71 ,
let _ = _exc_pos := input_71
in ( '\"' ) ) )
end
end
) ) with
| None -> begin
begin
match ( ( begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '\\' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_70 , __1 ) ) -> begin
Some ( ( input_70 ,
let _ = _exc_pos := input_70
in ( '\\' ) ) )
end
end
) ) with
| None -> begin
begin
match ( ( Trx_runtime.while_primary_noerr ( true ) ( ( fun input_69 ->
if ( ( input_69 < _len ) ) then (
let c = _get_char input_69
in if ( ( ( c >= ( '0' ) ) && ( c <= ( '9' ) ) ) ) then ( Some ( ( succ input_69 , c ) ) ) else ( None ) ) else ( None ) ) ) input ) ) with
| None -> begin
None
end
| Some ( ( input_68 , __1 ) ) -> begin
Some ( ( input_68 ,
let _ = _exc_pos := input_68
in ( char_of_int (int_of_chars __1) ) ) )
end
end
end
| ok -> begin
ok
end
end
end
| ok -> begin
ok
end
end
end
| ok -> begin
ok
end
end
end
| ok -> begin
ok
end
end
end
| ok -> begin
ok
end
end
end
| ok -> begin
ok
end
end
in Hashtbl.add memo_Default_stringcharspecial input res ;
res
end
end
)
in
let rec try_Default_semi_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_semi input ) ) with
| Not_found -> begin
let res = begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( ';' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_118 , __1 ) ) -> begin
begin
match ( ( try_Default_spacing_noerr input_118 ) ) with
| None -> begin
None
end
| Some ( ( input_119 , __2 ) ) -> begin
Some ( ( input_119 ,
let _ = _exc_pos := input_119
in ( () ) ) )
end
end
end
end
in Hashtbl.add memo_Default_semi input res ;
res
end
end
)
in
let rec try_Prxparse_spacing_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_spacing input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.while_primary_noerr ( false ) ( ( fun input_1 ->
if ( ( input_1 < _len ) ) then (
let c = _get_char input_1
in if ( ( ( c = ( ' ' ) ) || ( ( c = ( '\t' ) ) || ( ( c = ( '\r' ) ) || ( c = ( '\n' ) ) ) ) ) ) then ( Some ( ( succ input_1 , c ) ) ) else ( None ) ) else ( None ) ) ) input ) ) with
| None -> begin
None
end
| Some ( ( input_0 , __1 ) ) -> begin
Some ( ( input_0 ,
let _ = _exc_pos := input_0
in ( __1 ) ) )
end
end
in Hashtbl.add memo_Prxparse_spacing input res ;
res
end
end
)
in
let rec try_Prxparse_define_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_define input ) ) with
| Not_found -> begin
let res = begin
match ( (
let new_pos = input + ( 3 )
in if ( ( ( new_pos <= _len ) && ( ( ( _get_char ( input + ( 0 ) ) ) = ( ':' ) ) && ( ( ( _get_char ( input + ( 1 ) ) ) = ( ':' ) ) && ( ( ( _get_char ( input + ( 2 ) ) ) = ( '=' ) ) && ( true ) ) ) ) ) ) then ( Some ( ( new_pos , "::=" ) ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_37 , __1 ) ) -> begin
begin
match ( ( try_Prxparse_spacing_noerr input_37 ) ) with
| None -> begin
None
end
| Some ( ( input_38 , __2 ) ) -> begin
Some ( ( input_38 , () ) )
end
end
end
end
in Hashtbl.add memo_Prxparse_define input res ;
res
end
end
)
in
let rec try_Prxparse_name_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_name input ) ) with
| Not_found -> begin
let res = begin
match ( ( begin
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 -> begin
None
end
| Some ( ( input_21 , __1 ) ) -> begin
begin
match ( ( Trx_runtime.while_primary_noerr ( false ) ( ( fun input_23 ->
if ( ( input_23 < _len ) ) then (
let c = _get_char input_23
in if ( ( ( ( c >= ( 'a' ) ) && ( c <= ( 'z' ) ) ) || ( ( ( c >= ( 'A' ) ) && ( c <= ( 'Z' ) ) ) || ( ( ( c >= ( '0' ) ) && ( c <= ( '9' ) ) ) || ( c = ( '_' ) ) ) ) ) ) then ( Some ( ( succ input_23 , c ) ) ) else ( None ) ) else ( None ) ) ) input_21 ) ) with
| None -> begin
None
end
| Some ( ( input_22 , __2 ) ) -> begin
Some ( ( input_22 , _get_sub input ( input_22 - input ) ) )
end
end
end
end
) ) with
| None -> begin
None
end
| Some ( ( input_19 , __1 ) ) -> begin
begin
match ( ( try_Prxparse_spacing_noerr input_19 ) ) with
| None -> begin
None
end
| Some ( ( input_20 , __2 ) ) -> begin
Some ( ( input_20 ,
let _ = _exc_pos := input_20
in ( __1 ) ) )
end
end
end
end
in Hashtbl.add memo_Prxparse_name input res ;
res
end
end
)
in
let rec try_Default_bar_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_bar input ) ) with
| Not_found -> begin
let res = begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '|' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_213 , __1 ) ) -> begin
begin
match ( ( try_Default_spacing_noerr input_213 ) ) with
| None -> begin
None
end
| Some ( ( input_214 , __2 ) ) -> begin
Some ( ( input_214 ,
let _ = _exc_pos := input_214
in ( () ) ) )
end
end
end
end
in Hashtbl.add memo_Default_bar input res ;
res
end
end
)
in
let rec try_Default_times_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_times input ) ) with
| Not_found -> begin
let res = begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '*' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_46 , __1 ) ) -> begin
begin
match ( ( try_Default_spacing_noerr input_46 ) ) with
| None -> begin
None
end
| Some ( ( input_47 , __2 ) ) -> begin
Some ( ( input_47 ,
let _ = _exc_pos := input_47
in ( () ) ) )
end
end
end
end
in Hashtbl.add memo_Default_times input res ;
res
end
end
)
in
let rec try_Default_lbracket_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_lbracket input ) ) with
| Not_found -> begin
let res = begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '[' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_169 , __1 ) ) -> begin
begin
match ( ( try_Default_spacing_noerr input_169 ) ) with
| None -> begin
None
end
| Some ( ( input_170 , __2 ) ) -> begin
Some ( ( input_170 ,
let _ = _exc_pos := input_170
in ( () ) ) )
end
end
end
end
in Hashtbl.add memo_Default_lbracket input res ;
res
end
end
)
in
let rec try_Default_rbracket_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_rbracket input ) ) with
| Not_found -> begin
let res = begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( ']' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_124 , __1 ) ) -> begin
begin
match ( ( try_Default_spacing_noerr input_124 ) ) with
| None -> begin
None
end
| Some ( ( input_125 , __2 ) ) -> begin
Some ( ( input_125 ,
let _ = _exc_pos := input_125
in ( () ) ) )
end
end
end
end
in Hashtbl.add memo_Default_rbracket input res ;
res
end
end
)
in
let rec try_Default_bracketexpr_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_bracketexpr input ) ) with
| Not_found -> begin
let res = begin
match ( ( try_Default_lbracket_noerr input ) ) with
| None -> begin
None
end
| Some ( ( input_210 , __1 ) ) -> begin
begin
match ( ( try_Default_bracketexprcontent_noerr input_210 ) ) with
| None -> begin
None
end
| Some ( ( input_211 , __2 ) ) -> begin
begin
match ( ( try_Default_rbracket_noerr input_211 ) ) with
| None -> begin
None
end
| Some ( ( input_212 , __3 ) ) -> begin
Some ( ( input_212 ,
let _ = _exc_pos := input_212
in ( __2 ) ) )
end
end
end
end
end
end
in Hashtbl.add memo_Default_bracketexpr input res ;
res
end
end
)
and try_Default_bracketexprcontent_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_bracketexprcontent input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.while_primary_noerr ( false ) ( ( fun input_206 ->
begin
match ( ( begin
match ( ( try_Default_bracketexpr_noerr input_206 ) ) with
| None -> begin
None
end
| Some ( ( input_209 , __1 ) ) -> begin
Some ( ( input_209 ,
let _ = _exc_pos := input_209
in ( () ) ) )
end
end
) ) with
| None -> begin
begin
match ( ( begin
match ( ( try_Default_rbracket_noerr input_206 ) ) with
| None -> begin
Some ( ( input_206 , () ) )
end
| Some ( ( _ , _ ) ) -> begin
None
end
end
) ) with
| None -> begin
None
end
| Some ( ( input_207 , __1 ) ) -> begin
begin
match ( ( if ( ( input_207 < _len ) ) then (
let c = _get_char input_207
in Some ( ( succ input_207 , c ) ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_208 , __2 ) ) -> begin
Some ( ( input_208 ,
let _ = _exc_pos := input_208
in ( () ) ) )
end
end
end
end
end
| ok -> begin
ok
end
end
) ) input ) ) with
| None -> begin
None
end
| Some ( ( input_205 , __1 ) ) -> begin
Some ( ( input_205 , _get_sub input ( input_205 - input ) ) )
end
end
in Hashtbl.add memo_Default_bracketexprcontent input res ;
res
end
end
)
in
let rec try_Default_lparen_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_lparen input ) ) with
| Not_found -> begin
let res = begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '(' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_165 , __1 ) ) -> begin
begin
match ( ( try_Default_spacing_noerr input_165 ) ) with
| None -> begin
None
end
| Some ( ( input_166 , __2 ) ) -> begin
Some ( ( input_166 ,
let _ = _exc_pos := input_166
in ( () ) ) )
end
end
end
end
in Hashtbl.add memo_Default_lparen input res ;
res
end
end
)
in
let rec try_Default_rparen_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_rparen input ) ) with
| Not_found -> begin
let res = begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( ')' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_120 , __1 ) ) -> begin
begin
match ( ( try_Default_spacing_noerr input_120 ) ) with
| None -> begin
None
end
| Some ( ( input_121 , __2 ) ) -> begin
Some ( ( input_121 ,
let _ = _exc_pos := input_121
in ( () ) ) )
end
end
end
end
in Hashtbl.add memo_Default_rparen input res ;
res
end
end
)
in
let rec try_Default_parexpr_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_parexpr input ) ) with
| Not_found -> begin
let res = begin
match ( ( try_Default_lparen_noerr input ) ) with
| None -> begin
None
end
| Some ( ( input_148 , __1 ) ) -> begin
begin
match ( ( Trx_runtime.while_primary_noerr ( false ) ( ( fun input_151 ->
begin
match ( ( begin
match ( ( try_Default_parexpr_noerr input_151 ) ) with
| None -> begin
None
end
| Some ( ( input_154 , __1 ) ) -> begin
Some ( ( input_154 ,
let _ = _exc_pos := input_154
in ( () ) ) )
end
end
) ) with
| None -> begin
begin
match ( ( begin
match ( ( try_Default_rparen_noerr input_151 ) ) with
| None -> begin
Some ( ( input_151 , () ) )
end
| Some ( ( _ , _ ) ) -> begin
None
end
end
) ) with
| None -> begin
None
end
| Some ( ( input_152 , __1 ) ) -> begin
begin
match ( ( if ( ( input_152 < _len ) ) then (
let c = _get_char input_152
in Some ( ( succ input_152 , c ) ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_153 , __2 ) ) -> begin
Some ( ( input_153 ,
let _ = _exc_pos := input_153
in ( () ) ) )
end
end
end
end
end
| ok -> begin
ok
end
end
) ) input_148 ) ) with
| None -> begin
None
end
| Some ( ( input_149 , __2 ) ) -> begin
begin
match ( ( try_Default_rparen_noerr input_149 ) ) with
| None -> begin
None
end
| Some ( ( input_150 , __3 ) ) -> begin
Some ( ( input_150 , _get_sub input ( input_150 - input ) ) )
end
end
end
end
end
end
in Hashtbl.add memo_Default_parexpr input res ;
res
end
end
)
in
let rec try_Default_stringchar_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_stringchar input ) ) with
| Not_found -> begin
let res = begin
match ( ( begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '\\' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_78 , __1 ) ) -> begin
begin
match ( ( try_Default_stringcharspecial_noerr input_78 ) ) with
| None -> begin
None
end
| Some ( ( input_79 , __2 ) ) -> begin
Some ( ( input_79 ,
let _ = _exc_pos := input_79
in ( __2 ) ) )
end
end
end
end
) ) with
| None -> begin
begin
match ( ( begin
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 -> begin
Some ( ( input , () ) )
end
| Some ( ( _ , _ ) ) -> begin
None
end
end
) ) with
| None -> begin
None
end
| Some ( ( input_76 , __1 ) ) -> begin
begin
match ( ( if ( ( input_76 < _len ) ) then (
let c = _get_char input_76
in Some ( ( succ input_76 , c ) ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_77 , __2 ) ) -> begin
Some ( ( input_77 ,
let _ = _exc_pos := input_77
in ( __2 ) ) )
end
end
end
end
end
| ok -> begin
ok
end
end
in Hashtbl.add memo_Default_stringchar input res ;
res
end
end
)
in
let rec try_Default_stringnosp_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_stringnosp input ) ) with
| Not_found -> begin
let res = begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '"' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_64 , __1 ) ) -> begin
begin
match ( ( Trx_runtime.while_primary_noerr ( false ) ( ( fun input_67 ->
try_Default_stringchar_noerr input_67 ) ) input_64 ) ) with
| None -> begin
None
end
| Some ( ( input_65 , __2 ) ) -> begin
begin
match ( ( if ( ( input_65 < _len ) ) then (
let c = _get_char input_65
in if ( ( c = ( '"' ) ) ) then ( Some ( ( succ input_65 , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_66 , __3 ) ) -> begin
Some ( ( input_66 ,
let _ = _exc_pos := input_66
in ( string_of_chars __2 ) ) )
end
end
end
end
end
end
in Hashtbl.add memo_Default_stringnosp input res ;
res
end
end
)
in
let rec try_Default_stringquote_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_stringquote input ) ) with
| Not_found -> begin
let res = begin
match ( ( try_Default_stringnosp_noerr input ) ) with
| None -> begin
None
end
| Some ( ( input_63 , __1 ) ) -> begin
Some ( ( input_63 , _get_sub input ( input_63 - input ) ) )
end
end
in Hashtbl.add memo_Default_stringquote input res ;
res
end
end
)
in
let rec try_Default_underscore_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_underscore input ) ) with
| Not_found -> begin
let res = begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '_' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_44 , __1 ) ) -> begin
begin
match ( ( try_Default_spacing_noerr input_44 ) ) with
| None -> begin
None
end
| Some ( ( input_45 , __2 ) ) -> begin
Some ( ( input_45 ,
let _ = _exc_pos := input_45
in ( () ) ) )
end
end
end
end
in Hashtbl.add memo_Default_underscore input res ;
res
end
end
)
in
let rec try_Prxparse_operator_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_operator input ) ) with
| Not_found -> begin
let res = begin
match ( ( begin
match ( ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '<' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_15 , __1 ) ) -> begin
begin
match ( ( Trx_runtime.while_primary_noerr ( true ) ( ( fun input_18 ->
if ( ( input_18 < _len ) ) then (
let c = _get_char input_18
in if ( ( ( c = ( '<' ) ) || ( ( c = ( '>' ) ) || ( ( c = ( '+' ) ) || ( ( c = ( '-' ) ) || ( ( c = ( '/' ) ) || ( c = ( '*' ) ) ) ) ) ) ) ) then ( Some ( ( succ input_18 , c ) ) ) else ( None ) ) else ( None ) ) ) input_15 ) ) with
| None -> begin
None
end
| Some ( ( input_16 , __2 ) ) -> begin
begin
match ( ( if ( ( input_16 < _len ) ) then (
let c = _get_char input_16
in if ( ( c = ( '>' ) ) ) then ( Some ( ( succ input_16 , c ) ) ) else ( None ) ) else ( None ) ) ) with
| None -> begin
None
end
| Some ( ( input_17 , __3 ) ) -> begin
Some ( ( input_17 , _get_sub input ( input_17 - input ) ) )
end
end
end
end
end
end
) ) with
| None -> begin
None
end
| Some ( ( input_13 , __1 ) ) -> begin
begin
match ( ( try_Prxparse_spacing_noerr input_13 ) ) with
| None -> begin
None
end
| Some ( ( input_14 , __2 ) ) -> begin
Some ( ( input_14 ,
let _ = _exc_pos := input_14
in ( __1 ) ) )
end
end
end
end
in Hashtbl.add memo_Prxparse_operator input res ;
res
end
end
)
in
let rec try_Prxparse_elem_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_elem input ) ) with
| Not_found -> begin
let res = begin
match ( ( begin
match ( ( try_Default_stringquote_noerr input ) ) with
| None -> begin
None
end
| Some ( ( input_35 , __1 ) ) -> begin
begin
match ( ( try_Prxparse_spacing_noerr input_35 ) ) with
| None -> begin
None
end
| Some ( ( input_36 , __2 ) ) -> begin
Some ( ( input_36 ,
let _ = _exc_pos := input_36
in ( `string __1 ) ) )
end
end
end
end
) ) with
| None -> begin
begin
match ( ( begin
match ( ( try_Default_lbracket_noerr input ) ) with
| None -> begin
None
end
| Some ( ( input_31 , __1 ) ) -> begin
begin
match ( ( try_Prxparse_name_noerr input_31 ) ) with
| None -> begin
None
end
| Some ( ( input_32 , __2 ) ) -> begin
begin
match ( ( try_Default_bracketexprcontent_noerr input_32 ) ) with
| None -> begin
None
end
| Some ( ( input_33 , __3 ) ) -> begin
begin
match ( ( try_Default_rbracket_noerr input_33 ) ) with
| None -> begin
None
end
| Some ( ( input_34 , __4 ) ) -> begin
Some ( ( input_34 ,
let _ = _exc_pos := input_34
in ( `production (__2, __3) ) ) )
end
end
end
end
end
end
end
end
) ) with
| None -> begin
begin
match ( ( begin
match ( ( try_Default_parexpr_noerr input ) ) with
| None -> begin
None
end
| Some ( ( input_29 , __1 ) ) -> begin
begin
match ( ( try_Prxparse_spacing_noerr input_29 ) ) with
| None -> begin
None
end
| Some ( ( input_30 , __2 ) ) -> begin
Some ( ( input_30 ,
let _ = _exc_pos := input_30
in ( `ocaml __1 ) ) )
end
end
end
end
) ) with
| None -> begin
begin
match ( ( begin
match ( ( try_Prxparse_name_noerr input ) ) with
| None -> begin
None
end
| Some ( ( input_28 , __1 ) ) -> begin
Some ( ( input_28 ,
let _ = _exc_pos := input_28
in ( `var __1 ) ) )
end
end
) ) with
| None -> begin
begin
match ( ( begin
match ( ( try_Prxparse_operator_noerr input ) ) with
| None -> begin
None
end
| Some ( ( input_27 , __1 ) ) -> begin
Some ( ( input_27 ,
let _ = _exc_pos := input_27
in ( `operator __1 ) ) )
end
end
) ) with
| None -> begin
begin
match ( ( try_Default_underscore_noerr input ) ) with
| None -> begin
None
end
| Some ( ( input_26 , __1 ) ) -> begin
Some ( ( input_26 ,
let _ = _exc_pos := input_26
in ( `space ) ) )
end
end
end
| ok -> begin
ok
end
end
end
| ok -> begin
ok
end
end
end
| ok -> begin
ok
end
end
end
| ok -> begin
ok
end
end
end
| ok -> begin
ok
end
end
in Hashtbl.add memo_Prxparse_elem input res ;
res
end
end
)
in
let rec try_Prxparse_production_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_production input ) ) with
| Not_found -> begin
let res = begin
match ( ( begin
match ( ( Trx_runtime.while_primary_noerr ( true ) ( ( fun input_8 ->
try_Prxparse_elem_noerr input_8 ) ) input ) ) with
| None -> begin
None
end
| Some ( ( input_7 , __1 ) ) -> begin
Some ( ( input_7 ,
let _ = _exc_pos := input_7
in ( __1 ) ) )
end
end
) ) with
| None -> begin
begin
match ( ( try_Default_times_noerr input ) ) with
| None -> begin
None
end
| Some ( ( input_6 , __1 ) ) -> begin
Some ( ( input_6 ,
let _ = _exc_pos := input_6
in ( [] ) ) )
end
end
end
| ok -> begin
ok
end
end
in Hashtbl.add memo_Prxparse_production input res ;
res
end
end
)
in
let rec try_Prxparse_rule_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_rule input ) ) with
| Not_found -> begin
let res = begin
match ( ( try_Default_bar_noerr input ) ) with
| None -> begin
None
end
| Some ( ( input_2 , __1 ) ) -> begin
begin
match ( ( try_Prxparse_pattern_noerr input_2 ) ) with
| None -> begin
None
end
| Some ( ( input_3 , __2 ) ) -> begin
begin
match ( ( try_Default_rightarrow_noerr input_3 ) ) with
| None -> begin
None
end
| Some ( ( input_4 , __3 ) ) -> begin
begin
match ( ( try_Prxparse_production_noerr input_4 ) ) with
| None -> begin
None
end
| Some ( ( input_5 , __4 ) ) -> begin
Some ( ( input_5 ,
let _ = _exc_pos := input_5
in ( __2, __4 ) ) )
end
end
end
end
end
end
end
end
in Hashtbl.add memo_Prxparse_rule input res ;
res
end
end
)
in
let rec try_Prxparse_def_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_def input ) ) with
| Not_found -> begin
let res = begin
match ( ( try_Prxparse_name_noerr input ) ) with
| None -> begin
None
end
| Some ( ( input_39 , __1 ) ) -> begin
begin
match ( ( try_Prxparse_define_noerr input_39 ) ) with
| None -> begin
None
end
| Some ( ( input_40 , __2 ) ) -> begin
begin
match ( ( Trx_runtime.while_primary_noerr ( false ) ( ( fun input_43 ->
try_Prxparse_rule_noerr input_43 ) ) input_40 ) ) with
| None -> begin
None
end
| Some ( ( input_41 , __3 ) ) -> begin
begin
match ( ( try_Default_semi_noerr input_41 ) ) with
| None -> begin
None
end
| Some ( ( input_42 , __4 ) ) -> begin
Some ( ( input_42 ,
let _ = _exc_pos := input_42
in ( __1, __3 ) ) )
end
end
end
end
end
end
end
end
in Hashtbl.add memo_Prxparse_def input res ;
res
end
end
)
in
let rec try_Prxparse_spacing = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_spacing_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.while_primary ( false ) ( ( fun input_228 ->
Trx_runtime.option_to_res_err ( if ( ( input_228 < _len ) ) then (
let c = _get_char input_228
in if ( ( ( c = ( ' ' ) ) || ( ( c = ( '\t' ) ) || ( ( c = ( '\r' ) ) || ( c = ( '\n' ) ) ) ) ) ) then ( Some ( ( succ input_228 , c ) ) ) else ( None ) ) else ( None ) ) input_228 ( [ Trx_runtime.Expected ( "'\t'" ) ; Trx_runtime.Expected ( "'\n'" ) ; Trx_runtime.Expected ( "'\r'" ) ; Trx_runtime.Expected ( "' '" ) ] ) ) ) input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_227 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_227 ,
let _ = _exc_pos := input_227
in ( __1 ) ) , Trx_runtime.emptyError input_227 ) )
end
end
in Hashtbl.add memo_Prxparse_spacing_err input res ;
res
end
end
)
in
let rec try_Default_times = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_times_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '*' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'*'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_273 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_spacing input_273 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_274 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_274 ,
let _ = _exc_pos := input_274
in ( () ) ) , Trx_runtime.emptyError input_274 ) )
end
end
)
end
end
in Hashtbl.add memo_Default_times_err input res ;
res
end
end
)
in
let rec try_Default_rbracket = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_rbracket_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( ']' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "']'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_351 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_spacing input_351 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_352 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_352 ,
let _ = _exc_pos := input_352
in ( () ) ) , Trx_runtime.emptyError input_352 ) )
end
end
)
end
end
in Hashtbl.add memo_Default_rbracket_err input res ;
res
end
end
)
in
let rec try_Default_bracketexprcontent = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_bracketexprcontent_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.while_primary ( false ) ( ( fun input_433 ->
begin
match ( ( begin
match ( ( try_Default_bracketexpr input_433 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_436 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_436 ,
let _ = _exc_pos := input_436
in ( () ) ) , Trx_runtime.emptyError input_436 ) )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( begin
match ( ( try_Default_rbracket input_433 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Ok ( ( input_433 , () ) , err )
end
| Trx_runtime.Ok ( ( ( _ , _ ) , err ) ) -> begin
Trx_runtime.Fail ( err )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_434 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input_434 < _len ) ) then (
let c = _get_char input_434
in Some ( ( succ input_434 , c ) ) ) else ( None ) ) input_434 ( [ Trx_runtime.Expected ( "any character" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_435 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_435 ,
let _ = _exc_pos := input_435
in ( () ) ) , Trx_runtime.emptyError input_435 ) )
end
end
)
end
end
)
end
| ok -> begin
ok
end
end
) ) input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_432 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_432 , _get_sub input ( input_432 - input ) ) , Trx_runtime.emptyError input_432 ) )
end
end
in Hashtbl.add memo_Default_bracketexprcontent_err input res ;
res
end
end
)
and try_Default_bracketexpr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_bracketexpr_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( try_Default_lbracket input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_437 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_bracketexprcontent input_437 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_438 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_rbracket input_438 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_439 , __3 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_439 ,
let _ = _exc_pos := input_439
in ( __2 ) ) , Trx_runtime.emptyError input_439 ) )
end
end
)
end
end
)
end
end
in Hashtbl.add memo_Default_bracketexpr_err input res ;
res
end
end
)
in
let rec try_Default_stringcharspecial = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_stringcharspecial_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( 'n' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'n'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_302 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_302 ,
let _ = _exc_pos := input_302
in ( '\n' ) ) , Trx_runtime.emptyError input_302 ) )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( 'r' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'r'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_301 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_301 ,
let _ = _exc_pos := input_301
in ( '\r' ) ) , Trx_runtime.emptyError input_301 ) )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( 't' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'t'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_300 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_300 ,
let _ = _exc_pos := input_300
in ( '\t' ) ) , Trx_runtime.emptyError input_300 ) )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '\'' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'''" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_299 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_299 ,
let _ = _exc_pos := input_299
in ( '\'' ) ) , Trx_runtime.emptyError input_299 ) )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '"' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'\"'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_298 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_298 ,
let _ = _exc_pos := input_298
in ( '\"' ) ) , Trx_runtime.emptyError input_298 ) )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '\\' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'\\'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_297 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_297 ,
let _ = _exc_pos := input_297
in ( '\\' ) ) , Trx_runtime.emptyError input_297 ) )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( Trx_runtime.while_primary ( true ) ( ( fun input_296 ->
Trx_runtime.option_to_res_err ( if ( ( input_296 < _len ) ) then (
let c = _get_char input_296
in if ( ( ( c >= ( '0' ) ) && ( c <= ( '9' ) ) ) ) then ( Some ( ( succ input_296 , c ) ) ) else ( None ) ) else ( None ) ) input_296 ( [ Trx_runtime.Expected ( "['0'-'9']" ) ] ) ) ) input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_295 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_295 ,
let _ = _exc_pos := input_295
in ( char_of_int (int_of_chars __1) ) ) , Trx_runtime.emptyError input_295 ) )
end
end
)
end
| ok -> begin
ok
end
end
)
end
| ok -> begin
ok
end
end
)
end
| ok -> begin
ok
end
end
)
end
| ok -> begin
ok
end
end
)
end
| ok -> begin
ok
end
end
)
end
| ok -> begin
ok
end
end
in Hashtbl.add memo_Default_stringcharspecial_err input res ;
res
end
end
)
in
let rec try_Default_stringchar = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_stringchar_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '\\' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'\\'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_305 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_stringcharspecial input_305 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_306 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_306 ,
let _ = _exc_pos := input_306
in ( __2 ) ) , Trx_runtime.emptyError input_306 ) )
end
end
)
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( ( c = ( '\\' ) ) || ( c = ( '"' ) ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'\"'" ) ; Trx_runtime.Expected ( "'\\'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Ok ( ( input , () ) , err )
end
| Trx_runtime.Ok ( ( ( _ , _ ) , err ) ) -> begin
Trx_runtime.Fail ( err )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_303 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input_303 < _len ) ) then (
let c = _get_char input_303
in Some ( ( succ input_303 , c ) ) ) else ( None ) ) input_303 ( [ Trx_runtime.Expected ( "any character" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_304 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_304 ,
let _ = _exc_pos := input_304
in ( __2 ) ) , Trx_runtime.emptyError input_304 ) )
end
end
)
end
end
)
end
| ok -> begin
ok
end
end
in Hashtbl.add memo_Default_stringchar_err input res ;
res
end
end
)
in
let rec try_Default_stringnosp = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_stringnosp_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '"' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'\"'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_291 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( Trx_runtime.while_primary ( false ) ( ( fun input_294 ->
try_Default_stringchar input_294 ) ) input_291 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_292 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input_292 < _len ) ) then (
let c = _get_char input_292
in if ( ( c = ( '"' ) ) ) then ( Some ( ( succ input_292 , c ) ) ) else ( None ) ) else ( None ) ) input_292 ( [ Trx_runtime.Expected ( "'\"'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_293 , __3 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_293 ,
let _ = _exc_pos := input_293
in ( string_of_chars __2 ) ) , Trx_runtime.emptyError input_293 ) )
end
end
)
end
end
)
end
end
in Hashtbl.add memo_Default_stringnosp_err input res ;
res
end
end
)
in
let rec try_Default_stringquote = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_stringquote_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( try_Default_stringnosp input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_290 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_290 , _get_sub input ( input_290 - input ) ) , Trx_runtime.emptyError input_290 ) )
end
end
in Hashtbl.add memo_Default_stringquote_err input res ;
res
end
end
)
in
let rec try_Default_underscore = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_underscore_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '_' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'_'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_271 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_spacing input_271 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_272 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_272 ,
let _ = _exc_pos := input_272
in ( () ) ) , Trx_runtime.emptyError input_272 ) )
end
end
)
end
end
in Hashtbl.add memo_Default_underscore_err input res ;
res
end
end
)
in
let rec try_Prxparse_name = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_name_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( ( c >= ( 'a' ) ) && ( c <= ( 'z' ) ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "['a'-'z']" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_248 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( Trx_runtime.while_primary ( false ) ( ( fun input_250 ->
Trx_runtime.option_to_res_err ( if ( ( input_250 < _len ) ) then (
let c = _get_char input_250
in if ( ( ( ( c >= ( 'a' ) ) && ( c <= ( 'z' ) ) ) || ( ( ( c >= ( 'A' ) ) && ( c <= ( 'Z' ) ) ) || ( ( ( c >= ( '0' ) ) && ( c <= ( '9' ) ) ) || ( c = ( '_' ) ) ) ) ) ) then ( Some ( ( succ input_250 , c ) ) ) else ( None ) ) else ( None ) ) input_250 ( [ Trx_runtime.Expected ( "'_'" ) ; Trx_runtime.Expected ( "['0'-'9']" ) ; Trx_runtime.Expected ( "['A'-'Z']" ) ; Trx_runtime.Expected ( "['a'-'z']" ) ] ) ) ) input_248 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_249 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_249 , _get_sub input ( input_249 - input ) ) , Trx_runtime.emptyError input_249 ) )
end
end
)
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_246 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Prxparse_spacing input_246 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_247 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_247 ,
let _ = _exc_pos := input_247
in ( __1 ) ) , Trx_runtime.emptyError input_247 ) )
end
end
)
end
end
in Hashtbl.add memo_Prxparse_name_err input res ;
res
end
end
)
in
let rec try_Prxparse_operator = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_operator_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '<' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'<'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_242 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( Trx_runtime.while_primary ( true ) ( ( fun input_245 ->
Trx_runtime.option_to_res_err ( if ( ( input_245 < _len ) ) then (
let c = _get_char input_245
in if ( ( ( c = ( '<' ) ) || ( ( c = ( '>' ) ) || ( ( c = ( '+' ) ) || ( ( c = ( '-' ) ) || ( ( c = ( '/' ) ) || ( c = ( '*' ) ) ) ) ) ) ) ) then ( Some ( ( succ input_245 , c ) ) ) else ( None ) ) else ( None ) ) input_245 ( [ Trx_runtime.Expected ( "'*'" ) ; Trx_runtime.Expected ( "'+'" ) ; Trx_runtime.Expected ( "'-'" ) ; Trx_runtime.Expected ( "'/'" ) ; Trx_runtime.Expected ( "'<'" ) ; Trx_runtime.Expected ( "'>'" ) ] ) ) ) input_242 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_243 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input_243 < _len ) ) then (
let c = _get_char input_243
in if ( ( c = ( '>' ) ) ) then ( Some ( ( succ input_243 , c ) ) ) else ( None ) ) else ( None ) ) input_243 ( [ Trx_runtime.Expected ( "'>'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_244 , __3 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_244 , _get_sub input ( input_244 - input ) ) , Trx_runtime.emptyError input_244 ) )
end
end
)
end
end
)
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_240 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Prxparse_spacing input_240 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_241 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_241 ,
let _ = _exc_pos := input_241
in ( __1 ) ) , Trx_runtime.emptyError input_241 ) )
end
end
)
end
end
in Hashtbl.add memo_Prxparse_operator_err input res ;
res
end
end
)
in
let rec try_Prxparse_elem = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_elem_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( begin
match ( ( try_Default_stringquote input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_262 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Prxparse_spacing input_262 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_263 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_263 ,
let _ = _exc_pos := input_263
in ( `string __1 ) ) , Trx_runtime.emptyError input_263 ) )
end
end
)
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( begin
match ( ( try_Default_lbracket input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_258 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Prxparse_name input_258 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_259 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_bracketexprcontent input_259 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_260 , __3 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_rbracket input_260 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_261 , __4 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_261 ,
let _ = _exc_pos := input_261
in ( `production (__2, __3) ) ) , Trx_runtime.emptyError input_261 ) )
end
end
)
end
end
)
end
end
)
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( begin
match ( ( try_Default_parexpr input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_256 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Prxparse_spacing input_256 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_257 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_257 ,
let _ = _exc_pos := input_257
in ( `ocaml __1 ) ) , Trx_runtime.emptyError input_257 ) )
end
end
)
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( begin
match ( ( try_Prxparse_name input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_255 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_255 ,
let _ = _exc_pos := input_255
in ( `var __1 ) ) , Trx_runtime.emptyError input_255 ) )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( begin
match ( ( try_Prxparse_operator input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_254 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_254 ,
let _ = _exc_pos := input_254
in ( `operator __1 ) ) , Trx_runtime.emptyError input_254 ) )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_underscore input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_253 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_253 ,
let _ = _exc_pos := input_253
in ( `space ) ) , Trx_runtime.emptyError input_253 ) )
end
end
)
end
| ok -> begin
ok
end
end
)
end
| ok -> begin
ok
end
end
)
end
| ok -> begin
ok
end
end
)
end
| ok -> begin
ok
end
end
)
end
| ok -> begin
ok
end
end
in Hashtbl.add memo_Prxparse_elem_err input res ;
res
end
end
)
in
let rec try_Prxparse_production = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_production_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( begin
match ( ( Trx_runtime.while_primary ( true ) ( ( fun input_235 ->
try_Prxparse_elem input_235 ) ) input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_234 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_234 ,
let _ = _exc_pos := input_234
in ( __1 ) ) , Trx_runtime.emptyError input_234 ) )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_times input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_233 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_233 ,
let _ = _exc_pos := input_233
in ( [] ) ) , Trx_runtime.emptyError input_233 ) )
end
end
)
end
| ok -> begin
ok
end
end
in Hashtbl.add memo_Prxparse_production_err input res ;
res
end
end
)
in
let rec try_Default_rightarrow = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_rightarrow_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.option_to_res_msg (
let new_pos = input + ( 2 )
in if ( ( ( new_pos <= _len ) && ( ( ( _get_char ( input + ( 0 ) ) ) = ( '-' ) ) && ( ( ( _get_char ( input + ( 1 ) ) ) = ( '>' ) ) && ( true ) ) ) ) ) then ( Some ( ( new_pos , "->" ) ) ) else ( None ) ) input ( "\"->\"" ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_349 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_spacing input_349 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_350 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_350 ,
let _ = _exc_pos := input_350
in ( () ) ) , Trx_runtime.emptyError input_350 ) )
end
end
)
end
end
in Hashtbl.add memo_Default_rightarrow_err input res ;
res
end
end
)
in
let rec try_Prxparse_define = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_define_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.option_to_res_msg (
let new_pos = input + ( 3 )
in if ( ( ( new_pos <= _len ) && ( ( ( _get_char ( input + ( 0 ) ) ) = ( ':' ) ) && ( ( ( _get_char ( input + ( 1 ) ) ) = ( ':' ) ) && ( ( ( _get_char ( input + ( 2 ) ) ) = ( '=' ) ) && ( true ) ) ) ) ) ) then ( Some ( ( new_pos , "::=" ) ) ) else ( None ) ) input ( "\"::=\"" ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_264 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Prxparse_spacing input_264 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_265 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_265 , () ) , Trx_runtime.emptyError input_265 ) )
end
end
)
end
end
in Hashtbl.add memo_Prxparse_define_err input res ;
res
end
end
)
in
let rec try_Default_semi = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_semi_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( ';' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "';'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_345 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_spacing input_345 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_346 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_346 ,
let _ = _exc_pos := input_346
in ( () ) ) , Trx_runtime.emptyError input_346 ) )
end
end
)
end
end
in Hashtbl.add memo_Default_semi_err input res ;
res
end
end
)
in
let rec try_Default_bar = ( fun input ->
begin
try ( ( Hashtbl.find memo_Default_bar_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input < _len ) ) then (
let c = _get_char input
in if ( ( c = ( '|' ) ) ) then ( Some ( ( succ input , c ) ) ) else ( None ) ) else ( None ) ) input ( [ Trx_runtime.Expected ( "'|'" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_440 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_spacing input_440 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_441 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_441 ,
let _ = _exc_pos := input_441
in ( () ) ) , Trx_runtime.emptyError input_441 ) )
end
end
)
end
end
in Hashtbl.add memo_Default_bar_err input res ;
res
end
end
)
in
let rec try_Prxparse_pattern = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_pattern_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.while_primary ( true ) ( ( fun input_237 ->
begin
match ( ( begin
match ( ( try_Default_rightarrow input_237 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Ok ( ( input_237 , () ) , err )
end
| Trx_runtime.Ok ( ( ( _ , _ ) , err ) ) -> begin
Trx_runtime.Fail ( err )
end
end
) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_238 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( Trx_runtime.option_to_res_err ( if ( ( input_238 < _len ) ) then (
let c = _get_char input_238
in Some ( ( succ input_238 , c ) ) ) else ( None ) ) input_238 ( [ Trx_runtime.Expected ( "any character" ) ] ) ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_239 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_239 ,
let _ = _exc_pos := input_239
in ( __2 ) ) , Trx_runtime.emptyError input_239 ) )
end
end
)
end
end
) ) input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_236 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_236 , _get_sub input ( input_236 - input ) ) , Trx_runtime.emptyError input_236 ) )
end
end
in Hashtbl.add memo_Prxparse_pattern_err input res ;
res
end
end
)
in
let rec try_Prxparse_rule = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_rule_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( try_Default_bar input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_229 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Prxparse_pattern input_229 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_230 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_rightarrow input_230 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_231 , __3 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Prxparse_production input_231 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_232 , __4 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_232 ,
let _ = _exc_pos := input_232
in ( __2, __4 ) ) , Trx_runtime.emptyError input_232 ) )
end
end
)
end
end
)
end
end
)
end
end
in Hashtbl.add memo_Prxparse_rule_err input res ;
res
end
end
)
in
let rec try_Prxparse_def = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_def_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( try_Prxparse_name input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_266 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Prxparse_define input_266 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_267 , __2 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( Trx_runtime.while_primary ( false ) ( ( fun input_270 ->
try_Prxparse_rule input_270 ) ) input_267 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_268 , __3 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( begin
match ( ( try_Default_semi input_268 ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_269 , __4 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_269 ,
let _ = _exc_pos := input_269
in ( __1, __3 ) ) , Trx_runtime.emptyError input_269 ) )
end
end
)
end
end
)
end
end
)
end
end
in Hashtbl.add memo_Prxparse_def_err input res ;
res
end
end
)
in
let rec try_Prxparse_file = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_file_err input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.while_primary ( false ) ( ( fun input_252 ->
try_Prxparse_def input_252 ) ) input ) ) with
| Trx_runtime.Fail ( err ) -> begin
Trx_runtime.Fail ( err )
end
| Trx_runtime.Ok ( ( ( input_251 , __1 ) , err ) ) -> begin
Trx_runtime.addErrorInfo err ( Trx_runtime.Ok ( ( input_251 ,
let _ = _exc_pos := input_251
in ( StringMap.from_list __1 ) ) , Trx_runtime.emptyError input_251 ) )
end
end
in Hashtbl.add memo_Prxparse_file_err input res ;
res
end
end
)
in
let rec try_Prxparse_file_noerr = ( fun input ->
begin
try ( ( Hashtbl.find memo_Prxparse_file input ) ) with
| Not_found -> begin
let res = begin
match ( ( Trx_runtime.while_primary_noerr ( false ) ( ( fun input_25 ->
try_Prxparse_def_noerr input_25 ) ) input ) ) with
| None -> begin
None
end
| Some ( ( input_24 , __1 ) ) -> begin
Some ( ( input_24 ,
let _ = _exc_pos := input_24
in ( StringMap.from_list __1 ) ) )
end
end
in Hashtbl.add memo_Prxparse_file input res ;
res
end
end
)
in ( parse_with try_Prxparse_file_noerr try_Prxparse_file , parse_with try_Prxparse_def_noerr try_Prxparse_def ) )
and
_grammar_rules = [ ( "Prxparse_spacing" , None ) ; ( "Prxparse_rule" , None ) ; ( "Prxparse_production" , None ) ; ( "Prxparse_pattern" , None ) ; ( "Prxparse_operator" , None ) ; ( "Prxparse_name" , None ) ; ( "Prxparse_file" , None ) ; ( "Prxparse_elem" , None ) ; ( "Prxparse_define" , None ) ; ( "Prxparse_def" , None ) ; ( "Default_underscore" , None ) ; ( "Default_times" , None ) ; ( "Default_tilde_" , 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_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_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_bar" , None ) ; ( "Default_bang" , None ) ; ( "Default_at" , None ) ; ( "Default_accolexprcontent" , None ) ; ( "Default_accolexpr" , None ) ]
let parse_prxparse_file = ( fun ?( _filename = "" ) ?( _start = 0 ) _text ->
let ( _prxparse_file , _prxparse_def ) = parse _filename _text
in _prxparse_file _start )
let parse_prxparse_def = ( fun ?( _filename = "" ) ?( _start = 0 ) _text ->
let ( _prxparse_file , _prxparse_def ) = parse _filename _text
in _prxparse_def _start )
Jump to Line
Something went wrong with that request. Please try again.