|  | Intentional Programming | ACI Concept | AAL definition | AAL syntax | AAL parser | Object Representation | OpCode | Reference Links | 
Syntax of the ALL (snapshot).
 
          | Block : '{' Statements '}'
 ;
 
 MultiplicativeExpr
 : UnaryExpr ( ( '*' | '%' | '/' ) UnaryExpr $ )*
 ;
 
 StandardParams
 : Parameter [ ',' StandardParams ]
 ;
 
 FunctionDeclParamList
 : '(' ')' | '(' StandardParams ')'
 ;
 
 TypeDeclDef
 : TypeName Identifier ( ';' | TypeInitializer ';' )
 ;
 
 Parameter
 : TypeName VarName
 ;
 
 Arguments
 : '(' ')' | '(' ArgumentList ')'
 ;
 
 FunctionDecl
 : TypeName VarName FunctionDeclParamList $
 ;
 
 Expression
 : AssignmentExpr ( ',' AssignmentExpr )*
 ;
 
 ObjCallSuffix
 : '.' Identifier [ Arguments ] | '[' Expression ']' | Arguments
 ;
 
 BitwiseORExpr
 : BitwiseXORExpr ( '|' BitwiseXORExpr )* %
 ;
 
 CaseStatement
 : 'switch' '(' Expression ')' '{' ( CaseClause )* '}' $
 ;
 
 EqualityExpr
 : RelationalExpr ( ( '==' | '!=' ) RelationalExpr )* %
 ;
 
 TypeInitializer
 : '=' ( AssignmentExpr | ConditionalExpr )
 ;
 
 CallExpr
 : 'new' TypeName Arguments
 | CoreExpr ( ObjCallSuffix )*
 ;
 
 PostfixExpr
 : CallExpr [ '++' | '--' ] %
 ;
 
 ShiftExpr
 : AdditiveExpr ( ( '>>' | '<<' ) AdditiveExpr )* %
 ;
 
 DoStatement
 : 'do' Statement 'while' '(' Expression ')' ';' $
 ;
 
 CoreExpr
 :  '(' AssignmentExpr ')' | Identifier | Literal
 ;
 
 BitwiseANDExpr
 : EqualityExpr ( '&' EqualityExpr )* %
 ;
 
 LeftHandSideExpr
 : CallExpr
 ;
 
 ExprStatement
 : Expression ';'
 ;
 
 AdditiveExpr
 : MultiplicativeExpr ( ( '+' | '-' ) MultiplicativeExpr )* %
 ;
 
 UnaryExpr
 : '++' UnaryExpr
 |'--' UnaryExpr
 |'-' UnaryExpr
 |'+' UnaryExpr
 |'~' UnaryExpr
 |'!' UnaryExpr
 |PostfixExpr
 ;
 
 Statements
 : ( Statement )*
 ;
 
 TypeDeclWithInitializer:
 | TypeDeclDef
 | ClassDeclDef
 | FunctionDeclDef
 ;
 LogicalANDExpr
 : [ BitwiseORExpr ( '||'  BitwiseORExpr )* %
 ;
 
 ClassDef
 : SuperDef Block
 ;
 
 AssignmentExpr
 : LeftHandSideExpr '=' AssignmentExpr $ | ConditionalExpr
 ;
 
 ElseStatement
 : 'else' Statement $
 ;
 
 FunctionDeclDef
 : FunctionDecl ( ';' | FunctionBody )
 ;
 
 ReturnStatement
 : 'return' Expression ';' $
 ;
 
 FunctionBody
 : Block $
 ;
 
 ConditionalExpr
 : LogicalORExpr [ '?' AssignmentExpr ':' AssignmentExpr ] %
 ;
 
 CaseClause
 : ( 'case' Expression | 'default' ) ':' ( Statement )* $
 ;
 
 ArgumentList
 : AssignmentExpr ( ',' AssignmentExpr )*
 ;
 
 Statement
 : Block
 |ReturnStatement
 |IfStatement
 |ContinueStatement
 |BreakStatement
 |DoStatement
 |WhileStatement
 |CaseStatement
 |ExprStatement
 ;
 
 ContinueStatement
 : 'continue' ';' $
 ;
 
 BitwiseXORExpr
 : BitwiseANDExpr ( '^' BitwiseANDExpr )* %
 ;
 
 RelationalExpr
 : ShiftExpr ( ( '<' | '>' | '<=' | '>=' ) ShiftExpr )* %
 ;
 
 BreakStatement
 : 'break' ';' $
 ;
 
 CodeText
 : Globals | Statements
 ;
 
 Globals
 : TypeDeclWithInitializer
 ;
 
 WhileStatement
 : 'while' '(' Expression ')' Statement $
 ;
 
 IfStatement
 : 'if' '(' Expression ')' Statement [ ElseStatement ]  $
 ;
 
 LogicalORExpr
 : LogicalANDExpr ( '&&'  LogicalANDExpr )* %
 ;
 
 ClassDeclDef
 : 'class' TypeName (ClassDef | ';')
 ;
 
 
 |  |