168 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			HTML
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			168 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			HTML
		
	
	
		
			Executable File
		
	
	
| <!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>
 |