Skip to content

Commit

Permalink
No commit message
Browse files Browse the repository at this point in the history
  • Loading branch information
jgreenfield committed Apr 10, 2012
1 parent adde1e4 commit 6bebff7
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions xocl/xoclgrammar/src/com/x/xocl/XOCL.xtext
Expand Up @@ -30,7 +30,8 @@ WildcardImport: PackageName PERIOD ASTERISK?;
ElementImport: PackageName PERIOD ID;

Contract:
_CONTRACT name = ID (EXTENDS extends = [Contract | QualifiedName])?
_CONTRACT name = ID
(EXTENDS extends += [Contract | QualifiedName] (COMMA extends += [Contract | QualifiedName])*)?
LBRACE
DESCRIPTION description = STRING
ROLES
Expand Down Expand Up @@ -212,24 +213,24 @@ ElseElement:
RBRACE
;

BooleanExpression :
({UnaryExpression} negation ?= NegationOperator operand = BooleanExpression) |
(TerminalExpression ({BinaryExpression.leftOperand=current} operator = LogicalOperator rightOperand = BooleanExpression)?) |
FunctionExpression
BooleanExpression:
(operator = NegationOperator leftOperand = BooleanExpression) |
(TerminalExpression ({BinaryExpression.leftOperand=current} operator = LogicalOperator rightOperand = BooleanExpression)?)
;

NegationOperator: NOT;

LogicalOperator: AND | OR;

TerminalExpression returns BooleanExpression:
FunctionExpression |
LPAREN BooleanExpression RPAREN |
ParameterExpression |
ConstantExpression
ConstantExpression |
ParameterExpression
;

ParameterExpression:
value = ParameterName LBRACK state = [EntityState | QualifiedName] RBRACK
value = [Parameter | QualifiedName] LBRACK state = [EntityState | QualifiedName] RBRACK
;

ConstantExpression: TrueExpression | FalseExpression;
Expand All @@ -244,7 +245,7 @@ FunctionExpression:

FunctionArgument:
(expression = FunctionExpression) |
(parameter = ParameterName)
(parameter = [Parameter | QualifiedName])
;

// Use this rule to add function names to the language as necessary.
Expand Down

0 comments on commit 6bebff7

Please sign in to comment.