| Package | Description |
|---|---|
| net.sourceforge.nrl.parser.ast |
The fully resolved abstract syntax tree (AST) representation of the constraint language.
|
| net.sourceforge.nrl.parser.ast.action |
The fully resolved extended abstract syntax tree (AST) representation for the
action language.
|
| net.sourceforge.nrl.parser.ast.action.impl | |
| net.sourceforge.nrl.parser.ast.constraints | |
| net.sourceforge.nrl.parser.ast.constraints.impl | |
| net.sourceforge.nrl.parser.ast.impl |
The ANTLR v3 implementation of the AST, including a JFlex lexer and ANTLR v3
parser.
|
| net.sourceforge.nrl.parser.type |
Abstract type assignment and type checking for the completed AST.
|
| Modifier and Type | Interface and Description |
|---|---|
interface |
IDeclaration
A declaration is either a rule declaration or a fragment declaration, as
defined by the sub-interfaces.
|
interface |
IModelFileReference |
interface |
IModelReference
A reference to a model element, consisting of several steps along element and attribute names.
|
interface |
IMultipleContextDeclaration
Any declaration that takes multiple contexts, with parameter names.
|
interface |
IOperatorFileReference
A reference to an operator file, by file name
|
interface |
IRuleDeclaration
A generic rule declaration.
|
interface |
IRuleFile
IRuleFile is the top level interface - it contains the entire, fully resolved
AST of a rule file.
|
interface |
IRuleSetDeclaration
A rule set is a named collection of rules, with an optional precondition
attached to the execution of the rules.
|
interface |
ISingleContextDeclaration
A SingleContextDeclaration is a declaration with a unique context, for example a validation or
action rule.
|
| Modifier and Type | Method and Description |
|---|---|
INRLAstNode |
Variable.getDeclarationNode()
Helper node for error reporting - where the variable was declared
|
| Modifier and Type | Method and Description |
|---|---|
void |
Variable.setDeclarationNode(INRLAstNode declarationNode)
Helper node for error reporting - where the variable was declared
|
void |
INRLAstVisitor.visitAfter(INRLAstNode node)
Visit an AST node after its children have been processed.
|
void |
ConstraintVisitorDispatcher.visitAfter(INRLAstNode node)
Default implementation - dispatches calls to the registered visitor's
methods.
|
void |
ActionVisitorDispatcher.visitAfter(INRLAstNode node)
Dispatching method.
|
boolean |
INRLAstVisitor.visitBefore(INRLAstNode node)
Visit an AST node and, if this method returns true, visit its children in
order.
|
boolean |
ConstraintVisitorDispatcher.visitBefore(INRLAstNode node)
Default implementation - dispatches calls to the registered visitor's
methods.
|
boolean |
ActionVisitorDispatcher.visitBefore(INRLAstNode node)
Dispatching method.
|
| Modifier and Type | Interface and Description |
|---|---|
interface |
IAction
A basic action, which is further refined into compound and conditional actions.
|
interface |
IActionFragmentApplicationAction
An action fragment application.
|
interface |
IActionFragmentDeclaration
An action fragment declaration.
|
interface |
IActionRuleDeclaration
Declaration of an action type rule.
|
interface |
IAddAction
An action that adds an element to a collection.
|
interface |
ICompoundAction
A collection of actions to be executed in sequence.
|
interface |
IConditionalAction
An if-then-else type action.
|
interface |
ICreateAction
An action that creates a new object and assigns it to a variable.
|
interface |
IForEachAction
An iterative action that executes child actions over each member of a
collection.
|
interface |
IOperatorAction
An action that invokes an externally defined operator.
|
interface |
IRemoveAction
An action that deletes an attribute or deletes any object that matches a set
of criteria.
|
interface |
IRemoveFromCollectionAction
An action that removes an element from a collection.
|
interface |
ISetAction
An action that sets an attribute to a value.
|
interface |
ISimpleAction
Super-interface for atomic actions that cannot be broken down further.
|
interface |
IVariableDeclarationAction
An action that wraps an
IVariableDeclaration. |
| Modifier and Type | Class and Description |
|---|---|
class |
ActionFragmentApplicationActionImpl |
class |
ActionFragmentDeclarationImpl |
class |
ActionImpl |
class |
ActionRuleDeclarationImpl |
class |
AddActionImpl |
class |
CompoundActionImpl |
class |
ConditionalActionImpl |
class |
CreateActionImpl |
class |
ForEachActionImpl |
class |
OperatorActionImpl |
class |
RemoveActionImpl |
class |
RemoveFromCollectionActionImpl |
class |
SetActionImpl |
class |
VariableDeclarationActionImpl |
| Modifier and Type | Interface and Description |
|---|---|
interface |
IArithmeticExpression
An arithmetic expression takes two arguments and applies an operator to them.
|
interface |
IBinaryOperatorStatement
A binary operator statement is either an and, or, iff or implies statement.
|
interface |
IBinaryPredicate
A binary predicate compares two expressions for the purpose of returning a
Boolean result.
|
interface |
IBooleanLiteral
"true" or "false".
|
interface |
ICardinalityConstraint
A cardinality constraint: one, one or more, and so on.
|
interface |
ICastExpression
An expression that converts a type to a sub-type.
|
interface |
ICollectionIndex
A statement to return an item at a specific index in a collection.
|
interface |
ICompoundReport
A list of reporting statements that should be processed in sequence, possibly
by concatenation.
|
interface |
IConcatenatedReport
A concatenation of expressions that should result in a report string.
|
interface |
IConditionalReport
An if-then-else reporting statement.
|
interface |
IConstraint
A constraint occurs in a rule or fragment declaration, or recursively
elsewhere.
|
interface |
IConstraintRuleDeclaration
Declaration of a constraint type rule.
|
interface |
IDecimalNumber
A decimal (floating point) number that occurred as a literal in an expression.
|
interface |
IExistsStatement
One of the "exists" statements.
|
interface |
IExpression
An expression is a mathematical formula, a call-out, a fragment application
or simply a basic type like a string or model element.
|
interface |
IForallStatement
A constraint that expresses that a sub-constraint holds for every member of a
collection identified by a model reference.
|
interface |
IFunctionalExpression
An expression that uses a function to compute a result.
|
interface |
IGlobalExistsStatement
A "global" exists statement.
|
interface |
IIdentifier
An identifier can occur in an expression, and is a model reference, literal
string or a number.
|
interface |
IIfThenStatement
An if-then statement contains a boolean if clause, a then clause and an
optional else clause.
|
interface |
IIntegerNumber
An integer number that occurred as a literal in an expression.
|
interface |
IIsInPredicate
"is in" returns true if a value is in a
comma-separated list of identifiers.
|
interface |
IIsNotInPredicate
"is not in" returns true if a value is NOT in a
comma-separated list of identifiers.
|
interface |
IIsSubtypePredicate
Checks if a model reference refers to a sub-type of a specified type.
|
interface |
ILiteralString
A literal, quoted string.
|
interface |
IMultipleExistsStatement
An assertion that multiple model elements are present.
|
interface |
IMultipleNotExistsStatement
An assertion that multiple model elements are not present.
|
interface |
INotExistsStatement
A constraint that expresses that an attribute does not exist, or a collection
is empty.
|
interface |
IOperatorInvocation
An operator invocation is an expression that makes use of an external
undefined operator - mostly a scripted a programmed extension.
|
interface |
IPredicate
A predicate is an abstract constraint that returns true by comparing
expressions and values.
|
interface |
ISelectionExpression
A selection expression: "the element where constraint".
|
interface |
ISimpleReport
A "simple report" is a report that can occur in a compound report, but cannot
contain further compound reports.
|
interface |
IValidationFragmentApplication
A fragment application is used inside a rule to obtain the value of a
fragment.
|
interface |
IValidationFragmentDeclaration
Declaration of a validation fragment, a sub-constraint that is attached to a model
element.
|
interface |
IVariableDeclaration
A variable declaration statement.
|
| Modifier and Type | Class and Description |
|---|---|
class |
Antlr3NRLBaseAst
The basic AST node, extends the ANTLR 3 AST.
|
class |
DeclarationImpl |
class |
ModelFileReferenceImpl |
class |
MultipleContextDeclarationImpl |
class |
NamedParameterImpl |
class |
OperatorFileReferenceImpl |
class |
RuleFileImpl
ANTLR implementation of the overall rule file AST node.
|
class |
RuleSetDeclarationImpl |
class |
SingleContextDeclarationImpl |
| Modifier and Type | Method and Description |
|---|---|
void |
AntlrModelResolverVisitor.bindVariable(IVariable var,
INRLAstNode declarationNode,
boolean checkDuplicates) |
protected void |
AntlrModelResolverVisitor.raiseError(INRLAstNode node,
int statusCode,
String message) |
void |
AntlrOperatorResolverVisitor.visitAfter(INRLAstNode node) |
void |
AntlrAstVisitor.visitAfter(INRLAstNode node) |
boolean |
AntlrOperatorResolverVisitor.visitBefore(INRLAstNode node) |
boolean |
AntlrAstVisitor.visitBefore(INRLAstNode node) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
ConstraintTypeChecker.error(int status,
INRLAstNode construct,
String message)
Raise a type checking error on a construct.
|
protected void |
ConstraintTypeChecker.visitOperatorParameters(IOperator operator,
INRLAstNode operatorNode,
List<IExpression> parameters) |
Copyright © 2006-2013. All Rights Reserved.