You are viewing a plain text version of this content. The canonical link for it is here.
Posted to imperius-commits@incubator.apache.org by jn...@apache.org on 2008/08/18 12:50:42 UTC

svn commit: r686743 [1/10] - in /incubator/imperius/trunk: imperius-javaspl/src/main/java/org/apache/imperius/javaspl/ imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/ imperius-splcore/src/main/java/org/apache/imperius/spl/datas...

Author: jneeraj
Date: Mon Aug 18 05:50:36 2008
New Revision: 686743

URL: http://svn.apache.org/viewvc?rev=686743&view=rev
Log:
IMPERIUS 12,13 and 14 code changes submitted by Naidu

Added:
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/util/Messages.java   (with props)
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/util/SPLLogger2.java   (with props)
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/util/messages.properties   (with props)
Modified:
    incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java
    incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/cimspl.g
    incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/cimspl.tree.g
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/PolicyDataStore.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/PolicyRepository.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyCache.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyDataStoreImpl.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyParserImpl.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/datastore/impl/PolicyRepositoryImpl.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/evaluator/impl/PolicyEvaluatorImpl.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/external/InternalClient.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/manager/impl/PolicyManagerImpl.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/IdentPrimaryTuple.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/AnchorData.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/MacroSymbol.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/compiler/symboltable/SPLSymbolTable.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/BasicCollectionExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/CollectOperation.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/PostCollectExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/PrimaryExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expression/primary/SelfExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/DoubleArgumentExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/MethodExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/MultipleArgumentExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/QuadrupleArgumentExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/SingleArgumentExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/TimeZoneExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/TripleArgumentExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/ZeroArgumentExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Abs.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Addition.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/AllInCollection.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/AnyInCollection.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ApplyToCollection.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/AssignmentExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/AvrgInCollection.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Ceiling.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Concatenate.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ConstantExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Contains.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ContainsOnlyDigits.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ContainsOnlyLetters.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ContainsOnlyLettersOrDigits.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/DateTimeConstant.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Division.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/EndsWith.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/EqCollections.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Equal.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Exp.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Floor.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetCurrentTime.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetDayOfMonth.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetDayOfWeek.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetDayOfWeekInMonth.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetDayOfYear.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetHour12.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetHour24.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetMillisecond.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetMinute.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetMonth.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetSecond.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetWeekOfMonth.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetWeekOfYear.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GetYear.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Greater.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/GreaterOrEqual.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/InCollection.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/IntegerConstant.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/IsAfter.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/IsBefore.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/IsWithin.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/LeftSubstring.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Less.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/LessOrEqual.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Ln.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Log10.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/LogicalAnd.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/LogicalNot.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/LogicalOr.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/LogicalXor.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/LongConstant.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/MatchesRegExp.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Max.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/MaxInCollection.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/MedianInCollection.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/MiddleSubstring.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Min.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/MinInCollection.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Mod.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/NotEqual.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Power.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Product.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ReplaceSubstring.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/RightSubstring.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Rint.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Round.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/SdInCollection.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/SquareRoot.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/StartsWith.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/StringConstant.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/StringLength.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/SubCollection.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Substring.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Subtraction.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Sum.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ToBoolean.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ToLower.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ToMilliseconds.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ToREAL32.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ToREAL64.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ToSINT16.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ToSINT32.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ToSINT64.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ToSINT8.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ToString.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/ToUpper.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/UnaryMinusExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/UnaryNotExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/UnaryPlusExpression.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Union.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/expressions/impl/Word.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/factory/ACPLParserMap.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/factory/ActionFactory.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/factory/BuitInOperationExpressionFactory.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/factory/ExpressionFactory.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/statements/actions/impl/AnchorMethodInvokeAction.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/statements/actions/impl/ExtrinsicMethodInvokeAction.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/statements/actions/impl/InvokePolicyAction.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/statements/actions/impl/SetActionBlock.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/statements/impl/DeclarationStatement.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/statements/impl/PolicyDefinition.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/util/ExpressionUtility.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/util/KeyStringToMapConvertor.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/util/TypeInfo.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/spl/parser/util/TypeResolver.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/util/SPLLogger.java
    incubator/imperius/trunk/imperius-splcore/src/main/java/org/apache/imperius/util/SPLLoggerClass.java

Modified: incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java?rev=686743&r1=686742&r2=686743&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java (original)
+++ incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java Mon Aug 18 05:50:36 2008
@@ -155,8 +155,12 @@
         return returnFlag;
     }
     
+	public void setLoggingEnabled(boolean enableOrDisable)
+	{
+		_policyManager.enableLogging(enableOrDisable);
+	}
 
-    public static void main(String[] args) {
+	public static void main(String[] args) {
 
     }
 

Modified: incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/cimspl.g
URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/cimspl.g?rev=686743&r1=686742&r2=686743&view=diff
==============================================================================
--- incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/cimspl.g (original)
+++ incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/cimspl.g Mon Aug 18 05:50:36 2008
@@ -17,11 +17,12 @@
  * under the License.  
  */
 
-// * @author Neeraj Joshi <jn...@us.ibm.com>
+// @author Neeraj Joshi <jn...@us.ibm.com>
  
- 
-  header {
-  	/*
+header 
+{
+
+/*
  * 
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -37,17 +38,26 @@
  * limitations under the License.
  */
 
-	/**
-	 * @author Neeraj Joshi <jn...@us.ibm.com>
-	 *
-	 */
-  package org.apache.imperius.spl.parser.compiler;
-  }
-options {
+/**
+ * @author Neeraj Joshi <jn...@us.ibm.com>
+ *
+ */
+	package org.apache.imperius.spl.parser.compiler;
+	
+	import java.util.List;
+	import java.util.ArrayList;
+
+}
+
+options 
+{
     language=Java;
 }
+
 class SPLParser extends Parser;
-options {
+
+options 
+{
     exportVocab=cimspl;
     genHashLines = true;        // include line number information
     ASTLabelType="org.apache.imperius.spl.parser.compiler.ASTWithLineNumber";
@@ -55,192 +65,385 @@
     k = 1;          // uses CommonAST by default
 }
 
-tokens {
+tokens 
+{
 	STRATEGY_DEF; IMPORT_DEF; DECL_DEF; CONSTANT_DEFN; MACRO_DEFN; POLICY_DEF; CONDITION_DEF;
-	POLICY_GRP_DEF; DECISION_DEF; TYPE; ARGUMENTS; ARG_DEF;
-	EXPR; ELIST; METHOD_CALL; UNARY_MINUS; QUALIFIER;
-	PARAMETERS; PARAMETER_DEF; UNARY_PLUS; ARRAY_DECLARATOR; INDEX_OP; COLLECT_OP ;ASSOCIATION;
-        ACTIONBLOCK; COLLECT_CALL ; UNARY_NOT;BASICCOLLECTION_OP;
-
-
-
- 
+	POLICY_GRP_DEF; DECISION_DEF; TYPE; ARGUMENTS; ARG_DEF;	EXPR; ELIST; METHOD_CALL; 
+	UNARY_MINUS; QUALIFIER; PARAMETERS; PARAMETER_DEF; UNARY_PLUS; ARRAY_DECLARATOR; INDEX_OP; 
+	COLLECT_OP ;ASSOCIATION; ACTIONBLOCK; COLLECT_CALL ; UNARY_NOT;BASICCOLLECTION_OP;
 }
 
+{ 
+	private List errorList = null; 
+	
+	public List getErrorList()
+	{
+		return errorList;
+	}
+}
 
 splpolicy :
+        {
+        	if(errorList == null) 
+        		errorList = new ArrayList();
+        }
         (importstatement)+ strategystatement declarationstatement (policystatement)+
 ;  
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+}
 
 importstatement : 
   //      i:"Import"^ {#i.setType(IMPORT_DEF);} IDENT (DOT! IDENT)* (COMMA! IDENT (DOT! IDENT)*)* (expression)? SEMI! 
       i:"Import"^ {#i.setType(IMPORT_DEF);}(qualifier)? "Class"!  IDENT (DOT! IDENT)*  (identList)? (expression)?  SEMI!
-; 
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 qualifier :
 	q:"Qualifier"^  {#q.setType(QUALIFIER);} IDENT
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+}
 
 identList :
 	c:COLON^ IDENT (COMMA! IDENT)*
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+}
 
 strategystatement :
-        s:"Strategy"^ {#s.setType(STRATEGY_DEF);}("Execute_All_Applicable" | "Execute_First_Applicable")  SEMI!
+	s:"Strategy"^ {#s.setType(STRATEGY_DEF);}("Execute_All_Applicable" | "Execute_First_Applicable")  SEMI!
 ;  
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+}
 
 declarationstatement :     
-(d:"Declaration"^ {#d.setType(DECL_DEF);} LCURLY! ((constantDefinitions) | (macroDeclarations))* RCURLY! )?
-        ;
+	(d:"Declaration"^ {#d.setType(DECL_DEF);} LCURLY! ((constantDefinitions) | (macroDeclarations))* RCURLY! )?
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 constantDefinitions ! :
-		id:IDENT v:varInitializer SEMI!
-		{#constantDefinitions = #(#[CONSTANT_DEFN,"CONSTANT_DEFN"],id,v);}
-               
+	id:IDENT v:varInitializer SEMI!
+	{#constantDefinitions = #(#[CONSTANT_DEFN,"CONSTANT_DEFN"],id,v);}
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 varInitializer :  
-        ( ASSIGN^ expression )?
+	( ASSIGN^ expression )?
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
   
 macroDeclarations !:
-        "Macro"! LCURLY! m:macrodef RCURLY!
-        {#macroDeclarations = #(#[MACRO_DEFN,"MACRO"],m);}
+	"Macro"! LCURLY! m:macrodef RCURLY!
+	{#macroDeclarations = #(#[MACRO_DEFN,"MACRO"],m);}
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
+
 macrodef :
-        "Name"^ ASSIGN! id:IDENT SEMI!
-        "type"! ASSIGN! splType SEMI! 
-         argumentList 
-        "procedure"! ASSIGN! expression
- ;
+	"Name"^ ASSIGN! id:IDENT SEMI!
+	"type"! ASSIGN! splType SEMI! 
+	 argumentList 
+	"procedure"! ASSIGN! expression
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
+
 argumentList  :
-        ("argument"! ASSIGN! argument (COMMA! argument)* SEMI!)?
-        	{#argumentList = #(#[ARGUMENTS,"ARGUMENTS"],
-									#argumentList);}
+	("argument"! ASSIGN! argument (COMMA! argument)* SEMI!)?
+	{#argumentList = #(#[ARGUMENTS,"ARGUMENTS"], #argumentList);}
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 argument ! :
-            id:IDENT COLON! c:splType  
-        	{#argument = #(#[ARG_DEF,"ARG_DEF"],  #([TYPE,"TYPE"],c), id);}      
+	id:IDENT COLON! c:splType  
+	{#argument = #(#[ARG_DEF,"ARG_DEF"],  #([TYPE,"TYPE"],c), id);}      
 ;
-
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 policystatement :
-        (policydef | policyGroup)   SEMI!
+	(policydef | policyGroup)   SEMI!
 ;
-
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 policydef :  
-        p:"Policy"^ {#p.setType(POLICY_DEF);} LCURLY! declarationstatement conditionstatement decision RCURLY! COLON! priority
+	p:"Policy"^ {#p.setType(POLICY_DEF);} LCURLY! declarationstatement conditionstatement decision RCURLY! COLON! priority
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 conditionstatement :
-        (c:"Condition"^ {#c.setType(CONDITION_DEF);} LCURLY! expression RCURLY!)?
+	(c:"Condition"^ {#c.setType(CONDITION_DEF);} LCURLY! expression RCURLY!)?
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
+
 decision :
-        d:"Decision"^ {#d.setType(DECISION_DEF);}  LCURLY! actionBlock RCURLY!
+	d:"Decision"^ {#d.setType(DECISION_DEF);}  LCURLY! actionBlock RCURLY!
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 priority :
-        NUM_INT
+	NUM_INT
 ; 
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
+
 expression :
-        assignmentExpression
-        {#expression = #(#[EXPR,"EXPR"],#expression);}
+	assignmentExpression
+	{#expression = #(#[EXPR,"EXPR"],#expression);}
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 exprList :  
-        expression (COMMA! expression)*
-        {#exprList = #(#[ELIST,"ELIST"], exprList);}
+	expression (COMMA! expression)*
+	{#exprList = #(#[ELIST,"ELIST"], exprList);}
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 assignmentExpression : 
-        conditionalExpression
-        (
-                ASSIGN^ assignmentExpression
-        )?    
-;
-
+	conditionalExpression
+	(
+		ASSIGN^ assignmentExpression
+	)?    
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 conditionalExpression :
-        logicalOrexpression
+	logicalOrexpression
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
+
 logicalOrexpression : 
-        logicalAndExpression (LOR^ logicalAndExpression)*
+	logicalAndExpression (LOR^ logicalAndExpression)*
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 logicalAndExpression  :  
-          exclusiveOrExpression (LAND^ exclusiveOrExpression)*
+	exclusiveOrExpression (LAND^ exclusiveOrExpression)*
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 exclusiveOrExpression : 
-          equalityExpression (BXOR^ equalityExpression)*
+	equalityExpression (BXOR^ equalityExpression)*
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 equalityExpression : 
-        relationalExpression ((NOT_EQUAL^ | EQUAL^) relationalExpression)*
+	relationalExpression ((NOT_EQUAL^ | EQUAL^) relationalExpression)*
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 relationalExpression :
-        additiveExpression (( LT^ | GT^ | LE^ | GE^ ) additiveExpression)*
+	additiveExpression (( LT^ | GT^ | LE^ | GE^ ) additiveExpression)*
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 additiveExpression : 
-        multiplicativeExpression ((PLUS^ | MINUS^) multiplicativeExpression)*
+	multiplicativeExpression ((PLUS^ | MINUS^) multiplicativeExpression)*
 ;
-
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 // multiplication/division (level 2)
 multiplicativeExpression :
-		   
-           unaryExpression ((STAR^ | DIV^ ) unaryExpression)*
+	unaryExpression ((STAR^ | DIV^ ) unaryExpression)*
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 unaryExpression :
-          (MINUS^ {#MINUS.setType(UNARY_MINUS);} unaryExpression )| (PLUS^ {#PLUS.setType(UNARY_PLUS);} unaryExpression) | (unaryExpressionNotPlusMinus)
+	(MINUS^ {#MINUS.setType(UNARY_MINUS);} unaryExpression )| (PLUS^ {#PLUS.setType(UNARY_PLUS);} unaryExpression) | (unaryExpressionNotPlusMinus)
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 unaryExpressionNotPlusMinus : 
-        (LNOT^ {#LNOT.setType(UNARY_NOT);} unaryExpression )| (primaryExpression)
+	(LNOT^ {#LNOT.setType(UNARY_NOT);} unaryExpression )| (primaryExpression)
 ;
-
-
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 primaryExpression :   
-        identPrimary | constant | "true"| "false" | "Self"  | (LPAREN! assignmentExpression RPAREN!)
+	identPrimary | constant | "true"| "false" | "Self"  | (LPAREN! assignmentExpression RPAREN!)
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 identPrimary :
-                IDENT^ ( (DOT! IDENT (indexOp | methodCall)?)* | methodCall)
-                | collectOperation
-                | basicCollectionOp  
-                  ;
+	IDENT^ ( (DOT! IDENT (indexOp | methodCall)?)* | methodCall)
+	| collectOperation
+	| basicCollectionOp  
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
                   
 collectOperation :
-                 c:"collect"^ {#c.setType(COLLECT_OP);} collectmethodcall (indexOp (methodOrPropertyOrArrayForCollect)? )?  
-                 ;
+	c:"collect"^ {#c.setType(COLLECT_OP);} collectmethodcall (indexOp (methodOrPropertyOrArrayForCollect)? )?  
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
                  
 collectmethodcall :    
-
-LPAREN^ {#LPAREN.setType(COLLECT_CALL); }  paramList RPAREN!
-;          
-
-methodOrPropertyOrArrayForCollect :     DOT! IDENT ( indexOp | methodCall)?
-                                          
-                                        ;
+	LPAREN^ {#LPAREN.setType(COLLECT_CALL); }  paramList RPAREN!
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
+          
+methodOrPropertyOrArrayForCollect : 
+    DOT! IDENT ( indexOp | methodCall)?
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
          
-                
-               
-indexOp : lb:LBRACK^ {#lb.setType(INDEX_OP);} expression RBRACK!
+indexOp : 
+	lb:LBRACK^ {#lb.setType(INDEX_OP);} expression RBRACK!
 ;
-                  
-basicCollectionOp : lb:LBRACK^ {#lb.setType(BASICCOLLECTION_OP);} exprList RBRACK!
-;                       
-
-methodCall :   lp:LPAREN^ {#lp.setType(METHOD_CALL);} paramList RPAREN!
-                
-                ;            
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
+
+basicCollectionOp : 
+	lb:LBRACK^ {#lb.setType(BASICCOLLECTION_OP);} exprList RBRACK!
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
+                       
+methodCall :
+   lp:LPAREN^ {#lp.setType(METHOD_CALL);} paramList RPAREN!
+;            
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 constant : 
 		// DATE_TIME
@@ -251,60 +454,102 @@
         |   NUM_FLOAT
         |   NUM_LONG
         |   NUM_DOUBLE
-          
-  
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 //dateTime : NUM_INT DOT NUM_INT ( (PLUS | MINUS) NUM_INT | COLON NUM_INT)
        //   ;
 
 paramList : 
-        (exprList)? 
+	(exprList)? 
 ;
-
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 actionBlock :
-             actionBlockExpr ( (ARROW^ | LAND^ | LOR^ | BOR^) actionBlockExpr)*
-       ;
+	actionBlockExpr ( (ARROW^ | LAND^ | LOR^ | BOR^) actionBlockExpr)*
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
+
 actionBlockExpr :
-                basicActionBlock | LPAREN! actionBlock RPAREN!
-                ;
-                            
-                        
+	basicActionBlock | LPAREN! actionBlock RPAREN!
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
+
 basicActionBlock :
-                // (IDENT | "Set" | "InvokePolicy" ) (DOT! IDENT)? (methodCall) ((EQUAL | NOT_EQUAL | GE | GT | LT | LE) constant)?
-                (
-                	// ( IDENT (DOT! IDENT (methodCall))* )
-                	IDENT^ ( (DOT! IDENT (indexOp | methodCall)?)* | methodCall)
-                	|
-                	( ("Set" | "InvokePolicy") (DOT! IDENT)? (methodCall) )
-                )
-                (
-                	(EQUAL | NOT_EQUAL | GE | GT | LT | LE) constant
-                )?
-                {#basicActionBlock = #(#[ACTIONBLOCK,"ACTIONBLK"],basicActionBlock );}
+	// (IDENT | "Set" | "InvokePolicy" ) (DOT! IDENT)? (methodCall) ((EQUAL | NOT_EQUAL | GE | GT | LT | LE) constant)?
+	(
+		// ( IDENT (DOT! IDENT (methodCall))* )
+		IDENT^ ( (DOT! IDENT (indexOp | methodCall)?)* | methodCall)
+		|
+		( ("Set" | "InvokePolicy") (DOT! IDENT)? (methodCall) )
+	)
+	(
+		(EQUAL | NOT_EQUAL | GE | GT | LT | LE) constant
+	)?
+	{#basicActionBlock = #(#[ACTIONBLOCK,"ACTIONBLK"],basicActionBlock );}
 ;  
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 policyGroup :
-        p:"PolicyGroup"^ {#p.setType(POLICY_GRP_DEF);} assocName LCURLY! splpolicy RCURLY! COLON! priority
+	p:"PolicyGroup"^ {#p.setType(POLICY_GRP_DEF);} assocName LCURLY! splpolicy RCURLY! COLON! priority
 ;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
 
 assocName :
-        COLON! IDENT^ LPAREN! IDENT COMMA! IDENT RPAREN!
-         {#assocName = #(#[ASSOCIATION,"ASSOC"], assocName);}
-         ;
-        
+	COLON! IDENT^ LPAREN! IDENT COMMA! IDENT RPAREN!
+	{#assocName = #(#[ASSOCIATION,"ASSOC"], assocName);}
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
+
 splType :
-	 basicSplTypes (LBRACK RBRACK)?
-      
-        ;
+	basicSplTypes (LBRACK RBRACK)?
+;
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
+
         
 basicSplTypes :        
-"Sint8" | "Sint16" | "Uint8" | "Uint16" | 
- "Sint32" | "Sint64" | "Uint32" | "Uint64" |
+	"Sint8" | "Sint16" | "Uint8" | "Uint16" | 
+ 	"Sint32" | "Sint64" | "Uint32" | "Uint64" |
     "Real32" | "Real64" | "Boolean" | "Char16"|
-     "String" | "DateTime" | "Reference" 
+    "String" | "DateTime" | "Reference" 
 ;     
+exception catch [RecognitionException ex]
+{
+	reportError(ex);
+	errorList.add(ex.getMessage());
+} 
  
 
 class SPLLexer extends Lexer;



Fwd: svn commit: r686743 [1/10] - in /incubator/imperius/trunk: imperius-javaspl/src/main/java/org/apache/imperius/javaspl/ imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/ imperius-splcore/src/main/java/org/apache/imperius/spl/datas...

Posted by Craig L Russell <Cr...@Sun.COM>.
Hi Naidu,

It's great that you're contributing to the Apache Imperius project. We  
look forward to your continuing involvement and contributions to the  
project.

Would it be possible for you to submit an Apache ICLA to cover your  
significant contributions?

http://apache.org/licenses/

Thanks,

Craig

Begin forwarded message:

>> Author: jneeraj
>> Date: Mon Aug 18 05:50:36 2008
>> New Revision: 686743
>>
>> URL: http://svn.apache.org/viewvc?rev=686743&view=rev
>> Log:
>> IMPERIUS 12,13 and 14 code changes submitted by Naidu
>>
>

Craig L Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!


Re: Fwd: svn commit: r686743 [1/10] - in /incubator/imperius/trunk: imperius-javaspl/src/main/java/org/apache/imperius/javaspl/ imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/ imperius-splcore/src/main/java/org/apache/imperius/spl/datas...

Posted by Neeraj Joshi <jn...@us.ibm.com>.
Hey Craig,
I will work with Naidu to get the ICLA, also will take a look at the files 
that have the license removed.
Thanks
Neeraj
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"The light at the end of the tunnel...may be you"

 
Neeraj Joshi
WebSphere XD - Compute Grid
AIM, IBM
Apache Imperius - http://incubator.apache.org/imperius
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



Craig L Russell <Cr...@Sun.COM> 
Sent by: Craig.Russell@Sun.COM
08/18/2008 12:41 PM
Please respond to
imperius-dev@incubator.apache.org


To
imperius-dev@incubator.apache.org
cc

Subject
Fwd: svn commit: r686743 [1/10] - in /incubator/imperius/trunk: 
imperius-javaspl/src/main/java/org/apache/imperius/javaspl/ 
imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/ 
imperius-splcore/src/main/java/org/apache/imperius/spl/datas...






Hi Neeraj,

This is kinda big to accept without an ICLA in place.

Can we get an Apache ICLA from Naidu? Maybe we have one but I couldn't 
find it...

Thanks,

Craig

Begin forwarded message:

> From: jneeraj@apache.org
> Date: August 18, 2008 5:50:42 AM PDT
> To: imperius-commits@incubator.apache.org
> Subject: svn commit: r686743 [1/10] - in /incubator/imperius/trunk: 
> imperius-javaspl/src/main/java/org/apache/imperius/javaspl/ imperius- 
> splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/ 
> imperius-splcore/src/main/java/org/apache/imperius/spl/datas...
> Reply-To: imperius-dev@incubator.apache.org
>
> Author: jneeraj
> Date: Mon Aug 18 05:50:36 2008
> New Revision: 686743
>
> URL: http://svn.apache.org/viewvc?rev=686743&view=rev
> Log:
> IMPERIUS 12,13 and 14 code changes submitted by Naidu
>
> Added:
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/util/Messages.java   (with props)
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/util/SPLLogger2.java   (with props)
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/util/messages.properties   (with props)
> Modified:
>    incubator/imperius/trunk/imperius-javaspl/src/main/java/org/ 
> apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java
>    incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/ 
> apache/imperius/spl/parser/compiler/cimspl.g
>    incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/ 
> apache/imperius/spl/parser/compiler/cimspl.tree.g
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/datastore/PolicyDataStore.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/datastore/PolicyRepository.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/datastore/impl/PolicyCache.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/datastore/impl/PolicyDataStoreImpl.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/datastore/impl/PolicyParserImpl.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/datastore/impl/PolicyRepositoryImpl.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/evaluator/impl/PolicyEvaluatorImpl.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/external/InternalClient.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/manager/impl/PolicyManagerImpl.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/compiler/IdentPrimaryTuple.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/compiler/symboltable/AnchorData.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/compiler/symboltable/MacroSymbol.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/compiler/symboltable/SPLSymbolTable.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expression/primary/ 
> BasicCollectionExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expression/primary/CollectOperation.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expression/primary/ 
> PostCollectExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expression/primary/PrimaryExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expression/primary/SelfExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/DoubleArgumentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/MethodExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/MultipleArgumentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/ 
> QuadrupleArgumentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/SingleArgumentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/TimeZoneExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/TripleArgumentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/ZeroArgumentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Abs.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Addition.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/AllInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/AnyInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ApplyToCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/AssignmentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/AvrgInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Ceiling.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Concatenate.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ConstantExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Contains.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ContainsOnlyDigits.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ContainsOnlyLetters.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ 
> ContainsOnlyLettersOrDigits.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/DateTimeConstant.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Division.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/EndsWith.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/EqCollections.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Equal.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Exp.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Floor.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetCurrentTime.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetDayOfMonth.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetDayOfWeek.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetDayOfWeekInMonth.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetDayOfYear.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetHour12.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetHour24.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetMillisecond.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetMinute.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetMonth.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetSecond.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetWeekOfMonth.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetWeekOfYear.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetYear.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Greater.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GreaterOrEqual.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/InCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/IntegerConstant.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/IsAfter.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/IsBefore.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/IsWithin.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LeftSubstring.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Less.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LessOrEqual.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Ln.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Log10.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LogicalAnd.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LogicalNot.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LogicalOr.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LogicalXor.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LongConstant.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/MatchesRegExp.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Max.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/MaxInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/MedianInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/MiddleSubstring.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Min.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/MinInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Mod.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/NotEqual.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Power.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Product.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ReplaceSubstring.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/RightSubstring.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Rint.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Round.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/SdInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/SquareRoot.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/StartsWith.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/StringConstant.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/StringLength.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/SubCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Substring.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Subtraction.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Sum.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToBoolean.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToLower.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToMilliseconds.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToREAL32.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToREAL64.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToSINT16.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToSINT32.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToSINT64.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToSINT8.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToString.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToUpper.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/UnaryMinusExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/UnaryNotExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/UnaryPlusExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Union.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Word.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/factory/ACPLParserMap.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/factory/ActionFactory.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/factory/ 
> BuitInOperationExpressionFactory.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/factory/ExpressionFactory.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/statements/actions/impl/ 
> AnchorMethodInvokeAction.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/statements/actions/impl/ 
> ExtrinsicMethodInvokeAction.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/statements/actions/impl/ 
> InvokePolicyAction.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/statements/actions/impl/SetActionBlock.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/statements/impl/DeclarationStatement.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/statements/impl/PolicyDefinition.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/util/ExpressionUtility.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/util/KeyStringToMapConvertor.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/util/TypeInfo.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/util/TypeResolver.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/util/SPLLogger.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/util/SPLLoggerClass.java
>
> Modified: incubator/imperius/trunk/imperius-javaspl/src/main/java/ 
> org/apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java
> URL: 
http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java?rev=686743&r1=686742&r2=686743&view=diff

> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- incubator/imperius/trunk/imperius-javaspl/src/main/java/org/ 
> apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java (original)
> +++ incubator/imperius/trunk/imperius-javaspl/src/main/java/org/ 
> apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java Mon Aug 18 
> 05:50:36 2008
> @@ -155,8 +155,12 @@
>         return returnFlag;
>     }
>
> +              public void setLoggingEnabled(boolean enableOrDisable)
> +              {
> + _policyManager.enableLogging(enableOrDisable);
> +              }
>
> -    public static void main(String[] args) {
> +              public static void main(String[] args) {
>
>     }
>
>
> Modified: incubator/imperius/trunk/imperius-splcore/src/main/antlr/ 
> org/apache/imperius/spl/parser/compiler/cimspl.g
> URL: 
http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/cimspl.g?rev=686743&r1=686742&r2=686743&view=diff

> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/ 
> apache/imperius/spl/parser/compiler/cimspl.g (original)
> +++ incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/ 
> apache/imperius/spl/parser/compiler/cimspl.g Mon Aug 18 05:50:36 2008
> @@ -17,11 +17,12 @@
>  * under the License.
>  */
>
> -// * @author Neeraj Joshi <jn...@us.ibm.com>
> +// @author Neeraj Joshi <jn...@us.ibm.com>
>
> -
> -  header {
> -              /*
> +header
> +{
> +
> +/*
>  *
>  *
>  * Licensed under the Apache License, Version 2.0 (the "License");
> @@ -37,17 +38,26 @@
>  * limitations under the License.
>  */
>
> -              /**
> -               * @author Neeraj Joshi <jn...@us.ibm.com>
> -               *
> -               */
> -  package org.apache.imperius.spl.parser.compiler;
> -  }
> -options {
> +/**
> + * @author Neeraj Joshi <jn...@us.ibm.com>
> + *
> + */
> +              package org.apache.imperius.spl.parser.compiler;
> + 
> +              import java.util.List;
> +              import java.util.ArrayList;
> +
> +}
> +
> +options
> +{
>     language=Java;
> }
> +
> class SPLParser extends Parser;
> -options {
> +
> +options
> +{
>     exportVocab=cimspl;
>     genHashLines = true;        // include line number information
> 
> ASTLabelType 
> ="org.apache.imperius.spl.parser.compiler.ASTWithLineNumber";
> @@ -55,192 +65,385 @@
>     k = 1;          // uses CommonAST by default
> }
>
> -tokens {
> +tokens
> +{
>                STRATEGY_DEF; IMPORT_DEF; DECL_DEF; CONSTANT_DEFN; 
MACRO_DEFN; 
> POLICY_DEF; CONDITION_DEF;
> -              POLICY_GRP_DEF; DECISION_DEF; TYPE; ARGUMENTS; ARG_DEF;
> -              EXPR; ELIST; METHOD_CALL; UNARY_MINUS; QUALIFIER;
> -              PARAMETERS; PARAMETER_DEF; UNARY_PLUS; ARRAY_DECLARATOR; 
INDEX_OP; 
> COLLECT_OP ;ASSOCIATION;
> -        ACTIONBLOCK; COLLECT_CALL ; UNARY_NOT;BASICCOLLECTION_OP;
> -
> -
> -
> -
> +              POLICY_GRP_DEF; DECISION_DEF; TYPE; ARGUMENTS; ARG_DEF;   
EXPR; 
> ELIST; METHOD_CALL;
> +              UNARY_MINUS; QUALIFIER; PARAMETERS; PARAMETER_DEF; 
UNARY_PLUS; 
> ARRAY_DECLARATOR; INDEX_OP;
> +              COLLECT_OP ;ASSOCIATION; ACTIONBLOCK; COLLECT_CALL ; 
> UNARY_NOT;BASICCOLLECTION_OP;
> }
>
> +{
> +              private List errorList = null;
> + 
> +              public List getErrorList()
> +              {
> +                              return errorList;
> +              }
> +}
>
> splpolicy :
> +        {
> +                      if(errorList == null)
> +                                      errorList = new ArrayList();
> +        }
>         (importstatement)+ strategystatement declarationstatement 
> (policystatement)+
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> importstatement :
>   //      i:"Import"^ {#i.setType(IMPORT_DEF);} IDENT (DOT! IDENT)* 
> (COMMA! IDENT (DOT! IDENT)*)* (expression)? SEMI!
>       i:"Import"^ {#i.setType(IMPORT_DEF);}(qualifier)? "Class"! 
> IDENT (DOT! IDENT)*  (identList)? (expression)?  SEMI!
> -;
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> qualifier :
>                q:"Qualifier"^  {#q.setType(QUALIFIER);} IDENT
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> identList :
>                c:COLON^ IDENT (COMMA! IDENT)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> strategystatement :
> -        s:"Strategy"^ {#s.setType(STRATEGY_DEF);} 
> ("Execute_All_Applicable" | "Execute_First_Applicable")  SEMI!
> +              s:"Strategy"^ 
{#s.setType(STRATEGY_DEF);}("Execute_All_Applicable" 
> | "Execute_First_Applicable")  SEMI!
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> declarationstatement :
> -(d:"Declaration"^ {#d.setType(DECL_DEF);} LCURLY! 
> ((constantDefinitions) | (macroDeclarations))* RCURLY! )?
> -        ;
> +              (d:"Declaration"^ {#d.setType(DECL_DEF);} LCURLY! 
> ((constantDefinitions) | (macroDeclarations))* RCURLY! )?
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> constantDefinitions ! :
> -                              id:IDENT v:varInitializer SEMI!
> -                              {#constantDefinitions = 
#(#[CONSTANT_DEFN,"CONSTANT_DEFN"],id,v);}
> -
> +              id:IDENT v:varInitializer SEMI!
> +              {#constantDefinitions = 
#(#[CONSTANT_DEFN,"CONSTANT_DEFN"],id,v);}
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> varInitializer :
> -        ( ASSIGN^ expression )?
> +              ( ASSIGN^ expression )?
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
>
> macroDeclarations !:
> -        "Macro"! LCURLY! m:macrodef RCURLY!
> -        {#macroDeclarations = #(#[MACRO_DEFN,"MACRO"],m);}
> +              "Macro"! LCURLY! m:macrodef RCURLY!
> +              {#macroDeclarations = #(#[MACRO_DEFN,"MACRO"],m);}
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
> +
> macrodef :
> -        "Name"^ ASSIGN! id:IDENT SEMI!
> -        "type"! ASSIGN! splType SEMI!
> -         argumentList
> -        "procedure"! ASSIGN! expression
> - ;
> +              "Name"^ ASSIGN! id:IDENT SEMI!
> +              "type"! ASSIGN! splType SEMI!
> +               argumentList
> +              "procedure"! ASSIGN! expression
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
> +
> argumentList  :
> -        ("argument"! ASSIGN! argument (COMMA! argument)* SEMI!)?
> -                      {#argumentList = #(#[ARGUMENTS,"ARGUMENTS"],
> -  #argumentList);}
> +              ("argument"! ASSIGN! argument (COMMA! argument)* SEMI!)?
> +              {#argumentList = #(#[ARGUMENTS,"ARGUMENTS"], 
#argumentList);}
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> argument ! :
> -            id:IDENT COLON! c:splType
> -                      {#argument = #(#[ARG_DEF,"ARG_DEF"], 
#([TYPE,"TYPE"],c), 
> id);}
> +              id:IDENT COLON! c:splType
> +              {#argument = #(#[ARG_DEF,"ARG_DEF"],  #([TYPE,"TYPE"],c), 
id);}
> ;
> -
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> policystatement :
> -        (policydef | policyGroup)   SEMI!
> +              (policydef | policyGroup)   SEMI!
> ;
> -
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> policydef :
> -        p:"Policy"^ {#p.setType(POLICY_DEF);} LCURLY! 
> declarationstatement conditionstatement decision RCURLY! COLON! 
> priority
> +              p:"Policy"^ {#p.setType(POLICY_DEF);} LCURLY! 
declarationstatement 
> conditionstatement decision RCURLY! COLON! priority
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> conditionstatement :
> -        (c:"Condition"^ {#c.setType(CONDITION_DEF);} LCURLY! 
> expression RCURLY!)?
> +              (c:"Condition"^ {#c.setType(CONDITION_DEF);} LCURLY! 
expression 
> RCURLY!)?
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
> +
> decision :
> -        d:"Decision"^ {#d.setType(DECISION_DEF);}  LCURLY! 
> actionBlock RCURLY!
> +              d:"Decision"^ {#d.setType(DECISION_DEF);}  LCURLY! 
actionBlock 
> RCURLY!
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> priority :
> -        NUM_INT
> +              NUM_INT
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
> +
> expression :
> -        assignmentExpression
> -        {#expression = #(#[EXPR,"EXPR"],#expression);}
> +              assignmentExpression
> +              {#expression = #(#[EXPR,"EXPR"],#expression);}
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> exprList :
> -        expression (COMMA! expression)*
> -        {#exprList = #(#[ELIST,"ELIST"], exprList);}
> +              expression (COMMA! expression)*
> +              {#exprList = #(#[ELIST,"ELIST"], exprList);}
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> assignmentExpression :
> -        conditionalExpression
> -        (
> -                ASSIGN^ assignmentExpression
> -        )?
> -;
> -
> +              conditionalExpression
> +              (
> +                              ASSIGN^ assignmentExpression
> +              )?
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> conditionalExpression :
> -        logicalOrexpression
> +              logicalOrexpression
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
> +
> logicalOrexpression :
> -        logicalAndExpression (LOR^ logicalAndExpression)*
> +              logicalAndExpression (LOR^ logicalAndExpression)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> logicalAndExpression  :
> -          exclusiveOrExpression (LAND^ exclusiveOrExpression)*
> +              exclusiveOrExpression (LAND^ exclusiveOrExpression)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> exclusiveOrExpression :
> -          equalityExpression (BXOR^ equalityExpression)*
> +              equalityExpression (BXOR^ equalityExpression)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> equalityExpression :
> -        relationalExpression ((NOT_EQUAL^ | EQUAL^) 
> relationalExpression)*
> +              relationalExpression ((NOT_EQUAL^ | EQUAL^) 
relationalExpression)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> relationalExpression :
> -        additiveExpression (( LT^ | GT^ | LE^ | GE^ ) 
> additiveExpression)*
> +              additiveExpression (( LT^ | GT^ | LE^ | GE^ ) 
additiveExpression)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> additiveExpression :
> -        multiplicativeExpression ((PLUS^ | MINUS^) 
> multiplicativeExpression)*
> +              multiplicativeExpression ((PLUS^ | MINUS^) 
> multiplicativeExpression)*
> ;
> -
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> // multiplication/division (level 2)
> multiplicativeExpression :
> - 
> -           unaryExpression ((STAR^ | DIV^ ) unaryExpression)*
> +              unaryExpression ((STAR^ | DIV^ ) unaryExpression)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> unaryExpression :
> -          (MINUS^ {#MINUS.setType(UNARY_MINUS);} unaryExpression )| 
> (PLUS^ {#PLUS.setType(UNARY_PLUS);} unaryExpression) | 
> (unaryExpressionNotPlusMinus)
> +              (MINUS^ {#MINUS.setType(UNARY_MINUS);} unaryExpression )| 
(PLUS^ 
> {#PLUS.setType(UNARY_PLUS);} unaryExpression) | 
> (unaryExpressionNotPlusMinus)
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> unaryExpressionNotPlusMinus :
> -        (LNOT^ {#LNOT.setType(UNARY_NOT);} unaryExpression )| 
> (primaryExpression)
> +              (LNOT^ {#LNOT.setType(UNARY_NOT);} unaryExpression )| 
> (primaryExpression)
> ;
> -
> -
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> primaryExpression :
> -        identPrimary | constant | "true"| "false" | "Self"  | 
> (LPAREN! assignmentExpression RPAREN!)
> +              identPrimary | constant | "true"| "false" | "Self"  | 
(LPAREN! 
> assignmentExpression RPAREN!)
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> identPrimary :
> -                IDENT^ ( (DOT! IDENT (indexOp | methodCall)?)* | 
> methodCall)
> -                | collectOperation
> -                | basicCollectionOp
> -                  ;
> +              IDENT^ ( (DOT! IDENT (indexOp | methodCall)?)* | 
methodCall)
> +              | collectOperation
> +              | basicCollectionOp
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> collectOperation :
> -                 c:"collect"^ {#c.setType(COLLECT_OP);} 
> collectmethodcall (indexOp (methodOrPropertyOrArrayForCollect)? )?
> -                 ;
> +              c:"collect"^ {#c.setType(COLLECT_OP);} collectmethodcall 
(indexOp 
> (methodOrPropertyOrArrayForCollect)? )?
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> collectmethodcall :
> -
> -LPAREN^ {#LPAREN.setType(COLLECT_CALL); }  paramList RPAREN!
> -;
> -
> -methodOrPropertyOrArrayForCollect :     DOT! IDENT ( indexOp | 
> methodCall)?
> -
> -                                        ;
> +              LPAREN^ {#LPAREN.setType(COLLECT_CALL); }  paramList 
RPAREN!
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
> +
> +methodOrPropertyOrArrayForCollect :
> +    DOT! IDENT ( indexOp | methodCall)?
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> -
> -
> -indexOp : lb:LBRACK^ {#lb.setType(INDEX_OP);} expression RBRACK!
> +indexOp :
> +              lb:LBRACK^ {#lb.setType(INDEX_OP);} expression RBRACK!
> ;
> -
> -basicCollectionOp : lb:LBRACK^ {#lb.setType(BASICCOLLECTION_OP);} 
> exprList RBRACK!
> -;
> -
> -methodCall :   lp:LPAREN^ {#lp.setType(METHOD_CALL);} paramList 
> RPAREN!
> -
> -                ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
> +
> +basicCollectionOp :
> +              lb:LBRACK^ {#lb.setType(BASICCOLLECTION_OP);} exprList 
RBRACK!
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
> +
> +methodCall :
> +   lp:LPAREN^ {#lp.setType(METHOD_CALL);} paramList RPAREN!
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> constant :
>                                // DATE_TIME
> @@ -251,60 +454,102 @@
>         |   NUM_FLOAT
>         |   NUM_LONG
>         |   NUM_DOUBLE
> -
> -
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> //dateTime : NUM_INT DOT NUM_INT ( (PLUS | MINUS) NUM_INT | COLON 
> NUM_INT)
>        //   ;
>
> paramList :
> -        (exprList)?
> +              (exprList)?
> ;
> -
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> actionBlock :
> -             actionBlockExpr ( (ARROW^ | LAND^ | LOR^ | BOR^) 
> actionBlockExpr)*
> -       ;
> +              actionBlockExpr ( (ARROW^ | LAND^ | LOR^ | BOR^) 
actionBlockExpr)*
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
> +
> actionBlockExpr :
> -                basicActionBlock | LPAREN! actionBlock RPAREN!
> -                ;
> -
> -
> +              basicActionBlock | LPAREN! actionBlock RPAREN!
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
> +
> basicActionBlock :
> -                // (IDENT | "Set" | "InvokePolicy" ) (DOT! IDENT)? 
> (methodCall) ((EQUAL | NOT_EQUAL | GE | GT | LT | LE) constant)?
> -                (
> -                              // ( IDENT (DOT! IDENT (methodCall))* )
> -                              IDENT^ ( (DOT! IDENT (indexOp | 
methodCall)?)* | 
> methodCall)
> -                              |
> -                              ( ("Set" | "InvokePolicy") (DOT! IDENT)? 
> (methodCall) )
> -                )
> -                (
> -                              (EQUAL | NOT_EQUAL | GE | GT | LT | LE) 
constant
> -                )?
> -                {#basicActionBlock = 
> #(#[ACTIONBLOCK,"ACTIONBLK"],basicActionBlock );}
> +              // (IDENT | "Set" | "InvokePolicy" ) (DOT! IDENT)? 
(methodCall) 
> ((EQUAL | NOT_EQUAL | GE | GT | LT | LE) constant)?
> +              (
> +                              // ( IDENT (DOT! IDENT (methodCall))* )
> +                              IDENT^ ( (DOT! IDENT (indexOp | 
methodCall)?)* | methodCall)
> +                              |
> +                              ( ("Set" | "InvokePolicy") (DOT! IDENT)? 
(methodCall) )
> +              )
> +              (
> +                              (EQUAL | NOT_EQUAL | GE | GT | LT | LE) 
constant
> +              )?
> +              {#basicActionBlock = 
> #(#[ACTIONBLOCK,"ACTIONBLK"],basicActionBlock );}
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> policyGroup :
> -        p:"PolicyGroup"^ {#p.setType(POLICY_GRP_DEF);} assocName 
> LCURLY! splpolicy RCURLY! COLON! priority
> +              p:"PolicyGroup"^ {#p.setType(POLICY_GRP_DEF);} assocName 
LCURLY! 
> splpolicy RCURLY! COLON! priority
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
> assocName :
> -        COLON! IDENT^ LPAREN! IDENT COMMA! IDENT RPAREN!
> -         {#assocName = #(#[ASSOCIATION,"ASSOC"], assocName);}
> -         ;
> -
> +              COLON! IDENT^ LPAREN! IDENT COMMA! IDENT RPAREN!
> +              {#assocName = #(#[ASSOCIATION,"ASSOC"], assocName);}
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
> +
> splType :
> -               basicSplTypes (LBRACK RBRACK)?
> -
> -        ;
> +              basicSplTypes (LBRACK RBRACK)?
> +;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
> +
>
> basicSplTypes :
> -"Sint8" | "Sint16" | "Uint8" | "Uint16" |
> - "Sint32" | "Sint64" | "Uint32" | "Uint64" |
> +              "Sint8" | "Sint16" | "Uint8" | "Uint16" |
> +              "Sint32" | "Sint64" | "Uint32" | "Uint64" |
>     "Real32" | "Real64" | "Boolean" | "Char16"|
> -     "String" | "DateTime" | "Reference"
> +    "String" | "DateTime" | "Reference"
> ;
> +exception catch [RecognitionException ex]
> +{
> +              reportError(ex);
> +              errorList.add(ex.getMessage());
> +}
>
>
> class SPLLexer extends Lexer;
>
>

Craig L Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!



Fwd: svn commit: r686743 [1/10] - in /incubator/imperius/trunk: imperius-javaspl/src/main/java/org/apache/imperius/javaspl/ imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/ imperius-splcore/src/main/java/org/apache/imperius/spl/datas...

Posted by Craig L Russell <Cr...@Sun.COM>.
Hi Neeraj,

This is kinda big to accept without an ICLA in place.

Can we get an Apache ICLA from Naidu? Maybe we have one but I couldn't  
find it...

Thanks,

Craig

Begin forwarded message:

> From: jneeraj@apache.org
> Date: August 18, 2008 5:50:42 AM PDT
> To: imperius-commits@incubator.apache.org
> Subject: svn commit: r686743 [1/10] - in /incubator/imperius/trunk:  
> imperius-javaspl/src/main/java/org/apache/imperius/javaspl/ imperius- 
> splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/  
> imperius-splcore/src/main/java/org/apache/imperius/spl/datas...
> Reply-To: imperius-dev@incubator.apache.org
>
> Author: jneeraj
> Date: Mon Aug 18 05:50:36 2008
> New Revision: 686743
>
> URL: http://svn.apache.org/viewvc?rev=686743&view=rev
> Log:
> IMPERIUS 12,13 and 14 code changes submitted by Naidu
>
> Added:
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/util/Messages.java   (with props)
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/util/SPLLogger2.java   (with props)
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/util/messages.properties   (with props)
> Modified:
>    incubator/imperius/trunk/imperius-javaspl/src/main/java/org/ 
> apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java
>    incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/ 
> apache/imperius/spl/parser/compiler/cimspl.g
>    incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/ 
> apache/imperius/spl/parser/compiler/cimspl.tree.g
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/datastore/PolicyDataStore.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/datastore/PolicyRepository.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/datastore/impl/PolicyCache.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/datastore/impl/PolicyDataStoreImpl.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/datastore/impl/PolicyParserImpl.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/datastore/impl/PolicyRepositoryImpl.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/evaluator/impl/PolicyEvaluatorImpl.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/external/InternalClient.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/manager/impl/PolicyManagerImpl.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/compiler/IdentPrimaryTuple.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/compiler/symboltable/AnchorData.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/compiler/symboltable/MacroSymbol.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/compiler/symboltable/SPLSymbolTable.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expression/primary/ 
> BasicCollectionExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expression/primary/CollectOperation.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expression/primary/ 
> PostCollectExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expression/primary/PrimaryExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expression/primary/SelfExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/DoubleArgumentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/MethodExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/MultipleArgumentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/ 
> QuadrupleArgumentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/SingleArgumentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/TimeZoneExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/TripleArgumentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/ZeroArgumentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Abs.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Addition.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/AllInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/AnyInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ApplyToCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/AssignmentExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/AvrgInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Ceiling.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Concatenate.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ConstantExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Contains.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ContainsOnlyDigits.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ContainsOnlyLetters.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ 
> ContainsOnlyLettersOrDigits.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/DateTimeConstant.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Division.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/EndsWith.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/EqCollections.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Equal.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Exp.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Floor.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetCurrentTime.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetDayOfMonth.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetDayOfWeek.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetDayOfWeekInMonth.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetDayOfYear.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetHour12.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetHour24.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetMillisecond.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetMinute.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetMonth.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetSecond.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetWeekOfMonth.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetWeekOfYear.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GetYear.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Greater.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/GreaterOrEqual.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/InCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/IntegerConstant.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/IsAfter.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/IsBefore.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/IsWithin.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LeftSubstring.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Less.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LessOrEqual.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Ln.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Log10.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LogicalAnd.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LogicalNot.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LogicalOr.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LogicalXor.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/LongConstant.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/MatchesRegExp.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Max.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/MaxInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/MedianInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/MiddleSubstring.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Min.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/MinInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Mod.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/NotEqual.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Power.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Product.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ReplaceSubstring.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/RightSubstring.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Rint.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Round.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/SdInCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/SquareRoot.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/StartsWith.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/StringConstant.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/StringLength.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/SubCollection.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Substring.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Subtraction.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Sum.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToBoolean.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToLower.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToMilliseconds.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToREAL32.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToREAL64.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToSINT16.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToSINT32.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToSINT64.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToSINT8.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToString.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/ToUpper.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/UnaryMinusExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/UnaryNotExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/UnaryPlusExpression.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Union.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/expressions/impl/Word.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/factory/ACPLParserMap.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/factory/ActionFactory.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/factory/ 
> BuitInOperationExpressionFactory.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/factory/ExpressionFactory.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/statements/actions/impl/ 
> AnchorMethodInvokeAction.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/statements/actions/impl/ 
> ExtrinsicMethodInvokeAction.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/statements/actions/impl/ 
> InvokePolicyAction.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/statements/actions/impl/SetActionBlock.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/statements/impl/DeclarationStatement.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/statements/impl/PolicyDefinition.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/util/ExpressionUtility.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/util/KeyStringToMapConvertor.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/util/TypeInfo.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/spl/parser/util/TypeResolver.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/util/SPLLogger.java
>    incubator/imperius/trunk/imperius-splcore/src/main/java/org/ 
> apache/imperius/util/SPLLoggerClass.java
>
> Modified: incubator/imperius/trunk/imperius-javaspl/src/main/java/ 
> org/apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java
> URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-javaspl/src/main/java/org/apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java?rev=686743&r1=686742&r2=686743&view=diff
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- incubator/imperius/trunk/imperius-javaspl/src/main/java/org/ 
> apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java (original)
> +++ incubator/imperius/trunk/imperius-javaspl/src/main/java/org/ 
> apache/imperius/javaspl/Java_SPLPolicyRuleProvider.java Mon Aug 18  
> 05:50:36 2008
> @@ -155,8 +155,12 @@
>         return returnFlag;
>     }
>
> +	public void setLoggingEnabled(boolean enableOrDisable)
> +	{
> +		_policyManager.enableLogging(enableOrDisable);
> +	}
>
> -    public static void main(String[] args) {
> +	public static void main(String[] args) {
>
>     }
>
>
> Modified: incubator/imperius/trunk/imperius-splcore/src/main/antlr/ 
> org/apache/imperius/spl/parser/compiler/cimspl.g
> URL: http://svn.apache.org/viewvc/incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/apache/imperius/spl/parser/compiler/cimspl.g?rev=686743&r1=686742&r2=686743&view=diff
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/ 
> apache/imperius/spl/parser/compiler/cimspl.g (original)
> +++ incubator/imperius/trunk/imperius-splcore/src/main/antlr/org/ 
> apache/imperius/spl/parser/compiler/cimspl.g Mon Aug 18 05:50:36 2008
> @@ -17,11 +17,12 @@
>  * under the License.
>  */
>
> -// * @author Neeraj Joshi <jn...@us.ibm.com>
> +// @author Neeraj Joshi <jn...@us.ibm.com>
>
> -
> -  header {
> -  	/*
> +header
> +{
> +
> +/*
>  *
>  *
>  * Licensed under the Apache License, Version 2.0 (the "License");
> @@ -37,17 +38,26 @@
>  * limitations under the License.
>  */
>
> -	/**
> -	 * @author Neeraj Joshi <jn...@us.ibm.com>
> -	 *
> -	 */
> -  package org.apache.imperius.spl.parser.compiler;
> -  }
> -options {
> +/**
> + * @author Neeraj Joshi <jn...@us.ibm.com>
> + *
> + */
> +	package org.apache.imperius.spl.parser.compiler;
> +	
> +	import java.util.List;
> +	import java.util.ArrayList;
> +
> +}
> +
> +options
> +{
>     language=Java;
> }
> +
> class SPLParser extends Parser;
> -options {
> +
> +options
> +{
>     exportVocab=cimspl;
>     genHashLines = true;        // include line number information
>      
> ASTLabelType 
> ="org.apache.imperius.spl.parser.compiler.ASTWithLineNumber";
> @@ -55,192 +65,385 @@
>     k = 1;          // uses CommonAST by default
> }
>
> -tokens {
> +tokens
> +{
> 	STRATEGY_DEF; IMPORT_DEF; DECL_DEF; CONSTANT_DEFN; MACRO_DEFN;  
> POLICY_DEF; CONDITION_DEF;
> -	POLICY_GRP_DEF; DECISION_DEF; TYPE; ARGUMENTS; ARG_DEF;
> -	EXPR; ELIST; METHOD_CALL; UNARY_MINUS; QUALIFIER;
> -	PARAMETERS; PARAMETER_DEF; UNARY_PLUS; ARRAY_DECLARATOR; INDEX_OP;  
> COLLECT_OP ;ASSOCIATION;
> -        ACTIONBLOCK; COLLECT_CALL ; UNARY_NOT;BASICCOLLECTION_OP;
> -
> -
> -
> -
> +	POLICY_GRP_DEF; DECISION_DEF; TYPE; ARGUMENTS; ARG_DEF;	EXPR;  
> ELIST; METHOD_CALL;
> +	UNARY_MINUS; QUALIFIER; PARAMETERS; PARAMETER_DEF; UNARY_PLUS;  
> ARRAY_DECLARATOR; INDEX_OP;
> +	COLLECT_OP ;ASSOCIATION; ACTIONBLOCK; COLLECT_CALL ;  
> UNARY_NOT;BASICCOLLECTION_OP;
> }
>
> +{
> +	private List errorList = null;
> +	
> +	public List getErrorList()
> +	{
> +		return errorList;
> +	}
> +}
>
> splpolicy :
> +        {
> +        	if(errorList == null)
> +        		errorList = new ArrayList();
> +        }
>         (importstatement)+ strategystatement declarationstatement  
> (policystatement)+
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> importstatement :
>   //      i:"Import"^ {#i.setType(IMPORT_DEF);} IDENT (DOT! IDENT)*  
> (COMMA! IDENT (DOT! IDENT)*)* (expression)? SEMI!
>       i:"Import"^ {#i.setType(IMPORT_DEF);}(qualifier)? "Class"!   
> IDENT (DOT! IDENT)*  (identList)? (expression)?  SEMI!
> -;
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> qualifier :
> 	q:"Qualifier"^  {#q.setType(QUALIFIER);} IDENT
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> identList :
> 	c:COLON^ IDENT (COMMA! IDENT)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> strategystatement :
> -        s:"Strategy"^ {#s.setType(STRATEGY_DEF);} 
> ("Execute_All_Applicable" | "Execute_First_Applicable")  SEMI!
> +	s:"Strategy"^ {#s.setType(STRATEGY_DEF);}("Execute_All_Applicable"  
> | "Execute_First_Applicable")  SEMI!
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> declarationstatement :
> -(d:"Declaration"^ {#d.setType(DECL_DEF);} LCURLY!  
> ((constantDefinitions) | (macroDeclarations))* RCURLY! )?
> -        ;
> +	(d:"Declaration"^ {#d.setType(DECL_DEF);} LCURLY!  
> ((constantDefinitions) | (macroDeclarations))* RCURLY! )?
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> constantDefinitions ! :
> -		id:IDENT v:varInitializer SEMI!
> -		{#constantDefinitions = #(#[CONSTANT_DEFN,"CONSTANT_DEFN"],id,v);}
> -
> +	id:IDENT v:varInitializer SEMI!
> +	{#constantDefinitions = #(#[CONSTANT_DEFN,"CONSTANT_DEFN"],id,v);}
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> varInitializer :
> -        ( ASSIGN^ expression )?
> +	( ASSIGN^ expression )?
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
>
> macroDeclarations !:
> -        "Macro"! LCURLY! m:macrodef RCURLY!
> -        {#macroDeclarations = #(#[MACRO_DEFN,"MACRO"],m);}
> +	"Macro"! LCURLY! m:macrodef RCURLY!
> +	{#macroDeclarations = #(#[MACRO_DEFN,"MACRO"],m);}
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
> +
> macrodef :
> -        "Name"^ ASSIGN! id:IDENT SEMI!
> -        "type"! ASSIGN! splType SEMI!
> -         argumentList
> -        "procedure"! ASSIGN! expression
> - ;
> +	"Name"^ ASSIGN! id:IDENT SEMI!
> +	"type"! ASSIGN! splType SEMI!
> +	 argumentList
> +	"procedure"! ASSIGN! expression
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
> +
> argumentList  :
> -        ("argument"! ASSIGN! argument (COMMA! argument)* SEMI!)?
> -        	{#argumentList = #(#[ARGUMENTS,"ARGUMENTS"],
> -									#argumentList);}
> +	("argument"! ASSIGN! argument (COMMA! argument)* SEMI!)?
> +	{#argumentList = #(#[ARGUMENTS,"ARGUMENTS"], #argumentList);}
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> argument ! :
> -            id:IDENT COLON! c:splType
> -        	{#argument = #(#[ARG_DEF,"ARG_DEF"],  #([TYPE,"TYPE"],c),  
> id);}
> +	id:IDENT COLON! c:splType
> +	{#argument = #(#[ARG_DEF,"ARG_DEF"],  #([TYPE,"TYPE"],c), id);}
> ;
> -
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> policystatement :
> -        (policydef | policyGroup)   SEMI!
> +	(policydef | policyGroup)   SEMI!
> ;
> -
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> policydef :
> -        p:"Policy"^ {#p.setType(POLICY_DEF);} LCURLY!  
> declarationstatement conditionstatement decision RCURLY! COLON!  
> priority
> +	p:"Policy"^ {#p.setType(POLICY_DEF);} LCURLY! declarationstatement  
> conditionstatement decision RCURLY! COLON! priority
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> conditionstatement :
> -        (c:"Condition"^ {#c.setType(CONDITION_DEF);} LCURLY!  
> expression RCURLY!)?
> +	(c:"Condition"^ {#c.setType(CONDITION_DEF);} LCURLY! expression  
> RCURLY!)?
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
> +
> decision :
> -        d:"Decision"^ {#d.setType(DECISION_DEF);}  LCURLY!  
> actionBlock RCURLY!
> +	d:"Decision"^ {#d.setType(DECISION_DEF);}  LCURLY! actionBlock  
> RCURLY!
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> priority :
> -        NUM_INT
> +	NUM_INT
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
> +
> expression :
> -        assignmentExpression
> -        {#expression = #(#[EXPR,"EXPR"],#expression);}
> +	assignmentExpression
> +	{#expression = #(#[EXPR,"EXPR"],#expression);}
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> exprList :
> -        expression (COMMA! expression)*
> -        {#exprList = #(#[ELIST,"ELIST"], exprList);}
> +	expression (COMMA! expression)*
> +	{#exprList = #(#[ELIST,"ELIST"], exprList);}
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> assignmentExpression :
> -        conditionalExpression
> -        (
> -                ASSIGN^ assignmentExpression
> -        )?
> -;
> -
> +	conditionalExpression
> +	(
> +		ASSIGN^ assignmentExpression
> +	)?
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> conditionalExpression :
> -        logicalOrexpression
> +	logicalOrexpression
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
> +
> logicalOrexpression :
> -        logicalAndExpression (LOR^ logicalAndExpression)*
> +	logicalAndExpression (LOR^ logicalAndExpression)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> logicalAndExpression  :
> -          exclusiveOrExpression (LAND^ exclusiveOrExpression)*
> +	exclusiveOrExpression (LAND^ exclusiveOrExpression)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> exclusiveOrExpression :
> -          equalityExpression (BXOR^ equalityExpression)*
> +	equalityExpression (BXOR^ equalityExpression)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> equalityExpression :
> -        relationalExpression ((NOT_EQUAL^ | EQUAL^)  
> relationalExpression)*
> +	relationalExpression ((NOT_EQUAL^ | EQUAL^) relationalExpression)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> relationalExpression :
> -        additiveExpression (( LT^ | GT^ | LE^ | GE^ )  
> additiveExpression)*
> +	additiveExpression (( LT^ | GT^ | LE^ | GE^ ) additiveExpression)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> additiveExpression :
> -        multiplicativeExpression ((PLUS^ | MINUS^)  
> multiplicativeExpression)*
> +	multiplicativeExpression ((PLUS^ | MINUS^)  
> multiplicativeExpression)*
> ;
> -
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> // multiplication/division (level 2)
> multiplicativeExpression :
> -		
> -           unaryExpression ((STAR^ | DIV^ ) unaryExpression)*
> +	unaryExpression ((STAR^ | DIV^ ) unaryExpression)*
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> unaryExpression :
> -          (MINUS^ {#MINUS.setType(UNARY_MINUS);} unaryExpression )|  
> (PLUS^ {#PLUS.setType(UNARY_PLUS);} unaryExpression) |  
> (unaryExpressionNotPlusMinus)
> +	(MINUS^ {#MINUS.setType(UNARY_MINUS);} unaryExpression )| (PLUS^  
> {#PLUS.setType(UNARY_PLUS);} unaryExpression) |  
> (unaryExpressionNotPlusMinus)
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> unaryExpressionNotPlusMinus :
> -        (LNOT^ {#LNOT.setType(UNARY_NOT);} unaryExpression )|  
> (primaryExpression)
> +	(LNOT^ {#LNOT.setType(UNARY_NOT);} unaryExpression )|  
> (primaryExpression)
> ;
> -
> -
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> primaryExpression :
> -        identPrimary | constant | "true"| "false" | "Self"  |  
> (LPAREN! assignmentExpression RPAREN!)
> +	identPrimary | constant | "true"| "false" | "Self"  | (LPAREN!  
> assignmentExpression RPAREN!)
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> identPrimary :
> -                IDENT^ ( (DOT! IDENT (indexOp | methodCall)?)* |  
> methodCall)
> -                | collectOperation
> -                | basicCollectionOp
> -                  ;
> +	IDENT^ ( (DOT! IDENT (indexOp | methodCall)?)* | methodCall)
> +	| collectOperation
> +	| basicCollectionOp
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> collectOperation :
> -                 c:"collect"^ {#c.setType(COLLECT_OP);}  
> collectmethodcall (indexOp (methodOrPropertyOrArrayForCollect)? )?
> -                 ;
> +	c:"collect"^ {#c.setType(COLLECT_OP);} collectmethodcall (indexOp  
> (methodOrPropertyOrArrayForCollect)? )?
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> collectmethodcall :
> -
> -LPAREN^ {#LPAREN.setType(COLLECT_CALL); }  paramList RPAREN!
> -;
> -
> -methodOrPropertyOrArrayForCollect :     DOT! IDENT ( indexOp |  
> methodCall)?
> -
> -                                        ;
> +	LPAREN^ {#LPAREN.setType(COLLECT_CALL); }  paramList RPAREN!
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
> +
> +methodOrPropertyOrArrayForCollect :
> +    DOT! IDENT ( indexOp | methodCall)?
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> -
> -
> -indexOp : lb:LBRACK^ {#lb.setType(INDEX_OP);} expression RBRACK!
> +indexOp :
> +	lb:LBRACK^ {#lb.setType(INDEX_OP);} expression RBRACK!
> ;
> -
> -basicCollectionOp : lb:LBRACK^ {#lb.setType(BASICCOLLECTION_OP);}  
> exprList RBRACK!
> -;
> -
> -methodCall :   lp:LPAREN^ {#lp.setType(METHOD_CALL);} paramList  
> RPAREN!
> -
> -                ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
> +
> +basicCollectionOp :
> +	lb:LBRACK^ {#lb.setType(BASICCOLLECTION_OP);} exprList RBRACK!
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
> +
> +methodCall :
> +   lp:LPAREN^ {#lp.setType(METHOD_CALL);} paramList RPAREN!
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> constant :
> 		// DATE_TIME
> @@ -251,60 +454,102 @@
>         |   NUM_FLOAT
>         |   NUM_LONG
>         |   NUM_DOUBLE
> -
> -
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> //dateTime : NUM_INT DOT NUM_INT ( (PLUS | MINUS) NUM_INT | COLON  
> NUM_INT)
>        //   ;
>
> paramList :
> -        (exprList)?
> +	(exprList)?
> ;
> -
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> actionBlock :
> -             actionBlockExpr ( (ARROW^ | LAND^ | LOR^ | BOR^)  
> actionBlockExpr)*
> -       ;
> +	actionBlockExpr ( (ARROW^ | LAND^ | LOR^ | BOR^) actionBlockExpr)*
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
> +
> actionBlockExpr :
> -                basicActionBlock | LPAREN! actionBlock RPAREN!
> -                ;
> -
> -
> +	basicActionBlock | LPAREN! actionBlock RPAREN!
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
> +
> basicActionBlock :
> -                // (IDENT | "Set" | "InvokePolicy" ) (DOT! IDENT)?  
> (methodCall) ((EQUAL | NOT_EQUAL | GE | GT | LT | LE) constant)?
> -                (
> -                	// ( IDENT (DOT! IDENT (methodCall))* )
> -                	IDENT^ ( (DOT! IDENT (indexOp | methodCall)?)* |  
> methodCall)
> -                	|
> -                	( ("Set" | "InvokePolicy") (DOT! IDENT)?  
> (methodCall) )
> -                )
> -                (
> -                	(EQUAL | NOT_EQUAL | GE | GT | LT | LE) constant
> -                )?
> -                {#basicActionBlock =  
> #(#[ACTIONBLOCK,"ACTIONBLK"],basicActionBlock );}
> +	// (IDENT | "Set" | "InvokePolicy" ) (DOT! IDENT)? (methodCall)  
> ((EQUAL | NOT_EQUAL | GE | GT | LT | LE) constant)?
> +	(
> +		// ( IDENT (DOT! IDENT (methodCall))* )
> +		IDENT^ ( (DOT! IDENT (indexOp | methodCall)?)* | methodCall)
> +		|
> +		( ("Set" | "InvokePolicy") (DOT! IDENT)? (methodCall) )
> +	)
> +	(
> +		(EQUAL | NOT_EQUAL | GE | GT | LT | LE) constant
> +	)?
> +	{#basicActionBlock =  
> #(#[ACTIONBLOCK,"ACTIONBLK"],basicActionBlock );}
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> policyGroup :
> -        p:"PolicyGroup"^ {#p.setType(POLICY_GRP_DEF);} assocName  
> LCURLY! splpolicy RCURLY! COLON! priority
> +	p:"PolicyGroup"^ {#p.setType(POLICY_GRP_DEF);} assocName LCURLY!  
> splpolicy RCURLY! COLON! priority
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
> assocName :
> -        COLON! IDENT^ LPAREN! IDENT COMMA! IDENT RPAREN!
> -         {#assocName = #(#[ASSOCIATION,"ASSOC"], assocName);}
> -         ;
> -
> +	COLON! IDENT^ LPAREN! IDENT COMMA! IDENT RPAREN!
> +	{#assocName = #(#[ASSOCIATION,"ASSOC"], assocName);}
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
> +
> splType :
> -	 basicSplTypes (LBRACK RBRACK)?
> -
> -        ;
> +	basicSplTypes (LBRACK RBRACK)?
> +;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
> +
>
> basicSplTypes :
> -"Sint8" | "Sint16" | "Uint8" | "Uint16" |
> - "Sint32" | "Sint64" | "Uint32" | "Uint64" |
> +	"Sint8" | "Sint16" | "Uint8" | "Uint16" |
> + 	"Sint32" | "Sint64" | "Uint32" | "Uint64" |
>     "Real32" | "Real64" | "Boolean" | "Char16"|
> -     "String" | "DateTime" | "Reference"
> +    "String" | "DateTime" | "Reference"
> ;
> +exception catch [RecognitionException ex]
> +{
> +	reportError(ex);
> +	errorList.add(ex.getMessage());
> +}
>
>
> class SPLLexer extends Lexer;
>
>

Craig L Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!