Author: Derick Rethans Date: 2006-02-16 11:09:44 +0100 (Thu, 16 Feb 2006) New Revision: 2253
Log: - Add Ray's latest changes. Modified: trunk/Template/design/EBNF.txt Modified: trunk/Template/design/EBNF.txt =================================================================== --- trunk/Template/design/EBNF.txt 2006-02-16 09:52:10 UTC (rev 2252) +++ trunk/Template/design/EBNF.txt 2006-02-16 10:09:44 UTC (rev 2253) @@ -22,7 +22,9 @@ Block ::= OutputBlock | CommentBlock | ProcedureBlock - | DeclarationBlock + | DefineBlock + | UnDefineBlock + | AssignBlock | LoopBlock | CodeFlowBlock | LiteralBlock @@ -38,19 +40,25 @@ literalBlock ::= '{literal}' Text '{/literal}' -ProcedureBlock ::= '{' Identifier (Identifier ( ('=')? Expression)? )* ( '/}' | '}' Text '{/' Identifier '}' ) +ProcedureBlock ::= '{' Identifier ( ProcedureArgument )* ( '/}' | '}' Text '{/' Identifier '}' ) +ProcedureArgument ::= Identifier ( ('=')? Expression)? + DefineBlock ::= '{def' SubDefineBlock '}' SubDefineBlock ::= PrimaryVariable ( '=' Expression )? ( ',' SubDefineBlock )? UnDefineBlock ::= '{undef' PrimaryVariable (',' PrimaryVariable)* '}' +AssignBlock ::= '{set' SubAssignBlock '}' +SubAssignBlock ::= PrimaryVariable (Assignment|CombinedAssignment) Expression (',' SubAssignBlock)? + + LOOP_CONTROL ------------ -LoopControl ::= ForeachStatement +LoopBlock ::= ForeachStatement | ForStatement | WhileStatement | DoWhileStatement @@ -90,7 +98,7 @@ Case ::= '{case' Expression '}' Text '{/case}' -DefaultCase ::= '{default' '}' Text '{/default}' +DefaultCase ::= '{default}' Text '{/default}' IncludeStatement ::= '{include' Expression '/}' @@ -152,7 +160,7 @@ Comment ::= '//' Graphic* EOL | '/*' Grapic* '*/' -Graphic ::= Digit | Letter | Blank | Operators | Assignment | RemainingCharSet +Graphic ::= Digit | Letter | Blank | Operators | Assignment | CombinedAssignment | RemainingCharSet EOL ::= end-of-line @@ -178,14 +186,14 @@ Assignment ::= '=' +CombinedAssignment ::= '+=' | '-=' | '*=' | '/=' | '%=' | '.=' + Operators ::= BinaryOperator | UnaryOperator | '++' | '--' -BinaryOperator ::= ArithmeticOperator | CombinedOperator | ComparisonOperator | BooleanOperator | StringOperator +BinaryOperator ::= ArithmeticOperator | ComparisonOperator | BooleanOperator | StringOperator ArithmeticOperator ::= '+' | '-' | '*' | '/' | '%' -CombinedOperator ::= '+=' | '-=' | '*=' | '/=' | '%=' | '.=' - ComparisonOperator ::= '==' | '===' | '!=' | '!==' | '<' | '<=' | '>' | '>=' BooleanOperator ::= '&&' | '||' -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components