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

📄 t017parser.py

📁 antlr最新版本V3源代码
💻 PY
字号:
import antlr3import testbaseimport unittestclass t017parser(testbase.ANTLRTest):    def setUp(self):        self.compileGrammar()            def parserClass(self, base):        class TestParser(base):            def __init__(self, *args, **kwargs):                base.__init__(self, *args, **kwargs)                self.reportedErrors = []                    def emitErrorMessage(self, msg):                self.reportedErrors.append(msg)                        return TestParser    def testValid(self):        cStream = antlr3.StringStream("int foo;")        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        parser.program()        assert len(parser.reportedErrors) == 0, parser.reportedErrors    def testMalformedInput1(self):        cStream = antlr3.StringStream('int foo() { 1+2 }')        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        parser.program()        # FIXME: currently strings with formatted errors are collected        # can't check error locations yet        assert len(parser.reportedErrors) == 1, parser.reportedErrors    def testMalformedInput2(self):        cStream = antlr3.StringStream('int foo() { 1+; 1+2 }')        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        parser.program()        # FIXME: currently strings with formatted errors are collected        # can't check error locations yet        assert len(parser.reportedErrors) == 2, parser.reportedErrorsif __name__ == '__main__':    unittest.main()

⌨️ 快捷键说明

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