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

📄 t022scopes.py

📁 antlr最新版本V3源代码
💻 PY
字号:
import antlr3import testbaseimport unittestimport textwrapclass t022scopes(testbase.ANTLRTest):    def setUp(self):        self.compileGrammar()            def parserClass(self, base):        class TParser(base):            def emitErrorMessage(self, msg):                # report errors to /dev/null                pass            def recover(self, input, re):                # no error recovery yet, just crash!                raise        return TParser            def testa1(self):        cStream = antlr3.StringStream('foobar')        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        parser.a()            def testb1(self):        cStream = antlr3.StringStream('foobar')        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        try:            parser.b(False)            self.fail()        except antlr3.RecognitionException:            pass            def testb2(self):        cStream = antlr3.StringStream('foobar')        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        parser.b(True)            def testc1(self):        cStream = antlr3.StringStream(            textwrap.dedent('''\            {                int i;                int j;                i = 0;            }            '''))        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        symbols = parser.c()        self.failUnlessEqual(            symbols,            set(['i', 'j'])            )            def testc2(self):        cStream = antlr3.StringStream(            textwrap.dedent('''\            {                int i;                int j;                i = 0;                x = 4;            }            '''))        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        try:            parser.c()            self.fail()        except RuntimeError, exc:            self.failUnlessEqual(exc.args[0], 'x')    def testd1(self):        cStream = antlr3.StringStream(            textwrap.dedent('''\            {                int i;                int j;                i = 0;                {                    int i;                    int x;                    x = 5;                }            }            '''))        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        symbols = parser.d()        self.failUnlessEqual(            symbols,            set(['i', 'j'])            )    def testd2(self):        cStream = antlr3.StringStream(            textwrap.dedent('''\            {                {                    int x;                }                x = 5            }            '''))        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        try:            parser.d()            self.fail()        except RuntimeError, exc:            self.failUnlessEqual(exc.args[0], 'x')                        def testd3(self):        cStream = antlr3.StringStream(            textwrap.dedent('''\            {                int x;                {                    x = 5                }            }            '''))        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        parser.d()    def teste1(self):        cStream = antlr3.StringStream(            textwrap.dedent('''\            { { { { 12 } } } }            '''))        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        res = parser.e()        self.failUnlessEqual(res, 12)    def testf1(self):        cStream = antlr3.StringStream(            textwrap.dedent('''\            { { { { 12 } } } }            '''))        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        res = parser.f()        self.failUnlessEqual(res, None)    def testf2(self):        cStream = antlr3.StringStream(            textwrap.dedent('''\            { { 12 } }            '''))        lexer = self.getLexer(cStream)        tStream = antlr3.CommonTokenStream(lexer)        parser = self.getParser(tStream)        res = parser.f()        self.failUnlessEqual(res, None)if __name__ == '__main__':    unittest.main()

⌨️ 快捷键说明

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