summaryrefslogtreecommitdiff
path: root/test/cases/rlhc.d/case/eofact_crack.crk-K-T1--var-backend.exp
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@colm.net>2019-09-09 09:34:14 -0600
committerAdrian Thurston <thurston@colm.net>2019-09-09 09:34:14 -0600
commit2d8e9c3f5c0417d6237c945c50f92bf8d28b32d5 (patch)
treee463c784309e402c1c7bb89247596165b07ad8d1 /test/cases/rlhc.d/case/eofact_crack.crk-K-T1--var-backend.exp
parentc0323a27ad612db4fa7d3d5c25c3e9611bcf874b (diff)
parentc171cdda894fa59515d1bdc1e00cace185366e7f (diff)
downloadcolm-2d8e9c3f5c0417d6237c945c50f92bf8d28b32d5.tar.gz
mega-merge of pruned test code
Diffstat (limited to 'test/cases/rlhc.d/case/eofact_crack.crk-K-T1--var-backend.exp')
-rw-r--r--test/cases/rlhc.d/case/eofact_crack.crk-K-T1--var-backend.exp282
1 files changed, 282 insertions, 0 deletions
diff --git a/test/cases/rlhc.d/case/eofact_crack.crk-K-T1--var-backend.exp b/test/cases/rlhc.d/case/eofact_crack.crk-K-T1--var-backend.exp
new file mode 100644
index 00000000..ba3a71fa
--- /dev/null
+++ b/test/cases/rlhc.d/case/eofact_crack.crk-K-T1--var-backend.exp
@@ -0,0 +1,282 @@
+import crack.io cout;
+import crack.lang Buffer;
+
+
+
+
+
+
+
+
+const array[int16 ] _eofact_key_offsets = [ 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 11, 0 , ];
+const array[byte ] _eofact_trans_keys = [ 104, 116, 101, 108, 108, 111, 104, 101, 114, 101, 10, 0, ];
+const array[int16 ] _eofact_single_lengths = [ 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0 , ];
+const array[int16 ] _eofact_range_lengths = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , ];
+const array[int16 ] _eofact_index_offsets = [ 0, 0, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 22, 0 , ];
+const array[int16 ] _eofact_trans_cond_spaces = [ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0 , ];
+const array[int16 ] _eofact_trans_offsets = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 0 , ];
+const array[int16 ] _eofact_trans_lengths = [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 , ];
+const array[int16 ] _eofact_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 , ];
+const array[int16 ] _eofact_cond_targs = [ 2, 6, 0, 3, 0, 4, 0, 5, 0, 10, 0, 7, 0, 8, 0, 9, 0, 12, 0, 11, 0, 0, 0, 0 , ];
+const array[int16 ] _eofact_cond_actions = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , ];
+const array[int16 ] _eofact_eof_actions = [ 0, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 0, 5, 0 , ];
+const array[int16 ] _eofact_nfa_targs = [ 0, 0 , ];
+const array[int16 ] _eofact_nfa_offsets = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , ];
+const array[int16 ] _eofact_nfa_push_actions = [ 0, 0 , ];
+const array[int16 ] _eofact_nfa_pop_trans = [ 0, 0 , ];
+const int eofact_start = 1;
+const int eofact_first_final = 10;
+const int eofact_error = 0;
+const int eofact_en_main = 1;
+void m( String s )
+{
+ byteptr data = s.buffer;
+ int p = 0;
+ int pe = s.size;
+ int cs;
+ String buffer;
+ int eof = pe;
+
+ if ( 1 ) {
+ cs = int ( eofact_start );
+
+ }
+ if ( 1 ) {
+ int _klen;
+ int _keys = 0;
+ int _ckeys = 0;
+ int _cpc;
+ uint32 _trans;
+ uint32 _cond = 0;
+ uint32 _have = 0;
+ uint32 _cont = 1;
+ while ( _cont == 1 )
+ {
+ if ( cs == 0 )
+ _cont = 0;
+
+ _have = 0;
+ if ( p == pe )
+ {
+ if ( p == eof )
+ {
+ if ( _have == 0 )
+ {
+ if ( _eofact_eof_actions[cs] == 2 ) {
+ if ( 1 ) {
+ cout.format( "a1\n" );
+
+ }
+
+ }
+ else if ( _eofact_eof_actions[cs] == 4 ) {
+ if ( 1 ) {
+ cout.format( "a2\n" );
+
+ }
+
+ }
+ else if ( _eofact_eof_actions[cs] == 3 ) {
+ if ( 1 ) {
+ cout.format( "a3\n" );
+
+ }
+
+ }
+ else if ( _eofact_eof_actions[cs] == 5 ) {
+ if ( 1 ) {
+ cout.format( "a4\n" );
+
+ }
+
+ }
+ else if ( _eofact_eof_actions[cs] == 1 ) {
+ if ( 1 ) {
+ cout.format( "a1\n" );
+
+ }
+ if ( 1 ) {
+ cout.format( "a3\n" );
+
+ }
+
+ }
+ ;
+
+ }
+
+
+ }
+
+ if ( _have == 0 )
+ _cont = 0;
+
+
+ }
+
+ if ( _cont == 1 )
+ {
+ if ( _have == 0 )
+ {
+ _keys = _eofact_key_offsets[cs];
+ _trans = uint32 ( _eofact_index_offsets[cs] );
+ _have = 0;
+ _klen = int ( _eofact_single_lengths[cs] );
+ if ( _klen > 0 )
+ {
+ int _lower = 0;
+ int _mid = 0;
+ int _upper = 0;
+ _lower = _keys;
+ _upper = _keys + _klen - 1;
+ while ( _upper >= _lower && _have == 0 )
+ {
+ _mid = _lower + ((_upper-_lower)>> 1);
+ if ( (data[p ])< _eofact_trans_keys[_mid ] )
+ _upper = _mid - 1;
+
+ else if ( (data[p ])> _eofact_trans_keys[_mid ] )
+ _lower = _mid + 1;
+
+ else
+ {
+ _trans += uint32 ( (_mid - _keys) );
+ _have = 1;
+
+ }
+
+
+ }
+
+ if ( _have == 0 )
+ {
+ _keys += _klen;
+ _trans += uint32 ( _klen );
+
+ }
+
+
+ }
+
+ if ( _have == 0 )
+ {
+ _klen = int ( _eofact_range_lengths[cs] );
+ if ( _klen > 0 )
+ {
+ int _lower = 0;
+ int _mid = 0;
+ int _upper = 0;
+ _lower = _keys;
+ _upper = _keys + (_klen<<1)- 2;
+ while ( _have == 0 && _lower <= _upper )
+ {
+ _mid = _lower + (((_upper-_lower)>> 1)& ~1);
+ if ( (data[p ])< _eofact_trans_keys[_mid ] )
+ _upper = _mid - 2;
+
+ else if ( (data[p ])> _eofact_trans_keys[_mid + 1 ] )
+ _lower = _mid + 2;
+
+ else
+ {
+ _trans += uint32 ( ((_mid - _keys)>>1) );
+ _have = 1;
+
+ }
+
+
+ }
+
+ if ( _have == 0 )
+ _trans += uint32 ( _klen );
+
+
+ }
+
+
+ }
+
+ _ckeys = _eofact_trans_offsets[_trans];
+ _klen = int ( _eofact_trans_lengths[_trans] );
+ _cond = uint32 ( _eofact_trans_offsets[_trans] );
+ _have = 0;
+ _cpc = 0;
+ if ( 1 ) {
+ int _lower = 0;
+ int _mid = 0;
+ int _upper = 0;
+ _lower = _ckeys;
+ _upper = _ckeys + _klen - 1;
+ while ( _have == 0 && _lower <= _upper )
+ {
+ _mid = _lower + ((_upper-_lower)>> 1);
+ if ( _cpc < int ( _eofact_cond_keys[_mid ] ) )
+ _upper = _mid - 1;
+
+ else if ( _cpc > int ( _eofact_cond_keys[_mid ] ) )
+ _lower = _mid + 1;
+
+ else
+ {
+ _cond += uint32 ( (_mid - _ckeys) );
+ _have = 1;
+
+ }
+
+
+ }
+
+ if ( _have == 0 )
+ {
+ cs = 0;
+ _cont = 0;
+
+ }
+
+
+ }
+
+ }
+
+ if ( _cont == 1 )
+ {
+ cs = int ( _eofact_cond_targs[_cond] );
+ if ( cs == 0 )
+ _cont = 0;
+
+ if ( _cont == 1 )
+ p += 1;
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ if ( cs >= eofact_first_final ) {
+ cout `ACCEPT\n`;
+ }
+ else {
+ cout `FAIL\n`;
+ }
+}
+
+void main()
+{
+ m( "" );
+ m( "h" );
+ m( "hell" );
+ m( "hello" );
+ m( "hello\n" );
+ m( "t" );
+ m( "ther" );
+ m( "there" );
+ m( "friend" );
+}
+
+main();