1import antlr3 2import testbase 3import unittest 4 5 6class t039labels(testbase.ANTLRTest): 7 def setUp(self): 8 self.compileGrammar() 9 10 11 def lexerClass(self, base): 12 class TLexer(base): 13 def recover(self, input, re): 14 # no error recovery yet, just crash! 15 raise 16 17 return TLexer 18 19 20 def parserClass(self, base): 21 class TParser(base): 22 def recover(self, input, re): 23 # no error recovery yet, just crash! 24 raise 25 26 return TParser 27 28 29 def testValid1(self): 30 cStream = antlr3.StringStream( 31 'a, b, c, 1, 2 A FOOBAR GNU1 A BLARZ' 32 ) 33 34 lexer = self.getLexer(cStream) 35 tStream = antlr3.CommonTokenStream(lexer) 36 parser = self.getParser(tStream) 37 ids, w = parser.a() 38 39 self.assertEqual(len(ids), 6, ids) 40 self.assertEqual(ids[0].text, 'a', ids[0]) 41 self.assertEqual(ids[1].text, 'b', ids[1]) 42 self.assertEqual(ids[2].text, 'c', ids[2]) 43 self.assertEqual(ids[3].text, '1', ids[3]) 44 self.assertEqual(ids[4].text, '2', ids[4]) 45 self.assertEqual(ids[5].text, 'A', ids[5]) 46 47 self.assertEqual(w.text, 'GNU1', w) 48 49 50if __name__ == '__main__': 51 unittest.main() 52 53 54