t001lexer.py

来自「antlr最新版本V3源代码」· Python 代码 · 共 49 行

PY
49
字号
import antlr3import testbaseimport unittestclass t001lexer(testbase.ANTLRTest):    def setUp(self):        self.compileGrammar()                    def lexerClass(self, base):        class TLexer(base):            def emitErrorMessage(self, msg):                # report errors to /dev/null                pass            def recover(self, re):                # no error recovery yet, just crash!                raise re        return TLexer                def testValid(self):        stream = antlr3.StringStream('0')        lexer = self.getLexer(stream)        token = lexer.nextToken()        self.failUnlessEqual(token.type, self.lexerModule.ZERO)        token = lexer.nextToken()        self.failUnlessEqual(token.type, self.lexerModule.EOF)            def testMalformedInput(self):        stream = antlr3.StringStream('1')        lexer = self.getLexer(stream)        try:            token = lexer.nextToken()            self.fail()        except antlr3.MismatchedTokenException, exc:            self.failUnlessEqual(exc.expecting, '0')            self.failUnlessEqual(exc.unexpectedType, '1')            if __name__ == '__main__':    unittest.main()

⌨️ 快捷键说明

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