diff options
author | Adrian Thurston <thurston@colm.net> | 2019-09-09 09:34:14 -0600 |
---|---|---|
committer | Adrian Thurston <thurston@colm.net> | 2019-09-09 09:34:14 -0600 |
commit | 2d8e9c3f5c0417d6237c945c50f92bf8d28b32d5 (patch) | |
tree | e463c784309e402c1c7bb89247596165b07ad8d1 /test/cases/rlhc.d/case/eofact_cs.cs-A-F0--var-backend.exp | |
parent | c0323a27ad612db4fa7d3d5c25c3e9611bcf874b (diff) | |
parent | c171cdda894fa59515d1bdc1e00cace185366e7f (diff) | |
download | colm-2d8e9c3f5c0417d6237c945c50f92bf8d28b32d5.tar.gz |
mega-merge of pruned test code
Diffstat (limited to 'test/cases/rlhc.d/case/eofact_cs.cs-A-F0--var-backend.exp')
-rw-r--r-- | test/cases/rlhc.d/case/eofact_cs.cs-A-F0--var-backend.exp | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/test/cases/rlhc.d/case/eofact_cs.cs-A-F0--var-backend.exp b/test/cases/rlhc.d/case/eofact_cs.cs-A-F0--var-backend.exp new file mode 100644 index 00000000..78aebabd --- /dev/null +++ b/test/cases/rlhc.d/case/eofact_cs.cs-A-F0--var-backend.exp @@ -0,0 +1,184 @@ +using System; +// Disables lots of warnings that appear in the test suite +#pragma warning disable 0168, 0169, 0219, 0162, 0414 +namespace Test { + class Test + { + + + + + + + static readonly sbyte []_eofact_actions = { 0, 1, 0, 1, 1, 1, 2, 1, 3, 2, 0, 2, 0, }; + static readonly char []_eofact_trans_keys = { '\u0001', '\u0000', '\u0003', '\u0007', '\u0002', '\u0002', '\u0004', '\u0004', '\u0004', '\u0004', '\u0005', '\u0005', '\u0003', '\u0003', '\u0002', '\u0002', '\u0006', '\u0006', '\u0002', '\u0002', '\u0000', '\u0000', '\u0001', '\u0000', '\u0001', '\u0000', '\u0000', }; + static readonly sbyte []_eofact_char_class = { 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, 2, 1, 1, 3, 1, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 7, 0, }; + static readonly sbyte []_eofact_index_offsets = { 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 0, }; + static readonly sbyte []_eofact_indicies = { 0, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0, }; + static readonly sbyte []_eofact_index_defaults = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, }; + static readonly sbyte []_eofact_trans_cond_spaces = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, }; + static readonly sbyte []_eofact_cond_targs = { 2, 0, 6, 3, 4, 5, 10, 7, 8, 9, 12, 11, 0, }; + static readonly sbyte []_eofact_cond_actions = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; + static readonly sbyte []_eofact_eof_actions = { 0, 9, 1, 1, 1, 1, 5, 5, 5, 5, 3, 0, 7, 0, }; + static readonly sbyte []_eofact_nfa_targs = { 0, 0, }; + static readonly sbyte []_eofact_nfa_offsets = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; + static readonly sbyte []_eofact_nfa_push_actions = { 0, 0, }; + static readonly sbyte []_eofact_nfa_pop_trans = { 0, 0, }; + static readonly int eofact_start = 1; + static readonly int eofact_first_final = 10; + static readonly int eofact_error = 0; + static readonly int eofact_en_main = 1; + int cs; + + void init() + { + + { + cs = (int)eofact_start; + } + } + + void exec( char[] data, int len ) + { + int p = 0; + int pe = len; + int eof = len; + string _s; + char [] buffer = new char [1024]; + int blen = 0; + + { + uint _trans = 0; + uint _have = 0; + uint _cont = 1; + int _keys; + int _inds; + while ( _cont == 1 ) + { + + if ( cs == 0 ) + _cont = 0; + + _have = 0; + if ( p == pe ) + { + if ( p == eof ) + { + if ( _have == 0 ) + { + int __acts; + uint __nacts; + __acts = _eofact_eof_actions[cs] ; + __nacts = (uint )_eofact_actions[__acts ]; + __acts += 1; + while ( __nacts > 0 ) + { + switch ( _eofact_actions[__acts ] ) { + case 0: + {Console.Write( "a1\n" );} + + break; + case 1: + {Console.Write( "a2\n" );} + + break; + case 2: + {Console.Write( "a3\n" );} + + break; + case 3: + {Console.Write( "a4\n" );} + + break; + + } + __nacts -= 1; + __acts += 1; + } + + } + + } + + + if ( _have == 0 ) + _cont = 0; + + } + + if ( _cont == 1 ) + { + if ( _have == 0 ) + { + _keys = (cs<<1) ; + _inds = _eofact_index_offsets[cs] ; + if ( ( data[p ]) <= 116&& ( data[p ]) >= 10 ) + { + int _ic = (int)_eofact_char_class[(int)( data[p ]) - 10]; + if ( _ic <= (int)_eofact_trans_keys[_keys+1]&& _ic >= (int)_eofact_trans_keys[_keys ] ) + _trans = (uint )_eofact_indicies[_inds + (int)( _ic - (int)_eofact_trans_keys[_keys ]) ]; + + else + _trans = (uint )_eofact_index_defaults[cs]; + + } + + else + { + _trans = (uint )_eofact_index_defaults[cs]; + } + + + } + + if ( _cont == 1 ) + { + cs = (int)_eofact_cond_targs[_trans]; + if ( cs == 0 ) + _cont = 0; + + if ( _cont == 1 ) + p += 1; + + } + } + + } + + } + } + + void finish( ) + { + if ( cs >= eofact_first_final ) + Console.WriteLine( "ACCEPT" ); + else + Console.WriteLine( "FAIL" ); + } + + static readonly string[] inp = { + "", + "h", + "hell", + "hello", + "hello\n", + "t", + "ther", + "there", + "friend", + }; + + + static readonly int inplen = 9; + + public static void Main (string[] args) + { + Test machine = new Test(); + for ( int i = 0; i < inplen; i++ ) { + machine.init(); + machine.exec( inp[i].ToCharArray(), inp[i].Length ); + machine.finish(); + } + } + } +} |