⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t014parser.py

📁 antlr最新版本V3源代码
💻 PY
字号:
import antlr3import testbaseimport unittestclass t014parser(testbase.ANTLRTest):    def setUp(self):        self.compileGrammar()                    def testValid(self):        cStream = antlr3.StringStream('var foobar; gnarz(); var blupp; flupp ( ) ;')        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        parser.document()        assert len(parser.reportedErrors) == 0, parser.reportedErrors        assert parser.events == [            ('decl', 'foobar'),            ('call', 'gnarz'),            ('decl', 'blupp'),            ('call', 'flupp')            ], parser.events    def testMalformedInput1(self):        cStream = antlr3.StringStream('var; foo();')        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        parser.document()        # FIXME: currently strings with formatted errors are collected        # can't check error locations yet        assert len(parser.reportedErrors) == 1, parser.reportedErrors        # FIXME: shouldn't this be ('call', 'foo')???        assert parser.events == [], parser.events    def testMalformedInput2(self):        cStream = antlr3.StringStream('var foobar(); gnarz();')        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        parser.document()        # FIXME: currently strings with formatted errors are collected        # can't check error locations yet        assert len(parser.reportedErrors) == 1, parser.reportedErrors        assert parser.events == [            ('call', 'gnarz'),            ], parser.events    def testMalformedInput3(self):        cStream = antlr3.StringStream('gnarz(; flupp();')        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        parser.document()        # FIXME: currently strings with formatted errors are collected        # can't check error locations yet        assert len(parser.reportedErrors) == 1, parser.reportedErrors        assert parser.events == [            ('call', 'gnarz'),            ('call', 'flupp'),            ], parser.events            if __name__ == '__main__':    unittest.main()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -