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>
 |