syntax = delimitedList(Expression.names('expressions'), delim=","), ) ExpressionList.ebnf( syntax = delimitedList(Expression.names('expressions'), delim=","), ) ArraySubscripts.ebnf( syntax = Suppress("[") + delimitedList(Subscript.names('subscripts'), delim=",") + Suppress("]"), ) Subscript.ebnf( syntax = Suppress(":") ^ Expression.name("expression"), ) ComponentReference.ebnf( syntax = IDENT.name("identifier"), ) Comment.ebnf( syntax = StringComment.name("comment") + Optional(Annotation.name("annotation")), ) StringComment.ebnf( syntax = delimitedList(STRING.names('comments'), delim="+"), ) Annotation.ebnf( syntax = Literal("annotation") + ClassModification.name('modification'), )
Expression.ebnf(syntax=IDENT.name("identifier")) NamedArguments.ebnf(syntax=delimitedList(NamedArgument.names('arguments'), delim=","), ) NamedArgument.ebnf(syntax=IDENT.name('identifier') + Suppress("=") + Expression.name('expression'), ) OutputExpressionList.ebnf(syntax=delimitedList(Expression.names('expressions'), delim=","), ) ExpressionList.ebnf(syntax=delimitedList(Expression.names('expressions'), delim=","), ) ArraySubscripts.ebnf(syntax=Suppress("[") + delimitedList(Subscript.names('subscripts'), delim=",") + Suppress("]"), ) Subscript.ebnf(syntax=Suppress(":") ^ Expression.name("expression"), ) ComponentReference.ebnf(syntax=IDENT.name("identifier"), ) Comment.ebnf(syntax=StringComment.name("comment") + Optional(Annotation.name("annotation")), ) StringComment.ebnf(syntax=delimitedList(STRING.names('comments'), delim="+"), ) Annotation.ebnf(syntax=Literal("annotation") + ClassModification.name('modification'), )