def test_ident(self): self.assertTrue(isinstance(IDENT("algo"), IDENT)) self.assertTrue(isinstance(IDENT("_algo"), IDENT)) self.assertTrue(isinstance(IDENT("Algo"), IDENT)) self.assertRaises(Exception, lambda: IDENT(" algo asi "))
def test_ident(self): self.assertTrue(IDENT.load("algo").value == "algo") self.assertTrue(IDENT.load("Algo").value == "Algo") self.assertTrue(IDENT.load("_algo").value == "_algo") self.assertTrue(IDENT.load(" _algo ").value == "_algo") self.assertTrue(IDENT.load(" 'algo' ").value == QIDENT("algo")) self.assertRaises(ParseError, lambda: IDENT.load("1algo"))
Optional(hasLiteral('partial')) + Suppress('function') + ClassSpecifier.name('specification') ) ) Operator.ebnf( syntax = ( Optional(hasLiteral('encapsulated')) + Optional(hasLiteral('partial')) + Suppress('operator') + Optional( hasLiteral('function') ^ hasLiteral('record') ) + ClassSpecifier.name('specification') ) ) class_name = IDENT.name('class_name') ClassSpecifier.ebnf( syntax = Or( ( class_name + StringComment.name('comment') + Composition.name('composition') + Suppress('end') + matchPreviousExpr(class_name) ), ( IDENT.name('class_name') + Suppress('=') + BasePrefix.name('base_prefix') + Name.name('base_name') + Optional(ArraySubscripts.name('base_subscripts')) + Optional(ClassModification.name('base_modification')) + Comment.name('comment') ),
ClassSpecifier.name('specification'))) Package.ebnf(syntax=(Optional(hasLiteral('encapsulated')) + Optional(hasLiteral('partial')) + Suppress('package') + ClassSpecifier.name('specification'))) Function.ebnf(syntax=(Optional(hasLiteral('encapsulated')) + Optional(hasLiteral('partial')) + Suppress('function') + ClassSpecifier.name('specification'))) Operator.ebnf(syntax=(Optional(hasLiteral('encapsulated')) + Optional(hasLiteral('partial')) + Suppress('operator') + Optional(hasLiteral('function') ^ hasLiteral('record')) + ClassSpecifier.name('specification'))) class_name = IDENT.name('class_name') ClassSpecifier.ebnf(syntax=Or( (class_name + StringComment.name('comment') + Composition.name('composition') + Suppress('end') + matchPreviousExpr(class_name)), (IDENT.name('class_name') + Suppress('=') + BasePrefix.name('base_prefix') + Name.name('base_name') + Optional(ArraySubscripts.name('base_subscripts')) + Optional(ClassModification.name('base_modification')) + Comment.name('comment')), )) ### B.2.3 Extends ### B.2.4 Component Clause
def test_qident(self): self.assertTrue(IDENT.load("'algoas'").value == QIDENT("algoas"))
def test_ident(self): self.assertEqual(IDENT("algo").dump(), "algo")
syntax = ( Suppress("for") + ForIndices.name("indices") + Suppress("loop") + ZeroOrMore( Statement.names('statements') + Suppress(";")) + Suppress('end') + Suppress("for") ), action = lambda s, l, t: ForStatement(**dict(t)) ) ForIndices.ebnf( syntax = delimitedList(ForIndex.names('indices'), delim=','), action = lambda s,l,t: ForIndices(**dict(t)) ) ForIndex.ebnf( syntax = IDENT.name("identifier") + Optional(Suppress('in') + Expression.name('expression')), action = lambda s, l, t: ForIndex(**dict(t)) ) WhileStatement.ebnf( syntax = ( Suppress("while") + Expression.name("expression") + Suppress('loop') + StatementArray.name('statements') + Suppress('end') + Suppress("while") ), action = lambda s,l,t: WhileStatement(**dict(t)) ) WhenEquation.ebnf( syntax = ( Suppress('when') + Expression.names('expressions') + Suppress('then') +