diff options
Diffstat (limited to 'examples/antlr_grammar_tests.py')
-rw-r--r-- | examples/antlr_grammar_tests.py | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/examples/antlr_grammar_tests.py b/examples/antlr_grammar_tests.py index 57d6cb6..17d8fa0 100644 --- a/examples/antlr_grammar_tests.py +++ b/examples/antlr_grammar_tests.py @@ -1,21 +1,20 @@ -''' +""" Created on 4 sept. 2010 @author: luca Submitted by Luca DallOlio, September, 2010 -''' +""" import unittest from . import antlr_grammar -class Test(unittest.TestCase): - +class Test(unittest.TestCase): def testOptionsSpec(self): text = """options { language = Python; }""" - antlr_grammar.optionsSpec.parseString(text) #@UndefinedVariable + antlr_grammar.optionsSpec.parseString(text) # @UndefinedVariable def testTokensSpec(self): text = """tokens { @@ -24,23 +23,23 @@ class Test(unittest.TestCase): MULT = '*' ; DIV = '/' ; }""" - antlr_grammar.tokensSpec.parseString(text) #@UndefinedVariable + antlr_grammar.tokensSpec.parseString(text) # @UndefinedVariable def testBlock(self): text = """( PLUS | MINUS )""" - antlr_grammar.block.parseString(text) #@UndefinedVariable + antlr_grammar.block.parseString(text) # @UndefinedVariable def testRule(self): text = """expr : term ( ( PLUS | MINUS ) term )* ;""" - antlr_grammar.rule.parseString(text) #@UndefinedVariable + antlr_grammar.rule.parseString(text) # @UndefinedVariable def testLexerRule(self): text = """fragment DIGIT : '0'..'9' ;""" - antlr_grammar.rule.parseString(text) #@UndefinedVariable + antlr_grammar.rule.parseString(text) # @UndefinedVariable def testLexerRule2(self): text = """WHITESPACE : ( '\t' | ' ' | '\r' | '\n'| '\u000C' )+ { $channel = HIDDEN; } ;""" - #antlr_grammar.rule.parseString(text) #@UndefinedVariable + # antlr_grammar.rule.parseString(text) #@UndefinedVariable def testGrammar(self): text = """grammar SimpleCalc; @@ -76,16 +75,28 @@ NUMBER : (DIGIT)+ ; /* WHITESPACE : ( '\t' | ' ' | '\r' | '\n'| '\u000C' )+ { $channel = HIDDEN; } ; */ fragment DIGIT : '0'..'9' ;""" - antlrGrammarTree = antlr_grammar.grammarDef.parseString(text) #@UndefinedVariable + antlrGrammarTree = antlr_grammar.grammarDef.parseString( + text + ) # @UndefinedVariable pyparsingRules = antlr_grammar.antlrConverter(antlrGrammarTree) pyparsingRule = pyparsingRules["expr"] pyparsingTree = pyparsingRule.parseString("2 - 5 * 42 + 7 / 25") pyparsingTreeList = pyparsingTree.asList() print(pyparsingTreeList) - self.assertEqual(pyparsingTreeList, - [[[['2'], []], [['-', [['5'], [['*', ['4', '2']]]]], ['+', [['7'], [['/', ['2', '5']]]]]]]] - ) + self.assertEqual( + pyparsingTreeList, + [ + [ + [["2"], []], + [ + ["-", [["5"], [["*", ["4", "2"]]]]], + ["+", [["7"], [["/", ["2", "5"]]]]], + ], + ] + ], + ) + if __name__ == "__main__": - #import sys;sys.argv = ['', 'Test.testOptionsSpec'] + # import sys;sys.argv = ['', 'Test.testOptionsSpec'] unittest.main() |