diff options
Diffstat (limited to 'test/rlhc.d/case/clang4_ocaml.ml-O-T1--var-backend.exp')
-rw-r--r-- | test/rlhc.d/case/clang4_ocaml.ml-O-T1--var-backend.exp | 942 |
1 files changed, 942 insertions, 0 deletions
diff --git a/test/rlhc.d/case/clang4_ocaml.ml-O-T1--var-backend.exp b/test/rlhc.d/case/clang4_ocaml.ml-O-T1--var-backend.exp new file mode 100644 index 00000000..03e334ae --- /dev/null +++ b/test/rlhc.d/case/clang4_ocaml.ml-O-T1--var-backend.exp @@ -0,0 +1,942 @@ +(* +* @LANG: ocaml +* @GENERATED: true +*) + +let pos = ref 0 +let line = ref 0 + + + + + + +let _clang_key_offsets : int array = [| +0; 0; 5; 10; 13; 17; 22; 25; 27; 33; 36; 56; 76; 96; 117; 138; 157; 176; 196; 0 ; +|] +let _clang_trans_keys : int array = [| +10; 34; 92; -128; 127; 10; 39; 92; -128; 127; 10; -128; 127; 10; 33; -128; 127; 10; 33; 47; -128; 127; 10; -128; 127; 48; 57; 48; 57; 65; 70; 97; 102; 10; -128; 127; 10; 34; 39; 47; 48; 95; 33; 46; 49; 57; 58; 64; 65; 90; 91; 96; 97; 122; 123; 126; 10; 34; 39; 47; 48; 95; 33; 46; 49; 57; 58; 64; 65; 90; 91; 96; 97; 122; 123; 126; 10; 34; 39; 47; 48; 95; 33; 46; 49; 57; 58; 64; 65; 90; 91; 96; 97; 122; 123; 126; 10; 33; 34; 39; 47; 48; 95; 35; 46; 49; 57; 58; 64; 65; 90; 91; 96; 97; 122; 123; 126; 10; 34; 39; 46; 47; 95; 120; 33; 45; 48; 57; 58; 64; 65; 90; 91; 96; 97; 122; 123; 126; 10; 34; 39; 47; 95; 33; 46; 48; 57; 58; 64; 65; 90; 91; 96; 97; 122; 123; 126; 10; 34; 39; 47; 95; 33; 46; 48; 57; 58; 64; 65; 90; 91; 96; 97; 122; 123; 126; 10; 34; 39; 46; 47; 95; 33; 45; 48; 57; 58; 64; 65; 90; 91; 96; 97; 122; 123; 126; 10; 34; 39; 47; 95; 33; 46; 48; 57; 58; 64; 65; 70; 71; 90; 91; 96; 97; 102; 103; 122; 123; 126; 0 ; +|] +let _clang_single_lengths : int array = [| +0; 3; 3; 1; 2; 3; 1; 0; 0; 1; 6; 6; 6; 7; 7; 5; 5; 6; 5; 0 ; +|] +let _clang_range_lengths : int array = [| +0; 1; 1; 1; 1; 1; 1; 1; 3; 1; 7; 7; 7; 7; 7; 7; 7; 7; 9; 0 ; +|] +let _clang_index_offsets : int array = [| +0; 0; 5; 10; 13; 17; 22; 25; 27; 31; 34; 48; 62; 76; 91; 106; 119; 132; 146; 0 ; +|] +let _clang_trans_cond_spaces : int array = [| +-1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; -1; 0 ; +|] +let _clang_trans_offsets : int array = [| +0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; 55; 56; 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; 73; 74; 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; 91; 92; 93; 94; 95; 96; 97; 98; 99; 100; 101; 102; 103; 104; 105; 106; 107; 108; 109; 110; 111; 112; 113; 114; 115; 116; 117; 118; 119; 120; 121; 122; 123; 124; 125; 126; 127; 128; 129; 130; 131; 132; 133; 134; 135; 136; 137; 138; 139; 140; 141; 142; 143; 144; 145; 146; 147; 148; 149; 150; 151; 152; 153; 154; 155; 156; 157; 158; 159; 160; 0 ; +|] +let _clang_trans_lengths : int array = [| +1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 1; 0 ; +|] +let _clang_cond_keys : int array = [| +0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0 ; +|] +let _clang_cond_targs : int array = [| +1; 12; 9; 1; 0; 2; 12; 3; 2; 0; 2; 2; 0; 4; 5; 4; 0; 4; 5; 10; 4; 0; 10; 6; 0; 15; 0; 18; 18; 18; 0; 1; 1; 0; 10; 1; 2; 13; 14; 16; 11; 17; 11; 16; 11; 16; 11; 10; 10; 1; 2; 13; 14; 16; 11; 17; 11; 16; 11; 16; 11; 10; 10; 1; 2; 13; 14; 16; 11; 17; 11; 16; 11; 16; 11; 10; 10; 4; 1; 2; 6; 14; 16; 11; 17; 11; 16; 11; 16; 11; 10; 10; 1; 2; 7; 13; 16; 8; 11; 17; 11; 16; 11; 16; 11; 10; 10; 1; 2; 13; 16; 11; 15; 11; 16; 11; 16; 11; 10; 10; 1; 2; 13; 16; 11; 16; 11; 16; 11; 16; 11; 10; 10; 1; 2; 7; 13; 16; 11; 17; 11; 16; 11; 16; 11; 10; 10; 1; 2; 13; 16; 11; 18; 11; 18; 16; 11; 18; 16; 11; 10; 0 ; +|] +let _clang_cond_actions : int array = [| +2; 0; 0; 1; 0; 2; 0; 0; 1; 0; 2; 1; 0; 3; 0; 0; 0; 3; 0; 0; 0; 0; 3; 0; 0; 1; 0; 4; 4; 4; 0; 2; 1; 0; 3; 5; 5; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 0; 7; 9; 9; 8; 8; 8; 8; 8; 8; 8; 8; 8; 8; 6; 11; 13; 13; 12; 12; 12; 12; 12; 12; 12; 12; 12; 12; 10; 7; 0; 9; 9; 0; 8; 8; 8; 8; 8; 8; 8; 8; 8; 6; 15; 17; 17; 1; 16; 16; 0; 16; 1; 16; 16; 16; 16; 16; 14; 19; 21; 21; 20; 20; 20; 1; 20; 20; 20; 20; 20; 18; 23; 25; 25; 24; 1; 24; 1; 24; 1; 24; 1; 24; 22; 15; 17; 17; 1; 16; 16; 16; 1; 16; 16; 16; 16; 16; 14; 27; 29; 29; 28; 28; 28; 1; 28; 1; 28; 28; 1; 28; 28; 26; 0 ; +|] +let _clang_eof_actions : int array = [| +0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 6; 10; 6; 14; 18; 22; 14; 26; 0 ; +|] +let _clang_nfa_targs : int array = [| +0; 0 ; +|] +let _clang_nfa_offsets : int array = [| +0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0 ; +|] +let _clang_nfa_push_actions : int array = [| +0; 0 ; +|] +let _clang_nfa_pop_trans : int array = [| +0; 0 ; +|] +let clang_start : int = 10 +let clang_first_final : int = 10 +let clang_error : int = 0 +let clang_en_main : int = 10 +let exec data = +let buffer = String.create(1024) in +let blen :int ref = ref 0 in +let cs = ref 0 in +let p = ref 0 in +let pe = ref (String.length data) in +let eof = pe in +pos := 0; +line := 1; +begin + cs := clang_start; + +end; +begin + let _klen : int ref = ref 0 in + let _keys : int ref = ref 0 in + let _ckeys : int ref = ref 0 in + let _cpc : int ref = ref 0 in + let _trans : int ref = ref 0 in + let _cond : int ref = ref 0 in + let _have : int ref = ref 0 in + let _cont : int ref = ref 1 in + while _cont.contents= 1 do + begin + if cs.contents= 0 then + begin + _cont := 0; + + end + ;_have := 0; + if p.contents= pe.contents then + begin + begin + if p.contents= eof.contents then + begin + begin + if _have.contents= 0 then + begin + begin + if _clang_eof_actions.(cs.contents) = 22 then + begin + begin + print_string( "ident(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + + end + else if _clang_eof_actions.(cs.contents) = 10 then + begin + begin + print_string( "literal(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + + end + else if _clang_eof_actions.(cs.contents) = 18 then + begin + begin + print_string( "float(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + + end + else if _clang_eof_actions.(cs.contents) = 14 then + begin + begin + print_string( "int(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + + end + else if _clang_eof_actions.(cs.contents) = 26 then + begin + begin + print_string( "hex(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + + end + else if _clang_eof_actions.(cs.contents) = 6 then + begin + begin + print_string( "symbol(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + + end + ; + + end; + + end + ; + end; + + end + ;if _have.contents= 0 then + begin + _cont := 0; + + end + ; + end; + + end + ;if _cont.contents= 1 then + begin + begin + if _have.contents= 0 then + begin + begin + _keys := _clang_key_offsets.(cs.contents); + _trans := _clang_index_offsets.(cs.contents); + _have := 0; + _klen := _clang_single_lengths.(cs.contents); + if _klen.contents> 0 then + begin + begin + let _lower : int ref = ref 0 in + let _mid : int ref = ref 0 in + let _upper : int ref = ref 0 in + _lower := _keys.contents; + _upper := _keys.contents+ _klen.contents- 1; + while _upper.contents>= _lower.contents&& _have.contents= 0 do + begin + _mid := _lower.contents+ ( ( _upper.contents-_lower.contents ) asr 1 ); + if ( Char.code data.[p.contents] )< _clang_trans_keys.( _mid.contents ) then + begin + _upper := _mid.contents- 1; + + end + else if ( Char.code data.[p.contents] )> _clang_trans_keys.( _mid.contents ) then + begin + _lower := _mid.contents+ 1; + + end + else + begin + begin + _trans := _trans.contents + ( _mid.contents- _keys.contents ); + _have := 1; + + end; + + end + ; + end; + + done; + if _have.contents= 0 then + begin + begin + _keys := _keys.contents + _klen.contents; + _trans := _trans.contents + _klen.contents; + + end; + + end + ; + end; + + end + ;if _have.contents= 0 then + begin + begin + _klen := _clang_range_lengths.(cs.contents); + if _klen.contents> 0 then + begin + begin + let _lower : int ref = ref 0 in + let _mid : int ref = ref 0 in + let _upper : int ref = ref 0 in + _lower := _keys.contents; + _upper := _keys.contents+ ( _klen.contents lsl 1 )- 2; + while _have.contents= 0 && _lower.contents<= _upper.contents do + begin + _mid := _lower.contents+ ( ( ( _upper.contents-_lower.contents ) asr 1 ) land lnot 1 ); + if ( Char.code data.[p.contents] )< _clang_trans_keys.( _mid.contents ) then + begin + _upper := _mid.contents- 2; + + end + else if ( Char.code data.[p.contents] )> _clang_trans_keys.( _mid.contents+ 1 ) then + begin + _lower := _mid.contents+ 2; + + end + else + begin + begin + _trans := _trans.contents + ( ( _mid.contents- _keys.contents ) asr 1 ); + _have := 1; + + end; + + end + ; + end; + + done; + if _have.contents= 0 then + begin + _trans := _trans.contents + _klen.contents; + + end + ; + end; + + end + ; + end; + + end + ;_ckeys := _clang_trans_offsets.(_trans.contents); + _klen := _clang_trans_lengths.(_trans.contents); + _cond := _clang_trans_offsets.(_trans.contents); + _have := 0; + _cpc := 0; + begin + let _lower : int ref = ref 0 in + let _mid : int ref = ref 0 in + let _upper : int ref = ref 0 in + _lower := _ckeys.contents; + _upper := _ckeys.contents+ _klen.contents- 1; + while _have.contents= 0 && _lower.contents<= _upper.contents do + begin + _mid := _lower.contents+ ( ( _upper.contents-_lower.contents ) asr 1 ); + if _cpc.contents< _clang_cond_keys.( _mid.contents ) then + begin + _upper := _mid.contents- 1; + + end + else if _cpc.contents> _clang_cond_keys.( _mid.contents ) then + begin + _lower := _mid.contents+ 1; + + end + else + begin + begin + _cond := _cond.contents + ( _mid.contents- _ckeys.contents ); + _have := 1; + + end; + + end + ; + end; + + done; + if _have.contents= 0 then + begin + begin + cs := 0; + _cont := 0; + + end; + + end + ; + end; + + end; + + end + ;if _cont.contents= 1 then + begin + begin + cs := _clang_cond_targs.(_cond.contents); + if _clang_cond_actions.(_cond.contents) = 1 then + begin + begin + begin + String.set buffer blen.contents data.[p.contents]; + blen := blen.contents + 1; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 5 then + begin + begin + begin + blen := 0; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 3 then + begin + begin + line := line .contents + 1; + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 22 then + begin + begin + print_string( "ident(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 10 then + begin + begin + print_string( "literal(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 18 then + begin + begin + print_string( "float(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 14 then + begin + begin + print_string( "int(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 26 then + begin + begin + print_string( "hex(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 6 then + begin + begin + print_string( "symbol(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 2 then + begin + begin + begin + String.set buffer blen.contents data.[p.contents]; + blen := blen.contents + 1; + end + + end; + begin + line := line .contents + 1; + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 4 then + begin + begin + begin + blen := 0; + end + + end; + begin + begin + String.set buffer blen.contents data.[p.contents]; + blen := blen.contents + 1; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 25 then + begin + begin + print_string( "ident(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + begin + blen := 0; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 23 then + begin + begin + print_string( "ident(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + line := line .contents + 1; + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 13 then + begin + begin + print_string( "literal(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + begin + blen := 0; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 11 then + begin + begin + print_string( "literal(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + line := line .contents + 1; + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 21 then + begin + begin + print_string( "float(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + begin + blen := 0; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 19 then + begin + begin + print_string( "float(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + line := line .contents + 1; + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 17 then + begin + begin + print_string( "int(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + begin + blen := 0; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 15 then + begin + begin + print_string( "int(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + line := line .contents + 1; + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 29 then + begin + begin + print_string( "hex(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + begin + blen := 0; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 27 then + begin + begin + print_string( "hex(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + line := line .contents + 1; + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 9 then + begin + begin + print_string( "symbol(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + begin + blen := 0; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 7 then + begin + begin + print_string( "symbol(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + line := line .contents + 1; + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 24 then + begin + begin + print_string( "ident(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + begin + blen := 0; + end + + end; + begin + begin + String.set buffer blen.contents data.[p.contents]; + blen := blen.contents + 1; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 12 then + begin + begin + print_string( "literal(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + begin + blen := 0; + end + + end; + begin + begin + String.set buffer blen.contents data.[p.contents]; + blen := blen.contents + 1; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 20 then + begin + begin + print_string( "float(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + begin + blen := 0; + end + + end; + begin + begin + String.set buffer blen.contents data.[p.contents]; + blen := blen.contents + 1; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 16 then + begin + begin + print_string( "int(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + begin + blen := 0; + end + + end; + begin + begin + String.set buffer blen.contents data.[p.contents]; + blen := blen.contents + 1; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 28 then + begin + begin + print_string( "hex(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + begin + blen := 0; + end + + end; + begin + begin + String.set buffer blen.contents data.[p.contents]; + blen := blen.contents + 1; + end + + end; + + end + else if _clang_cond_actions.(_cond.contents) = 8 then + begin + begin + print_string( "symbol(" ); + print_int( line.contents ); + print_string( "," ); + print_int( blen.contents ); + print_string( "): " ); + print_string( String.sub buffer 0 blen.contents ); + print_string( "\n" ); + + end; + begin + begin + blen := 0; + end + + end; + begin + begin + String.set buffer blen.contents data.[p.contents]; + blen := blen.contents + 1; + end + + end; + + end + ; + if cs.contents= 0 then + begin + _cont := 0; + + end + ;if _cont.contents= 1 then + begin + p := p.contents + 1; + + end + ; + end; + + end + ; + end; + + end + ; + end; + + done; + +end; +if !cs >= clang_first_final then +print_string "ACCEPT\n" +else +print_string "FAIL\n" +;; + +let () = +exec "999 0xaAFF99 99.99 /!\n!/ 'lksdj' //\n\"\n\nliteral\n\n\n\"0x00aba foobardd.ddsf 0x0.9\n"; +exec "wordwithnum00asdf\n000wordfollowsnum,makes new symbol\n\nfinishing early /! unfinished ...\n"; +() +;; + |