diff options
Diffstat (limited to 'test/trans.d/case/cond7_java.rl')
-rw-r--r-- | test/trans.d/case/cond7_java.rl | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/test/trans.d/case/cond7_java.rl b/test/trans.d/case/cond7_java.rl new file mode 100644 index 00000000..156a77d7 --- /dev/null +++ b/test/trans.d/case/cond7_java.rl @@ -0,0 +1,88 @@ +/* + * @LANG: java + * @GENERATED: true + */ + + +class cond7_java +{ +int i ; +int c ; + +%%{ + machine foo; + + action testi {i > 0} + action inc {i = i - 1; +c = ( int ) ( fc ) +; +System.out.print( "item: " ); +System.out.print( c ); +System.out.print( "\n" ); +} + + count = [0-9] @{i = ( int ) ( fc - 48 ) +; +System.out.print( "count: " ); +System.out.print( i ); +System.out.print( "\n" ); +}; + + sub = + count # record the number of digits + ( digit when testi @inc )* outwhen !testi; + + main := sub sub '\n'; +}%% + + + +%% write data; +int cs; + +void init() +{ + %% write init; +} + +void exec( char data[], int len ) +{ + char buffer [] = new char[1024]; + int blen = 0; + int p = 0; + int pe = len; + + String _s; + %% write exec; +} + +void finish( ) +{ + if ( cs >= foo_first_final ) + System.out.println( "ACCEPT" ); + else + System.out.println( "FAIL" ); +} + +static final String inp[] = { +"00\n", +"019\n", +"190\n", +"1719\n", +"1040000\n", +"104000a\n", +"104000\n", +}; + +static final int inplen = 7; + +public static void main (String[] args) +{ + cond7_java machine = new cond7_java(); + for ( int i = 0; i < inplen; i++ ) { + machine.init(); + machine.exec( inp[i].toCharArray(), inp[i].length() ); + machine.finish(); + } +} +} |