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: [EMAIL PROTECTED]
Date: August 18, 2008 5:50:42 AM PDT
To: [EMAIL PROTECTED]
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: [email protected]

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 <[EMAIL PROTECTED]>
+// @author Neeraj Joshi <[EMAIL PROTECTED]>

-
-  header {
-       /*
+header
+{
+
+/*
 *
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
@@ -37,17 +38,26 @@
 * limitations under the License.
 */

-       /**
-        * @author Neeraj Joshi <[EMAIL PROTECTED]>
-        *
-        */
-  package org.apache.imperius.spl.parser.compiler;
-  }
-options {
+/**
+ * @author Neeraj Joshi <[EMAIL PROTECTED]>
+ *
+ */
+       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:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to