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

Reply via email to