1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 3 <head> 4 <meta http-equiv="content-type" content="text/html;charset=utf-8" /> 5 <title>t046rewrite</title> 6 7 <!-- ANTLR includes --> 8 <script type="text/javascript" src="../../lib/antlr3-all.js"></script> 9 <script type="text/javascript" src="t046rewriteLexer.js"></script> 10 <script type="text/javascript" src="t046rewriteParser.js"></script> 11 12 13 <!-- JsUnit include --> 14 <script type="text/javascript" src="../jsunit/app/jsUnitCore.js"></script> 15 16 <!-- Test Code --> 17 <script type="text/javascript"> 18 var TLexer = function() { 19 TLexer.superclass.constructor.apply(this, arguments); 20 }; 21 org.antlr.lang.extend(TLexer, t046rewriteLexer, { 22 recover: function(re) { 23 /* don't recover, just crash */ 24 throw re; 25 } 26 }); 27 28 var TParser = function() { 29 TParser.superclass.constructor.apply(this, arguments); 30 }; 31 org.antlr.lang.extend(TParser, t046rewriteParser, { 32 recover: function(re) { 33 /* don't recover, just crash */ 34 throw re; 35 } 36 }); 37 38 39 function testValid1() { 40 var xinput = [ 41 "method foo() {", 42 " i = 3;", 43 " k = i;", 44 " i = k*4;", 45 "}", 46 "", 47 "method bar() {", 48 " j = i*2;", 49 "}" 50 ].join("\n"); 51 var xoutput = [ 52 "public class Wrapper {", 53 "public void foo() {", 54 "int k;", 55 "int i;", 56 " i = 3;", 57 " k = i;", 58 " i = k*4;", 59 "}", 60 "", 61 "public void bar() {", 62 "int j;", 63 " j = i*2;", 64 "}", 65 "}", 66 "" 67 ].join("\n"); 68 69 var cstream = new org.antlr.runtime.ANTLRStringStream(xinput), 70 lexer = new TLexer(cstream), 71 tstream = new org.antlr.runtime.TokenRewriteStream(lexer), 72 parser = new TParser(tstream); 73 parser.program(); 74 assertEquals(tstream.toString(), xoutput); 75 } 76 </script> 77 78 </head> 79 <body> 80 <h1>t046rewrite</h1> 81 </body> 82 </html> 83