<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>t022scopes</title> <!-- ANTLR includes --> <script type="text/javascript" src="../../lib/antlr3-all.js"></script> <script type="text/javascript" src="t022scopesLexer.js"></script> <script type="text/javascript" src="t022scopesParser.js"></script> <!-- JsUnit include --> <script type="text/javascript" src="../jsunit/app/jsUnitCore.js"></script> <!-- Test Code --> <script type="text/javascript"> var TParser = function() { TParser.superclass.constructor.apply(this, arguments); } org.antlr.lang.extend(TParser, t022scopesParser, { emitErrorMessage: function(msg) {}, reportError: function(e) { throw e; } }); function testa1() { var cstream = new org.antlr.runtime.ANTLRStringStream("foobar"), lexer = new t022scopesLexer(cstream), tstream = new org.antlr.runtime.CommonTokenStream(lexer), parser = new TParser(tstream); // just make sure we don't get any errors parser.a(); } function testb1() { var cstream = new org.antlr.runtime.ANTLRStringStream("foobar"), lexer = new t022scopesLexer(cstream), tstream = new org.antlr.runtime.CommonTokenStream(lexer), parser = new TParser(tstream); try { parser.b(false); fail("above should have throw error"); } catch(e) { assert(org.antlr.lang.isValue(e)); } } function testb2() { var cstream = new org.antlr.runtime.ANTLRStringStream("foobar"), lexer = new t022scopesLexer(cstream), tstream = new org.antlr.runtime.CommonTokenStream(lexer), parser = new TParser(tstream); parser.b(true); } function testc1() { var xinput = [ "{", " int i;", " int j;", " i = 0;", "}" ].join("\n"); var cstream = new org.antlr.runtime.ANTLRStringStream(xinput), lexer = new t022scopesLexer(cstream), tstream = new org.antlr.runtime.CommonTokenStream(lexer), parser = new TParser(tstream), i; var symbols = parser.c(); assert(symbols.i); assert(symbols.j); } function testc2() { var xinput = [ "{", " int i;", " int j;", " i = 0;", " x = 4;", "}" ].join("\n"); var cstream = new org.antlr.runtime.ANTLRStringStream(xinput), lexer = new t022scopesLexer(cstream), tstream = new org.antlr.runtime.CommonTokenStream(lexer), parser = new TParser(tstream), i; try { parser.c(); fail("shouldn't get here"); } catch(e) { assertEquals(e.message, "x"); } } function testd1() { var xinput = [ "{", " int i;", " int j;", " i = 0;", " {", " int i;", " int x;", " x = 5;", " }", "}" ].join("\n"); var cstream = new org.antlr.runtime.ANTLRStringStream(xinput), lexer = new t022scopesLexer(cstream), tstream = new org.antlr.runtime.CommonTokenStream(lexer), parser = new TParser(tstream), i; var symbols = parser.d(); assert(symbols.i); assert(symbols.j); } function teste1() { var xinput = "{ { { { 12 } } } }"; var cstream = new org.antlr.runtime.ANTLRStringStream(xinput), lexer = new t022scopesLexer(cstream), tstream = new org.antlr.runtime.CommonTokenStream(lexer), parser = new TParser(tstream); var res = parser.e(); assertEquals(res, 12); } function testf1() { var xinput = "{ { { { 12 } } } }"; var cstream = new org.antlr.runtime.ANTLRStringStream(xinput), lexer = new t022scopesLexer(cstream), tstream = new org.antlr.runtime.CommonTokenStream(lexer), parser = new TParser(tstream); var res = parser.f(); assertUndefined(res); } function testf2() { var xinput = "{ { 12 } }"; var cstream = new org.antlr.runtime.ANTLRStringStream(xinput), lexer = new t022scopesLexer(cstream), tstream = new org.antlr.runtime.CommonTokenStream(lexer), parser = new TParser(tstream); var res = parser.f(); assertUndefined(res); } </script> </head> <body> <h1>t022scopes</h1> </body> </html>