diff options
Diffstat (limited to 'test/rlhc.d/case/lmgoto.cpp-C-T1--var-backend.in')
-rw-r--r-- | test/rlhc.d/case/lmgoto.cpp-C-T1--var-backend.in | 464 |
1 files changed, 464 insertions, 0 deletions
diff --git a/test/rlhc.d/case/lmgoto.cpp-C-T1--var-backend.in b/test/rlhc.d/case/lmgoto.cpp-C-T1--var-backend.in new file mode 100644 index 00000000..e810ec4a --- /dev/null +++ b/test/rlhc.d/case/lmgoto.cpp-C-T1--var-backend.in @@ -0,0 +1,464 @@ +host( "working/lmgoto.rl", 1 ) @{/* + * @@LANG: c++ + */ + + #include <iostream> + #include <string.h> + using namespace std; + + #define TK_Dlit 192 + #define TK_Slit 193 + #define TK_Float 194 + #define TK_Id 195 + #define TK_NameSep 197 + #define TK_Arrow 211 + #define TK_PlusPlus 212 + #define TK_MinusMinus 213 + #define TK_ArrowStar 214 + #define TK_DotStar 215 + #define TK_ShiftLeft 216 + #define TK_ShiftRight 217 + #define TK_IntegerDecimal 218 + #define TK_IntegerOctal 219 + #define TK_IntegerHex 220 + #define TK_EqualsEquals 223 + #define TK_NotEquals 224 + #define TK_AndAnd 225 + #define TK_OrOr 226 + #define TK_MultAssign 227 + #define TK_DivAssign 228 + #define TK_PercentAssign 229 + #define TK_PlusAssign 230 + #define TK_MinusAssign 231 + #define TK_AmpAssign 232 + #define TK_CaretAssign 233 + #define TK_BarAssign 234 + #define TK_DotDotDot 240 + #define TK_Whitespace 241 + #define TK_Comment 242 + + struct Scanner + { + int cs, act; + const char *ts, *te; + bool isCxx; + + void token( int tok ); + void run( const char *buf ); + }; + + + + +}@ +array s16 _Scanner_key_offsets( 0, 161 ) = { 0, 0, 3, 3, 6, 6, 7, 11, 13, 19, 50, 52, 53, 54, 56, 57, 59, 62, 63, 67, 75, 81, 84, 94, 103, 107, 111, 115, 125, 129, 138, 139, 140, 147, 156, 157, 159, 161, 0 }; + +array char _Scanner_trans_keys( 0, 126 ) = { 10, 34, 92, 10, 39, 92, 46, 43, 45, 48, 57, 48, 57, 48, 57, 65, 70, 97, 102, 33, 34, 37, 38, 39, 42, 43, 45, 46, 47, 48, 58, 61, 76, 94, 95, 124, 35, 44, 49, 57, 59, 64, 65, 90, 91, 96, 97, 122, 123, 126, 33, 126, 61, 61, 38, 61, 61, 43, 61, 45, 61, 62, 42, 42, 46, 48, 57, 69, 70, 76, 101, 102, 108, 48, 57, 70, 76, 102, 108, 48, 57, 42, 47, 61, 46, 69, 76, 85, 101, 108, 117, 120, 48, 57, 46, 69, 76, 85, 101, 108, 117, 48, 57, 76, 85, 108, 117, 76, 85, 108, 117, 76, 85, 108, 117, 76, 85, 108, 117, 48, 57, 65, 70, 97, 102, 76, 85, 108, 117, 46, 69, 76, 85, 101, 108, 117, 48, 57, 58, 61, 95, 48, 57, 65, 90, 97, 122, 34, 39, 95, 48, 57, 65, 90, 97, 122, 61, 61, 124, 10, 42, 47, 0 }; + +array s8 _Scanner_single_lengths( 0, 17 ) = { 0, 3, 0, 3, 0, 1, 2, 0, 0, 17, 0, 1, 1, 2, 1, 2, 3, 1, 2, 6, 4, 3, 8, 7, 4, 4, 4, 4, 4, 7, 1, 1, 1, 3, 1, 2, 2, 1, 0 }; + +array s8 _Scanner_range_lengths( 0, 7 ) = { 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 3, 0, 1, 0, 0, 3, 3, 0, 0, 0, 0, 0 }; + +array s16 _Scanner_index_offsets( 0, 169 ) = { 0, 0, 4, 5, 9, 10, 12, 16, 18, 22, 47, 49, 51, 53, 56, 58, 61, 65, 67, 71, 79, 85, 89, 99, 108, 113, 118, 123, 131, 136, 145, 147, 149, 154, 161, 163, 166, 169, 0 }; + +array s8 _Scanner_trans_cond_spaces( -1, 0 ) = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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 }; + +array s16 _Scanner_trans_offsets( 0, 205 ) = { 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, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 0 }; + +array s8 _Scanner_trans_lengths( 0, 1 ) = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 }; + +array s8 _Scanner_cond_keys( 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, 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 }; + +array s8 _Scanner_cond_targs( 0, 37 ) = { 9, 9, 2, 1, 1, 9, 9, 4, 3, 3, 9, 9, 7, 7, 20, 9, 20, 9, 27, 27, 27, 9, 11, 1, 12, 13, 3, 14, 15, 16, 18, 21, 22, 30, 31, 33, 34, 32, 35, 9, 29, 9, 32, 9, 32, 9, 10, 9, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 17, 9, 9, 9, 9, 5, 19, 9, 6, 9, 9, 6, 9, 9, 19, 9, 9, 9, 9, 9, 20, 9, 9, 9, 9, 9, 19, 6, 25, 25, 6, 25, 25, 8, 23, 9, 19, 6, 24, 24, 6, 24, 24, 23, 9, 9, 9, 9, 9, 9, 26, 26, 26, 26, 9, 9, 9, 9, 9, 9, 28, 28, 28, 28, 27, 27, 27, 9, 9, 9, 9, 9, 9, 19, 6, 25, 25, 6, 25, 25, 29, 9, 9, 9, 9, 9, 32, 32, 32, 32, 9, 1, 3, 32, 32, 32, 32, 9, 9, 9, 9, 9, 9, 36, 37, 36, 36, 36, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 36, 0 }; + +array s8 _Scanner_cond_actions( 0, 50 ) = { 1, 2, 0, 0, 0, 1, 3, 0, 0, 0, 5, 4, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 11, 0, 0, 12, 0, 0, 0, 9, 11, 9, 0, 9, 0, 9, 0, 13, 0, 15, 14, 16, 14, 17, 18, 14, 19, 14, 20, 21, 14, 22, 23, 0, 14, 25, 24, 26, 0, 27, 14, 0, 29, 29, 0, 29, 29, 27, 28, 29, 29, 29, 29, 0, 28, 30, 31, 32, 14, 27, 0, 0, 0, 0, 0, 0, 0, 34, 33, 27, 0, 0, 0, 0, 0, 0, 34, 35, 36, 36, 36, 36, 35, 0, 0, 0, 0, 33, 37, 37, 37, 37, 33, 0, 0, 0, 0, 0, 0, 0, 38, 39, 39, 39, 39, 38, 27, 0, 0, 0, 0, 0, 0, 11, 33, 40, 14, 41, 14, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 42, 43, 14, 44, 45, 14, 48, 0, 47, 50, 49, 1, 1, 1, 1, 4, 1, 1, 6, 13, 14, 14, 14, 14, 14, 14, 24, 14, 28, 28, 14, 33, 35, 35, 33, 33, 38, 38, 33, 14, 14, 42, 42, 14, 14, 49, 0 }; + +array s8 _Scanner_to_state_actions( 0, 46 ) = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 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, 46, 0, 0 }; + +array s8 _Scanner_from_state_actions( 0, 8 ) = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 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, 8, 0, 0 }; + +array s8 _Scanner_eof_trans_indexed( 0, 75 ) = { 0, 9, 9, 9, 9, 12, 9, 9, 14, 0, 16, 17, 17, 17, 17, 17, 17, 27, 17, 30, 30, 17, 35, 36, 36, 35, 35, 39, 39, 35, 17, 17, 43, 43, 17, 17, 0, 75, 0 }; + +array s16 _Scanner_eof_trans_direct( 0, 206 ) = { 0, 172, 173, 174, 175, 176, 177, 178, 179, 0, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 0, 206, 0 }; + +array s8 _Scanner_nfa_targs( 0, 0 ) = { 0, 0 }; + +array s8 _Scanner_nfa_offsets( 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 }; + +array s8 _Scanner_nfa_push_actions( 0, 0 ) = { 0, 0 }; + +array s8 _Scanner_nfa_pop_trans( 0, 0 ) = { 0, 0 }; + +value int Scanner_start = 9; +value int Scanner_error = 0; + +value int Scanner_en_comment = 36; +value int Scanner_en_main = 9; + +host( "working/lmgoto.rl", 140 ) @{ + + void Scanner::token( int tok ) + { + const char *data = ts; + int len = te - ts; + cout << "<" << tok << "> "; + if ( data != 0 ) { + for ( int i = 0; i < len; i++ ) + cout << data[i]; + } + cout << '\n'; + } + + void Scanner::run( const char *buf ) + { + int len = strlen( buf ); + }@ + { + cs = cast(int)Scanner_start; + ts = nil; + te = nil; + act = 0; + } + host( "working/lmgoto.rl", 157 ) @{ + const char *p = buf; + const char *pe = buf + len; + const char *eof = pe; + }@ + { + int _klen; + index char _keys; + index s8 _ckeys; + int _cpc; + uint _trans; + uint _cond = 0; + uint _have = 0; + uint _cont = 1; + while ( _cont == 1 ) { + + if ( cs == 0 ) + _cont = 0; + _have = 0; + if ( p == pe ) { + if ( p == eof ) + { + if ( _Scanner_eof_trans_direct[cs] > 0 ) { + _trans = cast(uint)_Scanner_eof_trans_direct[cs] - 1; + _cond = cast(uint)_Scanner_trans_offsets[_trans]; + _have = 1; + } + if ( _have == 0 ) { + } + } + + if ( _have == 0 ) + _cont = 0; + } + if ( _cont == 1 ) { + if ( _have == 0 ) { + switch ( _Scanner_from_state_actions[cs] ) { + case 8 { + host( "NONE", 1 ) ${${ts = p;}$}$ + } + } + + _keys = offset( _Scanner_trans_keys, _Scanner_key_offsets[cs] ); + _trans = cast(uint)_Scanner_index_offsets[cs]; + _have = 0; + + _klen = cast(int)_Scanner_single_lengths[cs]; + if ( _klen > 0 ) { + index char _lower; + index char _mid; + index char _upper; + _lower = _keys; + _upper = _keys + _klen - 1; + while ( _upper >= _lower && _have == 0 ) { + _mid = _lower + ((_upper-_lower) >> 1); + if ( ( deref( data, p )) < deref( _Scanner_trans_keys, _mid ) ) + _upper = _mid - 1; + else if ( ( deref( data, p )) > deref( _Scanner_trans_keys, _mid ) ) + _lower = _mid + 1; + else { + _trans += cast(uint)(_mid - _keys); + _have = 1; + } + } + if ( _have == 0 ) { + _keys += _klen; + _trans += cast(uint)_klen; + } + } + + if ( _have == 0 ) { + _klen = cast(int)_Scanner_range_lengths[cs]; + if ( _klen > 0 ) { + index char _lower; + index char _mid; + index char _upper; + _lower = _keys; + _upper = _keys + (_klen<<1) - 2; + while ( _have == 0 && _lower <= _upper ) { + _mid = _lower + (((_upper-_lower) >> 1) & ~1); + if ( ( deref( data, p )) < deref( _Scanner_trans_keys, _mid ) ) + _upper = _mid - 2; + else if ( ( deref( data, p )) > deref( _Scanner_trans_keys, _mid + 1 ) ) + _lower = _mid + 2; + else { + _trans += cast(uint)((_mid - _keys)>>1); + _have = 1; + } + } + if ( _have == 0 ) + _trans += cast(uint)_klen; + } + } + + _ckeys = offset( _Scanner_cond_keys, _Scanner_trans_offsets[_trans] ); + _klen = cast(int)_Scanner_trans_lengths[_trans]; + _cond = cast(uint)_Scanner_trans_offsets[_trans]; + _have = 0; + + _cpc = 0; + { + index s8 _lower; + index s8 _mid; + index s8 _upper; + _lower = _ckeys; + _upper = _ckeys + _klen - 1; + while ( _have == 0 && _lower <= _upper ) { + _mid = _lower + ((_upper-_lower) >> 1); + if ( _cpc < cast(int)deref( _Scanner_cond_keys, _mid ) ) + _upper = _mid - 1; + else if ( _cpc > cast(int)deref( _Scanner_cond_keys, _mid ) ) + _lower = _mid + 1; + else { + _cond += cast(uint)(_mid - _ckeys); + _have = 1; + } + } + if ( _have == 0 ) { + cs = 0; + _cont = 0; + } + } + } + if ( _cont == 1 ) { + cs = cast(int)_Scanner_cond_targs[_cond]; + + switch ( _Scanner_cond_actions[_cond] ) { + case 10 { + host( "NONE", 1 ) ${${te = p+1;}$}$ + } + case 50 { + host( "working/lmgoto.rl", 56 ) ${${te = p+1;host( "working/lmgoto.rl", 56 ) ${ + if ( ! isCxx ) + ${cs = 9;}$else { + cout << "comm char: " << ts[0] << endl; + cout << "comm char: " << ts[1] << endl; + } + }$}$}$ + } + case 48 { + host( "working/lmgoto.rl", 65 ) ${${te = p+1;host( "working/lmgoto.rl", 65 ) ${ + if ( isCxx ) + ${cs = 9;}$else + cout << "comm char: " << ts[0] << endl; + }$}$}$ + } + case 47 { + host( "working/lmgoto.rl", 72 ) ${${te = p+1;host( "working/lmgoto.rl", 72 ) ${ + cout << "comm char: " << ts[0] << endl; + }$}$}$ + } + case 49 { + host( "working/lmgoto.rl", 72 ) ${${te = p;p = p - 1;host( "working/lmgoto.rl", 72 ) ${ + cout << "comm char: " << ts[0] << endl; + }$}$}$ + } + case 3 { + host( "working/lmgoto.rl", 80 ) ${${te = p+1;host( "working/lmgoto.rl", 80 ) ${ token( TK_Slit );}$}$}$ + } + case 2 { + host( "working/lmgoto.rl", 81 ) ${${te = p+1;host( "working/lmgoto.rl", 81 ) ${ token( TK_Dlit );}$}$}$ + } + case 29 { + host( "working/lmgoto.rl", 92 ) ${${te = p+1;host( "working/lmgoto.rl", 92 ) ${ token( TK_Float );}$}$}$ + } + case 37 { + host( "working/lmgoto.rl", 95 ) ${${te = p+1;host( "working/lmgoto.rl", 95 ) ${ token( TK_IntegerDecimal );}$}$}$ + } + case 36 { + host( "working/lmgoto.rl", 98 ) ${${te = p+1;host( "working/lmgoto.rl", 98 ) ${ token( TK_IntegerOctal );}$}$}$ + } + case 39 { + host( "working/lmgoto.rl", 101 ) ${${te = p+1;host( "working/lmgoto.rl", 101 ) ${ token( TK_IntegerHex );}$}$}$ + } + case 40 { + host( "working/lmgoto.rl", 104 ) ${${te = p+1;host( "working/lmgoto.rl", 104 ) ${token( TK_NameSep );}$}$}$ + } + case 41 { + host( "working/lmgoto.rl", 105 ) ${${te = p+1;host( "working/lmgoto.rl", 105 ) ${token( TK_EqualsEquals );}$}$}$ + } + case 15 { + host( "working/lmgoto.rl", 106 ) ${${te = p+1;host( "working/lmgoto.rl", 106 ) ${token( TK_NotEquals );}$}$}$ + } + case 17 { + host( "working/lmgoto.rl", 107 ) ${${te = p+1;host( "working/lmgoto.rl", 107 ) ${token( TK_AndAnd );}$}$}$ + } + case 45 { + host( "working/lmgoto.rl", 108 ) ${${te = p+1;host( "working/lmgoto.rl", 108 ) ${token( TK_OrOr );}$}$}$ + } + case 19 { + host( "working/lmgoto.rl", 109 ) ${${te = p+1;host( "working/lmgoto.rl", 109 ) ${token( TK_MultAssign );}$}$}$ + } + case 32 { + host( "working/lmgoto.rl", 110 ) ${${te = p+1;host( "working/lmgoto.rl", 110 ) ${token( TK_DivAssign );}$}$}$ + } + case 16 { + host( "working/lmgoto.rl", 111 ) ${${te = p+1;host( "working/lmgoto.rl", 111 ) ${token( TK_PercentAssign );}$}$}$ + } + case 21 { + host( "working/lmgoto.rl", 112 ) ${${te = p+1;host( "working/lmgoto.rl", 112 ) ${token( TK_PlusAssign );}$}$}$ + } + case 23 { + host( "working/lmgoto.rl", 113 ) ${${te = p+1;host( "working/lmgoto.rl", 113 ) ${token( TK_MinusAssign );}$}$}$ + } + case 18 { + host( "working/lmgoto.rl", 114 ) ${${te = p+1;host( "working/lmgoto.rl", 114 ) ${token( TK_AmpAssign );}$}$}$ + } + case 43 { + host( "working/lmgoto.rl", 115 ) ${${te = p+1;host( "working/lmgoto.rl", 115 ) ${token( TK_CaretAssign );}$}$}$ + } + case 44 { + host( "working/lmgoto.rl", 116 ) ${${te = p+1;host( "working/lmgoto.rl", 116 ) ${token( TK_BarAssign );}$}$}$ + } + case 20 { + host( "working/lmgoto.rl", 117 ) ${${te = p+1;host( "working/lmgoto.rl", 117 ) ${token( TK_PlusPlus );}$}$}$ + } + case 22 { + host( "working/lmgoto.rl", 118 ) ${${te = p+1;host( "working/lmgoto.rl", 118 ) ${token( TK_MinusMinus );}$}$}$ + } + case 25 { + host( "working/lmgoto.rl", 120 ) ${${te = p+1;host( "working/lmgoto.rl", 120 ) ${token( TK_ArrowStar );}$}$}$ + } + case 26 { + host( "working/lmgoto.rl", 121 ) ${${te = p+1;host( "working/lmgoto.rl", 121 ) ${token( TK_DotStar );}$}$}$ + } + case 5 { + host( "working/lmgoto.rl", 124 ) ${${te = p+1;host( "working/lmgoto.rl", 124 ) ${ token( TK_DotDotDot );}$}$}$ + } + case 9 { + host( "working/lmgoto.rl", 127 ) ${${te = p+1;host( "working/lmgoto.rl", 127 ) ${ token( ts[0] );}$}$}$ + } + case 30 { + host( "working/lmgoto.rl", 131 ) ${${te = p+1;host( "working/lmgoto.rl", 131 ) ${ isCxx = false; ${cs = 36;}$}$}$}$ + } + case 31 { + host( "working/lmgoto.rl", 132 ) ${${te = p+1;host( "working/lmgoto.rl", 132 ) ${ isCxx = true; ${cs = 36;}$}$}$}$ + } + case 42 { + host( "working/lmgoto.rl", 84 ) ${${te = p;p = p - 1;host( "working/lmgoto.rl", 84 ) ${ token( TK_Id ); }$}$}$ + } + case 28 { + host( "working/lmgoto.rl", 92 ) ${${te = p;p = p - 1;host( "working/lmgoto.rl", 92 ) ${ token( TK_Float );}$}$}$ + } + case 33 { + host( "working/lmgoto.rl", 95 ) ${${te = p;p = p - 1;host( "working/lmgoto.rl", 95 ) ${ token( TK_IntegerDecimal );}$}$}$ + } + case 35 { + host( "working/lmgoto.rl", 98 ) ${${te = p;p = p - 1;host( "working/lmgoto.rl", 98 ) ${ token( TK_IntegerOctal );}$}$}$ + } + case 38 { + host( "working/lmgoto.rl", 101 ) ${${te = p;p = p - 1;host( "working/lmgoto.rl", 101 ) ${ token( TK_IntegerHex );}$}$}$ + } + case 24 { + host( "working/lmgoto.rl", 119 ) ${${te = p;p = p - 1;host( "working/lmgoto.rl", 119 ) ${token( TK_Arrow );}$}$}$ + } + case 14 { + host( "working/lmgoto.rl", 127 ) ${${te = p;p = p - 1;host( "working/lmgoto.rl", 127 ) ${ token( ts[0] );}$}$}$ + } + case 13 { + host( "working/lmgoto.rl", 134 ) ${${te = p;p = p - 1;host( "working/lmgoto.rl", 134 ) ${ token( TK_Whitespace );}$}$}$ + } + case 6 { + host( "working/lmgoto.rl", 95 ) ${${p = ((te))-1; + host( "working/lmgoto.rl", 95 ) ${ token( TK_IntegerDecimal );}$}$}$ + } + case 4 { + host( "working/lmgoto.rl", 127 ) ${${p = ((te))-1; + host( "working/lmgoto.rl", 127 ) ${ token( ts[0] );}$}$}$ + } + case 1 { + host( "NONE", 1 ) ${${switch( act ) { + case 0 { + host( "NONE", 1 ) ${${cs = 0;}$}$ } + case 6 { + p = ((te))-1; + host( "working/lmgoto.rl", 84 ) ${ token( TK_Id ); }$ } + case 7 { + p = ((te))-1; + host( "working/lmgoto.rl", 92 ) ${ token( TK_Float );}$ } + case 8 { + p = ((te))-1; + host( "working/lmgoto.rl", 95 ) ${ token( TK_IntegerDecimal );}$ } + case 9 { + p = ((te))-1; + host( "working/lmgoto.rl", 98 ) ${ token( TK_IntegerOctal );}$ } + }}$ + }$ + } + case 12 { + host( "NONE", 1 ) ${${te = p+1;}$}$ + host( "working/lmgoto.rl", 84 ) ${${act = 6;}$}$ + } + case 27 { + host( "NONE", 1 ) ${${te = p+1;}$}$ + host( "working/lmgoto.rl", 92 ) ${${act = 7;}$}$ + } + case 11 { + host( "NONE", 1 ) ${${te = p+1;}$}$ + host( "working/lmgoto.rl", 95 ) ${${act = 8;}$}$ + } + case 34 { + host( "NONE", 1 ) ${${te = p+1;}$}$ + host( "working/lmgoto.rl", 98 ) ${${act = 9;}$}$ + } + } + + switch ( _Scanner_to_state_actions[cs] ) { + case 46 { + host( "NONE", 1 ) ${${ts = nil;}$}$ + } + case 7 { + host( "NONE", 1 ) ${${ts = nil;}$}$ + host( "NONE", 1 ) ${${act = 0;}$}$ + } + } + + if ( cs == 0 ) + _cont = 0; + if ( _cont == 1 ) + p += 1; + + }} + } + } + host( "working/lmgoto.rl", 161 ) @{ + + if ( cs == Scanner_error ) { + /* Machine failed before finding a token. */ + cout << "PARSE ERROR" << endl; + } + } + + int main() + { + Scanner scanner; + scanner.run( + "//hello*/\n" + "/*hi there*/ hello 0x88" + ); + return 0; + } + +}@
\ No newline at end of file |