///////////////////////////// // CondBean parser syntax // //////////////////////////// conditionalBean ::= expression ; expression ::= assignmentExpression ; assignmentExpression ::= conditionalExpression ; conditionalExpression ::= logicalOrExpression ; logicalOrExpression ::= logicalAndExpression | logicalOrExpression orOperator logicalAndExpression ; logicalAndExpression ::= equalityExpression | logicalAndExpression andOperator equalityExpression ; equalityExpression ::= relationalExpression | equalityExpression "==" relationalExpression | equalityExpression "!=" relationalExpression ; relationalExpression ::= unaryExpression | relationalExpression '<' unaryExpression | relationalExpression '>' unaryExpression | relationalExpression "<=" unaryExpression | relationalExpression ">=" unaryExpression ; unaryExpression ::= '!' unaryExpression | "${" qualifiedType '}' | primaryExpression | "isdef" '(' simpleType ')' ; primaryExpression ::= literal | '(' expression ')' ; orOperator ::= "||" | "or" ; andOperator ::= "&&" | "and" ; token ::= qualifiedName ; token ::= simpleName; token ::= orOperator; token ::= andOperator; token ::= chars; token ::= altStringLiteral; literal ::= numberType | booleanType | stringType ; simpleName ::= Identifier ; qualifiedName ::= Identifier (dot Identifier)+ ; Identifier ::= `identifier`; booleanType ::= booleanLiteral ; numberType ::= integerLiteral | floatingPointLiteral ; stringType ::= stringLiteral | altStringLiteral ; qualifiedType ::= qualifiedName; simpleType ::= simpleName; booleanLiteral ::= "true" | "false" ; integerLiteral ::= `integer` ; floatingPointLiteral ::= `float` ; stringLiteral ::= `stringdef` ; altStringLiteral ::= quote chars quote ; chars ::= (`char` - "'")* ; dot ::= '.' ; quote ::= "'" ; ignored ::= `whitespaces` ;