00001: // $ANTLR 3.0 /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g 2007-08-30 13:18:02
00002:
00003: package org.drools.lang;
00004:
00005: import java.util.List;
00006: import java.util.ArrayList;
00007: import java.util.Iterator;
00008: import java.util.HashMap;
00009: import java.util.StringTokenizer;
00010: import org.drools.lang.descr.*;
00011:
00012: import org.antlr.runtime.*;
00013: import java.util.Stack;
00014: import java.util.List;
00015: import java.util.ArrayList;
00016: import java.util.Map;
00017: import java.util.HashMap;
00018:
00019: public class DRLParser extends Parser {
00020: public static final String[] tokenNames = new String[] {
00021: "<invalid>", "<EOR>", "<DOWN>", "<UP>", "PACKAGE",
00022: "IMPORT", "FUNCTION", "ID", "DOT", "GLOBAL", "LEFT_PAREN",
00023: "COMMA", "RIGHT_PAREN", "QUERY", "END", "TEMPLATE", "RULE",
00024: "WHEN", "ATTRIBUTES", "DATE_EFFECTIVE", "STRING",
00025: "DATE_EXPIRES", "ENABLED", "BOOL", "SALIENCE", "INT",
00026: "NO_LOOP", "AUTO_FOCUS", "ACTIVATION_GROUP",
00027: "RULEFLOW_GROUP", "AGENDA_GROUP", "DURATION", "DIALECT",
00028: "LOCK_ON_ACTIVE", "OR", "DOUBLE_PIPE", "AND",
00029: "DOUBLE_AMPER", "FROM", "EXISTS", "NOT", "EVAL", "FORALL",
00030: "ACCUMULATE", "INIT", "ACTION", "REVERSE", "RESULT",
00031: "COLLECT", "CONTAINS", "EXCLUDES", "MATCHES", "MEMBEROF",
00032: "IN", "FLOAT", "NULL", "LEFT_CURLY", "RIGHT_CURLY",
00033: "LEFT_SQUARE", "RIGHT_SQUARE", "THEN", "EOL", "WS",
00034: "EscapeSequence", "HexDigit", "UnicodeEscape",
00035: "OctalEscape", "SH_STYLE_SINGLE_LINE_COMMENT",
00036: "C_STYLE_SINGLE_LINE_COMMENT", "MULTI_LINE_COMMENT",
00037: "MISC", "';'", "'.*'", "':'", "'->'", "'=='", "'>'",
00038: "'>='", "'<'", "'<='", "'!='" };
00039: public static final int COMMA = 11;
00040: public static final int EXISTS = 39;
00041: public static final int AUTO_FOCUS = 27;
00042: public static final int END = 14;
00043: public static final int HexDigit = 64;
00044: public static final int FORALL = 42;
00045: public static final int TEMPLATE = 15;
00046: public static final int MISC = 70;
00047: public static final int FLOAT = 54;
00048: public static final int QUERY = 13;
00049: public static final int THEN = 60;
00050: public static final int RULE = 16;
00051: public static final int INIT = 44;
00052: public static final int IMPORT = 5;
00053: public static final int DATE_EFFECTIVE = 19;
00054: public static final int PACKAGE = 4;
00055: public static final int OR = 34;
00056: public static final int DOT = 8;
00057: public static final int DOUBLE_PIPE = 35;
00058: public static final int AND = 36;
00059: public static final int FUNCTION = 6;
00060: public static final int GLOBAL = 9;
00061: public static final int EscapeSequence = 63;
00062: public static final int DIALECT = 32;
00063: public static final int INT = 25;
00064: public static final int LOCK_ON_ACTIVE = 33;
00065: public static final int DATE_EXPIRES = 21;
00066: public static final int LEFT_SQUARE = 58;
00067: public static final int CONTAINS = 49;
00068: public static final int SH_STYLE_SINGLE_LINE_COMMENT = 67;
00069: public static final int ATTRIBUTES = 18;
00070: public static final int LEFT_CURLY = 56;
00071: public static final int RESULT = 47;
00072: public static final int ID = 7;
00073: public static final int FROM = 38;
00074: public static final int LEFT_PAREN = 10;
00075: public static final int ACTIVATION_GROUP = 28;
00076: public static final int DOUBLE_AMPER = 37;
00077: public static final int RIGHT_CURLY = 57;
00078: public static final int EXCLUDES = 50;
00079: public static final int BOOL = 23;
00080: public static final int MEMBEROF = 52;
00081: public static final int WHEN = 17;
00082: public static final int RULEFLOW_GROUP = 29;
00083: public static final int WS = 62;
00084: public static final int STRING = 20;
00085: public static final int ACTION = 45;
00086: public static final int COLLECT = 48;
00087: public static final int IN = 53;
00088: public static final int REVERSE = 46;
00089: public static final int NO_LOOP = 26;
00090: public static final int ACCUMULATE = 43;
00091: public static final int UnicodeEscape = 65;
00092: public static final int DURATION = 31;
00093: public static final int EVAL = 41;
00094: public static final int MATCHES = 51;
00095: public static final int EOF = -1;
00096: public static final int EOL = 61;
00097: public static final int NULL = 55;
00098: public static final int AGENDA_GROUP = 30;
00099: public static final int OctalEscape = 66;
00100: public static final int SALIENCE = 24;
00101: public static final int MULTI_LINE_COMMENT = 69;
00102: public static final int RIGHT_PAREN = 12;
00103: public static final int NOT = 40;
00104: public static final int ENABLED = 22;
00105: public static final int RIGHT_SQUARE = 59;
00106: public static final int C_STYLE_SINGLE_LINE_COMMENT = 68;
00107:
00108: public DRLParser(TokenStream input) {
00109: super (input);
00110: ruleMemo = new HashMap[80 + 1];
00111: }
00112:
00113: public String[] getTokenNames() {
00114: return tokenNames;
00115: }
00116:
00117: public String getGrammarFileName() {
00118: return "/home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g";
00119: }
00120:
00121: private PackageDescr packageDescr;
00122: private List errors = new ArrayList();
00123: private String source = "unknown";
00124: private int lineOffset = 0;
00125: private DescrFactory factory = new DescrFactory();
00126: private boolean parserDebug = false;
00127: private Location location = new Location(Location.LOCATION_UNKNOWN);
00128:
00129: // THE FOLLOWING LINES ARE DUMMY ATTRIBUTES TO WORK AROUND AN ANTLR BUG
00130: private BaseDescr from = null;
00131: private FieldConstraintDescr fc = null;
00132: private RestrictionConnectiveDescr and = null;
00133: private RestrictionConnectiveDescr or = null;
00134: private ConditionalElementDescr base = null;
00135:
00136: public void setParserDebug(boolean parserDebug) {
00137: this .parserDebug = parserDebug;
00138: }
00139:
00140: public void debug(String message) {
00141: if (parserDebug)
00142: System.err.println("drl parser: " + message);
00143: }
00144:
00145: public void setSource(String source) {
00146: this .source = source;
00147: }
00148:
00149: public DescrFactory getFactory() {
00150: return factory;
00151: }
00152:
00153: public String getSource() {
00154: return this .source;
00155: }
00156:
00157: public PackageDescr getPackageDescr() {
00158: return packageDescr;
00159: }
00160:
00161: private int offset(int line) {
00162: return line + lineOffset;
00163: }
00164:
00165: /**
00166: * This will set the offset to record when reparsing. Normally is zero of course
00167: */
00168: public void setLineOffset(int i) {
00169: this .lineOffset = i;
00170: }
00171:
00172: private String getString(String token) {
00173: return token.substring(1, token.length() - 1);
00174: }
00175:
00176: private String cleanupSpaces(String input) {
00177: return input.replaceAll("\\s", "");
00178: }
00179:
00180: public void reportError(RecognitionException ex) {
00181: // if we've already reported an error and have not matched a token
00182: // yet successfully, don't report any errors.
00183: if (errorRecovery) {
00184: return;
00185: }
00186: errorRecovery = true;
00187:
00188: ex.line = offset(ex.line); //add the offset if there is one
00189: errors.add(ex);
00190: }
00191:
00192: /** return the raw RecognitionException errors */
00193: public List getErrors() {
00194: return errors;
00195: }
00196:
00197: /** Return a list of pretty strings summarising the errors */
00198: public List getErrorMessages() {
00199: List messages = new ArrayList();
00200: for (Iterator errorIter = errors.iterator(); errorIter
00201: .hasNext();) {
00202: messages
00203: .add(createErrorMessage((RecognitionException) errorIter
00204: .next()));
00205: }
00206: return messages;
00207: }
00208:
00209: /** return true if any parser errors were accumulated */
00210: public boolean hasErrors() {
00211: return !errors.isEmpty();
00212: }
00213:
00214: /** This will take a RecognitionException, and create a sensible error message out of it */
00215: public String createErrorMessage(RecognitionException e) {
00216: StringBuffer message = new StringBuffer();
00217: message.append(source + ":" + e.line + ":"
00218: + e.charPositionInLine + " ");
00219: if (e instanceof MismatchedTokenException) {
00220: MismatchedTokenException mte = (MismatchedTokenException) e;
00221: if (mte.expecting >= 0 && mte.expecting < tokenNames.length) {
00222: message.append("mismatched token: " + e.token
00223: + "; expecting type "
00224: + tokenNames[mte.expecting]);
00225: } else {
00226: message.append("mismatched token: " + e.token + ";");
00227: }
00228: } else if (e instanceof MismatchedTreeNodeException) {
00229: MismatchedTreeNodeException mtne = (MismatchedTreeNodeException) e;
00230: if (mtne.expecting >= 0
00231: && mtne.expecting < tokenNames.length) {
00232: message.append("mismatched tree node: "
00233: + mtne.toString() + "; expecting type "
00234: + tokenNames[mtne.expecting]);
00235: } else {
00236: message.append("mismatched tree node: "
00237: + mtne.toString() + ";");
00238: }
00239: } else if (e instanceof NoViableAltException) {
00240: NoViableAltException nvae = (NoViableAltException) e;
00241: message.append("Unexpected token '" + e.token.getText()
00242: + "'");
00243: /*
00244: message.append("decision=<<"+nvae.grammarDecisionDescription+">>"+
00245: " state "+nvae.stateNumber+
00246: " (decision="+nvae.decisionNumber+
00247: ") no viable alt; token="+
00248: e.token);
00249: */
00250: } else if (e instanceof EarlyExitException) {
00251: EarlyExitException eee = (EarlyExitException) e;
00252: message.append("required (...)+ loop (decision="
00253: + eee.decisionNumber
00254: + ") did not match anything; token=" + e.token);
00255: } else if (e instanceof MismatchedSetException) {
00256: MismatchedSetException mse = (MismatchedSetException) e;
00257: message.append("mismatched token '" + e.token
00258: + "' expecting set " + mse.expecting);
00259: } else if (e instanceof MismatchedNotSetException) {
00260: MismatchedNotSetException mse = (MismatchedNotSetException) e;
00261: message.append("mismatched token '" + e.token
00262: + "' expecting set " + mse.expecting);
00263: } else if (e instanceof FailedPredicateException) {
00264: FailedPredicateException fpe = (FailedPredicateException) e;
00265: message
00266: .append("rule " + fpe.ruleName
00267: + " failed predicate: {"
00268: + fpe.predicateText + "}?");
00269: } else if (e instanceof GeneralParseException) {
00270: message.append(" " + e.getMessage());
00271: }
00272: return message.toString();
00273: }
00274:
00275: void checkTrailingSemicolon(String text, int line) {
00276: if (text.trim().endsWith(";")) {
00277: this .errors.add(new GeneralParseException(
00278: "Trailing semi-colon not allowed", offset(line)));
00279: }
00280: }
00281:
00282: public Location getLocation() {
00283: return this .location;
00284: }
00285:
00286: // $ANTLR start opt_semicolon
00287: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:191:1: opt_semicolon : ( ';' )? ;
00288: public final void opt_semicolon() throws RecognitionException {
00289: try {
00290: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:192:2: ( ( ';' )? )
00291: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:192:4: ( ';' )?
00292: {
00293: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:192:4: ( ';' )?
00294: int alt1 = 2;
00295: int LA1_0 = input.LA(1);
00296:
00297: if ((LA1_0 == 71)) {
00298: alt1 = 1;
00299: }
00300: switch (alt1) {
00301: case 1:
00302: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:192:4: ';'
00303: {
00304: match(input, 71, FOLLOW_71_in_opt_semicolon39);
00305: if (failed)
00306: return;
00307:
00308: }
00309: break;
00310:
00311: }
00312:
00313: }
00314:
00315: } catch (RecognitionException re) {
00316: reportError(re);
00317: recover(input, re);
00318: } finally {
00319: }
00320: return;
00321: }
00322:
00323: // $ANTLR end opt_semicolon
00324:
00325: // $ANTLR start compilation_unit
00326: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:195:1: compilation_unit : prolog ( statement )+ EOF ;
00327: public final void compilation_unit() throws RecognitionException {
00328:
00329: // reset Location information
00330: this .location = new Location(Location.LOCATION_UNKNOWN);
00331:
00332: try {
00333: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:200:2: ( prolog ( statement )+ EOF )
00334: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:200:4: prolog ( statement )+ EOF
00335: {
00336: pushFollow(FOLLOW_prolog_in_compilation_unit57);
00337: prolog();
00338: _fsp--;
00339: if (failed)
00340: return;
00341: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:201:3: ( statement )+
00342: int cnt2 = 0;
00343: loop2: do {
00344: int alt2 = 2;
00345: int LA2_0 = input.LA(1);
00346:
00347: if (((LA2_0 >= IMPORT && LA2_0 <= FUNCTION)
00348: || LA2_0 == GLOBAL
00349: || LA2_0 == QUERY
00350: || (LA2_0 >= TEMPLATE && LA2_0 <= RULE)
00351: || LA2_0 == DATE_EFFECTIVE
00352: || (LA2_0 >= DATE_EXPIRES && LA2_0 <= ENABLED)
00353: || LA2_0 == SALIENCE || (LA2_0 >= NO_LOOP && LA2_0 <= LOCK_ON_ACTIVE))) {
00354: alt2 = 1;
00355: }
00356:
00357: switch (alt2) {
00358: case 1:
00359: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:201:3: statement
00360: {
00361: pushFollow(FOLLOW_statement_in_compilation_unit62);
00362: statement();
00363: _fsp--;
00364: if (failed)
00365: return;
00366:
00367: }
00368: break;
00369:
00370: default:
00371: if (cnt2 >= 1)
00372: break loop2;
00373: if (backtracking > 0) {
00374: failed = true;
00375: return;
00376: }
00377: EarlyExitException eee = new EarlyExitException(
00378: 2, input);
00379: throw eee;
00380: }
00381: cnt2++;
00382: } while (true);
00383:
00384: match(input, EOF, FOLLOW_EOF_in_compilation_unit67);
00385: if (failed)
00386: return;
00387:
00388: }
00389:
00390: } catch (RecognitionException e) {
00391:
00392: reportError(e);
00393:
00394: } finally {
00395: }
00396: return;
00397: }
00398:
00399: // $ANTLR end compilation_unit
00400:
00401: // $ANTLR start prolog
00402: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:208:1: prolog : (pkgstmt= package_statement )? ;
00403: public final void prolog() throws RecognitionException {
00404: String pkgstmt = null;
00405:
00406: String packageName = "";
00407:
00408: try {
00409: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:212:2: ( (pkgstmt= package_statement )? )
00410: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:212:4: (pkgstmt= package_statement )?
00411: {
00412: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:212:4: (pkgstmt= package_statement )?
00413: int alt3 = 2;
00414: int LA3_0 = input.LA(1);
00415:
00416: if ((LA3_0 == PACKAGE)) {
00417: alt3 = 1;
00418: }
00419: switch (alt3) {
00420: case 1:
00421: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:212:6: pkgstmt= package_statement
00422: {
00423: pushFollow(FOLLOW_package_statement_in_prolog96);
00424: pkgstmt = package_statement();
00425: _fsp--;
00426: if (failed)
00427: return;
00428: if (backtracking == 0) {
00429: packageName = pkgstmt;
00430: }
00431:
00432: }
00433: break;
00434:
00435: }
00436:
00437: if (backtracking == 0) {
00438:
00439: this .packageDescr = factory
00440: .createPackage(packageName);
00441:
00442: }
00443:
00444: }
00445:
00446: } catch (RecognitionException re) {
00447: reportError(re);
00448: recover(input, re);
00449: } finally {
00450: }
00451: return;
00452: }
00453:
00454: // $ANTLR end prolog
00455:
00456: // $ANTLR start statement
00457: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:219:1: statement : (a= rule_attribute | function_import_statement | import_statement | global | function | t= template | r= rule | q= query );
00458: public final void statement() throws RecognitionException {
00459: AttributeDescr a = null;
00460:
00461: FactTemplateDescr t = null;
00462:
00463: RuleDescr r = null;
00464:
00465: QueryDescr q = null;
00466:
00467: try {
00468: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:220:2: (a= rule_attribute | function_import_statement | import_statement | global | function | t= template | r= rule | q= query )
00469: int alt4 = 8;
00470: switch (input.LA(1)) {
00471: case DATE_EFFECTIVE:
00472: case DATE_EXPIRES:
00473: case ENABLED:
00474: case SALIENCE:
00475: case NO_LOOP:
00476: case AUTO_FOCUS:
00477: case ACTIVATION_GROUP:
00478: case RULEFLOW_GROUP:
00479: case AGENDA_GROUP:
00480: case DURATION:
00481: case DIALECT:
00482: case LOCK_ON_ACTIVE: {
00483: alt4 = 1;
00484: }
00485: break;
00486: case IMPORT: {
00487: int LA4_2 = input.LA(2);
00488:
00489: if ((LA4_2 == FUNCTION)) {
00490: alt4 = 2;
00491: } else if ((LA4_2 == ID)) {
00492: alt4 = 3;
00493: } else {
00494: if (backtracking > 0) {
00495: failed = true;
00496: return;
00497: }
00498: NoViableAltException nvae = new NoViableAltException(
00499: "219:1: statement : (a= rule_attribute | function_import_statement | import_statement | global | function | t= template | r= rule | q= query );",
00500: 4, 2, input);
00501:
00502: throw nvae;
00503: }
00504: }
00505: break;
00506: case GLOBAL: {
00507: alt4 = 4;
00508: }
00509: break;
00510: case FUNCTION: {
00511: alt4 = 5;
00512: }
00513: break;
00514: case TEMPLATE: {
00515: alt4 = 6;
00516: }
00517: break;
00518: case RULE: {
00519: alt4 = 7;
00520: }
00521: break;
00522: case QUERY: {
00523: alt4 = 8;
00524: }
00525: break;
00526: default:
00527: if (backtracking > 0) {
00528: failed = true;
00529: return;
00530: }
00531: NoViableAltException nvae = new NoViableAltException(
00532: "219:1: statement : (a= rule_attribute | function_import_statement | import_statement | global | function | t= template | r= rule | q= query );",
00533: 4, 0, input);
00534:
00535: throw nvae;
00536: }
00537:
00538: switch (alt4) {
00539: case 1:
00540: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:220:4: a= rule_attribute
00541: {
00542: pushFollow(FOLLOW_rule_attribute_in_statement121);
00543: a = rule_attribute();
00544: _fsp--;
00545: if (failed)
00546: return;
00547: if (backtracking == 0) {
00548: this .packageDescr.addAttribute(a);
00549: }
00550:
00551: }
00552: break;
00553: case 2:
00554: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:221:4: function_import_statement
00555: {
00556: pushFollow(FOLLOW_function_import_statement_in_statement128);
00557: function_import_statement();
00558: _fsp--;
00559: if (failed)
00560: return;
00561:
00562: }
00563: break;
00564: case 3:
00565: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:222:4: import_statement
00566: {
00567: pushFollow(FOLLOW_import_statement_in_statement134);
00568: import_statement();
00569: _fsp--;
00570: if (failed)
00571: return;
00572:
00573: }
00574: break;
00575: case 4:
00576: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:223:4: global
00577: {
00578: pushFollow(FOLLOW_global_in_statement140);
00579: global();
00580: _fsp--;
00581: if (failed)
00582: return;
00583:
00584: }
00585: break;
00586: case 5:
00587: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:224:4: function
00588: {
00589: pushFollow(FOLLOW_function_in_statement146);
00590: function();
00591: _fsp--;
00592: if (failed)
00593: return;
00594:
00595: }
00596: break;
00597: case 6:
00598: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:225:10: t= template
00599: {
00600: pushFollow(FOLLOW_template_in_statement160);
00601: t = template();
00602: _fsp--;
00603: if (failed)
00604: return;
00605: if (backtracking == 0) {
00606: this .packageDescr.addFactTemplate(t);
00607: }
00608:
00609: }
00610: break;
00611: case 7:
00612: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:226:4: r= rule
00613: {
00614: pushFollow(FOLLOW_rule_in_statement169);
00615: r = rule();
00616: _fsp--;
00617: if (failed)
00618: return;
00619: if (backtracking == 0) {
00620: this .packageDescr.addRule(r);
00621: }
00622:
00623: }
00624: break;
00625: case 8:
00626: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:227:4: q= query
00627: {
00628: pushFollow(FOLLOW_query_in_statement181);
00629: q = query();
00630: _fsp--;
00631: if (failed)
00632: return;
00633: if (backtracking == 0) {
00634: this .packageDescr.addRule(q);
00635: }
00636:
00637: }
00638: break;
00639:
00640: }
00641: } catch (RecognitionException re) {
00642: reportError(re);
00643: recover(input, re);
00644: } finally {
00645: }
00646: return;
00647: }
00648:
00649: // $ANTLR end statement
00650:
00651: // $ANTLR start package_statement
00652: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:229:1: package_statement returns [String packageName] : PACKAGE n= dotted_name opt_semicolon ;
00653: public final String package_statement() throws RecognitionException {
00654: String packageName = null;
00655:
00656: String n = null;
00657:
00658: packageName = null;
00659:
00660: try {
00661: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:233:2: ( PACKAGE n= dotted_name opt_semicolon )
00662: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:234:3: PACKAGE n= dotted_name opt_semicolon
00663: {
00664: match(input, PACKAGE,
00665: FOLLOW_PACKAGE_in_package_statement205);
00666: if (failed)
00667: return packageName;
00668: pushFollow(FOLLOW_dotted_name_in_package_statement209);
00669: n = dotted_name();
00670: _fsp--;
00671: if (failed)
00672: return packageName;
00673: pushFollow(FOLLOW_opt_semicolon_in_package_statement211);
00674: opt_semicolon();
00675: _fsp--;
00676: if (failed)
00677: return packageName;
00678: if (backtracking == 0) {
00679:
00680: packageName = n;
00681:
00682: }
00683:
00684: }
00685:
00686: } catch (RecognitionException re) {
00687: reportError(re);
00688: recover(input, re);
00689: } finally {
00690: }
00691: return packageName;
00692: }
00693:
00694: // $ANTLR end package_statement
00695:
00696: // $ANTLR start import_statement
00697: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:242:1: import_statement : IMPORT import_name[importDecl] opt_semicolon ;
00698: public final void import_statement() throws RecognitionException {
00699: Token IMPORT1 = null;
00700:
00701: ImportDescr importDecl = null;
00702:
00703: try {
00704: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:246:2: ( IMPORT import_name[importDecl] opt_semicolon )
00705: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:246:4: IMPORT import_name[importDecl] opt_semicolon
00706: {
00707: IMPORT1 = (Token) input.LT(1);
00708: match(input, IMPORT,
00709: FOLLOW_IMPORT_in_import_statement242);
00710: if (failed)
00711: return;
00712: if (backtracking == 0) {
00713:
00714: importDecl = factory.createImport();
00715: importDecl
00716: .setStartCharacter(((CommonToken) IMPORT1)
00717: .getStartIndex());
00718: if (packageDescr != null) {
00719: packageDescr.addImport(importDecl);
00720: }
00721:
00722: }
00723: pushFollow(FOLLOW_import_name_in_import_statement265);
00724: import_name(importDecl);
00725: _fsp--;
00726: if (failed)
00727: return;
00728: pushFollow(FOLLOW_opt_semicolon_in_import_statement268);
00729: opt_semicolon();
00730: _fsp--;
00731: if (failed)
00732: return;
00733:
00734: }
00735:
00736: } catch (RecognitionException re) {
00737: reportError(re);
00738: recover(input, re);
00739: } finally {
00740: }
00741: return;
00742: }
00743:
00744: // $ANTLR end import_statement
00745:
00746: // $ANTLR start function_import_statement
00747: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:257:1: function_import_statement : IMPORT FUNCTION import_name[importDecl] opt_semicolon ;
00748: public final void function_import_statement()
00749: throws RecognitionException {
00750: Token IMPORT2 = null;
00751:
00752: FunctionImportDescr importDecl = null;
00753:
00754: try {
00755: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:261:2: ( IMPORT FUNCTION import_name[importDecl] opt_semicolon )
00756: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:261:4: IMPORT FUNCTION import_name[importDecl] opt_semicolon
00757: {
00758: IMPORT2 = (Token) input.LT(1);
00759: match(input, IMPORT,
00760: FOLLOW_IMPORT_in_function_import_statement292);
00761: if (failed)
00762: return;
00763: match(input, FUNCTION,
00764: FOLLOW_FUNCTION_in_function_import_statement294);
00765: if (failed)
00766: return;
00767: if (backtracking == 0) {
00768:
00769: importDecl = factory.createFunctionImport();
00770: importDecl
00771: .setStartCharacter(((CommonToken) IMPORT2)
00772: .getStartIndex());
00773: if (packageDescr != null) {
00774: packageDescr.addFunctionImport(importDecl);
00775: }
00776:
00777: }
00778: pushFollow(FOLLOW_import_name_in_function_import_statement317);
00779: import_name(importDecl);
00780: _fsp--;
00781: if (failed)
00782: return;
00783: pushFollow(FOLLOW_opt_semicolon_in_function_import_statement320);
00784: opt_semicolon();
00785: _fsp--;
00786: if (failed)
00787: return;
00788:
00789: }
00790:
00791: } catch (RecognitionException re) {
00792: reportError(re);
00793: recover(input, re);
00794: } finally {
00795: }
00796: return;
00797: }
00798:
00799: // $ANTLR end function_import_statement
00800:
00801: // $ANTLR start import_name
00802: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:273:1: import_name[ImportDescr importDecl] returns [String name] : ID ( DOT id= identifier )* (star= '.*' )? ;
00803: public final String import_name(ImportDescr importDecl)
00804: throws RecognitionException {
00805: String name = null;
00806:
00807: Token star = null;
00808: Token ID3 = null;
00809: Token DOT4 = null;
00810: identifier_return id = null;
00811:
00812: name = null;
00813:
00814: try {
00815: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:277:2: ( ID ( DOT id= identifier )* (star= '.*' )? )
00816: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:278:3: ID ( DOT id= identifier )* (star= '.*' )?
00817: {
00818: ID3 = (Token) input.LT(1);
00819: match(input, ID, FOLLOW_ID_in_import_name346);
00820: if (failed)
00821: return name;
00822: if (backtracking == 0) {
00823:
00824: name = ID3.getText();
00825: importDecl.setTarget(name);
00826: importDecl.setEndCharacter(((CommonToken) ID3)
00827: .getStopIndex());
00828:
00829: }
00830: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:284:3: ( DOT id= identifier )*
00831: loop5: do {
00832: int alt5 = 2;
00833: int LA5_0 = input.LA(1);
00834:
00835: if ((LA5_0 == DOT)) {
00836: alt5 = 1;
00837: }
00838:
00839: switch (alt5) {
00840: case 1:
00841: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:284:5: DOT id= identifier
00842: {
00843: DOT4 = (Token) input.LT(1);
00844: match(input, DOT, FOLLOW_DOT_in_import_name358);
00845: if (failed)
00846: return name;
00847: pushFollow(FOLLOW_identifier_in_import_name362);
00848: id = identifier();
00849: _fsp--;
00850: if (failed)
00851: return name;
00852: if (backtracking == 0) {
00853:
00854: name = name + DOT4.getText()
00855: + input.toString(id.start, id.stop);
00856: importDecl.setTarget(name);
00857: importDecl
00858: .setEndCharacter(((CommonToken) ((Token) id.start))
00859: .getStopIndex());
00860:
00861: }
00862:
00863: }
00864: break;
00865:
00866: default:
00867: break loop5;
00868: }
00869: } while (true);
00870:
00871: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:291:3: (star= '.*' )?
00872: int alt6 = 2;
00873: int LA6_0 = input.LA(1);
00874:
00875: if ((LA6_0 == 72)) {
00876: alt6 = 1;
00877: }
00878: switch (alt6) {
00879: case 1:
00880: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:291:5: star= '.*'
00881: {
00882: star = (Token) input.LT(1);
00883: match(input, 72, FOLLOW_72_in_import_name386);
00884: if (failed)
00885: return name;
00886: if (backtracking == 0) {
00887:
00888: name = name + star.getText();
00889: importDecl.setTarget(name);
00890: importDecl.setEndCharacter(((CommonToken) star)
00891: .getStopIndex());
00892:
00893: }
00894:
00895: }
00896: break;
00897:
00898: }
00899:
00900: }
00901:
00902: } catch (RecognitionException re) {
00903: reportError(re);
00904: recover(input, re);
00905: } finally {
00906: }
00907: return name;
00908: }
00909:
00910: // $ANTLR end import_name
00911:
00912: // $ANTLR start global
00913: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:301:1: global : GLOBAL type= dotted_name id= identifier opt_semicolon ;
00914: public final void global() throws RecognitionException {
00915: Token GLOBAL5 = null;
00916: String type = null;
00917:
00918: identifier_return id = null;
00919:
00920: GlobalDescr global = null;
00921:
00922: try {
00923: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:305:2: ( GLOBAL type= dotted_name id= identifier opt_semicolon )
00924: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:306:3: GLOBAL type= dotted_name id= identifier opt_semicolon
00925: {
00926: GLOBAL5 = (Token) input.LT(1);
00927: match(input, GLOBAL, FOLLOW_GLOBAL_in_global420);
00928: if (failed)
00929: return;
00930: if (backtracking == 0) {
00931:
00932: global = factory.createGlobal();
00933: global.setStartCharacter(((CommonToken) GLOBAL5)
00934: .getStartIndex());
00935: packageDescr.addGlobal(global);
00936:
00937: }
00938: pushFollow(FOLLOW_dotted_name_in_global431);
00939: type = dotted_name();
00940: _fsp--;
00941: if (failed)
00942: return;
00943: if (backtracking == 0) {
00944:
00945: global.setType(type);
00946:
00947: }
00948: pushFollow(FOLLOW_identifier_in_global442);
00949: id = identifier();
00950: _fsp--;
00951: if (failed)
00952: return;
00953: pushFollow(FOLLOW_opt_semicolon_in_global444);
00954: opt_semicolon();
00955: _fsp--;
00956: if (failed)
00957: return;
00958: if (backtracking == 0) {
00959:
00960: global.setIdentifier(input.toString(id.start,
00961: id.stop));
00962: global
00963: .setEndCharacter(((CommonToken) ((Token) id.start))
00964: .getStopIndex());
00965:
00966: }
00967:
00968: }
00969:
00970: } catch (RecognitionException re) {
00971: reportError(re);
00972: recover(input, re);
00973: } finally {
00974: }
00975: return;
00976: }
00977:
00978: // $ANTLR end global
00979:
00980: // $ANTLR start function
00981: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:324:1: function : FUNCTION (retType= dotted_name )? id= identifier LEFT_PAREN ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )? RIGHT_PAREN body= curly_chunk ;
00982: public final void function() throws RecognitionException {
00983: Token FUNCTION6 = null;
00984: String retType = null;
00985:
00986: identifier_return id = null;
00987:
00988: String paramType = null;
00989:
00990: String paramName = null;
00991:
00992: curly_chunk_return body = null;
00993:
00994: FunctionDescr f = null;
00995: String type = null;
00996:
00997: try {
00998: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:329:2: ( FUNCTION (retType= dotted_name )? id= identifier LEFT_PAREN ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )? RIGHT_PAREN body= curly_chunk )
00999: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:330:3: FUNCTION (retType= dotted_name )? id= identifier LEFT_PAREN ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )? RIGHT_PAREN body= curly_chunk
01000: {
01001: FUNCTION6 = (Token) input.LT(1);
01002: match(input, FUNCTION, FOLLOW_FUNCTION_in_function469);
01003: if (failed)
01004: return;
01005: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:330:19: (retType= dotted_name )?
01006: int alt7 = 2;
01007: int LA7_0 = input.LA(1);
01008:
01009: if (((LA7_0 >= PACKAGE && LA7_0 <= ID)
01010: || LA7_0 == GLOBAL
01011: || (LA7_0 >= QUERY && LA7_0 <= ATTRIBUTES)
01012: || LA7_0 == ENABLED || LA7_0 == SALIENCE
01013: || (LA7_0 >= DURATION && LA7_0 <= DIALECT)
01014: || LA7_0 == FROM
01015: || (LA7_0 >= INIT && LA7_0 <= RESULT)
01016: || (LA7_0 >= CONTAINS && LA7_0 <= IN) || LA7_0 == THEN)) {
01017: int LA7_1 = input.LA(2);
01018:
01019: if (((LA7_1 >= PACKAGE && LA7_1 <= GLOBAL)
01020: || (LA7_1 >= QUERY && LA7_1 <= ATTRIBUTES)
01021: || LA7_1 == ENABLED || LA7_1 == SALIENCE
01022: || (LA7_1 >= DURATION && LA7_1 <= DIALECT)
01023: || LA7_1 == FROM
01024: || (LA7_1 >= INIT && LA7_1 <= RESULT)
01025: || (LA7_1 >= CONTAINS && LA7_1 <= IN)
01026: || LA7_1 == LEFT_SQUARE || LA7_1 == THEN)) {
01027: alt7 = 1;
01028: }
01029: }
01030: switch (alt7) {
01031: case 1:
01032: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:330:19: retType= dotted_name
01033: {
01034: pushFollow(FOLLOW_dotted_name_in_function473);
01035: retType = dotted_name();
01036: _fsp--;
01037: if (failed)
01038: return;
01039:
01040: }
01041: break;
01042:
01043: }
01044:
01045: pushFollow(FOLLOW_identifier_in_function478);
01046: id = identifier();
01047: _fsp--;
01048: if (failed)
01049: return;
01050: if (backtracking == 0) {
01051:
01052: //System.err.println( "function :: " + n.getText() );
01053: type = retType != null ? retType : null;
01054: f = factory.createFunction(input.toString(id.start,
01055: id.stop), type);
01056: f.setLocation(offset(FUNCTION6.getLine()),
01057: FUNCTION6.getCharPositionInLine());
01058: f.setStartCharacter(((CommonToken) FUNCTION6)
01059: .getStartIndex());
01060: packageDescr.addFunction(f);
01061:
01062: }
01063: match(input, LEFT_PAREN,
01064: FOLLOW_LEFT_PAREN_in_function487);
01065: if (failed)
01066: return;
01067: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:340:4: ( (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )* )?
01068: int alt11 = 2;
01069: int LA11_0 = input.LA(1);
01070:
01071: if (((LA11_0 >= PACKAGE && LA11_0 <= ID)
01072: || LA11_0 == GLOBAL
01073: || (LA11_0 >= QUERY && LA11_0 <= ATTRIBUTES)
01074: || LA11_0 == ENABLED || LA11_0 == SALIENCE
01075: || (LA11_0 >= DURATION && LA11_0 <= DIALECT)
01076: || LA11_0 == FROM
01077: || (LA11_0 >= INIT && LA11_0 <= RESULT)
01078: || (LA11_0 >= CONTAINS && LA11_0 <= IN) || LA11_0 == THEN)) {
01079: alt11 = 1;
01080: }
01081: switch (alt11) {
01082: case 1:
01083: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:340:6: (paramType= dotted_name )? paramName= argument ( COMMA (paramType= dotted_name )? paramName= argument )*
01084: {
01085: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:340:15: (paramType= dotted_name )?
01086: int alt8 = 2;
01087: alt8 = dfa8.predict(input);
01088: switch (alt8) {
01089: case 1:
01090: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:340:15: paramType= dotted_name
01091: {
01092: pushFollow(FOLLOW_dotted_name_in_function496);
01093: paramType = dotted_name();
01094: _fsp--;
01095: if (failed)
01096: return;
01097:
01098: }
01099: break;
01100:
01101: }
01102:
01103: pushFollow(FOLLOW_argument_in_function501);
01104: paramName = argument();
01105: _fsp--;
01106: if (failed)
01107: return;
01108: if (backtracking == 0) {
01109:
01110: type = paramType != null ? paramType : null;
01111: f.addParameter(type, paramName);
01112:
01113: }
01114: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:5: ( COMMA (paramType= dotted_name )? paramName= argument )*
01115: loop10: do {
01116: int alt10 = 2;
01117: int LA10_0 = input.LA(1);
01118:
01119: if ((LA10_0 == COMMA)) {
01120: alt10 = 1;
01121: }
01122:
01123: switch (alt10) {
01124: case 1:
01125: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:7: COMMA (paramType= dotted_name )? paramName= argument
01126: {
01127: match(input, COMMA,
01128: FOLLOW_COMMA_in_function515);
01129: if (failed)
01130: return;
01131: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:22: (paramType= dotted_name )?
01132: int alt9 = 2;
01133: alt9 = dfa9.predict(input);
01134: switch (alt9) {
01135: case 1:
01136: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:345:22: paramType= dotted_name
01137: {
01138: pushFollow(FOLLOW_dotted_name_in_function519);
01139: paramType = dotted_name();
01140: _fsp--;
01141: if (failed)
01142: return;
01143:
01144: }
01145: break;
01146:
01147: }
01148:
01149: pushFollow(FOLLOW_argument_in_function524);
01150: paramName = argument();
01151: _fsp--;
01152: if (failed)
01153: return;
01154: if (backtracking == 0) {
01155:
01156: type = paramType != null ? paramType
01157: : null;
01158: f.addParameter(type, paramName);
01159:
01160: }
01161:
01162: }
01163: break;
01164:
01165: default:
01166: break loop10;
01167: }
01168: } while (true);
01169:
01170: }
01171: break;
01172:
01173: }
01174:
01175: match(input, RIGHT_PAREN,
01176: FOLLOW_RIGHT_PAREN_in_function548);
01177: if (failed)
01178: return;
01179: pushFollow(FOLLOW_curly_chunk_in_function554);
01180: body = curly_chunk();
01181: _fsp--;
01182: if (failed)
01183: return;
01184: if (backtracking == 0) {
01185:
01186: //strip out '{','}'
01187: f.setText(input.toString(body.start, body.stop)
01188: .substring(
01189: 1,
01190: input.toString(body.start,
01191: body.stop).length() - 1));
01192: f
01193: .setEndCharacter(((CommonToken) ((Token) body.stop))
01194: .getStopIndex());
01195: f.setEndLocation(offset(((Token) body.stop)
01196: .getLine()), ((Token) body.stop)
01197: .getCharPositionInLine());
01198:
01199: }
01200:
01201: }
01202:
01203: } catch (RecognitionException re) {
01204: reportError(re);
01205: recover(input, re);
01206: } finally {
01207: }
01208: return;
01209: }
01210:
01211: // $ANTLR end function
01212:
01213: // $ANTLR start argument
01214: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:362:1: argument returns [String name] : id= identifier ( '[' ']' )* ;
01215: public final String argument() throws RecognitionException {
01216: String name = null;
01217:
01218: identifier_return id = null;
01219:
01220: name = null;
01221:
01222: try {
01223: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:366:2: (id= identifier ( '[' ']' )* )
01224: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:366:4: id= identifier ( '[' ']' )*
01225: {
01226: pushFollow(FOLLOW_identifier_in_argument581);
01227: id = identifier();
01228: _fsp--;
01229: if (failed)
01230: return name;
01231: if (backtracking == 0) {
01232: name = input.toString(id.start, id.stop);
01233: }
01234: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:366:38: ( '[' ']' )*
01235: loop12: do {
01236: int alt12 = 2;
01237: int LA12_0 = input.LA(1);
01238:
01239: if ((LA12_0 == LEFT_SQUARE)) {
01240: alt12 = 1;
01241: }
01242:
01243: switch (alt12) {
01244: case 1:
01245: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:366:40: '[' ']'
01246: {
01247: match(input, LEFT_SQUARE,
01248: FOLLOW_LEFT_SQUARE_in_argument587);
01249: if (failed)
01250: return name;
01251: match(input, RIGHT_SQUARE,
01252: FOLLOW_RIGHT_SQUARE_in_argument589);
01253: if (failed)
01254: return name;
01255: if (backtracking == 0) {
01256: name += "[]";
01257: }
01258:
01259: }
01260: break;
01261:
01262: default:
01263: break loop12;
01264: }
01265: } while (true);
01266:
01267: }
01268:
01269: } catch (RecognitionException re) {
01270: reportError(re);
01271: recover(input, re);
01272: } finally {
01273: }
01274: return name;
01275: }
01276:
01277: // $ANTLR end argument
01278:
01279: // $ANTLR start query
01280: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:371:1: query returns [QueryDescr query] : QUERY queryName= name ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )? normal_lhs_block[lhs] END opt_semicolon ;
01281: public final QueryDescr query() throws RecognitionException {
01282: QueryDescr query = null;
01283:
01284: Token paramName = null;
01285: Token QUERY7 = null;
01286: Token END8 = null;
01287: String queryName = null;
01288:
01289: qualified_id_return paramType = null;
01290:
01291: query = null;
01292: AndDescr lhs = null;
01293: List params = null;
01294: List types = null;
01295:
01296: try {
01297: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:379:2: ( QUERY queryName= name ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )? normal_lhs_block[lhs] END opt_semicolon )
01298: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:380:3: QUERY queryName= name ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )? normal_lhs_block[lhs] END opt_semicolon
01299: {
01300: QUERY7 = (Token) input.LT(1);
01301: match(input, QUERY, FOLLOW_QUERY_in_query619);
01302: if (failed)
01303: return query;
01304: pushFollow(FOLLOW_name_in_query623);
01305: queryName = name();
01306: _fsp--;
01307: if (failed)
01308: return query;
01309: if (backtracking == 0) {
01310:
01311: query = factory.createQuery(queryName);
01312: query.setLocation(offset(QUERY7.getLine()), QUERY7
01313: .getCharPositionInLine());
01314: query.setStartCharacter(((CommonToken) QUERY7)
01315: .getStartIndex());
01316: lhs = new AndDescr();
01317: query.setLhs(lhs);
01318: lhs.setLocation(offset(QUERY7.getLine()), QUERY7
01319: .getCharPositionInLine());
01320: location.setType(Location.LOCATION_RULE_HEADER);
01321:
01322: }
01323: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:389:3: ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )?
01324: int alt17 = 2;
01325: alt17 = dfa17.predict(input);
01326: switch (alt17) {
01327: case 1:
01328: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:389:5: LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN
01329: {
01330: match(input, LEFT_PAREN,
01331: FOLLOW_LEFT_PAREN_in_query633);
01332: if (failed)
01333: return query;
01334: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:390:11: ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )?
01335: int alt16 = 2;
01336: int LA16_0 = input.LA(1);
01337:
01338: if ((LA16_0 == ID)) {
01339: alt16 = 1;
01340: }
01341: switch (alt16) {
01342: case 1:
01343: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:390:13: ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )*
01344: {
01345: if (backtracking == 0) {
01346: params = new ArrayList();
01347: types = new ArrayList();
01348: }
01349: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:392:15: ( (paramType= qualified_id )? paramName= ID )
01350: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:392:16: (paramType= qualified_id )? paramName= ID
01351: {
01352: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:392:25: (paramType= qualified_id )?
01353: int alt13 = 2;
01354: int LA13_0 = input.LA(1);
01355:
01356: if ((LA13_0 == ID)) {
01357: int LA13_1 = input.LA(2);
01358:
01359: if (((LA13_1 >= ID && LA13_1 <= DOT) || LA13_1 == LEFT_SQUARE)) {
01360: alt13 = 1;
01361: }
01362: }
01363: switch (alt13) {
01364: case 1:
01365: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:392:25: paramType= qualified_id
01366: {
01367: pushFollow(FOLLOW_qualified_id_in_query668);
01368: paramType = qualified_id();
01369: _fsp--;
01370: if (failed)
01371: return query;
01372:
01373: }
01374: break;
01375:
01376: }
01377:
01378: paramName = (Token) input.LT(1);
01379: match(input, ID, FOLLOW_ID_in_query673);
01380: if (failed)
01381: return query;
01382: if (backtracking == 0) {
01383: params.add(paramName.getText());
01384: String type = (paramType != null) ? paramType.text
01385: : "Object";
01386: types.add(type);
01387: }
01388:
01389: }
01390:
01391: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:393:15: ( COMMA (paramType= qualified_id )? paramName= ID )*
01392: loop15: do {
01393: int alt15 = 2;
01394: int LA15_0 = input.LA(1);
01395:
01396: if ((LA15_0 == COMMA)) {
01397: alt15 = 1;
01398: }
01399:
01400: switch (alt15) {
01401: case 1:
01402: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:393:16: COMMA (paramType= qualified_id )? paramName= ID
01403: {
01404: match(input, COMMA,
01405: FOLLOW_COMMA_in_query694);
01406: if (failed)
01407: return query;
01408: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:393:31: (paramType= qualified_id )?
01409: int alt14 = 2;
01410: int LA14_0 = input.LA(1);
01411:
01412: if ((LA14_0 == ID)) {
01413: int LA14_1 = input.LA(2);
01414:
01415: if (((LA14_1 >= ID && LA14_1 <= DOT) || LA14_1 == LEFT_SQUARE)) {
01416: alt14 = 1;
01417: }
01418: }
01419: switch (alt14) {
01420: case 1:
01421: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:393:31: paramType= qualified_id
01422: {
01423: pushFollow(FOLLOW_qualified_id_in_query698);
01424: paramType = qualified_id();
01425: _fsp--;
01426: if (failed)
01427: return query;
01428:
01429: }
01430: break;
01431:
01432: }
01433:
01434: paramName = (Token) input.LT(1);
01435: match(input, ID, FOLLOW_ID_in_query703);
01436: if (failed)
01437: return query;
01438: if (backtracking == 0) {
01439: params.add(paramName.getText());
01440: String type = (paramType != null) ? paramType.text
01441: : "Object";
01442: types.add(type);
01443: }
01444:
01445: }
01446: break;
01447:
01448: default:
01449: break loop15;
01450: }
01451: } while (true);
01452:
01453: if (backtracking == 0) {
01454: query
01455: .setParameters((String[]) params
01456: .toArray(new String[params
01457: .size()]));
01458: query.setParameterTypes((String[]) types
01459: .toArray(new String[types.size()]));
01460:
01461: }
01462:
01463: }
01464: break;
01465:
01466: }
01467:
01468: match(input, RIGHT_PAREN,
01469: FOLLOW_RIGHT_PAREN_in_query753);
01470: if (failed)
01471: return query;
01472:
01473: }
01474: break;
01475:
01476: }
01477:
01478: if (backtracking == 0) {
01479:
01480: location
01481: .setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION);
01482:
01483: }
01484: pushFollow(FOLLOW_normal_lhs_block_in_query782);
01485: normal_lhs_block(lhs);
01486: _fsp--;
01487: if (failed)
01488: return query;
01489: END8 = (Token) input.LT(1);
01490: match(input, END, FOLLOW_END_in_query787);
01491: if (failed)
01492: return query;
01493: pushFollow(FOLLOW_opt_semicolon_in_query789);
01494: opt_semicolon();
01495: _fsp--;
01496: if (failed)
01497: return query;
01498: if (backtracking == 0) {
01499:
01500: query.setEndCharacter(((CommonToken) END8)
01501: .getStopIndex());
01502:
01503: }
01504:
01505: }
01506:
01507: } catch (RecognitionException re) {
01508: reportError(re);
01509: recover(input, re);
01510: } finally {
01511: }
01512: return query;
01513: }
01514:
01515: // $ANTLR end query
01516:
01517: // $ANTLR start template
01518: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:411:1: template returns [FactTemplateDescr template] : TEMPLATE templateName= name opt_semicolon (slot= template_slot )+ END opt_semicolon ;
01519: public final FactTemplateDescr template()
01520: throws RecognitionException {
01521: FactTemplateDescr template = null;
01522:
01523: Token TEMPLATE9 = null;
01524: Token END10 = null;
01525: String templateName = null;
01526:
01527: FieldTemplateDescr slot = null;
01528:
01529: template = null;
01530:
01531: try {
01532: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:415:2: ( TEMPLATE templateName= name opt_semicolon (slot= template_slot )+ END opt_semicolon )
01533: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:416:3: TEMPLATE templateName= name opt_semicolon (slot= template_slot )+ END opt_semicolon
01534: {
01535: TEMPLATE9 = (Token) input.LT(1);
01536: match(input, TEMPLATE, FOLLOW_TEMPLATE_in_template817);
01537: if (failed)
01538: return template;
01539: pushFollow(FOLLOW_name_in_template821);
01540: templateName = name();
01541: _fsp--;
01542: if (failed)
01543: return template;
01544: pushFollow(FOLLOW_opt_semicolon_in_template823);
01545: opt_semicolon();
01546: _fsp--;
01547: if (failed)
01548: return template;
01549: if (backtracking == 0) {
01550:
01551: template = new FactTemplateDescr(templateName);
01552: template.setLocation(offset(TEMPLATE9.getLine()),
01553: TEMPLATE9.getCharPositionInLine());
01554: template
01555: .setStartCharacter(((CommonToken) TEMPLATE9)
01556: .getStartIndex());
01557:
01558: }
01559: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:422:3: (slot= template_slot )+
01560: int cnt18 = 0;
01561: loop18: do {
01562: int alt18 = 2;
01563: int LA18_0 = input.LA(1);
01564:
01565: if ((LA18_0 == ID)) {
01566: alt18 = 1;
01567: }
01568:
01569: switch (alt18) {
01570: case 1:
01571: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:423:4: slot= template_slot
01572: {
01573: pushFollow(FOLLOW_template_slot_in_template838);
01574: slot = template_slot();
01575: _fsp--;
01576: if (failed)
01577: return template;
01578: if (backtracking == 0) {
01579:
01580: template.addFieldTemplate(slot);
01581:
01582: }
01583:
01584: }
01585: break;
01586:
01587: default:
01588: if (cnt18 >= 1)
01589: break loop18;
01590: if (backtracking > 0) {
01591: failed = true;
01592: return template;
01593: }
01594: EarlyExitException eee = new EarlyExitException(
01595: 18, input);
01596: throw eee;
01597: }
01598: cnt18++;
01599: } while (true);
01600:
01601: END10 = (Token) input.LT(1);
01602: match(input, END, FOLLOW_END_in_template853);
01603: if (failed)
01604: return template;
01605: pushFollow(FOLLOW_opt_semicolon_in_template855);
01606: opt_semicolon();
01607: _fsp--;
01608: if (failed)
01609: return template;
01610: if (backtracking == 0) {
01611:
01612: template.setEndCharacter(((CommonToken) END10)
01613: .getStopIndex());
01614:
01615: }
01616:
01617: }
01618:
01619: } catch (RecognitionException re) {
01620: reportError(re);
01621: recover(input, re);
01622: } finally {
01623: }
01624: return template;
01625: }
01626:
01627: // $ANTLR end template
01628:
01629: // $ANTLR start template_slot
01630: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:434:1: template_slot returns [FieldTemplateDescr field] : fieldType= qualified_id id= identifier opt_semicolon ;
01631: public final FieldTemplateDescr template_slot()
01632: throws RecognitionException {
01633: FieldTemplateDescr field = null;
01634:
01635: qualified_id_return fieldType = null;
01636:
01637: identifier_return id = null;
01638:
01639: field = null;
01640:
01641: try {
01642: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:438:2: (fieldType= qualified_id id= identifier opt_semicolon )
01643: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:439:11: fieldType= qualified_id id= identifier opt_semicolon
01644: {
01645: if (backtracking == 0) {
01646:
01647: field = factory.createFieldTemplate();
01648:
01649: }
01650: pushFollow(FOLLOW_qualified_id_in_template_slot901);
01651: fieldType = qualified_id();
01652: _fsp--;
01653: if (failed)
01654: return field;
01655: if (backtracking == 0) {
01656:
01657: field.setClassType(fieldType.text);
01658: field
01659: .setStartCharacter(((CommonToken) ((Token) fieldType.start))
01660: .getStartIndex());
01661: field
01662: .setEndCharacter(((CommonToken) ((Token) fieldType.stop))
01663: .getStopIndex());
01664:
01665: }
01666: pushFollow(FOLLOW_identifier_in_template_slot917);
01667: id = identifier();
01668: _fsp--;
01669: if (failed)
01670: return field;
01671: pushFollow(FOLLOW_opt_semicolon_in_template_slot919);
01672: opt_semicolon();
01673: _fsp--;
01674: if (failed)
01675: return field;
01676: if (backtracking == 0) {
01677:
01678: field.setName(input.toString(id.start, id.stop));
01679: field.setLocation(offset(((Token) id.start)
01680: .getLine()), ((Token) id.start)
01681: .getCharPositionInLine());
01682: field
01683: .setEndCharacter(((CommonToken) ((Token) id.start))
01684: .getStopIndex());
01685:
01686: }
01687:
01688: }
01689:
01690: } catch (RecognitionException re) {
01691: reportError(re);
01692: recover(input, re);
01693: } finally {
01694: }
01695: return field;
01696: }
01697:
01698: // $ANTLR end template_slot
01699:
01700: // $ANTLR start rule
01701: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:457:1: rule returns [RuleDescr rule] : RULE ruleName= name ( rule_attributes[$rule] )? ( WHEN ( ':' )? normal_lhs_block[lhs] )? rhs_chunk[$rule] ;
01702: public final RuleDescr rule() throws RecognitionException {
01703: RuleDescr rule = null;
01704:
01705: Token RULE11 = null;
01706: Token WHEN12 = null;
01707: String ruleName = null;
01708:
01709: rule = null;
01710: AndDescr lhs = null;
01711:
01712: try {
01713: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:462:2: ( RULE ruleName= name ( rule_attributes[$rule] )? ( WHEN ( ':' )? normal_lhs_block[lhs] )? rhs_chunk[$rule] )
01714: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:463:3: RULE ruleName= name ( rule_attributes[$rule] )? ( WHEN ( ':' )? normal_lhs_block[lhs] )? rhs_chunk[$rule]
01715: {
01716: RULE11 = (Token) input.LT(1);
01717: match(input, RULE, FOLLOW_RULE_in_rule950);
01718: if (failed)
01719: return rule;
01720: pushFollow(FOLLOW_name_in_rule954);
01721: ruleName = name();
01722: _fsp--;
01723: if (failed)
01724: return rule;
01725: if (backtracking == 0) {
01726:
01727: location.setType(Location.LOCATION_RULE_HEADER);
01728: debug("start rule: " + ruleName);
01729: rule = new RuleDescr(ruleName, null);
01730: rule.setLocation(offset(RULE11.getLine()), RULE11
01731: .getCharPositionInLine());
01732: rule.setStartCharacter(((CommonToken) RULE11)
01733: .getStartIndex());
01734:
01735: }
01736: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:471:3: ( rule_attributes[$rule] )?
01737: int alt19 = 2;
01738: int LA19_0 = input.LA(1);
01739:
01740: if (((LA19_0 >= ATTRIBUTES && LA19_0 <= DATE_EFFECTIVE)
01741: || (LA19_0 >= DATE_EXPIRES && LA19_0 <= ENABLED)
01742: || LA19_0 == SALIENCE || (LA19_0 >= NO_LOOP && LA19_0 <= LOCK_ON_ACTIVE))) {
01743: alt19 = 1;
01744: }
01745: switch (alt19) {
01746: case 1:
01747: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:471:3: rule_attributes[$rule]
01748: {
01749: pushFollow(FOLLOW_rule_attributes_in_rule963);
01750: rule_attributes(rule);
01751: _fsp--;
01752: if (failed)
01753: return rule;
01754:
01755: }
01756: break;
01757:
01758: }
01759:
01760: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:472:3: ( WHEN ( ':' )? normal_lhs_block[lhs] )?
01761: int alt21 = 2;
01762: int LA21_0 = input.LA(1);
01763:
01764: if ((LA21_0 == WHEN)) {
01765: alt21 = 1;
01766: }
01767: switch (alt21) {
01768: case 1:
01769: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:473:4: WHEN ( ':' )? normal_lhs_block[lhs]
01770: {
01771: WHEN12 = (Token) input.LT(1);
01772: match(input, WHEN, FOLLOW_WHEN_in_rule975);
01773: if (failed)
01774: return rule;
01775: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:473:9: ( ':' )?
01776: int alt20 = 2;
01777: int LA20_0 = input.LA(1);
01778:
01779: if ((LA20_0 == 73)) {
01780: alt20 = 1;
01781: }
01782: switch (alt20) {
01783: case 1:
01784: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:473:9: ':'
01785: {
01786: match(input, 73, FOLLOW_73_in_rule977);
01787: if (failed)
01788: return rule;
01789:
01790: }
01791: break;
01792:
01793: }
01794:
01795: if (backtracking == 0) {
01796:
01797: this .location
01798: .setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION);
01799: lhs = new AndDescr();
01800: rule.setLhs(lhs);
01801: lhs.setLocation(offset(WHEN12.getLine()),
01802: WHEN12.getCharPositionInLine());
01803: lhs.setStartCharacter(((CommonToken) WHEN12)
01804: .getStartIndex());
01805:
01806: }
01807: pushFollow(FOLLOW_normal_lhs_block_in_rule988);
01808: normal_lhs_block(lhs);
01809: _fsp--;
01810: if (failed)
01811: return rule;
01812:
01813: }
01814: break;
01815:
01816: }
01817:
01818: pushFollow(FOLLOW_rhs_chunk_in_rule998);
01819: rhs_chunk(rule);
01820: _fsp--;
01821: if (failed)
01822: return rule;
01823:
01824: }
01825:
01826: } catch (RecognitionException re) {
01827: reportError(re);
01828: recover(input, re);
01829: } finally {
01830: }
01831: return rule;
01832: }
01833:
01834: // $ANTLR end rule
01835:
01836: // $ANTLR start rule_attributes
01837: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:487:1: rule_attributes[RuleDescr rule] : ( ATTRIBUTES ':' )? attr= rule_attribute ( ( ',' )? attr= rule_attribute )* ;
01838: public final void rule_attributes(RuleDescr rule)
01839: throws RecognitionException {
01840: AttributeDescr attr = null;
01841:
01842: try {
01843: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:488:2: ( ( ATTRIBUTES ':' )? attr= rule_attribute ( ( ',' )? attr= rule_attribute )* )
01844: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:489:2: ( ATTRIBUTES ':' )? attr= rule_attribute ( ( ',' )? attr= rule_attribute )*
01845: {
01846: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:489:2: ( ATTRIBUTES ':' )?
01847: int alt22 = 2;
01848: int LA22_0 = input.LA(1);
01849:
01850: if ((LA22_0 == ATTRIBUTES)) {
01851: alt22 = 1;
01852: }
01853: switch (alt22) {
01854: case 1:
01855: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:489:4: ATTRIBUTES ':'
01856: {
01857: match(input, ATTRIBUTES,
01858: FOLLOW_ATTRIBUTES_in_rule_attributes1018);
01859: if (failed)
01860: return;
01861: match(input, 73, FOLLOW_73_in_rule_attributes1020);
01862: if (failed)
01863: return;
01864:
01865: }
01866: break;
01867:
01868: }
01869:
01870: pushFollow(FOLLOW_rule_attribute_in_rule_attributes1028);
01871: attr = rule_attribute();
01872: _fsp--;
01873: if (failed)
01874: return;
01875: if (backtracking == 0) {
01876: rule.addAttribute(attr);
01877: }
01878: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:491:2: ( ( ',' )? attr= rule_attribute )*
01879: loop24: do {
01880: int alt24 = 2;
01881: int LA24_0 = input.LA(1);
01882:
01883: if ((LA24_0 == COMMA
01884: || LA24_0 == DATE_EFFECTIVE
01885: || (LA24_0 >= DATE_EXPIRES && LA24_0 <= ENABLED)
01886: || LA24_0 == SALIENCE || (LA24_0 >= NO_LOOP && LA24_0 <= LOCK_ON_ACTIVE))) {
01887: alt24 = 1;
01888: }
01889:
01890: switch (alt24) {
01891: case 1:
01892: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:491:4: ( ',' )? attr= rule_attribute
01893: {
01894: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:491:4: ( ',' )?
01895: int alt23 = 2;
01896: int LA23_0 = input.LA(1);
01897:
01898: if ((LA23_0 == COMMA)) {
01899: alt23 = 1;
01900: }
01901: switch (alt23) {
01902: case 1:
01903: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:491:4: ','
01904: {
01905: match(input, COMMA,
01906: FOLLOW_COMMA_in_rule_attributes1035);
01907: if (failed)
01908: return;
01909:
01910: }
01911: break;
01912:
01913: }
01914:
01915: pushFollow(FOLLOW_rule_attribute_in_rule_attributes1040);
01916: attr = rule_attribute();
01917: _fsp--;
01918: if (failed)
01919: return;
01920: if (backtracking == 0) {
01921: rule.addAttribute(attr);
01922: }
01923:
01924: }
01925: break;
01926:
01927: default:
01928: break loop24;
01929: }
01930: } while (true);
01931:
01932: }
01933:
01934: } catch (RecognitionException re) {
01935: reportError(re);
01936: recover(input, re);
01937: } finally {
01938: }
01939: return;
01940: }
01941:
01942: // $ANTLR end rule_attributes
01943:
01944: // $ANTLR start rule_attribute
01945: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:496:1: rule_attribute returns [AttributeDescr attr] : (a= salience | a= no_loop | a= agenda_group | a= duration | a= activation_group | a= auto_focus | a= date_effective | a= date_expires | a= enabled | a= ruleflow_group | a= lock_on_active | a= dialect );
01946: public final AttributeDescr rule_attribute()
01947: throws RecognitionException {
01948: AttributeDescr attr = null;
01949:
01950: AttributeDescr a = null;
01951:
01952: attr = null;
01953:
01954: try {
01955: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:503:2: (a= salience | a= no_loop | a= agenda_group | a= duration | a= activation_group | a= auto_focus | a= date_effective | a= date_expires | a= enabled | a= ruleflow_group | a= lock_on_active | a= dialect )
01956: int alt25 = 12;
01957: switch (input.LA(1)) {
01958: case SALIENCE: {
01959: alt25 = 1;
01960: }
01961: break;
01962: case NO_LOOP: {
01963: alt25 = 2;
01964: }
01965: break;
01966: case AGENDA_GROUP: {
01967: alt25 = 3;
01968: }
01969: break;
01970: case DURATION: {
01971: alt25 = 4;
01972: }
01973: break;
01974: case ACTIVATION_GROUP: {
01975: alt25 = 5;
01976: }
01977: break;
01978: case AUTO_FOCUS: {
01979: alt25 = 6;
01980: }
01981: break;
01982: case DATE_EFFECTIVE: {
01983: alt25 = 7;
01984: }
01985: break;
01986: case DATE_EXPIRES: {
01987: alt25 = 8;
01988: }
01989: break;
01990: case ENABLED: {
01991: alt25 = 9;
01992: }
01993: break;
01994: case RULEFLOW_GROUP: {
01995: alt25 = 10;
01996: }
01997: break;
01998: case LOCK_ON_ACTIVE: {
01999: alt25 = 11;
02000: }
02001: break;
02002: case DIALECT: {
02003: alt25 = 12;
02004: }
02005: break;
02006: default:
02007: if (backtracking > 0) {
02008: failed = true;
02009: return attr;
02010: }
02011: NoViableAltException nvae = new NoViableAltException(
02012: "496:1: rule_attribute returns [AttributeDescr attr] : (a= salience | a= no_loop | a= agenda_group | a= duration | a= activation_group | a= auto_focus | a= date_effective | a= date_expires | a= enabled | a= ruleflow_group | a= lock_on_active | a= dialect );",
02013: 25, 0, input);
02014:
02015: throw nvae;
02016: }
02017:
02018: switch (alt25) {
02019: case 1:
02020: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:503:4: a= salience
02021: {
02022: pushFollow(FOLLOW_salience_in_rule_attribute1077);
02023: a = salience();
02024: _fsp--;
02025: if (failed)
02026: return attr;
02027:
02028: }
02029: break;
02030: case 2:
02031: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:504:4: a= no_loop
02032: {
02033: pushFollow(FOLLOW_no_loop_in_rule_attribute1085);
02034: a = no_loop();
02035: _fsp--;
02036: if (failed)
02037: return attr;
02038:
02039: }
02040: break;
02041: case 3:
02042: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:505:4: a= agenda_group
02043: {
02044: pushFollow(FOLLOW_agenda_group_in_rule_attribute1094);
02045: a = agenda_group();
02046: _fsp--;
02047: if (failed)
02048: return attr;
02049:
02050: }
02051: break;
02052: case 4:
02053: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:506:4: a= duration
02054: {
02055: pushFollow(FOLLOW_duration_in_rule_attribute1103);
02056: a = duration();
02057: _fsp--;
02058: if (failed)
02059: return attr;
02060:
02061: }
02062: break;
02063: case 5:
02064: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:507:4: a= activation_group
02065: {
02066: pushFollow(FOLLOW_activation_group_in_rule_attribute1112);
02067: a = activation_group();
02068: _fsp--;
02069: if (failed)
02070: return attr;
02071:
02072: }
02073: break;
02074: case 6:
02075: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:508:4: a= auto_focus
02076: {
02077: pushFollow(FOLLOW_auto_focus_in_rule_attribute1120);
02078: a = auto_focus();
02079: _fsp--;
02080: if (failed)
02081: return attr;
02082:
02083: }
02084: break;
02085: case 7:
02086: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:509:4: a= date_effective
02087: {
02088: pushFollow(FOLLOW_date_effective_in_rule_attribute1128);
02089: a = date_effective();
02090: _fsp--;
02091: if (failed)
02092: return attr;
02093:
02094: }
02095: break;
02096: case 8:
02097: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:510:4: a= date_expires
02098: {
02099: pushFollow(FOLLOW_date_expires_in_rule_attribute1136);
02100: a = date_expires();
02101: _fsp--;
02102: if (failed)
02103: return attr;
02104:
02105: }
02106: break;
02107: case 9:
02108: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:511:4: a= enabled
02109: {
02110: pushFollow(FOLLOW_enabled_in_rule_attribute1144);
02111: a = enabled();
02112: _fsp--;
02113: if (failed)
02114: return attr;
02115:
02116: }
02117: break;
02118: case 10:
02119: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:512:4: a= ruleflow_group
02120: {
02121: pushFollow(FOLLOW_ruleflow_group_in_rule_attribute1152);
02122: a = ruleflow_group();
02123: _fsp--;
02124: if (failed)
02125: return attr;
02126:
02127: }
02128: break;
02129: case 11:
02130: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:513:4: a= lock_on_active
02131: {
02132: pushFollow(FOLLOW_lock_on_active_in_rule_attribute1160);
02133: a = lock_on_active();
02134: _fsp--;
02135: if (failed)
02136: return attr;
02137:
02138: }
02139: break;
02140: case 12:
02141: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:514:4: a= dialect
02142: {
02143: pushFollow(FOLLOW_dialect_in_rule_attribute1167);
02144: a = dialect();
02145: _fsp--;
02146: if (failed)
02147: return attr;
02148:
02149: }
02150: break;
02151:
02152: }
02153: if (backtracking == 0) {
02154:
02155: attr = a;
02156:
02157: }
02158: } catch (RecognitionException re) {
02159: reportError(re);
02160: recover(input, re);
02161: } finally {
02162: }
02163: return attr;
02164: }
02165:
02166: // $ANTLR end rule_attribute
02167:
02168: // $ANTLR start date_effective
02169: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:517:1: date_effective returns [AttributeDescr descr] : DATE_EFFECTIVE STRING ;
02170: public final AttributeDescr date_effective()
02171: throws RecognitionException {
02172: AttributeDescr descr = null;
02173:
02174: Token STRING13 = null;
02175: Token DATE_EFFECTIVE14 = null;
02176:
02177: descr = null;
02178:
02179: try {
02180: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:521:2: ( DATE_EFFECTIVE STRING )
02181: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:522:3: DATE_EFFECTIVE STRING
02182: {
02183: DATE_EFFECTIVE14 = (Token) input.LT(1);
02184: match(input, DATE_EFFECTIVE,
02185: FOLLOW_DATE_EFFECTIVE_in_date_effective1193);
02186: if (failed)
02187: return descr;
02188: STRING13 = (Token) input.LT(1);
02189: match(input, STRING,
02190: FOLLOW_STRING_in_date_effective1195);
02191: if (failed)
02192: return descr;
02193: if (backtracking == 0) {
02194:
02195: descr = new AttributeDescr("date-effective",
02196: getString(STRING13.getText()));
02197: descr.setLocation(
02198: offset(DATE_EFFECTIVE14.getLine()),
02199: DATE_EFFECTIVE14.getCharPositionInLine());
02200: descr
02201: .setStartCharacter(((CommonToken) DATE_EFFECTIVE14)
02202: .getStartIndex());
02203: descr.setEndCharacter(((CommonToken) STRING13)
02204: .getStopIndex());
02205:
02206: }
02207:
02208: }
02209:
02210: } catch (RecognitionException re) {
02211: reportError(re);
02212: recover(input, re);
02213: } finally {
02214: }
02215: return descr;
02216: }
02217:
02218: // $ANTLR end date_effective
02219:
02220: // $ANTLR start date_expires
02221: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:532:1: date_expires returns [AttributeDescr descr] : DATE_EXPIRES STRING ;
02222: public final AttributeDescr date_expires()
02223: throws RecognitionException {
02224: AttributeDescr descr = null;
02225:
02226: Token STRING15 = null;
02227: Token DATE_EXPIRES16 = null;
02228:
02229: descr = null;
02230:
02231: try {
02232: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:536:2: ( DATE_EXPIRES STRING )
02233: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:536:4: DATE_EXPIRES STRING
02234: {
02235: DATE_EXPIRES16 = (Token) input.LT(1);
02236: match(input, DATE_EXPIRES,
02237: FOLLOW_DATE_EXPIRES_in_date_expires1224);
02238: if (failed)
02239: return descr;
02240: STRING15 = (Token) input.LT(1);
02241: match(input, STRING, FOLLOW_STRING_in_date_expires1226);
02242: if (failed)
02243: return descr;
02244: if (backtracking == 0) {
02245:
02246: descr = new AttributeDescr("date-expires",
02247: getString(STRING15.getText()));
02248: descr.setLocation(offset(DATE_EXPIRES16.getLine()),
02249: DATE_EXPIRES16.getCharPositionInLine());
02250: descr
02251: .setStartCharacter(((CommonToken) DATE_EXPIRES16)
02252: .getStartIndex());
02253: descr.setEndCharacter(((CommonToken) STRING15)
02254: .getStopIndex());
02255:
02256: }
02257:
02258: }
02259:
02260: } catch (RecognitionException re) {
02261: reportError(re);
02262: recover(input, re);
02263: } finally {
02264: }
02265: return descr;
02266: }
02267:
02268: // $ANTLR end date_expires
02269:
02270: // $ANTLR start enabled
02271: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:545:1: enabled returns [AttributeDescr descr] : ENABLED BOOL ;
02272: public final AttributeDescr enabled() throws RecognitionException {
02273: AttributeDescr descr = null;
02274:
02275: Token BOOL17 = null;
02276: Token ENABLED18 = null;
02277:
02278: descr = null;
02279:
02280: try {
02281: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:549:2: ( ENABLED BOOL )
02282: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:549:5: ENABLED BOOL
02283: {
02284: ENABLED18 = (Token) input.LT(1);
02285: match(input, ENABLED, FOLLOW_ENABLED_in_enabled1255);
02286: if (failed)
02287: return descr;
02288: BOOL17 = (Token) input.LT(1);
02289: match(input, BOOL, FOLLOW_BOOL_in_enabled1257);
02290: if (failed)
02291: return descr;
02292: if (backtracking == 0) {
02293:
02294: descr = new AttributeDescr("enabled", BOOL17
02295: .getText());
02296: descr.setLocation(offset(ENABLED18.getLine()),
02297: ENABLED18.getCharPositionInLine());
02298: descr.setStartCharacter(((CommonToken) ENABLED18)
02299: .getStartIndex());
02300: descr.setEndCharacter(((CommonToken) BOOL17)
02301: .getStopIndex());
02302:
02303: }
02304:
02305: }
02306:
02307: } catch (RecognitionException re) {
02308: reportError(re);
02309: recover(input, re);
02310: } finally {
02311: }
02312: return descr;
02313: }
02314:
02315: // $ANTLR end enabled
02316:
02317: // $ANTLR start salience
02318: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:558:1: salience returns [AttributeDescr descr] : SALIENCE ( INT | txt= paren_chunk ) ;
02319: public final AttributeDescr salience() throws RecognitionException {
02320: AttributeDescr descr = null;
02321:
02322: Token SALIENCE19 = null;
02323: Token INT20 = null;
02324: paren_chunk_return txt = null;
02325:
02326: descr = null;
02327:
02328: try {
02329: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:562:2: ( SALIENCE ( INT | txt= paren_chunk ) )
02330: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:563:3: SALIENCE ( INT | txt= paren_chunk )
02331: {
02332: SALIENCE19 = (Token) input.LT(1);
02333: match(input, SALIENCE, FOLLOW_SALIENCE_in_salience1290);
02334: if (failed)
02335: return descr;
02336: if (backtracking == 0) {
02337:
02338: descr = new AttributeDescr("salience");
02339: descr.setLocation(offset(SALIENCE19.getLine()),
02340: SALIENCE19.getCharPositionInLine());
02341: descr.setStartCharacter(((CommonToken) SALIENCE19)
02342: .getStartIndex());
02343:
02344: }
02345: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:569:3: ( INT | txt= paren_chunk )
02346: int alt26 = 2;
02347: int LA26_0 = input.LA(1);
02348:
02349: if ((LA26_0 == INT)) {
02350: alt26 = 1;
02351: } else if ((LA26_0 == LEFT_PAREN)) {
02352: alt26 = 2;
02353: } else {
02354: if (backtracking > 0) {
02355: failed = true;
02356: return descr;
02357: }
02358: NoViableAltException nvae = new NoViableAltException(
02359: "569:3: ( INT | txt= paren_chunk )", 26, 0,
02360: input);
02361:
02362: throw nvae;
02363: }
02364: switch (alt26) {
02365: case 1:
02366: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:569:5: INT
02367: {
02368: INT20 = (Token) input.LT(1);
02369: match(input, INT, FOLLOW_INT_in_salience1301);
02370: if (failed)
02371: return descr;
02372: if (backtracking == 0) {
02373:
02374: descr.setValue(INT20.getText());
02375: descr.setEndCharacter(((CommonToken) INT20)
02376: .getStopIndex());
02377:
02378: }
02379:
02380: }
02381: break;
02382: case 2:
02383: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:574:5: txt= paren_chunk
02384: {
02385: pushFollow(FOLLOW_paren_chunk_in_salience1316);
02386: txt = paren_chunk();
02387: _fsp--;
02388: if (failed)
02389: return descr;
02390: if (backtracking == 0) {
02391:
02392: descr.setValue(input.toString(txt.start,
02393: txt.stop));
02394: descr
02395: .setEndCharacter(((CommonToken) ((Token) txt.stop))
02396: .getStopIndex());
02397:
02398: }
02399:
02400: }
02401: break;
02402:
02403: }
02404:
02405: }
02406:
02407: } catch (RecognitionException re) {
02408: reportError(re);
02409: recover(input, re);
02410: } finally {
02411: }
02412: return descr;
02413: }
02414:
02415: // $ANTLR end salience
02416:
02417: // $ANTLR start no_loop
02418: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:582:1: no_loop returns [AttributeDescr descr] : NO_LOOP ( BOOL )? ;
02419: public final AttributeDescr no_loop() throws RecognitionException {
02420: AttributeDescr descr = null;
02421:
02422: Token NO_LOOP21 = null;
02423: Token BOOL22 = null;
02424:
02425: descr = null;
02426:
02427: try {
02428: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:586:2: ( NO_LOOP ( BOOL )? )
02429: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:586:4: NO_LOOP ( BOOL )?
02430: {
02431: NO_LOOP21 = (Token) input.LT(1);
02432: match(input, NO_LOOP, FOLLOW_NO_LOOP_in_no_loop1346);
02433: if (failed)
02434: return descr;
02435: if (backtracking == 0) {
02436:
02437: descr = new AttributeDescr("no-loop", "true");
02438: descr.setLocation(offset(NO_LOOP21.getLine()),
02439: NO_LOOP21.getCharPositionInLine());
02440: descr.setStartCharacter(((CommonToken) NO_LOOP21)
02441: .getStartIndex());
02442: descr.setEndCharacter(((CommonToken) NO_LOOP21)
02443: .getStopIndex());
02444:
02445: }
02446: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:593:3: ( BOOL )?
02447: int alt27 = 2;
02448: int LA27_0 = input.LA(1);
02449:
02450: if ((LA27_0 == BOOL)) {
02451: alt27 = 1;
02452: }
02453: switch (alt27) {
02454: case 1:
02455: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:593:5: BOOL
02456: {
02457: BOOL22 = (Token) input.LT(1);
02458: match(input, BOOL, FOLLOW_BOOL_in_no_loop1359);
02459: if (failed)
02460: return descr;
02461: if (backtracking == 0) {
02462:
02463: descr.setValue(BOOL22.getText());
02464: descr.setEndCharacter(((CommonToken) BOOL22)
02465: .getStopIndex());
02466:
02467: }
02468:
02469: }
02470: break;
02471:
02472: }
02473:
02474: }
02475:
02476: } catch (RecognitionException re) {
02477: reportError(re);
02478: recover(input, re);
02479: } finally {
02480: }
02481: return descr;
02482: }
02483:
02484: // $ANTLR end no_loop
02485:
02486: // $ANTLR start auto_focus
02487: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:601:1: auto_focus returns [AttributeDescr descr] : AUTO_FOCUS ( BOOL )? ;
02488: public final AttributeDescr auto_focus()
02489: throws RecognitionException {
02490: AttributeDescr descr = null;
02491:
02492: Token AUTO_FOCUS23 = null;
02493: Token BOOL24 = null;
02494:
02495: descr = null;
02496:
02497: try {
02498: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:605:2: ( AUTO_FOCUS ( BOOL )? )
02499: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:605:4: AUTO_FOCUS ( BOOL )?
02500: {
02501: AUTO_FOCUS23 = (Token) input.LT(1);
02502: match(input, AUTO_FOCUS,
02503: FOLLOW_AUTO_FOCUS_in_auto_focus1394);
02504: if (failed)
02505: return descr;
02506: if (backtracking == 0) {
02507:
02508: descr = new AttributeDescr("auto-focus", "true");
02509: descr.setLocation(offset(AUTO_FOCUS23.getLine()),
02510: AUTO_FOCUS23.getCharPositionInLine());
02511: descr
02512: .setStartCharacter(((CommonToken) AUTO_FOCUS23)
02513: .getStartIndex());
02514: descr.setEndCharacter(((CommonToken) AUTO_FOCUS23)
02515: .getStopIndex());
02516:
02517: }
02518: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:612:3: ( BOOL )?
02519: int alt28 = 2;
02520: int LA28_0 = input.LA(1);
02521:
02522: if ((LA28_0 == BOOL)) {
02523: alt28 = 1;
02524: }
02525: switch (alt28) {
02526: case 1:
02527: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:612:5: BOOL
02528: {
02529: BOOL24 = (Token) input.LT(1);
02530: match(input, BOOL, FOLLOW_BOOL_in_auto_focus1407);
02531: if (failed)
02532: return descr;
02533: if (backtracking == 0) {
02534:
02535: descr.setValue(BOOL24.getText());
02536: descr.setEndCharacter(((CommonToken) BOOL24)
02537: .getStopIndex());
02538:
02539: }
02540:
02541: }
02542: break;
02543:
02544: }
02545:
02546: }
02547:
02548: } catch (RecognitionException re) {
02549: reportError(re);
02550: recover(input, re);
02551: } finally {
02552: }
02553: return descr;
02554: }
02555:
02556: // $ANTLR end auto_focus
02557:
02558: // $ANTLR start activation_group
02559: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:620:1: activation_group returns [AttributeDescr descr] : ACTIVATION_GROUP STRING ;
02560: public final AttributeDescr activation_group()
02561: throws RecognitionException {
02562: AttributeDescr descr = null;
02563:
02564: Token STRING25 = null;
02565: Token ACTIVATION_GROUP26 = null;
02566:
02567: descr = null;
02568:
02569: try {
02570: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:624:2: ( ACTIVATION_GROUP STRING )
02571: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:624:4: ACTIVATION_GROUP STRING
02572: {
02573: ACTIVATION_GROUP26 = (Token) input.LT(1);
02574: match(input, ACTIVATION_GROUP,
02575: FOLLOW_ACTIVATION_GROUP_in_activation_group1443);
02576: if (failed)
02577: return descr;
02578: STRING25 = (Token) input.LT(1);
02579: match(input, STRING,
02580: FOLLOW_STRING_in_activation_group1445);
02581: if (failed)
02582: return descr;
02583: if (backtracking == 0) {
02584:
02585: descr = new AttributeDescr("activation-group",
02586: getString(STRING25.getText()));
02587: descr.setLocation(offset(ACTIVATION_GROUP26
02588: .getLine()), ACTIVATION_GROUP26
02589: .getCharPositionInLine());
02590: descr
02591: .setStartCharacter(((CommonToken) ACTIVATION_GROUP26)
02592: .getStartIndex());
02593: descr.setEndCharacter(((CommonToken) STRING25)
02594: .getStopIndex());
02595:
02596: }
02597:
02598: }
02599:
02600: } catch (RecognitionException re) {
02601: reportError(re);
02602: recover(input, re);
02603: } finally {
02604: }
02605: return descr;
02606: }
02607:
02608: // $ANTLR end activation_group
02609:
02610: // $ANTLR start ruleflow_group
02611: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:633:1: ruleflow_group returns [AttributeDescr descr] : RULEFLOW_GROUP STRING ;
02612: public final AttributeDescr ruleflow_group()
02613: throws RecognitionException {
02614: AttributeDescr descr = null;
02615:
02616: Token STRING27 = null;
02617: Token RULEFLOW_GROUP28 = null;
02618:
02619: descr = null;
02620:
02621: try {
02622: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:637:2: ( RULEFLOW_GROUP STRING )
02623: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:637:4: RULEFLOW_GROUP STRING
02624: {
02625: RULEFLOW_GROUP28 = (Token) input.LT(1);
02626: match(input, RULEFLOW_GROUP,
02627: FOLLOW_RULEFLOW_GROUP_in_ruleflow_group1473);
02628: if (failed)
02629: return descr;
02630: STRING27 = (Token) input.LT(1);
02631: match(input, STRING,
02632: FOLLOW_STRING_in_ruleflow_group1475);
02633: if (failed)
02634: return descr;
02635: if (backtracking == 0) {
02636:
02637: descr = new AttributeDescr("ruleflow-group",
02638: getString(STRING27.getText()));
02639: descr.setLocation(
02640: offset(RULEFLOW_GROUP28.getLine()),
02641: RULEFLOW_GROUP28.getCharPositionInLine());
02642: descr
02643: .setStartCharacter(((CommonToken) RULEFLOW_GROUP28)
02644: .getStartIndex());
02645: descr.setEndCharacter(((CommonToken) STRING27)
02646: .getStopIndex());
02647:
02648: }
02649:
02650: }
02651:
02652: } catch (RecognitionException re) {
02653: reportError(re);
02654: recover(input, re);
02655: } finally {
02656: }
02657: return descr;
02658: }
02659:
02660: // $ANTLR end ruleflow_group
02661:
02662: // $ANTLR start agenda_group
02663: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:646:1: agenda_group returns [AttributeDescr descr] : AGENDA_GROUP STRING ;
02664: public final AttributeDescr agenda_group()
02665: throws RecognitionException {
02666: AttributeDescr descr = null;
02667:
02668: Token STRING29 = null;
02669: Token AGENDA_GROUP30 = null;
02670:
02671: descr = null;
02672:
02673: try {
02674: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:650:2: ( AGENDA_GROUP STRING )
02675: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:650:4: AGENDA_GROUP STRING
02676: {
02677: AGENDA_GROUP30 = (Token) input.LT(1);
02678: match(input, AGENDA_GROUP,
02679: FOLLOW_AGENDA_GROUP_in_agenda_group1503);
02680: if (failed)
02681: return descr;
02682: STRING29 = (Token) input.LT(1);
02683: match(input, STRING, FOLLOW_STRING_in_agenda_group1505);
02684: if (failed)
02685: return descr;
02686: if (backtracking == 0) {
02687:
02688: descr = new AttributeDescr("agenda-group",
02689: getString(STRING29.getText()));
02690: descr.setLocation(offset(AGENDA_GROUP30.getLine()),
02691: AGENDA_GROUP30.getCharPositionInLine());
02692: descr
02693: .setStartCharacter(((CommonToken) AGENDA_GROUP30)
02694: .getStartIndex());
02695: descr.setEndCharacter(((CommonToken) STRING29)
02696: .getStopIndex());
02697:
02698: }
02699:
02700: }
02701:
02702: } catch (RecognitionException re) {
02703: reportError(re);
02704: recover(input, re);
02705: } finally {
02706: }
02707: return descr;
02708: }
02709:
02710: // $ANTLR end agenda_group
02711:
02712: // $ANTLR start duration
02713: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:659:1: duration returns [AttributeDescr descr] : DURATION INT ;
02714: public final AttributeDescr duration() throws RecognitionException {
02715: AttributeDescr descr = null;
02716:
02717: Token INT31 = null;
02718: Token DURATION32 = null;
02719:
02720: descr = null;
02721:
02722: try {
02723: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:663:2: ( DURATION INT )
02724: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:663:4: DURATION INT
02725: {
02726: DURATION32 = (Token) input.LT(1);
02727: match(input, DURATION, FOLLOW_DURATION_in_duration1533);
02728: if (failed)
02729: return descr;
02730: INT31 = (Token) input.LT(1);
02731: match(input, INT, FOLLOW_INT_in_duration1535);
02732: if (failed)
02733: return descr;
02734: if (backtracking == 0) {
02735:
02736: descr = new AttributeDescr("duration", INT31
02737: .getText());
02738: descr.setLocation(offset(DURATION32.getLine()),
02739: DURATION32.getCharPositionInLine());
02740: descr.setStartCharacter(((CommonToken) DURATION32)
02741: .getStartIndex());
02742: descr.setEndCharacter(((CommonToken) INT31)
02743: .getStopIndex());
02744:
02745: }
02746:
02747: }
02748:
02749: } catch (RecognitionException re) {
02750: reportError(re);
02751: recover(input, re);
02752: } finally {
02753: }
02754: return descr;
02755: }
02756:
02757: // $ANTLR end duration
02758:
02759: // $ANTLR start dialect
02760: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:672:1: dialect returns [AttributeDescr descr] : DIALECT STRING ;
02761: public final AttributeDescr dialect() throws RecognitionException {
02762: AttributeDescr descr = null;
02763:
02764: Token STRING33 = null;
02765: Token DIALECT34 = null;
02766:
02767: descr = null;
02768:
02769: try {
02770: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:676:2: ( DIALECT STRING )
02771: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:676:4: DIALECT STRING
02772: {
02773: DIALECT34 = (Token) input.LT(1);
02774: match(input, DIALECT, FOLLOW_DIALECT_in_dialect1563);
02775: if (failed)
02776: return descr;
02777: STRING33 = (Token) input.LT(1);
02778: match(input, STRING, FOLLOW_STRING_in_dialect1565);
02779: if (failed)
02780: return descr;
02781: if (backtracking == 0) {
02782:
02783: descr = new AttributeDescr("dialect",
02784: getString(STRING33.getText()));
02785: descr.setLocation(offset(DIALECT34.getLine()),
02786: DIALECT34.getCharPositionInLine());
02787: descr.setStartCharacter(((CommonToken) DIALECT34)
02788: .getStartIndex());
02789: descr.setEndCharacter(((CommonToken) STRING33)
02790: .getStopIndex());
02791:
02792: }
02793:
02794: }
02795:
02796: } catch (RecognitionException re) {
02797: reportError(re);
02798: recover(input, re);
02799: } finally {
02800: }
02801: return descr;
02802: }
02803:
02804: // $ANTLR end dialect
02805:
02806: // $ANTLR start lock_on_active
02807: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:685:1: lock_on_active returns [AttributeDescr descr] : LOCK_ON_ACTIVE ( BOOL )? ;
02808: public final AttributeDescr lock_on_active()
02809: throws RecognitionException {
02810: AttributeDescr descr = null;
02811:
02812: Token LOCK_ON_ACTIVE35 = null;
02813: Token BOOL36 = null;
02814:
02815: descr = null;
02816:
02817: try {
02818: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:689:2: ( LOCK_ON_ACTIVE ( BOOL )? )
02819: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:689:4: LOCK_ON_ACTIVE ( BOOL )?
02820: {
02821: LOCK_ON_ACTIVE35 = (Token) input.LT(1);
02822: match(input, LOCK_ON_ACTIVE,
02823: FOLLOW_LOCK_ON_ACTIVE_in_lock_on_active1597);
02824: if (failed)
02825: return descr;
02826: if (backtracking == 0) {
02827:
02828: descr = new AttributeDescr("lock-on-active", "true");
02829: descr.setLocation(
02830: offset(LOCK_ON_ACTIVE35.getLine()),
02831: LOCK_ON_ACTIVE35.getCharPositionInLine());
02832: descr
02833: .setStartCharacter(((CommonToken) LOCK_ON_ACTIVE35)
02834: .getStartIndex());
02835: descr
02836: .setEndCharacter(((CommonToken) LOCK_ON_ACTIVE35)
02837: .getStopIndex());
02838:
02839: }
02840: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:696:3: ( BOOL )?
02841: int alt29 = 2;
02842: int LA29_0 = input.LA(1);
02843:
02844: if ((LA29_0 == BOOL)) {
02845: alt29 = 1;
02846: }
02847: switch (alt29) {
02848: case 1:
02849: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:696:5: BOOL
02850: {
02851: BOOL36 = (Token) input.LT(1);
02852: match(input, BOOL,
02853: FOLLOW_BOOL_in_lock_on_active1610);
02854: if (failed)
02855: return descr;
02856: if (backtracking == 0) {
02857:
02858: descr.setValue(BOOL36.getText());
02859: descr.setEndCharacter(((CommonToken) BOOL36)
02860: .getStopIndex());
02861:
02862: }
02863:
02864: }
02865: break;
02866:
02867: }
02868:
02869: }
02870:
02871: } catch (RecognitionException re) {
02872: reportError(re);
02873: recover(input, re);
02874: } finally {
02875: }
02876: return descr;
02877: }
02878:
02879: // $ANTLR end lock_on_active
02880:
02881: // $ANTLR start normal_lhs_block
02882: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:704:1: normal_lhs_block[AndDescr descr] : (d= lhs[$descr] )* ;
02883: public final void normal_lhs_block(AndDescr descr)
02884: throws RecognitionException {
02885: BaseDescr d = null;
02886:
02887: location.setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION);
02888:
02889: try {
02890: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:708:2: ( (d= lhs[$descr] )* )
02891: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:709:3: (d= lhs[$descr] )*
02892: {
02893: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:709:3: (d= lhs[$descr] )*
02894: loop30: do {
02895: int alt30 = 2;
02896: int LA30_0 = input.LA(1);
02897:
02898: if ((LA30_0 == ID || LA30_0 == LEFT_PAREN || (LA30_0 >= EXISTS && LA30_0 <= FORALL))) {
02899: alt30 = 1;
02900: }
02901:
02902: switch (alt30) {
02903: case 1:
02904: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:709:5: d= lhs[$descr]
02905: {
02906: pushFollow(FOLLOW_lhs_in_normal_lhs_block1649);
02907: d = lhs(descr);
02908: _fsp--;
02909: if (failed)
02910: return;
02911: if (backtracking == 0) {
02912: if (d != null)
02913: descr.addDescr(d);
02914: }
02915:
02916: }
02917: break;
02918:
02919: default:
02920: break loop30;
02921: }
02922: } while (true);
02923:
02924: }
02925:
02926: } catch (RecognitionException re) {
02927: reportError(re);
02928: recover(input, re);
02929: } finally {
02930: }
02931: return;
02932: }
02933:
02934: // $ANTLR end normal_lhs_block
02935:
02936: // $ANTLR start lhs
02937: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:715:1: lhs[ConditionalElementDescr ce] returns [BaseDescr d] : l= lhs_or ;
02938: public final BaseDescr lhs(ConditionalElementDescr ce)
02939: throws RecognitionException {
02940: BaseDescr d = null;
02941:
02942: BaseDescr l = null;
02943:
02944: d = null;
02945:
02946: try {
02947: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:719:2: (l= lhs_or )
02948: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:719:4: l= lhs_or
02949: {
02950: pushFollow(FOLLOW_lhs_or_in_lhs1686);
02951: l = lhs_or();
02952: _fsp--;
02953: if (failed)
02954: return d;
02955: if (backtracking == 0) {
02956: d = l;
02957: }
02958:
02959: }
02960:
02961: } catch (RecognitionException re) {
02962: reportError(re);
02963: recover(input, re);
02964: } finally {
02965: }
02966: return d;
02967: }
02968:
02969: // $ANTLR end lhs
02970:
02971: // $ANTLR start lhs_or
02972: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:723:1: lhs_or returns [BaseDescr d] : ( LEFT_PAREN OR (lhsand= lhs_and )+ RIGHT_PAREN | left= lhs_and ( ( OR | DOUBLE_PIPE ) right= lhs_and )* );
02973: public final BaseDescr lhs_or() throws RecognitionException {
02974: BaseDescr d = null;
02975:
02976: BaseDescr lhsand = null;
02977:
02978: BaseDescr left = null;
02979:
02980: BaseDescr right = null;
02981:
02982: d = null;
02983: OrDescr or = null;
02984:
02985: try {
02986: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:728:2: ( LEFT_PAREN OR (lhsand= lhs_and )+ RIGHT_PAREN | left= lhs_and ( ( OR | DOUBLE_PIPE ) right= lhs_and )* )
02987: int alt33 = 2;
02988: int LA33_0 = input.LA(1);
02989:
02990: if ((LA33_0 == LEFT_PAREN)) {
02991: int LA33_1 = input.LA(2);
02992:
02993: if ((LA33_1 == ID || LA33_1 == LEFT_PAREN
02994: || LA33_1 == AND || (LA33_1 >= EXISTS && LA33_1 <= FORALL))) {
02995: alt33 = 2;
02996: } else if ((LA33_1 == OR)) {
02997: alt33 = 1;
02998: } else {
02999: if (backtracking > 0) {
03000: failed = true;
03001: return d;
03002: }
03003: NoViableAltException nvae = new NoViableAltException(
03004: "723:1: lhs_or returns [BaseDescr d] : ( LEFT_PAREN OR (lhsand= lhs_and )+ RIGHT_PAREN | left= lhs_and ( ( OR | DOUBLE_PIPE ) right= lhs_and )* );",
03005: 33, 1, input);
03006:
03007: throw nvae;
03008: }
03009: } else if ((LA33_0 == ID || (LA33_0 >= EXISTS && LA33_0 <= FORALL))) {
03010: alt33 = 2;
03011: } else {
03012: if (backtracking > 0) {
03013: failed = true;
03014: return d;
03015: }
03016: NoViableAltException nvae = new NoViableAltException(
03017: "723:1: lhs_or returns [BaseDescr d] : ( LEFT_PAREN OR (lhsand= lhs_and )+ RIGHT_PAREN | left= lhs_and ( ( OR | DOUBLE_PIPE ) right= lhs_and )* );",
03018: 33, 0, input);
03019:
03020: throw nvae;
03021: }
03022: switch (alt33) {
03023: case 1:
03024: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:728:4: LEFT_PAREN OR (lhsand= lhs_and )+ RIGHT_PAREN
03025: {
03026: match(input, LEFT_PAREN,
03027: FOLLOW_LEFT_PAREN_in_lhs_or1711);
03028: if (failed)
03029: return d;
03030: match(input, OR, FOLLOW_OR_in_lhs_or1713);
03031: if (failed)
03032: return d;
03033: if (backtracking == 0) {
03034:
03035: or = new OrDescr();
03036: d = or;
03037: location
03038: .setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR);
03039:
03040: }
03041: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:734:3: (lhsand= lhs_and )+
03042: int cnt31 = 0;
03043: loop31: do {
03044: int alt31 = 2;
03045: int LA31_0 = input.LA(1);
03046:
03047: if ((LA31_0 == ID || LA31_0 == LEFT_PAREN || (LA31_0 >= EXISTS && LA31_0 <= FORALL))) {
03048: alt31 = 1;
03049: }
03050:
03051: switch (alt31) {
03052: case 1:
03053: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:734:5: lhsand= lhs_and
03054: {
03055: pushFollow(FOLLOW_lhs_and_in_lhs_or1726);
03056: lhsand = lhs_and();
03057: _fsp--;
03058: if (failed)
03059: return d;
03060: if (backtracking == 0) {
03061:
03062: or.addDescr(lhsand);
03063:
03064: }
03065:
03066: }
03067: break;
03068:
03069: default:
03070: if (cnt31 >= 1)
03071: break loop31;
03072: if (backtracking > 0) {
03073: failed = true;
03074: return d;
03075: }
03076: EarlyExitException eee = new EarlyExitException(
03077: 31, input);
03078: throw eee;
03079: }
03080: cnt31++;
03081: } while (true);
03082:
03083: match(input, RIGHT_PAREN,
03084: FOLLOW_RIGHT_PAREN_in_lhs_or1737);
03085: if (failed)
03086: return d;
03087:
03088: }
03089: break;
03090: case 2:
03091: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:740:10: left= lhs_and ( ( OR | DOUBLE_PIPE ) right= lhs_and )*
03092: {
03093: pushFollow(FOLLOW_lhs_and_in_lhs_or1755);
03094: left = lhs_and();
03095: _fsp--;
03096: if (failed)
03097: return d;
03098: if (backtracking == 0) {
03099: d = left;
03100: }
03101: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:741:3: ( ( OR | DOUBLE_PIPE ) right= lhs_and )*
03102: loop32: do {
03103: int alt32 = 2;
03104: int LA32_0 = input.LA(1);
03105:
03106: if (((LA32_0 >= OR && LA32_0 <= DOUBLE_PIPE))) {
03107: alt32 = 1;
03108: }
03109:
03110: switch (alt32) {
03111: case 1:
03112: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:741:5: ( OR | DOUBLE_PIPE ) right= lhs_and
03113: {
03114: if ((input.LA(1) >= OR && input.LA(1) <= DOUBLE_PIPE)) {
03115: input.consume();
03116: errorRecovery = false;
03117: failed = false;
03118: } else {
03119: if (backtracking > 0) {
03120: failed = true;
03121: return d;
03122: }
03123: MismatchedSetException mse = new MismatchedSetException(
03124: null, input);
03125: recoverFromMismatchedSet(input, mse,
03126: FOLLOW_set_in_lhs_or1763);
03127: throw mse;
03128: }
03129:
03130: if (backtracking == 0) {
03131:
03132: location
03133: .setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR);
03134:
03135: }
03136: pushFollow(FOLLOW_lhs_and_in_lhs_or1779);
03137: right = lhs_and();
03138: _fsp--;
03139: if (failed)
03140: return d;
03141: if (backtracking == 0) {
03142:
03143: if (or == null) {
03144: or = new OrDescr();
03145: or.addDescr(left);
03146: d = or;
03147: }
03148:
03149: or.addDescr(right);
03150:
03151: }
03152:
03153: }
03154: break;
03155:
03156: default:
03157: break loop32;
03158: }
03159: } while (true);
03160:
03161: }
03162: break;
03163:
03164: }
03165: } catch (RecognitionException re) {
03166: reportError(re);
03167: recover(input, re);
03168: } finally {
03169: }
03170: return d;
03171: }
03172:
03173: // $ANTLR end lhs_or
03174:
03175: // $ANTLR start lhs_and
03176: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:758:1: lhs_and returns [BaseDescr d] : ( LEFT_PAREN AND (lhsunary= lhs_unary )+ RIGHT_PAREN | left= lhs_unary ( ( AND | DOUBLE_AMPER ) right= lhs_unary )* );
03177: public final BaseDescr lhs_and() throws RecognitionException {
03178: BaseDescr d = null;
03179:
03180: BaseDescr lhsunary = null;
03181:
03182: BaseDescr left = null;
03183:
03184: BaseDescr right = null;
03185:
03186: d = null;
03187: AndDescr and = null;
03188:
03189: try {
03190: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:763:2: ( LEFT_PAREN AND (lhsunary= lhs_unary )+ RIGHT_PAREN | left= lhs_unary ( ( AND | DOUBLE_AMPER ) right= lhs_unary )* )
03191: int alt36 = 2;
03192: int LA36_0 = input.LA(1);
03193:
03194: if ((LA36_0 == LEFT_PAREN)) {
03195: int LA36_1 = input.LA(2);
03196:
03197: if ((LA36_1 == AND)) {
03198: alt36 = 1;
03199: } else if ((LA36_1 == ID || LA36_1 == LEFT_PAREN || (LA36_1 >= EXISTS && LA36_1 <= FORALL))) {
03200: alt36 = 2;
03201: } else {
03202: if (backtracking > 0) {
03203: failed = true;
03204: return d;
03205: }
03206: NoViableAltException nvae = new NoViableAltException(
03207: "758:1: lhs_and returns [BaseDescr d] : ( LEFT_PAREN AND (lhsunary= lhs_unary )+ RIGHT_PAREN | left= lhs_unary ( ( AND | DOUBLE_AMPER ) right= lhs_unary )* );",
03208: 36, 1, input);
03209:
03210: throw nvae;
03211: }
03212: } else if ((LA36_0 == ID || (LA36_0 >= EXISTS && LA36_0 <= FORALL))) {
03213: alt36 = 2;
03214: } else {
03215: if (backtracking > 0) {
03216: failed = true;
03217: return d;
03218: }
03219: NoViableAltException nvae = new NoViableAltException(
03220: "758:1: lhs_and returns [BaseDescr d] : ( LEFT_PAREN AND (lhsunary= lhs_unary )+ RIGHT_PAREN | left= lhs_unary ( ( AND | DOUBLE_AMPER ) right= lhs_unary )* );",
03221: 36, 0, input);
03222:
03223: throw nvae;
03224: }
03225: switch (alt36) {
03226: case 1:
03227: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:763:4: LEFT_PAREN AND (lhsunary= lhs_unary )+ RIGHT_PAREN
03228: {
03229: match(input, LEFT_PAREN,
03230: FOLLOW_LEFT_PAREN_in_lhs_and1810);
03231: if (failed)
03232: return d;
03233: match(input, AND, FOLLOW_AND_in_lhs_and1812);
03234: if (failed)
03235: return d;
03236: if (backtracking == 0) {
03237:
03238: and = new AndDescr();
03239: d = and;
03240: location
03241: .setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR);
03242:
03243: }
03244: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:769:3: (lhsunary= lhs_unary )+
03245: int cnt34 = 0;
03246: loop34: do {
03247: int alt34 = 2;
03248: int LA34_0 = input.LA(1);
03249:
03250: if ((LA34_0 == ID || LA34_0 == LEFT_PAREN || (LA34_0 >= EXISTS && LA34_0 <= FORALL))) {
03251: alt34 = 1;
03252: }
03253:
03254: switch (alt34) {
03255: case 1:
03256: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:769:4: lhsunary= lhs_unary
03257: {
03258: pushFollow(FOLLOW_lhs_unary_in_lhs_and1824);
03259: lhsunary = lhs_unary();
03260: _fsp--;
03261: if (failed)
03262: return d;
03263: if (backtracking == 0) {
03264:
03265: and.addDescr(lhsunary);
03266:
03267: }
03268:
03269: }
03270: break;
03271:
03272: default:
03273: if (cnt34 >= 1)
03274: break loop34;
03275: if (backtracking > 0) {
03276: failed = true;
03277: return d;
03278: }
03279: EarlyExitException eee = new EarlyExitException(
03280: 34, input);
03281: throw eee;
03282: }
03283: cnt34++;
03284: } while (true);
03285:
03286: match(input, RIGHT_PAREN,
03287: FOLLOW_RIGHT_PAREN_in_lhs_and1834);
03288: if (failed)
03289: return d;
03290:
03291: }
03292: break;
03293: case 2:
03294: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:775:10: left= lhs_unary ( ( AND | DOUBLE_AMPER ) right= lhs_unary )*
03295: {
03296: pushFollow(FOLLOW_lhs_unary_in_lhs_and1852);
03297: left = lhs_unary();
03298: _fsp--;
03299: if (failed)
03300: return d;
03301: if (backtracking == 0) {
03302: d = left;
03303: }
03304: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:776:3: ( ( AND | DOUBLE_AMPER ) right= lhs_unary )*
03305: loop35: do {
03306: int alt35 = 2;
03307: int LA35_0 = input.LA(1);
03308:
03309: if (((LA35_0 >= AND && LA35_0 <= DOUBLE_AMPER))) {
03310: alt35 = 1;
03311: }
03312:
03313: switch (alt35) {
03314: case 1:
03315: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:776:5: ( AND | DOUBLE_AMPER ) right= lhs_unary
03316: {
03317: if ((input.LA(1) >= AND && input.LA(1) <= DOUBLE_AMPER)) {
03318: input.consume();
03319: errorRecovery = false;
03320: failed = false;
03321: } else {
03322: if (backtracking > 0) {
03323: failed = true;
03324: return d;
03325: }
03326: MismatchedSetException mse = new MismatchedSetException(
03327: null, input);
03328: recoverFromMismatchedSet(input, mse,
03329: FOLLOW_set_in_lhs_and1860);
03330: throw mse;
03331: }
03332:
03333: if (backtracking == 0) {
03334:
03335: location
03336: .setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION_AND_OR);
03337:
03338: }
03339: pushFollow(FOLLOW_lhs_unary_in_lhs_and1876);
03340: right = lhs_unary();
03341: _fsp--;
03342: if (failed)
03343: return d;
03344: if (backtracking == 0) {
03345:
03346: if (and == null) {
03347: and = new AndDescr();
03348: and.addDescr(left);
03349: d = and;
03350: }
03351:
03352: and.addDescr(right);
03353:
03354: }
03355:
03356: }
03357: break;
03358:
03359: default:
03360: break loop35;
03361: }
03362: } while (true);
03363:
03364: }
03365: break;
03366:
03367: }
03368: } catch (RecognitionException re) {
03369: reportError(re);
03370: recover(input, re);
03371: } finally {
03372: }
03373: return d;
03374: }
03375:
03376: // $ANTLR end lhs_and
03377:
03378: // $ANTLR start lhs_unary
03379: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:793:1: lhs_unary returns [BaseDescr d] : ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source ) opt_semicolon ;
03380: public final BaseDescr lhs_unary() throws RecognitionException {
03381: BaseDescr d = null;
03382:
03383: BaseDescr u = null;
03384:
03385: BaseDescr ps = null;
03386:
03387: d = null;
03388:
03389: try {
03390: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:797:2: ( ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source ) opt_semicolon )
03391: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:797:4: ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source ) opt_semicolon
03392: {
03393: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:797:4: ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source )
03394: int alt37 = 6;
03395: int LA37_0 = input.LA(1);
03396:
03397: if ((LA37_0 == EXISTS) && (synpred1())) {
03398: alt37 = 1;
03399: } else if ((LA37_0 == NOT) && (synpred2())) {
03400: alt37 = 2;
03401: } else if ((LA37_0 == EVAL) && (synpred3())) {
03402: alt37 = 3;
03403: } else if ((LA37_0 == FORALL) && (synpred4())) {
03404: alt37 = 4;
03405: } else if ((LA37_0 == LEFT_PAREN) && (synpred5())) {
03406: alt37 = 5;
03407: } else if ((LA37_0 == ID)) {
03408: alt37 = 6;
03409: } else {
03410: if (backtracking > 0) {
03411: failed = true;
03412: return d;
03413: }
03414: NoViableAltException nvae = new NoViableAltException(
03415: "797:4: ( ( EXISTS )=>u= lhs_exist | ( NOT )=>u= lhs_not | ( EVAL )=>u= lhs_eval | ( FORALL )=>u= lhs_forall | ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN | ps= pattern_source )",
03416: 37, 0, input);
03417:
03418: throw nvae;
03419: }
03420: switch (alt37) {
03421: case 1:
03422: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:797:6: ( EXISTS )=>u= lhs_exist
03423: {
03424: pushFollow(FOLLOW_lhs_exist_in_lhs_unary1921);
03425: u = lhs_exist();
03426: _fsp--;
03427: if (failed)
03428: return d;
03429: if (backtracking == 0) {
03430: d = u;
03431: }
03432:
03433: }
03434: break;
03435: case 2:
03436: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:798:5: ( NOT )=>u= lhs_not
03437: {
03438: pushFollow(FOLLOW_lhs_not_in_lhs_unary1939);
03439: u = lhs_not();
03440: _fsp--;
03441: if (failed)
03442: return d;
03443: if (backtracking == 0) {
03444: d = u;
03445: }
03446:
03447: }
03448: break;
03449: case 3:
03450: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:799:5: ( EVAL )=>u= lhs_eval
03451: {
03452: pushFollow(FOLLOW_lhs_eval_in_lhs_unary1958);
03453: u = lhs_eval();
03454: _fsp--;
03455: if (failed)
03456: return d;
03457: if (backtracking == 0) {
03458: d = u;
03459: }
03460:
03461: }
03462: break;
03463: case 4:
03464: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:800:5: ( FORALL )=>u= lhs_forall
03465: {
03466: pushFollow(FOLLOW_lhs_forall_in_lhs_unary1977);
03467: u = lhs_forall();
03468: _fsp--;
03469: if (failed)
03470: return d;
03471: if (backtracking == 0) {
03472: d = u;
03473: }
03474:
03475: }
03476: break;
03477: case 5:
03478: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:801:5: ( LEFT_PAREN )=> LEFT_PAREN u= lhs_or RIGHT_PAREN
03479: {
03480: match(input, LEFT_PAREN,
03481: FOLLOW_LEFT_PAREN_in_lhs_unary1994);
03482: if (failed)
03483: return d;
03484: pushFollow(FOLLOW_lhs_or_in_lhs_unary1998);
03485: u = lhs_or();
03486: _fsp--;
03487: if (failed)
03488: return d;
03489: match(input, RIGHT_PAREN,
03490: FOLLOW_RIGHT_PAREN_in_lhs_unary2000);
03491: if (failed)
03492: return d;
03493: if (backtracking == 0) {
03494: d = u;
03495: }
03496:
03497: }
03498: break;
03499: case 6:
03500: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:802:5: ps= pattern_source
03501: {
03502: pushFollow(FOLLOW_pattern_source_in_lhs_unary2011);
03503: ps = pattern_source();
03504: _fsp--;
03505: if (failed)
03506: return d;
03507: if (backtracking == 0) {
03508: d = (BaseDescr) ps;
03509: }
03510:
03511: }
03512: break;
03513:
03514: }
03515:
03516: pushFollow(FOLLOW_opt_semicolon_in_lhs_unary2023);
03517: opt_semicolon();
03518: _fsp--;
03519: if (failed)
03520: return d;
03521:
03522: }
03523:
03524: } catch (RecognitionException re) {
03525: reportError(re);
03526: recover(input, re);
03527: } finally {
03528: }
03529: return d;
03530: }
03531:
03532: // $ANTLR end lhs_unary
03533:
03534: // $ANTLR start pattern_source
03535: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:807:1: pattern_source returns [BaseDescr d] : u= lhs_pattern ( FROM ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )? ;
03536: public final BaseDescr pattern_source() throws RecognitionException {
03537: BaseDescr d = null;
03538:
03539: BaseDescr u = null;
03540:
03541: AccumulateDescr ac = null;
03542:
03543: CollectDescr cs = null;
03544:
03545: FromDescr fm = null;
03546:
03547: d = null;
03548:
03549: try {
03550: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:811:2: (u= lhs_pattern ( FROM ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )? )
03551: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:812:3: u= lhs_pattern ( FROM ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )?
03552: {
03553: pushFollow(FOLLOW_lhs_pattern_in_pattern_source2050);
03554: u = lhs_pattern();
03555: _fsp--;
03556: if (failed)
03557: return d;
03558: if (backtracking == 0) {
03559: d = u;
03560: }
03561: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:813:3: ( FROM ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) ) )?
03562: int alt39 = 2;
03563: int LA39_0 = input.LA(1);
03564:
03565: if ((LA39_0 == FROM)) {
03566: alt39 = 1;
03567: }
03568: switch (alt39) {
03569: case 1:
03570: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:814:4: FROM ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )
03571: {
03572: match(input, FROM,
03573: FOLLOW_FROM_in_pattern_source2062);
03574: if (failed)
03575: return d;
03576: if (backtracking == 0) {
03577:
03578: location.setType(Location.LOCATION_LHS_FROM);
03579: location.setProperty(
03580: Location.LOCATION_FROM_CONTENT, "");
03581:
03582: }
03583: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:819:11: ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )
03584: int alt38 = 3;
03585: switch (input.LA(1)) {
03586: case ACCUMULATE: {
03587: alt38 = 1;
03588: }
03589: break;
03590: case COLLECT: {
03591: alt38 = 2;
03592: }
03593: break;
03594: case PACKAGE:
03595: case IMPORT:
03596: case FUNCTION:
03597: case ID:
03598: case GLOBAL:
03599: case QUERY:
03600: case END:
03601: case TEMPLATE:
03602: case RULE:
03603: case WHEN:
03604: case ATTRIBUTES:
03605: case ENABLED:
03606: case SALIENCE:
03607: case DURATION:
03608: case DIALECT:
03609: case FROM:
03610: case INIT:
03611: case ACTION:
03612: case REVERSE:
03613: case RESULT:
03614: case CONTAINS:
03615: case EXCLUDES:
03616: case MATCHES:
03617: case MEMBEROF:
03618: case IN:
03619: case THEN: {
03620: alt38 = 3;
03621: }
03622: break;
03623: default:
03624: if (backtracking > 0) {
03625: failed = true;
03626: return d;
03627: }
03628: NoViableAltException nvae = new NoViableAltException(
03629: "819:11: ( options {k=1; } : (ac= accumulate_statement ) | (cs= collect_statement ) | (fm= from_statement ) )",
03630: 38, 0, input);
03631:
03632: throw nvae;
03633: }
03634:
03635: switch (alt38) {
03636: case 1:
03637: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:820:15: (ac= accumulate_statement )
03638: {
03639: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:820:15: (ac= accumulate_statement )
03640: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:820:17: ac= accumulate_statement
03641: {
03642: pushFollow(FOLLOW_accumulate_statement_in_pattern_source2118);
03643: ac = accumulate_statement();
03644: _fsp--;
03645: if (failed)
03646: return d;
03647: if (backtracking == 0) {
03648: ((PatternDescr) d)
03649: .setSource((PatternSourceDescr) ac);
03650: }
03651:
03652: }
03653:
03654: }
03655: break;
03656: case 2:
03657: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:821:15: (cs= collect_statement )
03658: {
03659: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:821:15: (cs= collect_statement )
03660: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:821:17: cs= collect_statement
03661: {
03662: pushFollow(FOLLOW_collect_statement_in_pattern_source2141);
03663: cs = collect_statement();
03664: _fsp--;
03665: if (failed)
03666: return d;
03667: if (backtracking == 0) {
03668: ((PatternDescr) d)
03669: .setSource((PatternSourceDescr) cs);
03670: }
03671:
03672: }
03673:
03674: }
03675: break;
03676: case 3:
03677: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:822:15: (fm= from_statement )
03678: {
03679: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:822:15: (fm= from_statement )
03680: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:822:17: fm= from_statement
03681: {
03682: pushFollow(FOLLOW_from_statement_in_pattern_source2165);
03683: fm = from_statement();
03684: _fsp--;
03685: if (failed)
03686: return d;
03687: if (backtracking == 0) {
03688: ((PatternDescr) d)
03689: .setSource((PatternSourceDescr) fm);
03690: }
03691:
03692: }
03693:
03694: }
03695: break;
03696:
03697: }
03698:
03699: }
03700: break;
03701:
03702: }
03703:
03704: }
03705:
03706: } catch (RecognitionException re) {
03707: reportError(re);
03708: recover(input, re);
03709: } finally {
03710: }
03711: return d;
03712: }
03713:
03714: // $ANTLR end pattern_source
03715:
03716: // $ANTLR start lhs_exist
03717: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:827:1: lhs_exist returns [BaseDescr d] : EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) ;
03718: public final BaseDescr lhs_exist() throws RecognitionException {
03719: BaseDescr d = null;
03720:
03721: Token EXISTS37 = null;
03722: Token RIGHT_PAREN38 = null;
03723: BaseDescr or = null;
03724:
03725: BaseDescr pattern = null;
03726:
03727: d = null;
03728:
03729: try {
03730: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:831:2: ( EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) )
03731: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:831:4: EXISTS ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
03732: {
03733: EXISTS37 = (Token) input.LT(1);
03734: match(input, EXISTS, FOLLOW_EXISTS_in_lhs_exist2208);
03735: if (failed)
03736: return d;
03737: if (backtracking == 0) {
03738:
03739: d = new ExistsDescr();
03740: d.setLocation(offset(EXISTS37.getLine()), EXISTS37
03741: .getCharPositionInLine());
03742: d.setStartCharacter(((CommonToken) EXISTS37)
03743: .getStartIndex());
03744: location
03745: .setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION_EXISTS);
03746:
03747: }
03748: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:838:10: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
03749: int alt40 = 2;
03750: int LA40_0 = input.LA(1);
03751:
03752: if ((LA40_0 == LEFT_PAREN)) {
03753: alt40 = 1;
03754: } else if ((LA40_0 == ID)) {
03755: alt40 = 2;
03756: } else {
03757: if (backtracking > 0) {
03758: failed = true;
03759: return d;
03760: }
03761: NoViableAltException nvae = new NoViableAltException(
03762: "838:10: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )",
03763: 40, 0, input);
03764:
03765: throw nvae;
03766: }
03767: switch (alt40) {
03768: case 1:
03769: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:838:12: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
03770: {
03771: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:838:12: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
03772: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:838:14: LEFT_PAREN or= lhs_or RIGHT_PAREN
03773: {
03774: match(input, LEFT_PAREN,
03775: FOLLOW_LEFT_PAREN_in_lhs_exist2228);
03776: if (failed)
03777: return d;
03778: pushFollow(FOLLOW_lhs_or_in_lhs_exist2232);
03779: or = lhs_or();
03780: _fsp--;
03781: if (failed)
03782: return d;
03783: if (backtracking == 0) {
03784: if (or != null)
03785: ((ExistsDescr) d).addDescr(or);
03786: }
03787: RIGHT_PAREN38 = (Token) input.LT(1);
03788: match(input, RIGHT_PAREN,
03789: FOLLOW_RIGHT_PAREN_in_lhs_exist2262);
03790: if (failed)
03791: return d;
03792: if (backtracking == 0) {
03793: d
03794: .setEndCharacter(((CommonToken) RIGHT_PAREN38)
03795: .getStopIndex());
03796: }
03797:
03798: }
03799:
03800: }
03801: break;
03802: case 2:
03803: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:843:12: pattern= lhs_pattern
03804: {
03805: pushFollow(FOLLOW_lhs_pattern_in_lhs_exist2312);
03806: pattern = lhs_pattern();
03807: _fsp--;
03808: if (failed)
03809: return d;
03810: if (backtracking == 0) {
03811:
03812: if (pattern != null) {
03813: ((ExistsDescr) d).addDescr(pattern);
03814: d
03815: .setEndCharacter(pattern
03816: .getEndCharacter());
03817: }
03818:
03819: }
03820:
03821: }
03822: break;
03823:
03824: }
03825:
03826: }
03827:
03828: } catch (RecognitionException re) {
03829: reportError(re);
03830: recover(input, re);
03831: } finally {
03832: }
03833: return d;
03834: }
03835:
03836: // $ANTLR end lhs_exist
03837:
03838: // $ANTLR start lhs_not
03839: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:853:1: lhs_not returns [NotDescr d] : NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) ;
03840: public final NotDescr lhs_not() throws RecognitionException {
03841: NotDescr d = null;
03842:
03843: Token NOT39 = null;
03844: Token RIGHT_PAREN40 = null;
03845: BaseDescr or = null;
03846:
03847: BaseDescr pattern = null;
03848:
03849: d = null;
03850:
03851: try {
03852: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:857:2: ( NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern ) )
03853: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:857:4: NOT ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
03854: {
03855: NOT39 = (Token) input.LT(1);
03856: match(input, NOT, FOLLOW_NOT_in_lhs_not2364);
03857: if (failed)
03858: return d;
03859: if (backtracking == 0) {
03860:
03861: d = new NotDescr();
03862: d.setLocation(offset(NOT39.getLine()), NOT39
03863: .getCharPositionInLine());
03864: d.setStartCharacter(((CommonToken) NOT39)
03865: .getStartIndex());
03866: location
03867: .setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION_NOT);
03868:
03869: }
03870: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:864:3: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )
03871: int alt41 = 2;
03872: int LA41_0 = input.LA(1);
03873:
03874: if ((LA41_0 == LEFT_PAREN)) {
03875: alt41 = 1;
03876: } else if ((LA41_0 == ID)) {
03877: alt41 = 2;
03878: } else {
03879: if (backtracking > 0) {
03880: failed = true;
03881: return d;
03882: }
03883: NoViableAltException nvae = new NoViableAltException(
03884: "864:3: ( ( LEFT_PAREN or= lhs_or RIGHT_PAREN ) | pattern= lhs_pattern )",
03885: 41, 0, input);
03886:
03887: throw nvae;
03888: }
03889: switch (alt41) {
03890: case 1:
03891: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:864:5: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
03892: {
03893: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:864:5: ( LEFT_PAREN or= lhs_or RIGHT_PAREN )
03894: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:864:7: LEFT_PAREN or= lhs_or RIGHT_PAREN
03895: {
03896: match(input, LEFT_PAREN,
03897: FOLLOW_LEFT_PAREN_in_lhs_not2377);
03898: if (failed)
03899: return d;
03900: pushFollow(FOLLOW_lhs_or_in_lhs_not2381);
03901: or = lhs_or();
03902: _fsp--;
03903: if (failed)
03904: return d;
03905: if (backtracking == 0) {
03906: if (or != null)
03907: d.addDescr(or);
03908: }
03909: RIGHT_PAREN40 = (Token) input.LT(1);
03910: match(input, RIGHT_PAREN,
03911: FOLLOW_RIGHT_PAREN_in_lhs_not2412);
03912: if (failed)
03913: return d;
03914: if (backtracking == 0) {
03915: d
03916: .setEndCharacter(((CommonToken) RIGHT_PAREN40)
03917: .getStopIndex());
03918: }
03919:
03920: }
03921:
03922: }
03923: break;
03924: case 2:
03925: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:870:3: pattern= lhs_pattern
03926: {
03927: pushFollow(FOLLOW_lhs_pattern_in_lhs_not2449);
03928: pattern = lhs_pattern();
03929: _fsp--;
03930: if (failed)
03931: return d;
03932: if (backtracking == 0) {
03933:
03934: if (pattern != null) {
03935: d.addDescr(pattern);
03936: d
03937: .setEndCharacter(pattern
03938: .getEndCharacter());
03939: }
03940:
03941: }
03942:
03943: }
03944: break;
03945:
03946: }
03947:
03948: }
03949:
03950: } catch (RecognitionException re) {
03951: reportError(re);
03952: recover(input, re);
03953: } finally {
03954: }
03955: return d;
03956: }
03957:
03958: // $ANTLR end lhs_not
03959:
03960: // $ANTLR start lhs_eval
03961: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:880:1: lhs_eval returns [BaseDescr d] : EVAL c= paren_chunk ;
03962: public final BaseDescr lhs_eval() throws RecognitionException {
03963: BaseDescr d = null;
03964:
03965: Token EVAL41 = null;
03966: paren_chunk_return c = null;
03967:
03968: d = new EvalDescr();
03969:
03970: try {
03971: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:884:2: ( EVAL c= paren_chunk )
03972: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:885:3: EVAL c= paren_chunk
03973: {
03974: EVAL41 = (Token) input.LT(1);
03975: match(input, EVAL, FOLLOW_EVAL_in_lhs_eval2495);
03976: if (failed)
03977: return d;
03978: if (backtracking == 0) {
03979:
03980: location.setType(Location.LOCATION_LHS_INSIDE_EVAL);
03981:
03982: }
03983: pushFollow(FOLLOW_paren_chunk_in_lhs_eval2506);
03984: c = paren_chunk();
03985: _fsp--;
03986: if (failed)
03987: return d;
03988: if (backtracking == 0) {
03989:
03990: d.setStartCharacter(((CommonToken) EVAL41)
03991: .getStartIndex());
03992: if (input.toString(c.start, c.stop) != null) {
03993: this .location
03994: .setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION);
03995: String body = input.toString(c.start, c.stop)
03996: .length() > 1 ? input.toString(c.start,
03997: c.stop).substring(
03998: 1,
03999: input.toString(c.start, c.stop)
04000: .length() - 1) : "";
04001: checkTrailingSemicolon(body, offset(EVAL41
04002: .getLine()));
04003: ((EvalDescr) d).setContent(body);
04004: location.setProperty(
04005: Location.LOCATION_EVAL_CONTENT, body);
04006: }
04007: if (((Token) c.stop) != null) {
04008: d
04009: .setEndCharacter(((CommonToken) ((Token) c.stop))
04010: .getStopIndex());
04011: }
04012:
04013: }
04014:
04015: }
04016:
04017: } catch (RecognitionException re) {
04018: reportError(re);
04019: recover(input, re);
04020: } finally {
04021: }
04022: return d;
04023: }
04024:
04025: // $ANTLR end lhs_eval
04026:
04027: // $ANTLR start lhs_forall
04028: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:905:1: lhs_forall returns [ForallDescr d] : FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN ;
04029: public final ForallDescr lhs_forall() throws RecognitionException {
04030: ForallDescr d = null;
04031:
04032: Token FORALL42 = null;
04033: Token RIGHT_PAREN43 = null;
04034: BaseDescr base = null;
04035:
04036: BaseDescr pattern = null;
04037:
04038: d = factory.createForall();
04039:
04040: try {
04041: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:909:2: ( FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN )
04042: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:909:4: FORALL LEFT_PAREN base= lhs_pattern (pattern= lhs_pattern )* RIGHT_PAREN
04043: {
04044: FORALL42 = (Token) input.LT(1);
04045: match(input, FORALL, FOLLOW_FORALL_in_lhs_forall2532);
04046: if (failed)
04047: return d;
04048: match(input, LEFT_PAREN,
04049: FOLLOW_LEFT_PAREN_in_lhs_forall2534);
04050: if (failed)
04051: return d;
04052: pushFollow(FOLLOW_lhs_pattern_in_lhs_forall2538);
04053: base = lhs_pattern();
04054: _fsp--;
04055: if (failed)
04056: return d;
04057: if (backtracking == 0) {
04058:
04059: d.setStartCharacter(((CommonToken) FORALL42)
04060: .getStartIndex());
04061: // adding the base pattern
04062: d.addDescr(base);
04063: d.setLocation(offset(FORALL42.getLine()), FORALL42
04064: .getCharPositionInLine());
04065:
04066: }
04067: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:916:3: (pattern= lhs_pattern )*
04068: loop42: do {
04069: int alt42 = 2;
04070: int LA42_0 = input.LA(1);
04071:
04072: if ((LA42_0 == ID)) {
04073: alt42 = 1;
04074: }
04075:
04076: switch (alt42) {
04077: case 1:
04078: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:916:5: pattern= lhs_pattern
04079: {
04080: pushFollow(FOLLOW_lhs_pattern_in_lhs_forall2553);
04081: pattern = lhs_pattern();
04082: _fsp--;
04083: if (failed)
04084: return d;
04085: if (backtracking == 0) {
04086:
04087: // adding additional patterns
04088: d.addDescr(pattern);
04089:
04090: }
04091:
04092: }
04093: break;
04094:
04095: default:
04096: break loop42;
04097: }
04098: } while (true);
04099:
04100: RIGHT_PAREN43 = (Token) input.LT(1);
04101: match(input, RIGHT_PAREN,
04102: FOLLOW_RIGHT_PAREN_in_lhs_forall2569);
04103: if (failed)
04104: return d;
04105: if (backtracking == 0) {
04106:
04107: d.setEndCharacter(((CommonToken) RIGHT_PAREN43)
04108: .getStopIndex());
04109:
04110: }
04111:
04112: }
04113:
04114: } catch (RecognitionException re) {
04115: reportError(re);
04116: recover(input, re);
04117: } finally {
04118: }
04119: return d;
04120: }
04121:
04122: // $ANTLR end lhs_forall
04123:
04124: // $ANTLR start lhs_pattern
04125: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:928:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );
04126: public final BaseDescr lhs_pattern() throws RecognitionException {
04127: BaseDescr d = null;
04128:
04129: BaseDescr f = null;
04130:
04131: d = null;
04132:
04133: try {
04134: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:935:2: (f= fact_binding | f= fact[null] )
04135: int alt43 = 2;
04136: int LA43_0 = input.LA(1);
04137:
04138: if ((LA43_0 == ID)) {
04139: int LA43_1 = input.LA(2);
04140:
04141: if ((LA43_1 == 73)) {
04142: alt43 = 1;
04143: } else if ((LA43_1 == DOT || LA43_1 == LEFT_PAREN || LA43_1 == LEFT_SQUARE)) {
04144: alt43 = 2;
04145: } else {
04146: if (backtracking > 0) {
04147: failed = true;
04148: return d;
04149: }
04150: NoViableAltException nvae = new NoViableAltException(
04151: "928:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );",
04152: 43, 1, input);
04153:
04154: throw nvae;
04155: }
04156: } else {
04157: if (backtracking > 0) {
04158: failed = true;
04159: return d;
04160: }
04161: NoViableAltException nvae = new NoViableAltException(
04162: "928:1: lhs_pattern returns [BaseDescr d] : (f= fact_binding | f= fact[null] );",
04163: 43, 0, input);
04164:
04165: throw nvae;
04166: }
04167: switch (alt43) {
04168: case 1:
04169: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:935:4: f= fact_binding
04170: {
04171: pushFollow(FOLLOW_fact_binding_in_lhs_pattern2602);
04172: f = fact_binding();
04173: _fsp--;
04174: if (failed)
04175: return d;
04176:
04177: }
04178: break;
04179: case 2:
04180: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:936:4: f= fact[null]
04181: {
04182: pushFollow(FOLLOW_fact_in_lhs_pattern2610);
04183: f = fact(null);
04184: _fsp--;
04185: if (failed)
04186: return d;
04187:
04188: }
04189: break;
04190:
04191: }
04192: if (backtracking == 0) {
04193:
04194: d = f;
04195:
04196: }
04197: } catch (RecognitionException re) {
04198: reportError(re);
04199: recover(input, re);
04200: } finally {
04201: }
04202: return d;
04203: }
04204:
04205: // $ANTLR end lhs_pattern
04206:
04207: // $ANTLR start from_statement
04208: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:939:1: from_statement returns [FromDescr d] : ds= from_source[$d] ;
04209: public final FromDescr from_statement() throws RecognitionException {
04210: FromDescr d = null;
04211:
04212: DeclarativeInvokerDescr ds = null;
04213:
04214: d = factory.createFrom();
04215:
04216: try {
04217: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:943:2: (ds= from_source[$d] )
04218: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:944:2: ds= from_source[$d]
04219: {
04220: pushFollow(FOLLOW_from_source_in_from_statement2637);
04221: ds = from_source(d);
04222: _fsp--;
04223: if (failed)
04224: return d;
04225: if (backtracking == 0) {
04226:
04227: d.setDataSource(ds);
04228:
04229: }
04230:
04231: }
04232:
04233: } catch (RecognitionException re) {
04234: reportError(re);
04235: recover(input, re);
04236: } finally {
04237: }
04238: return d;
04239: }
04240:
04241: // $ANTLR end from_statement
04242:
04243: // $ANTLR start from_source
04244: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:950:1: from_source[FromDescr from] returns [DeclarativeInvokerDescr ds] : ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )? ;
04245: public final DeclarativeInvokerDescr from_source(FromDescr from)
04246: throws RecognitionException {
04247: DeclarativeInvokerDescr ds = null;
04248:
04249: identifier_return ident = null;
04250:
04251: paren_chunk_return args = null;
04252:
04253: ds = null;
04254: AccessorDescr ad = null;
04255: FunctionCallDescr fc = null;
04256:
04257: try {
04258: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:956:2: (ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )? )
04259: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:956:4: ident= identifier ( options {k=1; } : args= paren_chunk )? ( expression_chain[$from, ad] )?
04260: {
04261: pushFollow(FOLLOW_identifier_in_from_source2666);
04262: ident = identifier();
04263: _fsp--;
04264: if (failed)
04265: return ds;
04266: if (backtracking == 0) {
04267:
04268: ad = new AccessorDescr(ident.start.getText());
04269: ad.setLocation(offset(ident.start.getLine()),
04270: ident.start.getCharPositionInLine());
04271: ad.setStartCharacter(((CommonToken) ident.start)
04272: .getStartIndex());
04273: ad.setEndCharacter(((CommonToken) ident.start)
04274: .getStopIndex());
04275: ds = ad;
04276: location.setProperty(
04277: Location.LOCATION_FROM_CONTENT, ident.start
04278: .getText());
04279:
04280: }
04281: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:965:3: ( options {k=1; } : args= paren_chunk )?
04282: int alt44 = 2;
04283: int LA44_0 = input.LA(1);
04284:
04285: if ((LA44_0 == LEFT_PAREN)) {
04286: alt44 = 1;
04287: }
04288: switch (alt44) {
04289: case 1:
04290: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:972:5: args= paren_chunk
04291: {
04292: pushFollow(FOLLOW_paren_chunk_in_from_source2694);
04293: args = paren_chunk();
04294: _fsp--;
04295: if (failed)
04296: return ds;
04297: if (backtracking == 0) {
04298:
04299: if (input.toString(args.start, args.stop) != null) {
04300: ad.setVariableName(null);
04301: fc = new FunctionCallDescr(
04302: ((Token) ident.start).getText());
04303: fc.setLocation(offset(((Token) ident.start)
04304: .getLine()), ((Token) ident.start)
04305: .getCharPositionInLine());
04306: fc.setArguments(input.toString(args.start,
04307: args.stop));
04308: fc
04309: .setStartCharacter(((CommonToken) ((Token) ident.start))
04310: .getStartIndex());
04311: fc
04312: .setEndCharacter(((CommonToken) ((Token) ident.start))
04313: .getStopIndex());
04314: location.setProperty(
04315: Location.LOCATION_FROM_CONTENT,
04316: input.toString(args.start,
04317: args.stop));
04318: from
04319: .setEndCharacter(((CommonToken) ((Token) args.stop))
04320: .getStopIndex());
04321: }
04322:
04323: }
04324:
04325: }
04326: break;
04327:
04328: }
04329:
04330: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:986:3: ( expression_chain[$from, ad] )?
04331: int alt45 = 2;
04332: int LA45_0 = input.LA(1);
04333:
04334: if ((LA45_0 == DOT)) {
04335: alt45 = 1;
04336: }
04337: switch (alt45) {
04338: case 1:
04339: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:986:3: expression_chain[$from, ad]
04340: {
04341: pushFollow(FOLLOW_expression_chain_in_from_source2707);
04342: expression_chain(from, ad);
04343: _fsp--;
04344: if (failed)
04345: return ds;
04346:
04347: }
04348: break;
04349:
04350: }
04351:
04352: }
04353:
04354: } catch (RecognitionException re) {
04355: reportError(re);
04356: recover(input, re);
04357: } finally {
04358:
04359: if (ad != null) {
04360: if (fc != null) {
04361: ad.addFirstInvoker(fc);
04362: }
04363: location.setProperty(Location.LOCATION_FROM_CONTENT, ad
04364: .toString());
04365: }
04366:
04367: }
04368: return ds;
04369: }
04370:
04371: // $ANTLR end from_source
04372:
04373: // $ANTLR start accumulate_statement
04374: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:998:1: accumulate_statement returns [AccumulateDescr d] : ACCUMULATE LEFT_PAREN pattern= pattern_source ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN ;
04375: public final AccumulateDescr accumulate_statement()
04376: throws RecognitionException {
04377: AccumulateDescr d = null;
04378:
04379: Token id = null;
04380: Token ACCUMULATE44 = null;
04381: Token RIGHT_PAREN45 = null;
04382: BaseDescr pattern = null;
04383:
04384: paren_chunk_return text = null;
04385:
04386: d = factory.createAccumulate();
04387:
04388: try {
04389: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1002:2: ( ACCUMULATE LEFT_PAREN pattern= pattern_source ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN )
04390: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1003:10: ACCUMULATE LEFT_PAREN pattern= pattern_source ( COMMA )? ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) ) RIGHT_PAREN
04391: {
04392: ACCUMULATE44 = (Token) input.LT(1);
04393: match(input, ACCUMULATE,
04394: FOLLOW_ACCUMULATE_in_accumulate_statement2748);
04395: if (failed)
04396: return d;
04397: if (backtracking == 0) {
04398:
04399: d.setLocation(offset(ACCUMULATE44.getLine()),
04400: ACCUMULATE44.getCharPositionInLine());
04401: d.setStartCharacter(((CommonToken) ACCUMULATE44)
04402: .getStartIndex());
04403: location
04404: .setType(Location.LOCATION_LHS_FROM_ACCUMULATE);
04405:
04406: }
04407: match(input, LEFT_PAREN,
04408: FOLLOW_LEFT_PAREN_in_accumulate_statement2758);
04409: if (failed)
04410: return d;
04411: pushFollow(FOLLOW_pattern_source_in_accumulate_statement2762);
04412: pattern = pattern_source();
04413: _fsp--;
04414: if (failed)
04415: return d;
04416: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1009:37: ( COMMA )?
04417: int alt46 = 2;
04418: int LA46_0 = input.LA(1);
04419:
04420: if ((LA46_0 == COMMA)) {
04421: alt46 = 1;
04422: }
04423: switch (alt46) {
04424: case 1:
04425: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1009:37: COMMA
04426: {
04427: match(input, COMMA,
04428: FOLLOW_COMMA_in_accumulate_statement2764);
04429: if (failed)
04430: return d;
04431:
04432: }
04433: break;
04434:
04435: }
04436:
04437: if (backtracking == 0) {
04438:
04439: d.setInputPattern((PatternDescr) pattern);
04440:
04441: }
04442: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1013:3: ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) )
04443: int alt51 = 2;
04444: int LA51_0 = input.LA(1);
04445:
04446: if ((LA51_0 == INIT)) {
04447: alt51 = 1;
04448: } else if ((LA51_0 == ID)) {
04449: alt51 = 2;
04450: } else {
04451: if (backtracking > 0) {
04452: failed = true;
04453: return d;
04454: }
04455: NoViableAltException nvae = new NoViableAltException(
04456: "1013:3: ( ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk ) | (id= ID text= paren_chunk ) )",
04457: 51, 0, input);
04458:
04459: throw nvae;
04460: }
04461: switch (alt51) {
04462: case 1:
04463: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1013:5: ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk )
04464: {
04465: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1013:5: ( INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk )
04466: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1014:4: INIT text= paren_chunk ( COMMA )? ACTION text= paren_chunk ( COMMA )? ( REVERSE text= paren_chunk ( COMMA )? )? RESULT text= paren_chunk
04467: {
04468: match(input, INIT,
04469: FOLLOW_INIT_in_accumulate_statement2782);
04470: if (failed)
04471: return d;
04472: if (backtracking == 0) {
04473:
04474: location
04475: .setType(Location.LOCATION_LHS_FROM_ACCUMULATE_INIT);
04476:
04477: }
04478: pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2795);
04479: text = paren_chunk();
04480: _fsp--;
04481: if (failed)
04482: return d;
04483: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1018:21: ( COMMA )?
04484: int alt47 = 2;
04485: int LA47_0 = input.LA(1);
04486:
04487: if ((LA47_0 == COMMA)) {
04488: alt47 = 1;
04489: }
04490: switch (alt47) {
04491: case 1:
04492: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1018:21: COMMA
04493: {
04494: match(input, COMMA,
04495: FOLLOW_COMMA_in_accumulate_statement2797);
04496: if (failed)
04497: return d;
04498:
04499: }
04500: break;
04501:
04502: }
04503:
04504: if (backtracking == 0) {
04505:
04506: if (input.toString(text.start, text.stop) != null) {
04507: d.setInitCode(input.toString(
04508: text.start, text.stop)
04509: .substring(
04510: 1,
04511: input.toString(
04512: text.start,
04513: text.stop)
04514: .length() - 1));
04515: location
04516: .setProperty(
04517: Location.LOCATION_PROPERTY_FROM_ACCUMULATE_INIT_CONTENT,
04518: d.getInitCode());
04519: location
04520: .setType(Location.LOCATION_LHS_FROM_ACCUMULATE_ACTION);
04521: }
04522:
04523: }
04524: match(input, ACTION,
04525: FOLLOW_ACTION_in_accumulate_statement2808);
04526: if (failed)
04527: return d;
04528: pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2812);
04529: text = paren_chunk();
04530: _fsp--;
04531: if (failed)
04532: return d;
04533: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1026:28: ( COMMA )?
04534: int alt48 = 2;
04535: int LA48_0 = input.LA(1);
04536:
04537: if ((LA48_0 == COMMA)) {
04538: alt48 = 1;
04539: }
04540: switch (alt48) {
04541: case 1:
04542: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1026:28: COMMA
04543: {
04544: match(input, COMMA,
04545: FOLLOW_COMMA_in_accumulate_statement2814);
04546: if (failed)
04547: return d;
04548:
04549: }
04550: break;
04551:
04552: }
04553:
04554: if (backtracking == 0) {
04555:
04556: if (input.toString(text.start, text.stop) != null) {
04557: d.setActionCode(input.toString(
04558: text.start, text.stop)
04559: .substring(
04560: 1,
04561: input.toString(
04562: text.start,
04563: text.stop)
04564: .length() - 1));
04565: location
04566: .setProperty(
04567: Location.LOCATION_PROPERTY_FROM_ACCUMULATE_ACTION_CONTENT,
04568: d.getActionCode());
04569: location
04570: .setType(Location.LOCATION_LHS_FROM_ACCUMULATE_REVERSE);
04571: }
04572:
04573: }
04574: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1034:4: ( REVERSE text= paren_chunk ( COMMA )? )?
04575: int alt50 = 2;
04576: int LA50_0 = input.LA(1);
04577:
04578: if ((LA50_0 == REVERSE)) {
04579: alt50 = 1;
04580: }
04581: switch (alt50) {
04582: case 1:
04583: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1034:6: REVERSE text= paren_chunk ( COMMA )?
04584: {
04585: match(input, REVERSE,
04586: FOLLOW_REVERSE_in_accumulate_statement2827);
04587: if (failed)
04588: return d;
04589: pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2831);
04590: text = paren_chunk();
04591: _fsp--;
04592: if (failed)
04593: return d;
04594: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1034:31: ( COMMA )?
04595: int alt49 = 2;
04596: int LA49_0 = input.LA(1);
04597:
04598: if ((LA49_0 == COMMA)) {
04599: alt49 = 1;
04600: }
04601: switch (alt49) {
04602: case 1:
04603: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1034:31: COMMA
04604: {
04605: match(input, COMMA,
04606: FOLLOW_COMMA_in_accumulate_statement2833);
04607: if (failed)
04608: return d;
04609:
04610: }
04611: break;
04612:
04613: }
04614:
04615: if (backtracking == 0) {
04616:
04617: if (input.toString(text.start,
04618: text.stop) != null) {
04619: d
04620: .setReverseCode(input
04621: .toString(
04622: text.start,
04623: text.stop)
04624: .substring(
04625: 1,
04626: input
04627: .toString(
04628: text.start,
04629: text.stop)
04630: .length() - 1));
04631: location
04632: .setProperty(
04633: Location.LOCATION_PROPERTY_FROM_ACCUMULATE_REVERSE_CONTENT,
04634: d.getReverseCode());
04635: location
04636: .setType(Location.LOCATION_LHS_FROM_ACCUMULATE_RESULT);
04637: }
04638:
04639: }
04640:
04641: }
04642: break;
04643:
04644: }
04645:
04646: match(input, RESULT,
04647: FOLLOW_RESULT_in_accumulate_statement2850);
04648: if (failed)
04649: return d;
04650: pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2854);
04651: text = paren_chunk();
04652: _fsp--;
04653: if (failed)
04654: return d;
04655: if (backtracking == 0) {
04656:
04657: if (input.toString(text.start, text.stop) != null) {
04658: d.setResultCode(input.toString(
04659: text.start, text.stop)
04660: .substring(
04661: 1,
04662: input.toString(
04663: text.start,
04664: text.stop)
04665: .length() - 1));
04666: location
04667: .setProperty(
04668: Location.LOCATION_PROPERTY_FROM_ACCUMULATE_RESULT_CONTENT,
04669: d.getResultCode());
04670: }
04671:
04672: }
04673:
04674: }
04675:
04676: }
04677: break;
04678: case 2:
04679: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1052:3: (id= ID text= paren_chunk )
04680: {
04681: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1052:3: (id= ID text= paren_chunk )
04682: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1053:4: id= ID text= paren_chunk
04683: {
04684: id = (Token) input.LT(1);
04685: match(input, ID,
04686: FOLLOW_ID_in_accumulate_statement2880);
04687: if (failed)
04688: return d;
04689: pushFollow(FOLLOW_paren_chunk_in_accumulate_statement2884);
04690: text = paren_chunk();
04691: _fsp--;
04692: if (failed)
04693: return d;
04694: if (backtracking == 0) {
04695:
04696: if (id.getText() != null) {
04697: d.setExternalFunction(true);
04698: d.setFunctionIdentifier(id.getText());
04699: }
04700: if (input.toString(text.start, text.stop) != null) {
04701: d.setExpression(input.toString(
04702: text.start, text.stop)
04703: .substring(
04704: 1,
04705: input.toString(
04706: text.start,
04707: text.stop)
04708: .length() - 1));
04709: location
04710: .setProperty(
04711: Location.LOCATION_PROPERTY_FROM_ACCUMULATE_EXPRESSION_CONTENT,
04712: d.getExpression());
04713: }
04714:
04715: }
04716:
04717: }
04718:
04719: }
04720: break;
04721:
04722: }
04723:
04724: RIGHT_PAREN45 = (Token) input.LT(1);
04725: match(input, RIGHT_PAREN,
04726: FOLLOW_RIGHT_PAREN_in_accumulate_statement2901);
04727: if (failed)
04728: return d;
04729: if (backtracking == 0) {
04730:
04731: location
04732: .setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION);
04733: d.setEndCharacter(((CommonToken) RIGHT_PAREN45)
04734: .getStopIndex());
04735:
04736: }
04737:
04738: }
04739:
04740: } catch (RecognitionException re) {
04741: reportError(re);
04742: recover(input, re);
04743: } finally {
04744: }
04745: return d;
04746: }
04747:
04748: // $ANTLR end accumulate_statement
04749:
04750: // $ANTLR start expression_chain
04751: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1073:1: expression_chain[FromDescr from, AccessorDescr as] : ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? ) ;
04752: public final void expression_chain(FromDescr from, AccessorDescr as)
04753: throws RecognitionException {
04754: identifier_return field = null;
04755:
04756: square_chunk_return sqarg = null;
04757:
04758: paren_chunk_return paarg = null;
04759:
04760: FieldAccessDescr fa = null;
04761: MethodAccessDescr ma = null;
04762:
04763: try {
04764: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1078:2: ( ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? ) )
04765: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1079:2: ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? )
04766: {
04767: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1079:2: ( DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )? )
04768: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1079:4: DOT field= identifier ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )? ( expression_chain[from, as] )?
04769: {
04770: match(input, DOT,
04771: FOLLOW_DOT_in_expression_chain2930);
04772: if (failed)
04773: return;
04774: pushFollow(FOLLOW_identifier_in_expression_chain2934);
04775: field = identifier();
04776: _fsp--;
04777: if (failed)
04778: return;
04779: if (backtracking == 0) {
04780:
04781: fa = new FieldAccessDescr(((Token) field.start)
04782: .getText());
04783: fa.setLocation(offset(((Token) field.start)
04784: .getLine()), ((Token) field.start)
04785: .getCharPositionInLine());
04786: fa
04787: .setStartCharacter(((CommonToken) ((Token) field.start))
04788: .getStartIndex());
04789: fa
04790: .setEndCharacter(((CommonToken) ((Token) field.start))
04791: .getStopIndex());
04792:
04793: }
04794: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1086:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )?
04795: int alt52 = 3;
04796: alt52 = dfa52.predict(input);
04797: switch (alt52) {
04798: case 1:
04799: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1087:6: ( LEFT_SQUARE )=>sqarg= square_chunk
04800: {
04801: pushFollow(FOLLOW_square_chunk_in_expression_chain2965);
04802: sqarg = square_chunk();
04803: _fsp--;
04804: if (failed)
04805: return;
04806: if (backtracking == 0) {
04807:
04808: fa.setArgument(input.toString(sqarg.start,
04809: sqarg.stop));
04810: from
04811: .setEndCharacter(((CommonToken) ((Token) sqarg.stop))
04812: .getStopIndex());
04813:
04814: }
04815:
04816: }
04817: break;
04818: case 2:
04819: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1093:6: ( LEFT_PAREN )=>paarg= paren_chunk
04820: {
04821: pushFollow(FOLLOW_paren_chunk_in_expression_chain2998);
04822: paarg = paren_chunk();
04823: _fsp--;
04824: if (failed)
04825: return;
04826: if (backtracking == 0) {
04827:
04828: ma = new MethodAccessDescr(
04829: ((Token) field.start).getText(),
04830: input.toString(paarg.start,
04831: paarg.stop));
04832: ma.setLocation(offset(((Token) field.start)
04833: .getLine()), ((Token) field.start)
04834: .getCharPositionInLine());
04835: ma
04836: .setStartCharacter(((CommonToken) ((Token) field.start))
04837: .getStartIndex());
04838: from
04839: .setEndCharacter(((CommonToken) ((Token) paarg.stop))
04840: .getStopIndex());
04841:
04842: }
04843:
04844: }
04845: break;
04846:
04847: }
04848:
04849: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1101:4: ( expression_chain[from, as] )?
04850: int alt53 = 2;
04851: int LA53_0 = input.LA(1);
04852:
04853: if ((LA53_0 == DOT)) {
04854: alt53 = 1;
04855: }
04856: switch (alt53) {
04857: case 1:
04858: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1101:4: expression_chain[from, as]
04859: {
04860: pushFollow(FOLLOW_expression_chain_in_expression_chain3013);
04861: expression_chain(from, as);
04862: _fsp--;
04863: if (failed)
04864: return;
04865:
04866: }
04867: break;
04868:
04869: }
04870:
04871: }
04872:
04873: }
04874:
04875: } catch (RecognitionException re) {
04876: reportError(re);
04877: recover(input, re);
04878: } finally {
04879:
04880: // must be added to the start, since it is a recursive rule
04881: if (ma != null) {
04882: as.addFirstInvoker(ma);
04883: } else {
04884: as.addFirstInvoker(fa);
04885: }
04886:
04887: }
04888: return;
04889: }
04890:
04891: // $ANTLR end expression_chain
04892:
04893: // $ANTLR start collect_statement
04894: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1115:1: collect_statement returns [CollectDescr d] : COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN ;
04895: public final CollectDescr collect_statement()
04896: throws RecognitionException {
04897: CollectDescr d = null;
04898:
04899: Token COLLECT46 = null;
04900: Token RIGHT_PAREN47 = null;
04901: BaseDescr pattern = null;
04902:
04903: d = factory.createCollect();
04904:
04905: try {
04906: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1119:2: ( COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN )
04907: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1120:10: COLLECT LEFT_PAREN pattern= pattern_source RIGHT_PAREN
04908: {
04909: COLLECT46 = (Token) input.LT(1);
04910: match(input, COLLECT,
04911: FOLLOW_COLLECT_in_collect_statement3064);
04912: if (failed)
04913: return d;
04914: if (backtracking == 0) {
04915:
04916: d.setLocation(offset(COLLECT46.getLine()),
04917: COLLECT46.getCharPositionInLine());
04918: d.setStartCharacter(((CommonToken) COLLECT46)
04919: .getStartIndex());
04920: location
04921: .setType(Location.LOCATION_LHS_FROM_COLLECT);
04922:
04923: }
04924: match(input, LEFT_PAREN,
04925: FOLLOW_LEFT_PAREN_in_collect_statement3074);
04926: if (failed)
04927: return d;
04928: pushFollow(FOLLOW_pattern_source_in_collect_statement3078);
04929: pattern = pattern_source();
04930: _fsp--;
04931: if (failed)
04932: return d;
04933: RIGHT_PAREN47 = (Token) input.LT(1);
04934: match(input, RIGHT_PAREN,
04935: FOLLOW_RIGHT_PAREN_in_collect_statement3080);
04936: if (failed)
04937: return d;
04938: if (backtracking == 0) {
04939:
04940: d.setInputPattern((PatternDescr) pattern);
04941: d.setEndCharacter(((CommonToken) RIGHT_PAREN47)
04942: .getStopIndex());
04943: location
04944: .setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION);
04945:
04946: }
04947:
04948: }
04949:
04950: } catch (RecognitionException re) {
04951: reportError(re);
04952: recover(input, re);
04953: } finally {
04954: }
04955: return d;
04956: }
04957:
04958: // $ANTLR end collect_statement
04959:
04960: // $ANTLR start fact_binding
04961: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1134:1: fact_binding returns [BaseDescr d] : ID ':' (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN ) ;
04962: public final BaseDescr fact_binding() throws RecognitionException {
04963: BaseDescr d = null;
04964:
04965: Token ID48 = null;
04966: BaseDescr fe = null;
04967:
04968: BaseDescr left = null;
04969:
04970: BaseDescr right = null;
04971:
04972: d = null;
04973: OrDescr or = null;
04974:
04975: try {
04976: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1139:3: ( ID ':' (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN ) )
04977: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1140:4: ID ':' (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )
04978: {
04979: ID48 = (Token) input.LT(1);
04980: match(input, ID, FOLLOW_ID_in_fact_binding3112);
04981: if (failed)
04982: return d;
04983: match(input, 73, FOLLOW_73_in_fact_binding3114);
04984: if (failed)
04985: return d;
04986: if (backtracking == 0) {
04987:
04988: // handling incomplete parsing
04989: d = new PatternDescr();
04990: ((PatternDescr) d).setIdentifier(ID48.getText());
04991:
04992: }
04993: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1146:3: (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )
04994: int alt55 = 2;
04995: int LA55_0 = input.LA(1);
04996:
04997: if ((LA55_0 == ID)) {
04998: alt55 = 1;
04999: } else if ((LA55_0 == LEFT_PAREN)) {
05000: alt55 = 2;
05001: } else {
05002: if (backtracking > 0) {
05003: failed = true;
05004: return d;
05005: }
05006: NoViableAltException nvae = new NoViableAltException(
05007: "1146:3: (fe= fact[$ID.text] | LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN )",
05008: 55, 0, input);
05009:
05010: throw nvae;
05011: }
05012: switch (alt55) {
05013: case 1:
05014: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1146:5: fe= fact[$ID.text]
05015: {
05016: pushFollow(FOLLOW_fact_in_fact_binding3128);
05017: fe = fact(ID48.getText());
05018: _fsp--;
05019: if (failed)
05020: return d;
05021: if (backtracking == 0) {
05022:
05023: // override previously instantiated pattern
05024: d = fe;
05025: if (d != null) {
05026: d.setStartCharacter(((CommonToken) ID48)
05027: .getStartIndex());
05028: }
05029:
05030: }
05031:
05032: }
05033: break;
05034: case 2:
05035: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1155:4: LEFT_PAREN left= fact[$ID.text] ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )* RIGHT_PAREN
05036: {
05037: match(input, LEFT_PAREN,
05038: FOLLOW_LEFT_PAREN_in_fact_binding3144);
05039: if (failed)
05040: return d;
05041: pushFollow(FOLLOW_fact_in_fact_binding3148);
05042: left = fact(ID48.getText());
05043: _fsp--;
05044: if (failed)
05045: return d;
05046: if (backtracking == 0) {
05047:
05048: // override previously instantiated pattern
05049: d = left;
05050: if (d != null) {
05051: d.setStartCharacter(((CommonToken) ID48)
05052: .getStartIndex());
05053: }
05054:
05055: }
05056: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1163:4: ( ( OR | DOUBLE_PIPE ) right= fact[$ID.text] )*
05057: loop54: do {
05058: int alt54 = 2;
05059: int LA54_0 = input.LA(1);
05060:
05061: if (((LA54_0 >= OR && LA54_0 <= DOUBLE_PIPE))) {
05062: alt54 = 1;
05063: }
05064:
05065: switch (alt54) {
05066: case 1:
05067: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1163:6: ( OR | DOUBLE_PIPE ) right= fact[$ID.text]
05068: {
05069: if ((input.LA(1) >= OR && input.LA(1) <= DOUBLE_PIPE)) {
05070: input.consume();
05071: errorRecovery = false;
05072: failed = false;
05073: } else {
05074: if (backtracking > 0) {
05075: failed = true;
05076: return d;
05077: }
05078: MismatchedSetException mse = new MismatchedSetException(
05079: null, input);
05080: recoverFromMismatchedSet(input, mse,
05081: FOLLOW_set_in_fact_binding3161);
05082: throw mse;
05083: }
05084:
05085: pushFollow(FOLLOW_fact_in_fact_binding3173);
05086: right = fact(ID48.getText());
05087: _fsp--;
05088: if (failed)
05089: return d;
05090: if (backtracking == 0) {
05091:
05092: if (or == null) {
05093: or = new OrDescr();
05094: or.addDescr(left);
05095: d = or;
05096: }
05097: or.addDescr(right);
05098:
05099: }
05100:
05101: }
05102: break;
05103:
05104: default:
05105: break loop54;
05106: }
05107: } while (true);
05108:
05109: match(input, RIGHT_PAREN,
05110: FOLLOW_RIGHT_PAREN_in_fact_binding3191);
05111: if (failed)
05112: return d;
05113:
05114: }
05115: break;
05116:
05117: }
05118:
05119: }
05120:
05121: } catch (RecognitionException re) {
05122: reportError(re);
05123: recover(input, re);
05124: } finally {
05125: }
05126: return d;
05127: }
05128:
05129: // $ANTLR end fact_binding
05130:
05131: // $ANTLR start fact
05132: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1178:1: fact[String ident] returns [BaseDescr d] : id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )? ;
05133: public final BaseDescr fact(String ident)
05134: throws RecognitionException {
05135: BaseDescr d = null;
05136:
05137: Token LEFT_PAREN49 = null;
05138: Token RIGHT_PAREN50 = null;
05139: qualified_id_return id = null;
05140:
05141: d = null;
05142: PatternDescr pattern = null;
05143:
05144: try {
05145: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1183:3: (id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )? )
05146: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1184:11: id= qualified_id LEFT_PAREN ( constraints[pattern] )? RIGHT_PAREN ( EOF )?
05147: {
05148: if (backtracking == 0) {
05149:
05150: pattern = new PatternDescr();
05151: if (ident != null) {
05152: pattern.setIdentifier(ident);
05153: }
05154: d = pattern;
05155:
05156: }
05157: pushFollow(FOLLOW_qualified_id_in_fact3246);
05158: id = qualified_id();
05159: _fsp--;
05160: if (failed)
05161: return d;
05162: if (backtracking == 0) {
05163:
05164: if (id != null) {
05165: pattern.setObjectType(id.text);
05166: pattern.setEndCharacter(-1);
05167: pattern
05168: .setStartCharacter(((CommonToken) ((Token) id.start))
05169: .getStartIndex());
05170: }
05171:
05172: }
05173: LEFT_PAREN49 = (Token) input.LT(1);
05174: match(input, LEFT_PAREN, FOLLOW_LEFT_PAREN_in_fact3256);
05175: if (failed)
05176: return d;
05177: if (backtracking == 0) {
05178:
05179: location
05180: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_START);
05181: location.setProperty(
05182: Location.LOCATION_PROPERTY_CLASS_NAME,
05183: id.text);
05184:
05185: pattern.setLocation(offset(LEFT_PAREN49.getLine()),
05186: LEFT_PAREN49.getCharPositionInLine());
05187: pattern
05188: .setLeftParentCharacter(((CommonToken) LEFT_PAREN49)
05189: .getStartIndex());
05190:
05191: }
05192: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1207:4: ( constraints[pattern] )?
05193: int alt56 = 2;
05194: int LA56_0 = input.LA(1);
05195:
05196: if (((LA56_0 >= PACKAGE && LA56_0 <= ID)
05197: || (LA56_0 >= GLOBAL && LA56_0 <= LEFT_PAREN)
05198: || (LA56_0 >= QUERY && LA56_0 <= ATTRIBUTES)
05199: || LA56_0 == ENABLED || LA56_0 == SALIENCE
05200: || (LA56_0 >= DURATION && LA56_0 <= DIALECT)
05201: || LA56_0 == FROM || LA56_0 == EVAL
05202: || (LA56_0 >= INIT && LA56_0 <= RESULT)
05203: || (LA56_0 >= CONTAINS && LA56_0 <= IN) || LA56_0 == THEN)) {
05204: alt56 = 1;
05205: }
05206: switch (alt56) {
05207: case 1:
05208: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1207:4: constraints[pattern]
05209: {
05210: pushFollow(FOLLOW_constraints_in_fact3268);
05211: constraints(pattern);
05212: _fsp--;
05213: if (failed)
05214: return d;
05215:
05216: }
05217: break;
05218:
05219: }
05220:
05221: RIGHT_PAREN50 = (Token) input.LT(1);
05222: match(input, RIGHT_PAREN,
05223: FOLLOW_RIGHT_PAREN_in_fact3275);
05224: if (failed)
05225: return d;
05226: if (backtracking == 0) {
05227:
05228: if (")".equals(RIGHT_PAREN50.getText())) {
05229: this .location
05230: .setType(Location.LOCATION_LHS_BEGIN_OF_CONDITION);
05231: pattern.setEndLocation(offset(RIGHT_PAREN50
05232: .getLine()), RIGHT_PAREN50
05233: .getCharPositionInLine());
05234: pattern
05235: .setEndCharacter(((CommonToken) RIGHT_PAREN50)
05236: .getStopIndex());
05237: pattern
05238: .setRightParentCharacter(((CommonToken) RIGHT_PAREN50)
05239: .getStartIndex());
05240: }
05241:
05242: }
05243: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1217:4: ( EOF )?
05244: int alt57 = 2;
05245: int LA57_0 = input.LA(1);
05246:
05247: if ((LA57_0 == EOF)) {
05248: alt57 = 1;
05249: }
05250: switch (alt57) {
05251: case 1:
05252: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1217:4: EOF
05253: {
05254: match(input, EOF, FOLLOW_EOF_in_fact3284);
05255: if (failed)
05256: return d;
05257:
05258: }
05259: break;
05260:
05261: }
05262:
05263: }
05264:
05265: } catch (RecognitionException re) {
05266: reportError(re);
05267: recover(input, re);
05268: } finally {
05269: }
05270: return d;
05271: }
05272:
05273: // $ANTLR end fact
05274:
05275: // $ANTLR start constraints
05276: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1221:1: constraints[PatternDescr pattern] : constraint[$pattern] ( COMMA constraint[$pattern] )* ;
05277: public final void constraints(PatternDescr pattern)
05278: throws RecognitionException {
05279: try {
05280: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1222:2: ( constraint[$pattern] ( COMMA constraint[$pattern] )* )
05281: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1222:4: constraint[$pattern] ( COMMA constraint[$pattern] )*
05282: {
05283: pushFollow(FOLLOW_constraint_in_constraints3302);
05284: constraint(pattern);
05285: _fsp--;
05286: if (failed)
05287: return;
05288: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1223:3: ( COMMA constraint[$pattern] )*
05289: loop58: do {
05290: int alt58 = 2;
05291: int LA58_0 = input.LA(1);
05292:
05293: if ((LA58_0 == COMMA)) {
05294: alt58 = 1;
05295: }
05296:
05297: switch (alt58) {
05298: case 1:
05299: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1223:5: COMMA constraint[$pattern]
05300: {
05301: match(input, COMMA,
05302: FOLLOW_COMMA_in_constraints3309);
05303: if (failed)
05304: return;
05305: if (backtracking == 0) {
05306: location
05307: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_START);
05308: }
05309: pushFollow(FOLLOW_constraint_in_constraints3318);
05310: constraint(pattern);
05311: _fsp--;
05312: if (failed)
05313: return;
05314:
05315: }
05316: break;
05317:
05318: default:
05319: break loop58;
05320: }
05321: } while (true);
05322:
05323: }
05324:
05325: } catch (RecognitionException re) {
05326: reportError(re);
05327: recover(input, re);
05328: } finally {
05329: }
05330: return;
05331: }
05332:
05333: // $ANTLR end constraints
05334:
05335: // $ANTLR start constraint
05336: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1228:1: constraint[PatternDescr pattern] : or_constr[top] ;
05337: public final void constraint(PatternDescr pattern)
05338: throws RecognitionException {
05339:
05340: ConditionalElementDescr top = null;
05341: location.setType(Location.LOCATION_LHS_INSIDE_CONDITION_START);
05342: location.setProperty(Location.LOCATION_PROPERTY_PROPERTY_NAME,
05343: input.LT(1).getText());
05344:
05345: try {
05346: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1234:2: ( or_constr[top] )
05347: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1235:3: or_constr[top]
05348: {
05349: if (backtracking == 0) {
05350:
05351: top = pattern.getConstraint();
05352:
05353: }
05354: pushFollow(FOLLOW_or_constr_in_constraint3351);
05355: or_constr(top);
05356: _fsp--;
05357: if (failed)
05358: return;
05359:
05360: }
05361:
05362: } catch (RecognitionException re) {
05363: reportError(re);
05364: recover(input, re);
05365: } finally {
05366: }
05367: return;
05368: }
05369:
05370: // $ANTLR end constraint
05371:
05372: // $ANTLR start or_constr
05373: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1241:1: or_constr[ConditionalElementDescr base] : and_constr[or] ( DOUBLE_PIPE and_constr[or] )* ;
05374: public final void or_constr(ConditionalElementDescr base)
05375: throws RecognitionException {
05376:
05377: OrDescr or = new OrDescr();
05378:
05379: try {
05380: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1245:2: ( and_constr[or] ( DOUBLE_PIPE and_constr[or] )* )
05381: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1246:3: and_constr[or] ( DOUBLE_PIPE and_constr[or] )*
05382: {
05383: pushFollow(FOLLOW_and_constr_in_or_constr3374);
05384: and_constr(or);
05385: _fsp--;
05386: if (failed)
05387: return;
05388: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1247:3: ( DOUBLE_PIPE and_constr[or] )*
05389: loop59: do {
05390: int alt59 = 2;
05391: int LA59_0 = input.LA(1);
05392:
05393: if ((LA59_0 == DOUBLE_PIPE)) {
05394: alt59 = 1;
05395: }
05396:
05397: switch (alt59) {
05398: case 1:
05399: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1247:5: DOUBLE_PIPE and_constr[or]
05400: {
05401: match(input, DOUBLE_PIPE,
05402: FOLLOW_DOUBLE_PIPE_in_or_constr3382);
05403: if (failed)
05404: return;
05405: if (backtracking == 0) {
05406:
05407: location
05408: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_START);
05409:
05410: }
05411: pushFollow(FOLLOW_and_constr_in_or_constr3391);
05412: and_constr(or);
05413: _fsp--;
05414: if (failed)
05415: return;
05416:
05417: }
05418: break;
05419:
05420: default:
05421: break loop59;
05422: }
05423: } while (true);
05424:
05425: if (backtracking == 0) {
05426:
05427: if (or.getDescrs().size() == 1) {
05428: base.addOrMerge((BaseDescr) or.getDescrs().get(
05429: 0));
05430: } else if (or.getDescrs().size() > 1) {
05431: base.addDescr(or);
05432: }
05433:
05434: }
05435:
05436: }
05437:
05438: } catch (RecognitionException re) {
05439: reportError(re);
05440: recover(input, re);
05441: } finally {
05442: }
05443: return;
05444: }
05445:
05446: // $ANTLR end or_constr
05447:
05448: // $ANTLR start and_constr
05449: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1262:1: and_constr[ConditionalElementDescr base] : unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )* ;
05450: public final void and_constr(ConditionalElementDescr base)
05451: throws RecognitionException {
05452:
05453: AndDescr and = new AndDescr();
05454:
05455: try {
05456: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1266:2: ( unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )* )
05457: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1267:3: unary_constr[and] ( DOUBLE_AMPER unary_constr[and] )*
05458: {
05459: pushFollow(FOLLOW_unary_constr_in_and_constr3423);
05460: unary_constr(and);
05461: _fsp--;
05462: if (failed)
05463: return;
05464: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1268:3: ( DOUBLE_AMPER unary_constr[and] )*
05465: loop60: do {
05466: int alt60 = 2;
05467: int LA60_0 = input.LA(1);
05468:
05469: if ((LA60_0 == DOUBLE_AMPER)) {
05470: alt60 = 1;
05471: }
05472:
05473: switch (alt60) {
05474: case 1:
05475: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1268:5: DOUBLE_AMPER unary_constr[and]
05476: {
05477: match(input, DOUBLE_AMPER,
05478: FOLLOW_DOUBLE_AMPER_in_and_constr3431);
05479: if (failed)
05480: return;
05481: if (backtracking == 0) {
05482:
05483: location
05484: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_START);
05485:
05486: }
05487: pushFollow(FOLLOW_unary_constr_in_and_constr3440);
05488: unary_constr(and);
05489: _fsp--;
05490: if (failed)
05491: return;
05492:
05493: }
05494: break;
05495:
05496: default:
05497: break loop60;
05498: }
05499: } while (true);
05500:
05501: if (backtracking == 0) {
05502:
05503: if (and.getDescrs().size() == 1) {
05504: base.addOrMerge((BaseDescr) and.getDescrs()
05505: .get(0));
05506: } else if (and.getDescrs().size() > 1) {
05507: base.addDescr(and);
05508: }
05509:
05510: }
05511:
05512: }
05513:
05514: } catch (RecognitionException re) {
05515: reportError(re);
05516: recover(input, re);
05517: } finally {
05518: }
05519: return;
05520: }
05521:
05522: // $ANTLR end and_constr
05523:
05524: // $ANTLR start unary_constr
05525: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1283:1: unary_constr[ConditionalElementDescr base] : ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] ) ;
05526: public final void unary_constr(ConditionalElementDescr base)
05527: throws RecognitionException {
05528: try {
05529: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1284:2: ( ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] ) )
05530: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1285:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )
05531: {
05532: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1285:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )
05533: int alt61 = 3;
05534: switch (input.LA(1)) {
05535: case PACKAGE:
05536: case IMPORT:
05537: case FUNCTION:
05538: case ID:
05539: case GLOBAL:
05540: case QUERY:
05541: case END:
05542: case TEMPLATE:
05543: case RULE:
05544: case WHEN:
05545: case ATTRIBUTES:
05546: case ENABLED:
05547: case SALIENCE:
05548: case DURATION:
05549: case DIALECT:
05550: case FROM:
05551: case INIT:
05552: case ACTION:
05553: case REVERSE:
05554: case RESULT:
05555: case CONTAINS:
05556: case EXCLUDES:
05557: case MATCHES:
05558: case MEMBEROF:
05559: case IN:
05560: case THEN: {
05561: alt61 = 1;
05562: }
05563: break;
05564: case LEFT_PAREN: {
05565: alt61 = 2;
05566: }
05567: break;
05568: case EVAL: {
05569: alt61 = 3;
05570: }
05571: break;
05572: default:
05573: if (backtracking > 0) {
05574: failed = true;
05575: return;
05576: }
05577: NoViableAltException nvae = new NoViableAltException(
05578: "1285:3: ( field_constraint[$base] | LEFT_PAREN or_constr[$base] RIGHT_PAREN | EVAL predicate[$base] )",
05579: 61, 0, input);
05580:
05581: throw nvae;
05582: }
05583:
05584: switch (alt61) {
05585: case 1:
05586: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1285:5: field_constraint[$base]
05587: {
05588: pushFollow(FOLLOW_field_constraint_in_unary_constr3468);
05589: field_constraint(base);
05590: _fsp--;
05591: if (failed)
05592: return;
05593:
05594: }
05595: break;
05596: case 2:
05597: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1286:5: LEFT_PAREN or_constr[$base] RIGHT_PAREN
05598: {
05599: match(input, LEFT_PAREN,
05600: FOLLOW_LEFT_PAREN_in_unary_constr3476);
05601: if (failed)
05602: return;
05603: pushFollow(FOLLOW_or_constr_in_unary_constr3478);
05604: or_constr(base);
05605: _fsp--;
05606: if (failed)
05607: return;
05608: match(input, RIGHT_PAREN,
05609: FOLLOW_RIGHT_PAREN_in_unary_constr3481);
05610: if (failed)
05611: return;
05612:
05613: }
05614: break;
05615: case 3:
05616: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1287:5: EVAL predicate[$base]
05617: {
05618: match(input, EVAL, FOLLOW_EVAL_in_unary_constr3487);
05619: if (failed)
05620: return;
05621: pushFollow(FOLLOW_predicate_in_unary_constr3489);
05622: predicate(base);
05623: _fsp--;
05624: if (failed)
05625: return;
05626:
05627: }
05628: break;
05629:
05630: }
05631:
05632: }
05633:
05634: } catch (RecognitionException re) {
05635: reportError(re);
05636: recover(input, re);
05637: } finally {
05638: }
05639: return;
05640: }
05641:
05642: // $ANTLR end unary_constr
05643:
05644: // $ANTLR start field_constraint
05645: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1291:1: field_constraint[ConditionalElementDescr base] : ( ( ID ':' f= accessor_path ( ( options {backtrack=true; } : or_restr_connective[top] ) | '->' predicate[$base] )? ) | (f= accessor_path ( options {backtrack=true; } : or_restr_connective[top] ) ) );
05646: public final void field_constraint(ConditionalElementDescr base)
05647: throws RecognitionException {
05648: Token ID51 = null;
05649: accessor_path_return f = null;
05650:
05651: FieldBindingDescr fbd = null;
05652: FieldConstraintDescr fc = null;
05653: RestrictionConnectiveDescr top = null;
05654:
05655: try {
05656: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1297:2: ( ( ID ':' f= accessor_path ( ( options {backtrack=true; } : or_restr_connective[top] ) | '->' predicate[$base] )? ) | (f= accessor_path ( options {backtrack=true; } : or_restr_connective[top] ) ) )
05657: int alt63 = 2;
05658: int LA63_0 = input.LA(1);
05659:
05660: if ((LA63_0 == ID)) {
05661: int LA63_1 = input.LA(2);
05662:
05663: if ((LA63_1 == 73)) {
05664: alt63 = 1;
05665: } else if ((LA63_1 == DOT || LA63_1 == LEFT_PAREN
05666: || LA63_1 == NOT
05667: || (LA63_1 >= CONTAINS && LA63_1 <= IN)
05668: || LA63_1 == LEFT_SQUARE || (LA63_1 >= 75 && LA63_1 <= 80))) {
05669: alt63 = 2;
05670: } else {
05671: if (backtracking > 0) {
05672: failed = true;
05673: return;
05674: }
05675: NoViableAltException nvae = new NoViableAltException(
05676: "1291:1: field_constraint[ConditionalElementDescr base] : ( ( ID ':' f= accessor_path ( ( options {backtrack=true; } : or_restr_connective[top] ) | '->' predicate[$base] )? ) | (f= accessor_path ( options {backtrack=true; } : or_restr_connective[top] ) ) );",
05677: 63, 1, input);
05678:
05679: throw nvae;
05680: }
05681: } else if (((LA63_0 >= PACKAGE && LA63_0 <= FUNCTION)
05682: || LA63_0 == GLOBAL
05683: || (LA63_0 >= QUERY && LA63_0 <= ATTRIBUTES)
05684: || LA63_0 == ENABLED || LA63_0 == SALIENCE
05685: || (LA63_0 >= DURATION && LA63_0 <= DIALECT)
05686: || LA63_0 == FROM
05687: || (LA63_0 >= INIT && LA63_0 <= RESULT)
05688: || (LA63_0 >= CONTAINS && LA63_0 <= IN) || LA63_0 == THEN)) {
05689: alt63 = 2;
05690: } else {
05691: if (backtracking > 0) {
05692: failed = true;
05693: return;
05694: }
05695: NoViableAltException nvae = new NoViableAltException(
05696: "1291:1: field_constraint[ConditionalElementDescr base] : ( ( ID ':' f= accessor_path ( ( options {backtrack=true; } : or_restr_connective[top] ) | '->' predicate[$base] )? ) | (f= accessor_path ( options {backtrack=true; } : or_restr_connective[top] ) ) );",
05697: 63, 0, input);
05698:
05699: throw nvae;
05700: }
05701: switch (alt63) {
05702: case 1:
05703: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1298:10: ( ID ':' f= accessor_path ( ( options {backtrack=true; } : or_restr_connective[top] ) | '->' predicate[$base] )? )
05704: {
05705: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1298:10: ( ID ':' f= accessor_path ( ( options {backtrack=true; } : or_restr_connective[top] ) | '->' predicate[$base] )? )
05706: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1299:3: ID ':' f= accessor_path ( ( options {backtrack=true; } : or_restr_connective[top] ) | '->' predicate[$base] )?
05707: {
05708: ID51 = (Token) input.LT(1);
05709: match(input, ID, FOLLOW_ID_in_field_constraint3528);
05710: if (failed)
05711: return;
05712: match(input, 73, FOLLOW_73_in_field_constraint3530);
05713: if (failed)
05714: return;
05715: if (backtracking == 0) {
05716:
05717: fbd = new FieldBindingDescr();
05718: fbd.setIdentifier(ID51.getText());
05719: fbd.setLocation(offset(ID51.getLine()), ID51
05720: .getCharPositionInLine());
05721: fbd.setStartCharacter(((CommonToken) ID51)
05722: .getStartIndex());
05723: base.addDescr(fbd);
05724:
05725: }
05726: pushFollow(FOLLOW_accessor_path_in_field_constraint3549);
05727: f = accessor_path();
05728: _fsp--;
05729: if (failed)
05730: return;
05731: if (backtracking == 0) {
05732:
05733: // use ((Token)f.start) to get token matched in identifier
05734: // or use f.text to get text.
05735: if (f.text != null) {
05736: location
05737: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
05738: location
05739: .setProperty(
05740: Location.LOCATION_PROPERTY_PROPERTY_NAME,
05741: f.text);
05742:
05743: if (fbd != null) {
05744: fbd.setFieldName(f.text);
05745: // may have been overwritten
05746: fbd
05747: .setStartCharacter(((CommonToken) ID51)
05748: .getStartIndex());
05749: }
05750: fc = new FieldConstraintDescr(f.text);
05751: fc.setLocation(offset(((Token) f.start)
05752: .getLine()), ((Token) f.start)
05753: .getCharPositionInLine());
05754: fc
05755: .setStartCharacter(((CommonToken) ((Token) f.start))
05756: .getStartIndex());
05757: top = fc.getRestriction();
05758:
05759: // it must be a field constraint, as it is not a binding
05760: if (ID51 == null) {
05761: base.addDescr(fc);
05762: }
05763: }
05764:
05765: }
05766: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1333:3: ( ( options {backtrack=true; } : or_restr_connective[top] ) | '->' predicate[$base] )?
05767: int alt62 = 3;
05768: int LA62_0 = input.LA(1);
05769:
05770: if ((LA62_0 == LEFT_PAREN || LA62_0 == NOT
05771: || (LA62_0 >= CONTAINS && LA62_0 <= IN) || (LA62_0 >= 75 && LA62_0 <= 80))) {
05772: alt62 = 1;
05773: } else if ((LA62_0 == 74)) {
05774: alt62 = 2;
05775: }
05776: switch (alt62) {
05777: case 1:
05778: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1334:4: ( options {backtrack=true; } : or_restr_connective[top] )
05779: {
05780: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1334:4: ( options {backtrack=true; } : or_restr_connective[top] )
05781: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1335:6: or_restr_connective[top]
05782: {
05783: pushFollow(FOLLOW_or_restr_connective_in_field_constraint3577);
05784: or_restr_connective(top);
05785: _fsp--;
05786: if (failed)
05787: return;
05788: if (backtracking == 0) {
05789:
05790: // we must add now as we didn't before
05791: if (ID51 != null) {
05792: base.addDescr(fc);
05793: }
05794:
05795: }
05796:
05797: }
05798:
05799: }
05800: break;
05801: case 2:
05802: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1344:4: '->' predicate[$base]
05803: {
05804: match(input, 74,
05805: FOLLOW_74_in_field_constraint3597);
05806: if (failed)
05807: return;
05808: pushFollow(FOLLOW_predicate_in_field_constraint3599);
05809: predicate(base);
05810: _fsp--;
05811: if (failed)
05812: return;
05813:
05814: }
05815: break;
05816:
05817: }
05818:
05819: }
05820:
05821: }
05822: break;
05823: case 2:
05824: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1348:3: (f= accessor_path ( options {backtrack=true; } : or_restr_connective[top] ) )
05825: {
05826: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1348:3: (f= accessor_path ( options {backtrack=true; } : or_restr_connective[top] ) )
05827: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1349:3: f= accessor_path ( options {backtrack=true; } : or_restr_connective[top] )
05828: {
05829: pushFollow(FOLLOW_accessor_path_in_field_constraint3625);
05830: f = accessor_path();
05831: _fsp--;
05832: if (failed)
05833: return;
05834: if (backtracking == 0) {
05835:
05836: // use ((Token)f.start) to get token matched in identifier
05837: // or use f.text to get text.
05838: if (f.text != null) {
05839: location
05840: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
05841: location
05842: .setProperty(
05843: Location.LOCATION_PROPERTY_PROPERTY_NAME,
05844: f.text);
05845:
05846: fc = new FieldConstraintDescr(f.text);
05847: fc.setLocation(offset(((Token) f.start)
05848: .getLine()), ((Token) f.start)
05849: .getCharPositionInLine());
05850: fc
05851: .setStartCharacter(((CommonToken) ((Token) f.start))
05852: .getStartIndex());
05853: top = fc.getRestriction();
05854:
05855: base.addDescr(fc);
05856: }
05857:
05858: }
05859: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1365:3: ( options {backtrack=true; } : or_restr_connective[top] )
05860: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1366:5: or_restr_connective[top]
05861: {
05862: pushFollow(FOLLOW_or_restr_connective_in_field_constraint3647);
05863: or_restr_connective(top);
05864: _fsp--;
05865: if (failed)
05866: return;
05867:
05868: }
05869:
05870: }
05871:
05872: }
05873: break;
05874:
05875: }
05876: } catch (NoViableAltException nvae) {
05877:
05878: if (input.LT(1) != null) {
05879: // in case of incomplete parsing, build as much as possible of the AST
05880: // so that IDE requirements can be met
05881: fc = new FieldConstraintDescr(input.LT(1).getText());
05882: fc.setLocation(offset(input.LT(1).getLine()), input.LT(
05883: 1).getCharPositionInLine());
05884: fc.setStartCharacter(((CommonToken) input.LT(1))
05885: .getStartIndex());
05886: base.addDescr(fc);
05887: }
05888: throw nvae;
05889:
05890: } finally {
05891: }
05892: return;
05893: }
05894:
05895: // $ANTLR end field_constraint
05896:
05897: // $ANTLR start or_restr_connective
05898: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1383:1: or_restr_connective[ RestrictionConnectiveDescr base ] options {backtrack=true; } : and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )* ;
05899: public final void or_restr_connective(
05900: RestrictionConnectiveDescr base)
05901: throws RecognitionException {
05902:
05903: RestrictionConnectiveDescr or = new RestrictionConnectiveDescr(
05904: RestrictionConnectiveDescr.OR);
05905:
05906: try {
05907: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1390:2: ( and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )* )
05908: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1391:3: and_restr_connective[or] ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*
05909: {
05910: pushFollow(FOLLOW_and_restr_connective_in_or_restr_connective3698);
05911: and_restr_connective(or);
05912: _fsp--;
05913: if (failed)
05914: return;
05915: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1392:3: ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*
05916: loop64: do {
05917: int alt64 = 2;
05918: alt64 = dfa64.predict(input);
05919: switch (alt64) {
05920: case 1:
05921: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1394:6: DOUBLE_PIPE and_restr_connective[or]
05922: {
05923: match(input, DOUBLE_PIPE,
05924: FOLLOW_DOUBLE_PIPE_in_or_restr_connective3722);
05925: if (failed)
05926: return;
05927: if (backtracking == 0) {
05928:
05929: location
05930: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
05931:
05932: }
05933: pushFollow(FOLLOW_and_restr_connective_in_or_restr_connective3733);
05934: and_restr_connective(or);
05935: _fsp--;
05936: if (failed)
05937: return;
05938:
05939: }
05940: break;
05941:
05942: default:
05943: break loop64;
05944: }
05945: } while (true);
05946:
05947: }
05948:
05949: } catch (RecognitionException re) {
05950: reportError(re);
05951: recover(input, re);
05952: } finally {
05953:
05954: if (or.getRestrictions().size() == 1) {
05955: base.addOrMerge((RestrictionDescr) or.getRestrictions()
05956: .get(0));
05957: } else if (or.getRestrictions().size() > 1) {
05958: base.addRestriction(or);
05959: }
05960:
05961: }
05962: return;
05963: }
05964:
05965: // $ANTLR end or_restr_connective
05966:
05967: // $ANTLR start and_restr_connective
05968: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1409:1: and_restr_connective[ RestrictionConnectiveDescr base ] : constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )* ;
05969: public final void and_restr_connective(
05970: RestrictionConnectiveDescr base)
05971: throws RecognitionException {
05972: Token t = null;
05973:
05974: RestrictionConnectiveDescr and = new RestrictionConnectiveDescr(
05975: RestrictionConnectiveDescr.AND);
05976:
05977: try {
05978: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1413:2: ( constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )* )
05979: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1414:3: constraint_expression[and] ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*
05980: {
05981: pushFollow(FOLLOW_constraint_expression_in_and_restr_connective3765);
05982: constraint_expression(and);
05983: _fsp--;
05984: if (failed)
05985: return;
05986: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1415:3: ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*
05987: loop65: do {
05988: int alt65 = 2;
05989: alt65 = dfa65.predict(input);
05990: switch (alt65) {
05991: case 1:
05992: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1416:5: t= DOUBLE_AMPER constraint_expression[and]
05993: {
05994: t = (Token) input.LT(1);
05995: match(input, DOUBLE_AMPER,
05996: FOLLOW_DOUBLE_AMPER_in_and_restr_connective3786);
05997: if (failed)
05998: return;
05999: if (backtracking == 0) {
06000:
06001: location
06002: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
06003:
06004: }
06005: pushFollow(FOLLOW_constraint_expression_in_and_restr_connective3797);
06006: constraint_expression(and);
06007: _fsp--;
06008: if (failed)
06009: return;
06010:
06011: }
06012: break;
06013:
06014: default:
06015: break loop65;
06016: }
06017: } while (true);
06018:
06019: }
06020:
06021: } catch (RecognitionException re) {
06022: reportError(re);
06023: recover(input, re);
06024: } finally {
06025:
06026: if (and.getRestrictions().size() == 1) {
06027: base.addOrMerge((RestrictionDescr) and
06028: .getRestrictions().get(0));
06029: } else if (and.getRestrictions().size() > 1) {
06030: base.addRestriction(and);
06031: }
06032:
06033: }
06034: return;
06035: }
06036:
06037: // $ANTLR end and_restr_connective
06038:
06039: // $ANTLR start constraint_expression
06040: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1431:1: constraint_expression[RestrictionConnectiveDescr base] : ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN ) ;
06041: public final void constraint_expression(
06042: RestrictionConnectiveDescr base)
06043: throws RecognitionException {
06044: try {
06045: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1432:9: ( ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN ) )
06046: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1433:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )
06047: {
06048: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1433:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )
06049: int alt66 = 3;
06050: switch (input.LA(1)) {
06051: case IN: {
06052: alt66 = 1;
06053: }
06054: break;
06055: case NOT: {
06056: int LA66_2 = input.LA(2);
06057:
06058: if ((LA66_2 == CONTAINS || (LA66_2 >= MATCHES && LA66_2 <= MEMBEROF))) {
06059: alt66 = 2;
06060: } else if ((LA66_2 == IN)) {
06061: alt66 = 1;
06062: } else {
06063: if (backtracking > 0) {
06064: failed = true;
06065: return;
06066: }
06067: NoViableAltException nvae = new NoViableAltException(
06068: "1433:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )",
06069: 66, 2, input);
06070:
06071: throw nvae;
06072: }
06073: }
06074: break;
06075: case CONTAINS:
06076: case EXCLUDES:
06077: case MATCHES:
06078: case MEMBEROF:
06079: case 75:
06080: case 76:
06081: case 77:
06082: case 78:
06083: case 79:
06084: case 80: {
06085: alt66 = 2;
06086: }
06087: break;
06088: case LEFT_PAREN: {
06089: alt66 = 3;
06090: }
06091: break;
06092: default:
06093: if (backtracking > 0) {
06094: failed = true;
06095: return;
06096: }
06097: NoViableAltException nvae = new NoViableAltException(
06098: "1433:3: ( compound_operator[$base] | simple_operator[$base] | LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN )",
06099: 66, 0, input);
06100:
06101: throw nvae;
06102: }
06103:
06104: switch (alt66) {
06105: case 1:
06106: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1433:5: compound_operator[$base]
06107: {
06108: pushFollow(FOLLOW_compound_operator_in_constraint_expression3834);
06109: compound_operator(base);
06110: _fsp--;
06111: if (failed)
06112: return;
06113:
06114: }
06115: break;
06116: case 2:
06117: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1434:5: simple_operator[$base]
06118: {
06119: pushFollow(FOLLOW_simple_operator_in_constraint_expression3841);
06120: simple_operator(base);
06121: _fsp--;
06122: if (failed)
06123: return;
06124:
06125: }
06126: break;
06127: case 3:
06128: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1435:5: LEFT_PAREN or_restr_connective[$base] RIGHT_PAREN
06129: {
06130: match(input, LEFT_PAREN,
06131: FOLLOW_LEFT_PAREN_in_constraint_expression3848);
06132: if (failed)
06133: return;
06134: if (backtracking == 0) {
06135:
06136: location
06137: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_OPERATOR);
06138:
06139: }
06140: pushFollow(FOLLOW_or_restr_connective_in_constraint_expression3857);
06141: or_restr_connective(base);
06142: _fsp--;
06143: if (failed)
06144: return;
06145: match(input, RIGHT_PAREN,
06146: FOLLOW_RIGHT_PAREN_in_constraint_expression3863);
06147: if (failed)
06148: return;
06149:
06150: }
06151: break;
06152:
06153: }
06154:
06155: }
06156:
06157: } catch (RecognitionException re) {
06158: reportError(re);
06159: recover(input, re);
06160: } finally {
06161: }
06162: return;
06163: }
06164:
06165: // $ANTLR end constraint_expression
06166:
06167: // $ANTLR start simple_operator
06168: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1444:1: simple_operator[RestrictionConnectiveDescr base] : (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF ) rd= expression_value[$base, op] ;
06169: public final void simple_operator(RestrictionConnectiveDescr base)
06170: throws RecognitionException {
06171: Token t = null;
06172: Token n = null;
06173: RestrictionDescr rd = null;
06174:
06175: String op = null;
06176:
06177: try {
06178: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1448:2: ( (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF ) rd= expression_value[$base, op] )
06179: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1449:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF ) rd= expression_value[$base, op]
06180: {
06181: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1449:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF )
06182: int alt67 = 13;
06183: switch (input.LA(1)) {
06184: case 75: {
06185: alt67 = 1;
06186: }
06187: break;
06188: case 76: {
06189: alt67 = 2;
06190: }
06191: break;
06192: case 77: {
06193: alt67 = 3;
06194: }
06195: break;
06196: case 78: {
06197: alt67 = 4;
06198: }
06199: break;
06200: case 79: {
06201: alt67 = 5;
06202: }
06203: break;
06204: case 80: {
06205: alt67 = 6;
06206: }
06207: break;
06208: case CONTAINS: {
06209: alt67 = 7;
06210: }
06211: break;
06212: case NOT: {
06213: switch (input.LA(2)) {
06214: case MEMBEROF: {
06215: alt67 = 13;
06216: }
06217: break;
06218: case MATCHES: {
06219: alt67 = 11;
06220: }
06221: break;
06222: case CONTAINS: {
06223: alt67 = 8;
06224: }
06225: break;
06226: default:
06227: if (backtracking > 0) {
06228: failed = true;
06229: return;
06230: }
06231: NoViableAltException nvae = new NoViableAltException(
06232: "1449:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF )",
06233: 67, 8, input);
06234:
06235: throw nvae;
06236: }
06237:
06238: }
06239: break;
06240: case EXCLUDES: {
06241: alt67 = 9;
06242: }
06243: break;
06244: case MATCHES: {
06245: alt67 = 10;
06246: }
06247: break;
06248: case MEMBEROF: {
06249: alt67 = 12;
06250: }
06251: break;
06252: default:
06253: if (backtracking > 0) {
06254: failed = true;
06255: return;
06256: }
06257: NoViableAltException nvae = new NoViableAltException(
06258: "1449:3: (t= '==' | t= '>' | t= '>=' | t= '<' | t= '<=' | t= '!=' | t= CONTAINS | n= NOT t= CONTAINS | t= EXCLUDES | t= MATCHES | n= NOT t= MATCHES | t= MEMBEROF | n= NOT t= MEMBEROF )",
06259: 67, 0, input);
06260:
06261: throw nvae;
06262: }
06263:
06264: switch (alt67) {
06265: case 1:
06266: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1449:5: t= '=='
06267: {
06268: t = (Token) input.LT(1);
06269: match(input, 75, FOLLOW_75_in_simple_operator3894);
06270: if (failed)
06271: return;
06272:
06273: }
06274: break;
06275: case 2:
06276: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1450:5: t= '>'
06277: {
06278: t = (Token) input.LT(1);
06279: match(input, 76, FOLLOW_76_in_simple_operator3902);
06280: if (failed)
06281: return;
06282:
06283: }
06284: break;
06285: case 3:
06286: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1451:5: t= '>='
06287: {
06288: t = (Token) input.LT(1);
06289: match(input, 77, FOLLOW_77_in_simple_operator3910);
06290: if (failed)
06291: return;
06292:
06293: }
06294: break;
06295: case 4:
06296: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1452:5: t= '<'
06297: {
06298: t = (Token) input.LT(1);
06299: match(input, 78, FOLLOW_78_in_simple_operator3918);
06300: if (failed)
06301: return;
06302:
06303: }
06304: break;
06305: case 5:
06306: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1453:5: t= '<='
06307: {
06308: t = (Token) input.LT(1);
06309: match(input, 79, FOLLOW_79_in_simple_operator3926);
06310: if (failed)
06311: return;
06312:
06313: }
06314: break;
06315: case 6:
06316: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1454:5: t= '!='
06317: {
06318: t = (Token) input.LT(1);
06319: match(input, 80, FOLLOW_80_in_simple_operator3934);
06320: if (failed)
06321: return;
06322:
06323: }
06324: break;
06325: case 7:
06326: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1455:5: t= CONTAINS
06327: {
06328: t = (Token) input.LT(1);
06329: match(input, CONTAINS,
06330: FOLLOW_CONTAINS_in_simple_operator3942);
06331: if (failed)
06332: return;
06333:
06334: }
06335: break;
06336: case 8:
06337: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1456:5: n= NOT t= CONTAINS
06338: {
06339: n = (Token) input.LT(1);
06340: match(input, NOT, FOLLOW_NOT_in_simple_operator3950);
06341: if (failed)
06342: return;
06343: t = (Token) input.LT(1);
06344: match(input, CONTAINS,
06345: FOLLOW_CONTAINS_in_simple_operator3954);
06346: if (failed)
06347: return;
06348:
06349: }
06350: break;
06351: case 9:
06352: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1457:5: t= EXCLUDES
06353: {
06354: t = (Token) input.LT(1);
06355: match(input, EXCLUDES,
06356: FOLLOW_EXCLUDES_in_simple_operator3962);
06357: if (failed)
06358: return;
06359:
06360: }
06361: break;
06362: case 10:
06363: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1458:5: t= MATCHES
06364: {
06365: t = (Token) input.LT(1);
06366: match(input, MATCHES,
06367: FOLLOW_MATCHES_in_simple_operator3970);
06368: if (failed)
06369: return;
06370:
06371: }
06372: break;
06373: case 11:
06374: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1459:5: n= NOT t= MATCHES
06375: {
06376: n = (Token) input.LT(1);
06377: match(input, NOT, FOLLOW_NOT_in_simple_operator3978);
06378: if (failed)
06379: return;
06380: t = (Token) input.LT(1);
06381: match(input, MATCHES,
06382: FOLLOW_MATCHES_in_simple_operator3982);
06383: if (failed)
06384: return;
06385:
06386: }
06387: break;
06388: case 12:
06389: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1460:5: t= MEMBEROF
06390: {
06391: t = (Token) input.LT(1);
06392: match(input, MEMBEROF,
06393: FOLLOW_MEMBEROF_in_simple_operator3990);
06394: if (failed)
06395: return;
06396:
06397: }
06398: break;
06399: case 13:
06400: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1461:5: n= NOT t= MEMBEROF
06401: {
06402: n = (Token) input.LT(1);
06403: match(input, NOT, FOLLOW_NOT_in_simple_operator3998);
06404: if (failed)
06405: return;
06406: t = (Token) input.LT(1);
06407: match(input, MEMBEROF,
06408: FOLLOW_MEMBEROF_in_simple_operator4002);
06409: if (failed)
06410: return;
06411:
06412: }
06413: break;
06414:
06415: }
06416:
06417: if (backtracking == 0) {
06418:
06419: location
06420: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT);
06421: location.setProperty(
06422: Location.LOCATION_PROPERTY_OPERATOR, t
06423: .getText());
06424: if (n != null) {
06425: op = "not " + t.getText();
06426: } else {
06427: op = t.getText();
06428: }
06429:
06430: }
06431: pushFollow(FOLLOW_expression_value_in_simple_operator4016);
06432: rd = expression_value(base, op);
06433: _fsp--;
06434: if (failed)
06435: return;
06436:
06437: }
06438:
06439: } catch (RecognitionException re) {
06440: reportError(re);
06441: recover(input, re);
06442: } finally {
06443:
06444: if (rd == null && op != null) {
06445: base.addRestriction(new LiteralRestrictionDescr(op,
06446: null));
06447: }
06448:
06449: }
06450: return;
06451: }
06452:
06453: // $ANTLR end simple_operator
06454:
06455: // $ANTLR start compound_operator
06456: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1480:1: compound_operator[RestrictionConnectiveDescr base] : ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op] ( COMMA rd= expression_value[group, op] )* RIGHT_PAREN ;
06457: public final void compound_operator(RestrictionConnectiveDescr base)
06458: throws RecognitionException {
06459: RestrictionDescr rd = null;
06460:
06461: String op = null;
06462: RestrictionConnectiveDescr group = null;
06463:
06464: try {
06465: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1485:2: ( ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op] ( COMMA rd= expression_value[group, op] )* RIGHT_PAREN )
06466: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1486:3: ( IN | NOT IN ) LEFT_PAREN rd= expression_value[group, op] ( COMMA rd= expression_value[group, op] )* RIGHT_PAREN
06467: {
06468: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1486:3: ( IN | NOT IN )
06469: int alt68 = 2;
06470: int LA68_0 = input.LA(1);
06471:
06472: if ((LA68_0 == IN)) {
06473: alt68 = 1;
06474: } else if ((LA68_0 == NOT)) {
06475: alt68 = 2;
06476: } else {
06477: if (backtracking > 0) {
06478: failed = true;
06479: return;
06480: }
06481: NoViableAltException nvae = new NoViableAltException(
06482: "1486:3: ( IN | NOT IN )", 68, 0, input);
06483:
06484: throw nvae;
06485: }
06486: switch (alt68) {
06487: case 1:
06488: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1486:5: IN
06489: {
06490: match(input, IN, FOLLOW_IN_in_compound_operator4046);
06491: if (failed)
06492: return;
06493: if (backtracking == 0) {
06494:
06495: op = "==";
06496: group = new RestrictionConnectiveDescr(
06497: RestrictionConnectiveDescr.OR);
06498: base.addRestriction(group);
06499: location
06500: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT);
06501: location.setProperty(
06502: Location.LOCATION_PROPERTY_OPERATOR,
06503: "in");
06504:
06505: }
06506:
06507: }
06508: break;
06509: case 2:
06510: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1494:5: NOT IN
06511: {
06512: match(input, NOT,
06513: FOLLOW_NOT_in_compound_operator4058);
06514: if (failed)
06515: return;
06516: match(input, IN, FOLLOW_IN_in_compound_operator4060);
06517: if (failed)
06518: return;
06519: if (backtracking == 0) {
06520:
06521: op = "!=";
06522: group = new RestrictionConnectiveDescr(
06523: RestrictionConnectiveDescr.AND);
06524: base.addRestriction(group);
06525: location
06526: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_ARGUMENT);
06527: location.setProperty(
06528: Location.LOCATION_PROPERTY_OPERATOR,
06529: "in");
06530:
06531: }
06532:
06533: }
06534: break;
06535:
06536: }
06537:
06538: match(input, LEFT_PAREN,
06539: FOLLOW_LEFT_PAREN_in_compound_operator4075);
06540: if (failed)
06541: return;
06542: pushFollow(FOLLOW_expression_value_in_compound_operator4079);
06543: rd = expression_value(group, op);
06544: _fsp--;
06545: if (failed)
06546: return;
06547: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1504:3: ( COMMA rd= expression_value[group, op] )*
06548: loop69: do {
06549: int alt69 = 2;
06550: int LA69_0 = input.LA(1);
06551:
06552: if ((LA69_0 == COMMA)) {
06553: alt69 = 1;
06554: }
06555:
06556: switch (alt69) {
06557: case 1:
06558: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1504:5: COMMA rd= expression_value[group, op]
06559: {
06560: match(input, COMMA,
06561: FOLLOW_COMMA_in_compound_operator4086);
06562: if (failed)
06563: return;
06564: pushFollow(FOLLOW_expression_value_in_compound_operator4090);
06565: rd = expression_value(group, op);
06566: _fsp--;
06567: if (failed)
06568: return;
06569:
06570: }
06571: break;
06572:
06573: default:
06574: break loop69;
06575: }
06576: } while (true);
06577:
06578: match(input, RIGHT_PAREN,
06579: FOLLOW_RIGHT_PAREN_in_compound_operator4099);
06580: if (failed)
06581: return;
06582: if (backtracking == 0) {
06583:
06584: location
06585: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_END);
06586:
06587: }
06588:
06589: }
06590:
06591: } catch (RecognitionException re) {
06592: reportError(re);
06593: recover(input, re);
06594: } finally {
06595: }
06596: return;
06597: }
06598:
06599: // $ANTLR end compound_operator
06600:
06601: // $ANTLR start expression_value
06602: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1511:1: expression_value[RestrictionConnectiveDescr base, String op] returns [RestrictionDescr rd] : (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk ) ;
06603: public final RestrictionDescr expression_value(
06604: RestrictionConnectiveDescr base, String op)
06605: throws RecognitionException {
06606: RestrictionDescr rd = null;
06607:
06608: accessor_path_return ap = null;
06609:
06610: literal_constraint_return lc = null;
06611:
06612: paren_chunk_return rvc = null;
06613:
06614: rd = null;
06615:
06616: try {
06617: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1515:2: ( (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk ) )
06618: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1516:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )
06619: {
06620: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1516:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )
06621: int alt70 = 3;
06622: switch (input.LA(1)) {
06623: case PACKAGE:
06624: case IMPORT:
06625: case FUNCTION:
06626: case ID:
06627: case GLOBAL:
06628: case QUERY:
06629: case END:
06630: case TEMPLATE:
06631: case RULE:
06632: case WHEN:
06633: case ATTRIBUTES:
06634: case ENABLED:
06635: case SALIENCE:
06636: case DURATION:
06637: case DIALECT:
06638: case FROM:
06639: case INIT:
06640: case ACTION:
06641: case REVERSE:
06642: case RESULT:
06643: case CONTAINS:
06644: case EXCLUDES:
06645: case MATCHES:
06646: case MEMBEROF:
06647: case IN:
06648: case THEN: {
06649: alt70 = 1;
06650: }
06651: break;
06652: case STRING:
06653: case BOOL:
06654: case INT:
06655: case FLOAT:
06656: case NULL: {
06657: alt70 = 2;
06658: }
06659: break;
06660: case LEFT_PAREN: {
06661: alt70 = 3;
06662: }
06663: break;
06664: default:
06665: if (backtracking > 0) {
06666: failed = true;
06667: return rd;
06668: }
06669: NoViableAltException nvae = new NoViableAltException(
06670: "1516:3: (ap= accessor_path | lc= literal_constraint | rvc= paren_chunk )",
06671: 70, 0, input);
06672:
06673: throw nvae;
06674: }
06675:
06676: switch (alt70) {
06677: case 1:
06678: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1516:5: ap= accessor_path
06679: {
06680: pushFollow(FOLLOW_accessor_path_in_expression_value4133);
06681: ap = accessor_path();
06682: _fsp--;
06683: if (failed)
06684: return rd;
06685: if (backtracking == 0) {
06686:
06687: if (ap.text.indexOf('.') > -1
06688: || ap.text.indexOf('[') > -1) {
06689: rd = new QualifiedIdentifierRestrictionDescr(
06690: op, ap.text);
06691: } else {
06692: rd = new VariableRestrictionDescr(op,
06693: ap.text);
06694: }
06695:
06696: }
06697:
06698: }
06699: break;
06700: case 2:
06701: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1524:5: lc= literal_constraint
06702: {
06703: pushFollow(FOLLOW_literal_constraint_in_expression_value4153);
06704: lc = literal_constraint();
06705: _fsp--;
06706: if (failed)
06707: return rd;
06708: if (backtracking == 0) {
06709:
06710: rd = new LiteralRestrictionDescr(op, lc.text,
06711: lc.type);
06712:
06713: }
06714:
06715: }
06716: break;
06717: case 3:
06718: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1528:5: rvc= paren_chunk
06719: {
06720: pushFollow(FOLLOW_paren_chunk_in_expression_value4167);
06721: rvc = paren_chunk();
06722: _fsp--;
06723: if (failed)
06724: return rd;
06725: if (backtracking == 0) {
06726:
06727: rd = new ReturnValueRestrictionDescr(op, input
06728: .toString(rvc.start, rvc.stop)
06729: .substring(
06730: 1,
06731: input.toString(rvc.start,
06732: rvc.stop).length() - 1));
06733:
06734: }
06735:
06736: }
06737: break;
06738:
06739: }
06740:
06741: if (backtracking == 0) {
06742:
06743: if (rd != null) {
06744: base.addRestriction(rd);
06745: }
06746: location
06747: .setType(Location.LOCATION_LHS_INSIDE_CONDITION_END);
06748:
06749: }
06750:
06751: }
06752:
06753: } catch (RecognitionException re) {
06754: reportError(re);
06755: recover(input, re);
06756: } finally {
06757: }
06758: return rd;
06759: }
06760:
06761: // $ANTLR end expression_value
06762:
06763: public static class literal_constraint_return extends
06764: ParserRuleReturnScope {
06765: public String text;
06766: public int type;
06767: };
06768:
06769: // $ANTLR start literal_constraint
06770: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1541:1: literal_constraint returns [String text, int type] : (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) ;
06771: public final literal_constraint_return literal_constraint()
06772: throws RecognitionException {
06773: literal_constraint_return retval = new literal_constraint_return();
06774: retval.start = input.LT(1);
06775:
06776: Token t = null;
06777:
06778: retval.text = null;
06779:
06780: try {
06781: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1545:2: ( (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL ) )
06782: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1545:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
06783: {
06784: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1545:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )
06785: int alt71 = 5;
06786: switch (input.LA(1)) {
06787: case STRING: {
06788: alt71 = 1;
06789: }
06790: break;
06791: case INT: {
06792: alt71 = 2;
06793: }
06794: break;
06795: case FLOAT: {
06796: alt71 = 3;
06797: }
06798: break;
06799: case BOOL: {
06800: alt71 = 4;
06801: }
06802: break;
06803: case NULL: {
06804: alt71 = 5;
06805: }
06806: break;
06807: default:
06808: if (backtracking > 0) {
06809: failed = true;
06810: return retval;
06811: }
06812: NoViableAltException nvae = new NoViableAltException(
06813: "1545:4: (t= STRING | t= INT | t= FLOAT | t= BOOL | t= NULL )",
06814: 71, 0, input);
06815:
06816: throw nvae;
06817: }
06818:
06819: switch (alt71) {
06820: case 1:
06821: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1545:6: t= STRING
06822: {
06823: t = (Token) input.LT(1);
06824: match(input, STRING,
06825: FOLLOW_STRING_in_literal_constraint4210);
06826: if (failed)
06827: return retval;
06828: if (backtracking == 0) {
06829: retval.text = getString(t.getText());
06830: retval.type = LiteralRestrictionDescr.TYPE_STRING;
06831: }
06832:
06833: }
06834: break;
06835: case 2:
06836: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1546:5: t= INT
06837: {
06838: t = (Token) input.LT(1);
06839: match(input, INT,
06840: FOLLOW_INT_in_literal_constraint4221);
06841: if (failed)
06842: return retval;
06843: if (backtracking == 0) {
06844: retval.text = t.getText();
06845: retval.type = LiteralRestrictionDescr.TYPE_NUMBER;
06846: }
06847:
06848: }
06849: break;
06850: case 3:
06851: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1547:5: t= FLOAT
06852: {
06853: t = (Token) input.LT(1);
06854: match(input, FLOAT,
06855: FOLLOW_FLOAT_in_literal_constraint4234);
06856: if (failed)
06857: return retval;
06858: if (backtracking == 0) {
06859: retval.text = t.getText();
06860: retval.type = LiteralRestrictionDescr.TYPE_NUMBER;
06861: }
06862:
06863: }
06864: break;
06865: case 4:
06866: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1548:5: t= BOOL
06867: {
06868: t = (Token) input.LT(1);
06869: match(input, BOOL,
06870: FOLLOW_BOOL_in_literal_constraint4245);
06871: if (failed)
06872: return retval;
06873: if (backtracking == 0) {
06874: retval.text = t.getText();
06875: retval.type = LiteralRestrictionDescr.TYPE_BOOLEAN;
06876: }
06877:
06878: }
06879: break;
06880: case 5:
06881: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1549:5: t= NULL
06882: {
06883: t = (Token) input.LT(1);
06884: match(input, NULL,
06885: FOLLOW_NULL_in_literal_constraint4257);
06886: if (failed)
06887: return retval;
06888: if (backtracking == 0) {
06889: retval.text = null;
06890: retval.type = LiteralRestrictionDescr.TYPE_NULL;
06891: }
06892:
06893: }
06894: break;
06895:
06896: }
06897:
06898: }
06899:
06900: retval.stop = input.LT(-1);
06901:
06902: } catch (RecognitionException re) {
06903: reportError(re);
06904: recover(input, re);
06905: } finally {
06906: }
06907: return retval;
06908: }
06909:
06910: // $ANTLR end literal_constraint
06911:
06912: // $ANTLR start predicate
06913: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1553:1: predicate[ConditionalElementDescr base] : text= paren_chunk ;
06914: public final void predicate(ConditionalElementDescr base)
06915: throws RecognitionException {
06916: paren_chunk_return text = null;
06917:
06918: PredicateDescr d = null;
06919:
06920: try {
06921: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1557:2: (text= paren_chunk )
06922: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1558:3: text= paren_chunk
06923: {
06924: pushFollow(FOLLOW_paren_chunk_in_predicate4295);
06925: text = paren_chunk();
06926: _fsp--;
06927: if (failed)
06928: return;
06929: if (backtracking == 0) {
06930:
06931: if (input.toString(text.start, text.stop) != null) {
06932: d = new PredicateDescr();
06933: d.setContent(input.toString(text.start,
06934: text.stop).substring(
06935: 1,
06936: input.toString(text.start, text.stop)
06937: .length() - 1));
06938: d
06939: .setEndCharacter(((CommonToken) ((Token) text.stop))
06940: .getStopIndex());
06941: base.addDescr(d);
06942: }
06943:
06944: }
06945:
06946: }
06947:
06948: } catch (RecognitionException re) {
06949: reportError(re);
06950: recover(input, re);
06951: } finally {
06952: }
06953: return;
06954: }
06955:
06956: // $ANTLR end predicate
06957:
06958: public static class curly_chunk_return extends
06959: ParserRuleReturnScope {
06960: };
06961:
06962: // $ANTLR start curly_chunk
06963: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1570:1: curly_chunk : LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY ;
06964: public final curly_chunk_return curly_chunk()
06965: throws RecognitionException {
06966: curly_chunk_return retval = new curly_chunk_return();
06967: retval.start = input.LT(1);
06968:
06969: try {
06970: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1571:2: ( LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY )
06971: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1572:3: LEFT_CURLY (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )* RIGHT_CURLY
06972: {
06973: match(input, LEFT_CURLY,
06974: FOLLOW_LEFT_CURLY_in_curly_chunk4313);
06975: if (failed)
06976: return retval;
06977: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1572:14: (~ ( LEFT_CURLY | RIGHT_CURLY ) | curly_chunk )*
06978: loop72: do {
06979: int alt72 = 3;
06980: int LA72_0 = input.LA(1);
06981:
06982: if (((LA72_0 >= PACKAGE && LA72_0 <= NULL) || (LA72_0 >= LEFT_SQUARE && LA72_0 <= 80))) {
06983: alt72 = 1;
06984: } else if ((LA72_0 == LEFT_CURLY)) {
06985: alt72 = 2;
06986: }
06987:
06988: switch (alt72) {
06989: case 1:
06990: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1572:16: ~ ( LEFT_CURLY | RIGHT_CURLY )
06991: {
06992: if ((input.LA(1) >= PACKAGE && input.LA(1) <= NULL)
06993: || (input.LA(1) >= LEFT_SQUARE && input
06994: .LA(1) <= 80)) {
06995: input.consume();
06996: errorRecovery = false;
06997: failed = false;
06998: } else {
06999: if (backtracking > 0) {
07000: failed = true;
07001: return retval;
07002: }
07003: MismatchedSetException mse = new MismatchedSetException(
07004: null, input);
07005: recoverFromMismatchedSet(input, mse,
07006: FOLLOW_set_in_curly_chunk4317);
07007: throw mse;
07008: }
07009:
07010: }
07011: break;
07012: case 2:
07013: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1572:44: curly_chunk
07014: {
07015: pushFollow(FOLLOW_curly_chunk_in_curly_chunk4326);
07016: curly_chunk();
07017: _fsp--;
07018: if (failed)
07019: return retval;
07020:
07021: }
07022: break;
07023:
07024: default:
07025: break loop72;
07026: }
07027: } while (true);
07028:
07029: match(input, RIGHT_CURLY,
07030: FOLLOW_RIGHT_CURLY_in_curly_chunk4331);
07031: if (failed)
07032: return retval;
07033:
07034: }
07035:
07036: retval.stop = input.LT(-1);
07037:
07038: } catch (RecognitionException re) {
07039: reportError(re);
07040: recover(input, re);
07041: } finally {
07042: }
07043: return retval;
07044: }
07045:
07046: // $ANTLR end curly_chunk
07047:
07048: public static class paren_chunk_return extends
07049: ParserRuleReturnScope {
07050: };
07051:
07052: // $ANTLR start paren_chunk
07053: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1575:1: paren_chunk : LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN ;
07054: public final paren_chunk_return paren_chunk()
07055: throws RecognitionException {
07056: paren_chunk_return retval = new paren_chunk_return();
07057: retval.start = input.LT(1);
07058:
07059: try {
07060: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1576:2: ( LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN )
07061: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1577:3: LEFT_PAREN (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )* RIGHT_PAREN
07062: {
07063: match(input, LEFT_PAREN,
07064: FOLLOW_LEFT_PAREN_in_paren_chunk4345);
07065: if (failed)
07066: return retval;
07067: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1577:14: (~ ( LEFT_PAREN | RIGHT_PAREN ) | paren_chunk )*
07068: loop73: do {
07069: int alt73 = 3;
07070: int LA73_0 = input.LA(1);
07071:
07072: if (((LA73_0 >= PACKAGE && LA73_0 <= GLOBAL)
07073: || LA73_0 == COMMA || (LA73_0 >= QUERY && LA73_0 <= 80))) {
07074: alt73 = 1;
07075: } else if ((LA73_0 == LEFT_PAREN)) {
07076: alt73 = 2;
07077: }
07078:
07079: switch (alt73) {
07080: case 1:
07081: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1577:16: ~ ( LEFT_PAREN | RIGHT_PAREN )
07082: {
07083: if ((input.LA(1) >= PACKAGE && input.LA(1) <= GLOBAL)
07084: || input.LA(1) == COMMA
07085: || (input.LA(1) >= QUERY && input.LA(1) <= 80)) {
07086: input.consume();
07087: errorRecovery = false;
07088: failed = false;
07089: } else {
07090: if (backtracking > 0) {
07091: failed = true;
07092: return retval;
07093: }
07094: MismatchedSetException mse = new MismatchedSetException(
07095: null, input);
07096: recoverFromMismatchedSet(input, mse,
07097: FOLLOW_set_in_paren_chunk4349);
07098: throw mse;
07099: }
07100:
07101: }
07102: break;
07103: case 2:
07104: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1577:44: paren_chunk
07105: {
07106: pushFollow(FOLLOW_paren_chunk_in_paren_chunk4358);
07107: paren_chunk();
07108: _fsp--;
07109: if (failed)
07110: return retval;
07111:
07112: }
07113: break;
07114:
07115: default:
07116: break loop73;
07117: }
07118: } while (true);
07119:
07120: match(input, RIGHT_PAREN,
07121: FOLLOW_RIGHT_PAREN_in_paren_chunk4363);
07122: if (failed)
07123: return retval;
07124:
07125: }
07126:
07127: retval.stop = input.LT(-1);
07128:
07129: } catch (RecognitionException re) {
07130: reportError(re);
07131: recover(input, re);
07132: } finally {
07133: }
07134: return retval;
07135: }
07136:
07137: // $ANTLR end paren_chunk
07138:
07139: public static class square_chunk_return extends
07140: ParserRuleReturnScope {
07141: };
07142:
07143: // $ANTLR start square_chunk
07144: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1580:1: square_chunk : LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE ;
07145: public final square_chunk_return square_chunk()
07146: throws RecognitionException {
07147: square_chunk_return retval = new square_chunk_return();
07148: retval.start = input.LT(1);
07149:
07150: try {
07151: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1581:2: ( LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE )
07152: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1582:3: LEFT_SQUARE (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )* RIGHT_SQUARE
07153: {
07154: match(input, LEFT_SQUARE,
07155: FOLLOW_LEFT_SQUARE_in_square_chunk4376);
07156: if (failed)
07157: return retval;
07158: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1582:15: (~ ( LEFT_SQUARE | RIGHT_SQUARE ) | square_chunk )*
07159: loop74: do {
07160: int alt74 = 3;
07161: int LA74_0 = input.LA(1);
07162:
07163: if (((LA74_0 >= PACKAGE && LA74_0 <= RIGHT_CURLY) || (LA74_0 >= THEN && LA74_0 <= 80))) {
07164: alt74 = 1;
07165: } else if ((LA74_0 == LEFT_SQUARE)) {
07166: alt74 = 2;
07167: }
07168:
07169: switch (alt74) {
07170: case 1:
07171: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1582:17: ~ ( LEFT_SQUARE | RIGHT_SQUARE )
07172: {
07173: if ((input.LA(1) >= PACKAGE && input.LA(1) <= RIGHT_CURLY)
07174: || (input.LA(1) >= THEN && input.LA(1) <= 80)) {
07175: input.consume();
07176: errorRecovery = false;
07177: failed = false;
07178: } else {
07179: if (backtracking > 0) {
07180: failed = true;
07181: return retval;
07182: }
07183: MismatchedSetException mse = new MismatchedSetException(
07184: null, input);
07185: recoverFromMismatchedSet(input, mse,
07186: FOLLOW_set_in_square_chunk4380);
07187: throw mse;
07188: }
07189:
07190: }
07191: break;
07192: case 2:
07193: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1582:47: square_chunk
07194: {
07195: pushFollow(FOLLOW_square_chunk_in_square_chunk4389);
07196: square_chunk();
07197: _fsp--;
07198: if (failed)
07199: return retval;
07200:
07201: }
07202: break;
07203:
07204: default:
07205: break loop74;
07206: }
07207: } while (true);
07208:
07209: match(input, RIGHT_SQUARE,
07210: FOLLOW_RIGHT_SQUARE_in_square_chunk4394);
07211: if (failed)
07212: return retval;
07213:
07214: }
07215:
07216: retval.stop = input.LT(-1);
07217:
07218: } catch (RecognitionException re) {
07219: reportError(re);
07220: recover(input, re);
07221: } finally {
07222: }
07223: return retval;
07224: }
07225:
07226: // $ANTLR end square_chunk
07227:
07228: public static class qualified_id_return extends
07229: ParserRuleReturnScope {
07230: public String text;
07231: };
07232:
07233: // $ANTLR start qualified_id
07234: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1585:1: qualified_id returns [ String text ] : ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* ;
07235: public final qualified_id_return qualified_id()
07236: throws RecognitionException {
07237: qualified_id_return retval = new qualified_id_return();
07238: retval.start = input.LT(1);
07239:
07240: Token ID52 = null;
07241: identifier_return identifier53 = null;
07242:
07243: StringBuffer buf = new StringBuffer();
07244:
07245: try {
07246: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1592:2: ( ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* )
07247: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1592:5: ID ( DOT identifier )* ( LEFT_SQUARE RIGHT_SQUARE )*
07248: {
07249: ID52 = (Token) input.LT(1);
07250: match(input, ID, FOLLOW_ID_in_qualified_id4423);
07251: if (failed)
07252: return retval;
07253: if (backtracking == 0) {
07254: buf.append(ID52.getText());
07255: }
07256: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1592:32: ( DOT identifier )*
07257: loop75: do {
07258: int alt75 = 2;
07259: int LA75_0 = input.LA(1);
07260:
07261: if ((LA75_0 == DOT)) {
07262: alt75 = 1;
07263: }
07264:
07265: switch (alt75) {
07266: case 1:
07267: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1592:34: DOT identifier
07268: {
07269: match(input, DOT,
07270: FOLLOW_DOT_in_qualified_id4429);
07271: if (failed)
07272: return retval;
07273: pushFollow(FOLLOW_identifier_in_qualified_id4431);
07274: identifier53 = identifier();
07275: _fsp--;
07276: if (failed)
07277: return retval;
07278: if (backtracking == 0) {
07279: buf.append("."
07280: + input.toString(
07281: identifier53.start,
07282: identifier53.stop));
07283: }
07284:
07285: }
07286: break;
07287:
07288: default:
07289: break loop75;
07290: }
07291: } while (true);
07292:
07293: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1592:88: ( LEFT_SQUARE RIGHT_SQUARE )*
07294: loop76: do {
07295: int alt76 = 2;
07296: int LA76_0 = input.LA(1);
07297:
07298: if ((LA76_0 == LEFT_SQUARE)) {
07299: alt76 = 1;
07300: }
07301:
07302: switch (alt76) {
07303: case 1:
07304: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1592:90: LEFT_SQUARE RIGHT_SQUARE
07305: {
07306: match(input, LEFT_SQUARE,
07307: FOLLOW_LEFT_SQUARE_in_qualified_id4440);
07308: if (failed)
07309: return retval;
07310: match(input, RIGHT_SQUARE,
07311: FOLLOW_RIGHT_SQUARE_in_qualified_id4442);
07312: if (failed)
07313: return retval;
07314: if (backtracking == 0) {
07315: buf.append("[]");
07316: }
07317:
07318: }
07319: break;
07320:
07321: default:
07322: break loop76;
07323: }
07324: } while (true);
07325:
07326: }
07327:
07328: retval.stop = input.LT(-1);
07329:
07330: if (backtracking == 0) {
07331:
07332: retval.text = buf != null ? buf.toString() : "";
07333:
07334: }
07335: } catch (RecognitionException re) {
07336: reportError(re);
07337: recover(input, re);
07338: } finally {
07339: }
07340: return retval;
07341: }
07342:
07343: // $ANTLR end qualified_id
07344:
07345: // $ANTLR start dotted_name
07346: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1595:1: dotted_name returns [ String text ] : i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* ;
07347: public final String dotted_name() throws RecognitionException {
07348: String text = null;
07349:
07350: identifier_return i = null;
07351:
07352: StringBuffer buf = new StringBuffer();
07353:
07354: try {
07355: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1602:2: (i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )* )
07356: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1602:4: i= identifier ( DOT i= identifier )* ( LEFT_SQUARE RIGHT_SQUARE )*
07357: {
07358: pushFollow(FOLLOW_identifier_in_dotted_name4476);
07359: i = identifier();
07360: _fsp--;
07361: if (failed)
07362: return text;
07363: if (backtracking == 0) {
07364: buf.append(input.toString(i.start, i.stop));
07365: }
07366: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1602:40: ( DOT i= identifier )*
07367: loop77: do {
07368: int alt77 = 2;
07369: int LA77_0 = input.LA(1);
07370:
07371: if ((LA77_0 == DOT)) {
07372: alt77 = 1;
07373: }
07374:
07375: switch (alt77) {
07376: case 1:
07377: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1602:42: DOT i= identifier
07378: {
07379: match(input, DOT, FOLLOW_DOT_in_dotted_name4482);
07380: if (failed)
07381: return text;
07382: pushFollow(FOLLOW_identifier_in_dotted_name4486);
07383: i = identifier();
07384: _fsp--;
07385: if (failed)
07386: return text;
07387: if (backtracking == 0) {
07388: buf.append("."
07389: + input.toString(i.start, i.stop));
07390: }
07391:
07392: }
07393: break;
07394:
07395: default:
07396: break loop77;
07397: }
07398: } while (true);
07399:
07400: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1602:89: ( LEFT_SQUARE RIGHT_SQUARE )*
07401: loop78: do {
07402: int alt78 = 2;
07403: int LA78_0 = input.LA(1);
07404:
07405: if ((LA78_0 == LEFT_SQUARE)) {
07406: alt78 = 1;
07407: }
07408:
07409: switch (alt78) {
07410: case 1:
07411: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1602:91: LEFT_SQUARE RIGHT_SQUARE
07412: {
07413: match(input, LEFT_SQUARE,
07414: FOLLOW_LEFT_SQUARE_in_dotted_name4495);
07415: if (failed)
07416: return text;
07417: match(input, RIGHT_SQUARE,
07418: FOLLOW_RIGHT_SQUARE_in_dotted_name4497);
07419: if (failed)
07420: return text;
07421: if (backtracking == 0) {
07422: buf.append("[]");
07423: }
07424:
07425: }
07426: break;
07427:
07428: default:
07429: break loop78;
07430: }
07431: } while (true);
07432:
07433: }
07434:
07435: if (backtracking == 0) {
07436:
07437: text = buf != null ? buf.toString() : "";
07438:
07439: }
07440: } catch (RecognitionException re) {
07441: reportError(re);
07442: recover(input, re);
07443: } finally {
07444: }
07445: return text;
07446: }
07447:
07448: // $ANTLR end dotted_name
07449:
07450: public static class accessor_path_return extends
07451: ParserRuleReturnScope {
07452: public String text;
07453: };
07454:
07455: // $ANTLR start accessor_path
07456: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1605:1: accessor_path returns [ String text ] : a= accessor_element ( DOT a= accessor_element )* ;
07457: public final accessor_path_return accessor_path()
07458: throws RecognitionException {
07459: accessor_path_return retval = new accessor_path_return();
07460: retval.start = input.LT(1);
07461:
07462: String a = null;
07463:
07464: StringBuffer buf = new StringBuffer();
07465:
07466: try {
07467: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1612:2: (a= accessor_element ( DOT a= accessor_element )* )
07468: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1612:4: a= accessor_element ( DOT a= accessor_element )*
07469: {
07470: pushFollow(FOLLOW_accessor_element_in_accessor_path4531);
07471: a = accessor_element();
07472: _fsp--;
07473: if (failed)
07474: return retval;
07475: if (backtracking == 0) {
07476: buf.append(a);
07477: }
07478: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1612:46: ( DOT a= accessor_element )*
07479: loop79: do {
07480: int alt79 = 2;
07481: int LA79_0 = input.LA(1);
07482:
07483: if ((LA79_0 == DOT)) {
07484: alt79 = 1;
07485: }
07486:
07487: switch (alt79) {
07488: case 1:
07489: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1612:48: DOT a= accessor_element
07490: {
07491: match(input, DOT,
07492: FOLLOW_DOT_in_accessor_path4537);
07493: if (failed)
07494: return retval;
07495: pushFollow(FOLLOW_accessor_element_in_accessor_path4541);
07496: a = accessor_element();
07497: _fsp--;
07498: if (failed)
07499: return retval;
07500: if (backtracking == 0) {
07501: buf.append("." + a);
07502: }
07503:
07504: }
07505: break;
07506:
07507: default:
07508: break loop79;
07509: }
07510: } while (true);
07511:
07512: }
07513:
07514: retval.stop = input.LT(-1);
07515:
07516: if (backtracking == 0) {
07517:
07518: retval.text = buf != null ? buf.toString() : "";
07519:
07520: }
07521: } catch (RecognitionException re) {
07522: reportError(re);
07523: recover(input, re);
07524: } finally {
07525: }
07526: return retval;
07527: }
07528:
07529: // $ANTLR end accessor_path
07530:
07531: // $ANTLR start accessor_element
07532: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1615:1: accessor_element returns [ String text ] : i= identifier (s= square_chunk )* ;
07533: public final String accessor_element() throws RecognitionException {
07534: String text = null;
07535:
07536: identifier_return i = null;
07537:
07538: square_chunk_return s = null;
07539:
07540: StringBuffer buf = new StringBuffer();
07541:
07542: try {
07543: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1622:2: (i= identifier (s= square_chunk )* )
07544: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1623:3: i= identifier (s= square_chunk )*
07545: {
07546: pushFollow(FOLLOW_identifier_in_accessor_element4579);
07547: i = identifier();
07548: _fsp--;
07549: if (failed)
07550: return text;
07551: if (backtracking == 0) {
07552: buf.append(input.toString(i.start, i.stop));
07553: }
07554: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1623:39: (s= square_chunk )*
07555: loop80: do {
07556: int alt80 = 2;
07557: int LA80_0 = input.LA(1);
07558:
07559: if ((LA80_0 == LEFT_SQUARE)) {
07560: alt80 = 1;
07561: }
07562:
07563: switch (alt80) {
07564: case 1:
07565: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1623:40: s= square_chunk
07566: {
07567: pushFollow(FOLLOW_square_chunk_in_accessor_element4586);
07568: s = square_chunk();
07569: _fsp--;
07570: if (failed)
07571: return text;
07572: if (backtracking == 0) {
07573: buf.append(input.toString(s.start, s.stop));
07574: }
07575:
07576: }
07577: break;
07578:
07579: default:
07580: break loop80;
07581: }
07582: } while (true);
07583:
07584: }
07585:
07586: if (backtracking == 0) {
07587:
07588: text = buf != null ? buf.toString() : "";
07589:
07590: }
07591: } catch (RecognitionException re) {
07592: reportError(re);
07593: recover(input, re);
07594: } finally {
07595: }
07596: return text;
07597: }
07598:
07599: // $ANTLR end accessor_element
07600:
07601: // $ANTLR start rhs_chunk
07602: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1626:1: rhs_chunk[RuleDescr rule] : THEN (~ END )* loc= END opt_semicolon ;
07603: public final void rhs_chunk(RuleDescr rule)
07604: throws RecognitionException {
07605: Token loc = null;
07606: Token THEN54 = null;
07607:
07608: try {
07609: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1627:2: ( THEN (~ END )* loc= END opt_semicolon )
07610: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1628:3: THEN (~ END )* loc= END opt_semicolon
07611: {
07612: THEN54 = (Token) input.LT(1);
07613: match(input, THEN, FOLLOW_THEN_in_rhs_chunk4607);
07614: if (failed)
07615: return;
07616: if (backtracking == 0) {
07617: location.setType(Location.LOCATION_RHS);
07618: }
07619: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1629:3: (~ END )*
07620: loop81: do {
07621: int alt81 = 2;
07622: int LA81_0 = input.LA(1);
07623:
07624: if (((LA81_0 >= PACKAGE && LA81_0 <= QUERY) || (LA81_0 >= TEMPLATE && LA81_0 <= 80))) {
07625: alt81 = 1;
07626: }
07627:
07628: switch (alt81) {
07629: case 1:
07630: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1629:5: ~ END
07631: {
07632: if ((input.LA(1) >= PACKAGE && input.LA(1) <= QUERY)
07633: || (input.LA(1) >= TEMPLATE && input
07634: .LA(1) <= 80)) {
07635: input.consume();
07636: errorRecovery = false;
07637: failed = false;
07638: } else {
07639: if (backtracking > 0) {
07640: failed = true;
07641: return;
07642: }
07643: MismatchedSetException mse = new MismatchedSetException(
07644: null, input);
07645: recoverFromMismatchedSet(input, mse,
07646: FOLLOW_set_in_rhs_chunk4615);
07647: throw mse;
07648: }
07649:
07650: }
07651: break;
07652:
07653: default:
07654: break loop81;
07655: }
07656: } while (true);
07657:
07658: loc = (Token) input.LT(1);
07659: match(input, END, FOLLOW_END_in_rhs_chunk4639);
07660: if (failed)
07661: return;
07662: pushFollow(FOLLOW_opt_semicolon_in_rhs_chunk4641);
07663: opt_semicolon();
07664: _fsp--;
07665: if (failed)
07666: return;
07667: if (backtracking == 0) {
07668:
07669: // ignoring first line in the consequence
07670: String buf = input.toString(THEN54, loc);
07671: // removing final END keyword
07672: buf = buf.substring(0, buf.length() - 3);
07673: if (buf.indexOf('\n') > -1) {
07674: buf = buf.substring(buf.indexOf('\n') + 1);
07675: } else if (buf.indexOf('\r') > -1) {
07676: buf = buf.substring(buf.indexOf('\r') + 1);
07677: }
07678: rule.setConsequence(buf);
07679: rule.setConsequenceLocation(
07680: offset(THEN54.getLine()), THEN54
07681: .getCharPositionInLine());
07682: rule.setEndCharacter(((CommonToken) loc)
07683: .getStopIndex());
07684: location.setProperty(Location.LOCATION_RHS_CONTENT,
07685: rule.getConsequence());
07686:
07687: }
07688:
07689: }
07690:
07691: } catch (RecognitionException re) {
07692: reportError(re);
07693: recover(input, re);
07694: } finally {
07695: }
07696: return;
07697: }
07698:
07699: // $ANTLR end rhs_chunk
07700:
07701: // $ANTLR start name
07702: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1648:1: name returns [String name] : ( ID | STRING );
07703: public final String name() throws RecognitionException {
07704: String name = null;
07705:
07706: Token ID55 = null;
07707: Token STRING56 = null;
07708:
07709: try {
07710: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1649:2: ( ID | STRING )
07711: int alt82 = 2;
07712: int LA82_0 = input.LA(1);
07713:
07714: if ((LA82_0 == ID)) {
07715: alt82 = 1;
07716: } else if ((LA82_0 == STRING)) {
07717: alt82 = 2;
07718: } else {
07719: if (backtracking > 0) {
07720: failed = true;
07721: return name;
07722: }
07723: NoViableAltException nvae = new NoViableAltException(
07724: "1648:1: name returns [String name] : ( ID | STRING );",
07725: 82, 0, input);
07726:
07727: throw nvae;
07728: }
07729: switch (alt82) {
07730: case 1:
07731: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1649:5: ID
07732: {
07733: ID55 = (Token) input.LT(1);
07734: match(input, ID, FOLLOW_ID_in_name4675);
07735: if (failed)
07736: return name;
07737: if (backtracking == 0) {
07738: name = ID55.getText();
07739: }
07740:
07741: }
07742: break;
07743: case 2:
07744: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1650:5: STRING
07745: {
07746: STRING56 = (Token) input.LT(1);
07747: match(input, STRING, FOLLOW_STRING_in_name4683);
07748: if (failed)
07749: return name;
07750: if (backtracking == 0) {
07751: name = getString(STRING56.getText());
07752: }
07753:
07754: }
07755: break;
07756:
07757: }
07758: } catch (RecognitionException re) {
07759: reportError(re);
07760: recover(input, re);
07761: } finally {
07762: }
07763: return name;
07764: }
07765:
07766: // $ANTLR end name
07767:
07768: public static class identifier_return extends ParserRuleReturnScope {
07769: };
07770:
07771: // $ANTLR start identifier
07772: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1653:1: identifier : ( ID | PACKAGE | FUNCTION | GLOBAL | IMPORT | RULE | QUERY | TEMPLATE | ATTRIBUTES | ENABLED | SALIENCE | DURATION | DIALECT | FROM | INIT | ACTION | REVERSE | RESULT | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | WHEN | THEN | END | IN );
07773: public final identifier_return identifier()
07774: throws RecognitionException {
07775: identifier_return retval = new identifier_return();
07776: retval.start = input.LT(1);
07777:
07778: try {
07779: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1654:2: ( ID | PACKAGE | FUNCTION | GLOBAL | IMPORT | RULE | QUERY | TEMPLATE | ATTRIBUTES | ENABLED | SALIENCE | DURATION | DIALECT | FROM | INIT | ACTION | REVERSE | RESULT | CONTAINS | EXCLUDES | MEMBEROF | MATCHES | WHEN | THEN | END | IN )
07780: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:
07781: {
07782: if ((input.LA(1) >= PACKAGE && input.LA(1) <= ID)
07783: || input.LA(1) == GLOBAL
07784: || (input.LA(1) >= QUERY && input.LA(1) <= ATTRIBUTES)
07785: || input.LA(1) == ENABLED
07786: || input.LA(1) == SALIENCE
07787: || (input.LA(1) >= DURATION && input.LA(1) <= DIALECT)
07788: || input.LA(1) == FROM
07789: || (input.LA(1) >= INIT && input.LA(1) <= RESULT)
07790: || (input.LA(1) >= CONTAINS && input.LA(1) <= IN)
07791: || input.LA(1) == THEN) {
07792: input.consume();
07793: errorRecovery = false;
07794: failed = false;
07795: } else {
07796: if (backtracking > 0) {
07797: failed = true;
07798: return retval;
07799: }
07800: MismatchedSetException mse = new MismatchedSetException(
07801: null, input);
07802: recoverFromMismatchedSet(input, mse,
07803: FOLLOW_set_in_identifier0);
07804: throw mse;
07805: }
07806:
07807: }
07808:
07809: retval.stop = input.LT(-1);
07810:
07811: } catch (RecognitionException re) {
07812: reportError(re);
07813: recover(input, re);
07814: } finally {
07815: }
07816: return retval;
07817: }
07818:
07819: // $ANTLR end identifier
07820:
07821: // $ANTLR start synpred1
07822: public final void synpred1_fragment() throws RecognitionException {
07823: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:797:6: ( EXISTS )
07824: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:797:8: EXISTS
07825: {
07826: match(input, EXISTS, FOLLOW_EXISTS_in_synpred11913);
07827: if (failed)
07828: return;
07829:
07830: }
07831: }
07832:
07833: // $ANTLR end synpred1
07834:
07835: // $ANTLR start synpred2
07836: public final void synpred2_fragment() throws RecognitionException {
07837: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:798:5: ( NOT )
07838: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:798:7: NOT
07839: {
07840: match(input, NOT, FOLLOW_NOT_in_synpred21931);
07841: if (failed)
07842: return;
07843:
07844: }
07845: }
07846:
07847: // $ANTLR end synpred2
07848:
07849: // $ANTLR start synpred3
07850: public final void synpred3_fragment() throws RecognitionException {
07851: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:799:5: ( EVAL )
07852: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:799:7: EVAL
07853: {
07854: match(input, EVAL, FOLLOW_EVAL_in_synpred31950);
07855: if (failed)
07856: return;
07857:
07858: }
07859: }
07860:
07861: // $ANTLR end synpred3
07862:
07863: // $ANTLR start synpred4
07864: public final void synpred4_fragment() throws RecognitionException {
07865: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:800:5: ( FORALL )
07866: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:800:7: FORALL
07867: {
07868: match(input, FORALL, FOLLOW_FORALL_in_synpred41969);
07869: if (failed)
07870: return;
07871:
07872: }
07873: }
07874:
07875: // $ANTLR end synpred4
07876:
07877: // $ANTLR start synpred5
07878: public final void synpred5_fragment() throws RecognitionException {
07879: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:801:5: ( LEFT_PAREN )
07880: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:801:7: LEFT_PAREN
07881: {
07882: match(input, LEFT_PAREN, FOLLOW_LEFT_PAREN_in_synpred51988);
07883: if (failed)
07884: return;
07885:
07886: }
07887: }
07888:
07889: // $ANTLR end synpred5
07890:
07891: // $ANTLR start synpred6
07892: public final void synpred6_fragment() throws RecognitionException {
07893: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1087:6: ( LEFT_SQUARE )
07894: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1087:8: LEFT_SQUARE
07895: {
07896: match(input, LEFT_SQUARE,
07897: FOLLOW_LEFT_SQUARE_in_synpred62957);
07898: if (failed)
07899: return;
07900:
07901: }
07902: }
07903:
07904: // $ANTLR end synpred6
07905:
07906: // $ANTLR start synpred7
07907: public final void synpred7_fragment() throws RecognitionException {
07908: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1093:6: ( LEFT_PAREN )
07909: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1093:8: LEFT_PAREN
07910: {
07911: match(input, LEFT_PAREN, FOLLOW_LEFT_PAREN_in_synpred72990);
07912: if (failed)
07913: return;
07914:
07915: }
07916: }
07917:
07918: // $ANTLR end synpred7
07919:
07920: // $ANTLR start synpred8
07921: public final void synpred8_fragment() throws RecognitionException {
07922: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1394:6: ( DOUBLE_PIPE and_restr_connective[or] )
07923: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1394:6: DOUBLE_PIPE and_restr_connective[or]
07924: {
07925: match(input, DOUBLE_PIPE,
07926: FOLLOW_DOUBLE_PIPE_in_synpred83722);
07927: if (failed)
07928: return;
07929: pushFollow(FOLLOW_and_restr_connective_in_synpred83733);
07930: and_restr_connective(or);
07931: _fsp--;
07932: if (failed)
07933: return;
07934:
07935: }
07936: }
07937:
07938: // $ANTLR end synpred8
07939:
07940: // $ANTLR start synpred9
07941: public final void synpred9_fragment() throws RecognitionException {
07942: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1416:5: ( DOUBLE_AMPER constraint_expression[and] )
07943: // /home/etirelli/workspace/jboss/jbossrules/drools-compiler/src/main/resources/org/drools/lang/DRL.g:1416:5: DOUBLE_AMPER constraint_expression[and]
07944: {
07945: match(input, DOUBLE_AMPER,
07946: FOLLOW_DOUBLE_AMPER_in_synpred93786);
07947: if (failed)
07948: return;
07949: pushFollow(FOLLOW_constraint_expression_in_synpred93797);
07950: constraint_expression(and);
07951: _fsp--;
07952: if (failed)
07953: return;
07954:
07955: }
07956: }
07957:
07958: // $ANTLR end synpred9
07959:
07960: public final boolean synpred4() {
07961: backtracking++;
07962: int start = input.mark();
07963: try {
07964: synpred4_fragment(); // can never throw exception
07965: } catch (RecognitionException re) {
07966: System.err.println("impossible: " + re);
07967: }
07968: boolean success = !failed;
07969: input.rewind(start);
07970: backtracking--;
07971: failed = false;
07972: return success;
07973: }
07974:
07975: public final boolean synpred9() {
07976: backtracking++;
07977: int start = input.mark();
07978: try {
07979: synpred9_fragment(); // can never throw exception
07980: } catch (RecognitionException re) {
07981: System.err.println("impossible: " + re);
07982: }
07983: boolean success = !failed;
07984: input.rewind(start);
07985: backtracking--;
07986: failed = false;
07987: return success;
07988: }
07989:
07990: public final boolean synpred7() {
07991: backtracking++;
07992: int start = input.mark();
07993: try {
07994: synpred7_fragment(); // can never throw exception
07995: } catch (RecognitionException re) {
07996: System.err.println("impossible: " + re);
07997: }
07998: boolean success = !failed;
07999: input.rewind(start);
08000: backtracking--;
08001: failed = false;
08002: return success;
08003: }
08004:
08005: public final boolean synpred2() {
08006: backtracking++;
08007: int start = input.mark();
08008: try {
08009: synpred2_fragment(); // can never throw exception
08010: } catch (RecognitionException re) {
08011: System.err.println("impossible: " + re);
08012: }
08013: boolean success = !failed;
08014: input.rewind(start);
08015: backtracking--;
08016: failed = false;
08017: return success;
08018: }
08019:
08020: public final boolean synpred3() {
08021: backtracking++;
08022: int start = input.mark();
08023: try {
08024: synpred3_fragment(); // can never throw exception
08025: } catch (RecognitionException re) {
08026: System.err.println("impossible: " + re);
08027: }
08028: boolean success = !failed;
08029: input.rewind(start);
08030: backtracking--;
08031: failed = false;
08032: return success;
08033: }
08034:
08035: public final boolean synpred1() {
08036: backtracking++;
08037: int start = input.mark();
08038: try {
08039: synpred1_fragment(); // can never throw exception
08040: } catch (RecognitionException re) {
08041: System.err.println("impossible: " + re);
08042: }
08043: boolean success = !failed;
08044: input.rewind(start);
08045: backtracking--;
08046: failed = false;
08047: return success;
08048: }
08049:
08050: public final boolean synpred5() {
08051: backtracking++;
08052: int start = input.mark();
08053: try {
08054: synpred5_fragment(); // can never throw exception
08055: } catch (RecognitionException re) {
08056: System.err.println("impossible: " + re);
08057: }
08058: boolean success = !failed;
08059: input.rewind(start);
08060: backtracking--;
08061: failed = false;
08062: return success;
08063: }
08064:
08065: public final boolean synpred6() {
08066: backtracking++;
08067: int start = input.mark();
08068: try {
08069: synpred6_fragment(); // can never throw exception
08070: } catch (RecognitionException re) {
08071: System.err.println("impossible: " + re);
08072: }
08073: boolean success = !failed;
08074: input.rewind(start);
08075: backtracking--;
08076: failed = false;
08077: return success;
08078: }
08079:
08080: public final boolean synpred8() {
08081: backtracking++;
08082: int start = input.mark();
08083: try {
08084: synpred8_fragment(); // can never throw exception
08085: } catch (RecognitionException re) {
08086: System.err.println("impossible: " + re);
08087: }
08088: boolean success = !failed;
08089: input.rewind(start);
08090: backtracking--;
08091: failed = false;
08092: return success;
08093: }
08094:
08095: protected DFA8 dfa8 = new DFA8(this );
08096: protected DFA9 dfa9 = new DFA9(this );
08097: protected DFA17 dfa17 = new DFA17(this );
08098: protected DFA52 dfa52 = new DFA52(this );
08099: protected DFA64 dfa64 = new DFA64(this );
08100: protected DFA65 dfa65 = new DFA65(this );
08101: static final String DFA8_eotS = "\6\uffff";
08102: static final String DFA8_eofS = "\6\uffff";
08103: static final String DFA8_minS = "\2\4\1\73\2\uffff\1\4";
08104: static final String DFA8_maxS = "\2\74\1\73\2\uffff\1\74";
08105: static final String DFA8_acceptS = "\3\uffff\1\2\1\1\1\uffff";
08106: static final String DFA8_specialS = "\6\uffff}>";
08107: static final String[] DFA8_transitionS = {
08108: "\4\1\1\uffff\1\1\3\uffff\6\1\3\uffff\1\1\1\uffff\1\1\6\uffff"
08109: + "\2\1\5\uffff\1\1\5\uffff\4\1\1\uffff\5\1\6\uffff\1\1",
08110: "\6\4\1\uffff\2\3\6\4\3\uffff\1\4\1\uffff\1\4\6\uffff\2\4\5\uffff"
08111: + "\1\4\5\uffff\4\4\1\uffff\5\4\4\uffff\1\2\1\uffff\1\4",
08112: "\1\5",
08113: "",
08114: "",
08115: "\4\4\1\uffff\1\4\1\uffff\2\3\6\4\3\uffff\1\4\1\uffff\1\4\6\uffff"
08116: + "\2\4\5\uffff\1\4\5\uffff\4\4\1\uffff\5\4\4\uffff\1\2\1\uffff"
08117: + "\1\4" };
08118:
08119: static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);
08120: static final short[] DFA8_eof = DFA.unpackEncodedString(DFA8_eofS);
08121: static final char[] DFA8_min = DFA
08122: .unpackEncodedStringToUnsignedChars(DFA8_minS);
08123: static final char[] DFA8_max = DFA
08124: .unpackEncodedStringToUnsignedChars(DFA8_maxS);
08125: static final short[] DFA8_accept = DFA
08126: .unpackEncodedString(DFA8_acceptS);
08127: static final short[] DFA8_special = DFA
08128: .unpackEncodedString(DFA8_specialS);
08129: static final short[][] DFA8_transition;
08130:
08131: static {
08132: int numStates = DFA8_transitionS.length;
08133: DFA8_transition = new short[numStates][];
08134: for (int i = 0; i < numStates; i++) {
08135: DFA8_transition[i] = DFA
08136: .unpackEncodedString(DFA8_transitionS[i]);
08137: }
08138: }
08139:
08140: class DFA8 extends DFA {
08141:
08142: public DFA8(BaseRecognizer recognizer) {
08143: this .recognizer = recognizer;
08144: this .decisionNumber = 8;
08145: this .eot = DFA8_eot;
08146: this .eof = DFA8_eof;
08147: this .min = DFA8_min;
08148: this .max = DFA8_max;
08149: this .accept = DFA8_accept;
08150: this .special = DFA8_special;
08151: this .transition = DFA8_transition;
08152: }
08153:
08154: public String getDescription() {
08155: return "340:15: (paramType= dotted_name )?";
08156: }
08157: }
08158:
08159: static final String DFA9_eotS = "\6\uffff";
08160: static final String DFA9_eofS = "\6\uffff";
08161: static final String DFA9_minS = "\2\4\1\uffff\1\73\1\uffff\1\4";
08162: static final String DFA9_maxS = "\2\74\1\uffff\1\73\1\uffff\1\74";
08163: static final String DFA9_acceptS = "\2\uffff\1\1\1\uffff\1\2\1\uffff";
08164: static final String DFA9_specialS = "\6\uffff}>";
08165: static final String[] DFA9_transitionS = {
08166: "\4\1\1\uffff\1\1\3\uffff\6\1\3\uffff\1\1\1\uffff\1\1\6\uffff"
08167: + "\2\1\5\uffff\1\1\5\uffff\4\1\1\uffff\5\1\6\uffff\1\1",
08168: "\6\2\1\uffff\2\4\6\2\3\uffff\1\2\1\uffff\1\2\6\uffff\2\2\5\uffff"
08169: + "\1\2\5\uffff\4\2\1\uffff\5\2\4\uffff\1\3\1\uffff\1\2",
08170: "",
08171: "\1\5",
08172: "",
08173: "\4\2\1\uffff\1\2\1\uffff\2\4\6\2\3\uffff\1\2\1\uffff\1\2\6\uffff"
08174: + "\2\2\5\uffff\1\2\5\uffff\4\2\1\uffff\5\2\4\uffff\1\3\1\uffff"
08175: + "\1\2" };
08176:
08177: static final short[] DFA9_eot = DFA.unpackEncodedString(DFA9_eotS);
08178: static final short[] DFA9_eof = DFA.unpackEncodedString(DFA9_eofS);
08179: static final char[] DFA9_min = DFA
08180: .unpackEncodedStringToUnsignedChars(DFA9_minS);
08181: static final char[] DFA9_max = DFA
08182: .unpackEncodedStringToUnsignedChars(DFA9_maxS);
08183: static final short[] DFA9_accept = DFA
08184: .unpackEncodedString(DFA9_acceptS);
08185: static final short[] DFA9_special = DFA
08186: .unpackEncodedString(DFA9_specialS);
08187: static final short[][] DFA9_transition;
08188:
08189: static {
08190: int numStates = DFA9_transitionS.length;
08191: DFA9_transition = new short[numStates][];
08192: for (int i = 0; i < numStates; i++) {
08193: DFA9_transition[i] = DFA
08194: .unpackEncodedString(DFA9_transitionS[i]);
08195: }
08196: }
08197:
08198: class DFA9 extends DFA {
08199:
08200: public DFA9(BaseRecognizer recognizer) {
08201: this .recognizer = recognizer;
08202: this .decisionNumber = 9;
08203: this .eot = DFA9_eot;
08204: this .eof = DFA9_eof;
08205: this .min = DFA9_min;
08206: this .max = DFA9_max;
08207: this .accept = DFA9_accept;
08208: this .special = DFA9_special;
08209: this .transition = DFA9_transition;
08210: }
08211:
08212: public String getDescription() {
08213: return "345:22: (paramType= dotted_name )?";
08214: }
08215: }
08216:
08217: static final String DFA17_eotS = "\11\uffff";
08218: static final String DFA17_eofS = "\11\uffff";
08219: static final String DFA17_minS = "\2\7\1\uffff\1\7\1\uffff\1\4\1\73\2\7";
08220: static final String DFA17_maxS = "\2\52\1\uffff\1\111\1\uffff\1\74\1\73\2\72";
08221: static final String DFA17_acceptS = "\2\uffff\1\2\1\uffff\1\1\4\uffff";
08222: static final String DFA17_specialS = "\11\uffff}>";
08223: static final String[] DFA17_transitionS = {
08224: "\1\2\2\uffff\1\1\3\uffff\1\2\30\uffff\4\2",
08225: "\1\3\2\uffff\1\2\1\uffff\1\4\25\uffff\1\2\1\uffff\1\2\2\uffff"
08226: + "\4\2",
08227: "",
08228: "\1\4\1\5\1\uffff\1\2\2\4\55\uffff\1\6\16\uffff\1\2",
08229: "",
08230: "\4\7\1\uffff\1\7\3\uffff\6\7\3\uffff\1\7\1\uffff\1\7\6\uffff"
08231: + "\2\7\5\uffff\1\7\5\uffff\4\7\1\uffff\5\7\6\uffff\1\7",
08232: "\1\10", "\1\4\1\5\1\uffff\1\2\57\uffff\1\6",
08233: "\1\4\2\uffff\1\2\57\uffff\1\6" };
08234:
08235: static final short[] DFA17_eot = DFA
08236: .unpackEncodedString(DFA17_eotS);
08237: static final short[] DFA17_eof = DFA
08238: .unpackEncodedString(DFA17_eofS);
08239: static final char[] DFA17_min = DFA
08240: .unpackEncodedStringToUnsignedChars(DFA17_minS);
08241: static final char[] DFA17_max = DFA
08242: .unpackEncodedStringToUnsignedChars(DFA17_maxS);
08243: static final short[] DFA17_accept = DFA
08244: .unpackEncodedString(DFA17_acceptS);
08245: static final short[] DFA17_special = DFA
08246: .unpackEncodedString(DFA17_specialS);
08247: static final short[][] DFA17_transition;
08248:
08249: static {
08250: int numStates = DFA17_transitionS.length;
08251: DFA17_transition = new short[numStates][];
08252: for (int i = 0; i < numStates; i++) {
08253: DFA17_transition[i] = DFA
08254: .unpackEncodedString(DFA17_transitionS[i]);
08255: }
08256: }
08257:
08258: class DFA17 extends DFA {
08259:
08260: public DFA17(BaseRecognizer recognizer) {
08261: this .recognizer = recognizer;
08262: this .decisionNumber = 17;
08263: this .eot = DFA17_eot;
08264: this .eof = DFA17_eof;
08265: this .min = DFA17_min;
08266: this .max = DFA17_max;
08267: this .accept = DFA17_accept;
08268: this .special = DFA17_special;
08269: this .transition = DFA17_transition;
08270: }
08271:
08272: public String getDescription() {
08273: return "389:3: ( LEFT_PAREN ( ( (paramType= qualified_id )? paramName= ID ) ( COMMA (paramType= qualified_id )? paramName= ID )* )? RIGHT_PAREN )?";
08274: }
08275: }
08276:
08277: static final String DFA52_eotS = "\150\uffff";
08278: static final String DFA52_eofS = "\150\uffff";
08279: static final String DFA52_minS = "\1\7\1\uffff\1\4\1\uffff\2\4\1\0\5\4\2\uffff\4\4\1\0\1\4\1\0\5\4"
08280: + "\1\0\1\4\1\0\1\4\2\0\3\4\2\0\2\4\3\0\3\4\2\0\2\4\3\0\2\4\1\0\4\4"
08281: + "\1\0\3\4\1\0\1\4\1\0\1\4\1\uffff\44\0";
08282: static final String DFA52_maxS = "\1\107\1\uffff\1\120\1\uffff\2\120\1\0\5\120\2\uffff\4\120\1\0\1"
08283: + "\120\1\0\5\120\1\0\1\120\1\0\1\120\2\0\3\120\2\0\2\120\3\0\3\120"
08284: + "\2\0\2\120\3\0\2\120\1\0\4\120\1\0\3\120\1\0\1\120\1\0\1\120\1\uffff"
08285: + "\44\0";
08286: static final String DFA52_acceptS = "\1\uffff\1\1\1\uffff\1\3\10\uffff\2\2\65\uffff\1\2\44\uffff";
08287: static final String DFA52_specialS = "\1\56\1\uffff\1\70\1\uffff\1\17\1\13\1\24\1\7\1\11\1\20\1\66\1\32"
08288: + "\2\uffff\1\0\1\23\1\35\1\4\1\44\1\41\1\12\1\22\1\73\1\71\1\15\1"
08289: + "\54\1\46\1\31\1\34\1\30\1\55\1\61\1\74\1\1\1\63\1\53\1\45\1\40\1"
08290: + "\37\1\36\1\47\1\16\1\60\1\67\1\25\1\14\1\62\1\52\1\51\1\57\1\72"
08291: + "\1\5\1\26\1\6\1\10\1\50\1\75\1\2\1\64\1\42\1\76\1\3\1\65\1\43\1"
08292: + "\27\1\21\1\33\45\uffff}>";
08293: static final String[] DFA52_transitionS = {
08294: "\2\3\1\uffff\1\2\2\3\1\uffff\1\3\23\uffff\4\3\1\uffff\4\3\1"
08295: + "\uffff\1\3\15\uffff\1\1\1\uffff\1\3\12\uffff\1\3",
08296: "",
08297: "\3\14\1\13\2\14\1\6\1\14\1\15\25\14\1\5\1\14\1\4\2\14\1\7\1"
08298: + "\10\1\11\1\12\46\14",
08299: "",
08300: "\3\14\1\23\2\14\1\22\1\14\1\15\32\14\1\16\1\17\1\20\1\21\46"
08301: + "\14",
08302: "\3\14\1\31\2\14\1\24\1\14\1\15\32\14\1\25\1\26\1\27\1\30\46"
08303: + "\14",
08304: "\1\uffff",
08305: "\3\14\1\33\2\14\1\32\1\14\1\15\104\14",
08306: "\3\14\1\35\2\14\1\34\1\14\1\15\104\14",
08307: "\6\14\1\36\1\14\1\15\104\14",
08308: "\6\14\1\37\1\14\1\15\104\14",
08309: "\4\14\1\41\1\14\1\43\1\14\1\15\55\14\1\42\16\14\1\40\7\14",
08310: "",
08311: "",
08312: "\3\14\1\45\2\14\1\44\1\14\1\15\104\14",
08313: "\3\14\1\46\2\14\1\47\1\14\1\15\104\14",
08314: "\6\14\1\50\1\14\1\15\104\14",
08315: "\6\14\1\51\1\14\1\15\104\14",
08316: "\1\uffff",
08317: "\4\14\1\53\1\14\1\55\1\14\1\15\55\14\1\54\16\14\1\52\7\14",
08318: "\1\uffff",
08319: "\3\14\1\57\2\14\1\56\1\14\1\15\104\14",
08320: "\3\14\1\60\2\14\1\61\1\14\1\15\104\14",
08321: "\6\14\1\62\1\14\1\15\104\14",
08322: "\6\14\1\63\1\14\1\15\104\14",
08323: "\4\14\1\65\1\14\1\66\1\14\1\15\55\14\1\67\16\14\1\64\7\14",
08324: "\1\uffff",
08325: "\4\14\1\71\1\14\1\73\1\14\1\15\55\14\1\72\16\14\1\70\7\14",
08326: "\1\uffff",
08327: "\4\14\1\75\1\14\1\77\1\14\1\15\55\14\1\76\16\14\1\74\7\14",
08328: "\1\uffff",
08329: "\1\uffff",
08330: "\3\14\1\100\2\14\1\101\1\14\1\15\104\14",
08331: "\4\102\1\14\1\102\1\103\1\14\1\15\6\102\3\14\1\102\1\14\1\102"
08332: + "\6\14\2\102\5\14\1\102\5\14\4\102\1\14\5\102\6\14\1\102\24\14",
08333: "\6\14\1\103\1\14\1\15\56\14\1\104\25\14",
08334: "\1\uffff",
08335: "\1\uffff",
08336: "\4\14\1\106\1\14\1\110\1\14\1\15\55\14\1\107\16\14\1\105\7\14",
08337: "\4\14\1\112\1\14\1\114\1\14\1\15\55\14\1\113\16\14\1\111\7\14",
08338: "\1\uffff",
08339: "\1\uffff",
08340: "\1\uffff",
08341: "\3\14\1\115\2\14\1\116\1\14\1\15\104\14",
08342: "\4\117\1\14\1\117\1\103\1\14\1\15\6\117\3\14\1\117\1\14\1\117"
08343: + "\6\14\2\117\5\14\1\117\5\14\4\117\1\14\5\117\6\14\1\117\24\14",
08344: "\6\14\1\103\1\14\1\15\56\14\1\120\25\14",
08345: "\1\uffff",
08346: "\1\uffff",
08347: "\4\14\1\122\1\14\1\124\1\14\1\15\55\14\1\123\16\14\1\121\7\14",
08348: "\4\14\1\126\1\14\1\127\1\14\1\15\55\14\1\130\16\14\1\125\7\14",
08349: "\1\uffff",
08350: "\1\uffff",
08351: "\1\uffff",
08352: "\3\14\1\131\2\14\1\132\1\14\1\15\104\14",
08353: "\4\133\1\14\1\133\1\103\1\14\1\15\6\133\3\14\1\133\1\14\1\133"
08354: + "\6\14\2\133\5\14\1\133\5\14\4\133\1\14\5\133\6\14\1\133\24\14",
08355: "\1\uffff",
08356: "\6\14\1\103\1\14\1\15\56\14\1\134\25\14",
08357: "\3\14\1\135\2\14\1\136\1\14\1\15\104\14",
08358: "\4\137\1\14\1\137\1\103\1\14\1\15\6\137\3\14\1\137\1\14\1\137"
08359: + "\6\14\2\137\5\14\1\137\5\14\4\137\1\14\5\137\6\14\1\137\24\14",
08360: "\6\14\1\103\1\14\1\15\56\14\1\140\25\14",
08361: "\1\uffff",
08362: "\3\14\1\141\2\14\1\142\1\14\1\15\104\14",
08363: "\4\143\1\14\1\143\1\103\1\14\1\15\6\143\3\14\1\143\1\14\1\143"
08364: + "\6\14\2\143\5\14\1\143\5\14\4\143\1\14\5\143\6\14\1\143\24\14",
08365: "\6\14\1\103\1\14\1\15\56\14\1\144\25\14", "\1\uffff",
08366: "\4\14\1\145\1\14\1\147\1\14\1\15\55\14\1\146\26\14",
08367: "\1\uffff",
08368: "\4\14\1\41\1\14\1\43\1\14\1\15\55\14\1\42\26\14", "",
08369: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
08370: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
08371: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
08372: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
08373: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
08374: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
08375: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
08376: "\1\uffff" };
08377:
08378: static final short[] DFA52_eot = DFA
08379: .unpackEncodedString(DFA52_eotS);
08380: static final short[] DFA52_eof = DFA
08381: .unpackEncodedString(DFA52_eofS);
08382: static final char[] DFA52_min = DFA
08383: .unpackEncodedStringToUnsignedChars(DFA52_minS);
08384: static final char[] DFA52_max = DFA
08385: .unpackEncodedStringToUnsignedChars(DFA52_maxS);
08386: static final short[] DFA52_accept = DFA
08387: .unpackEncodedString(DFA52_acceptS);
08388: static final short[] DFA52_special = DFA
08389: .unpackEncodedString(DFA52_specialS);
08390: static final short[][] DFA52_transition;
08391:
08392: static {
08393: int numStates = DFA52_transitionS.length;
08394: DFA52_transition = new short[numStates][];
08395: for (int i = 0; i < numStates; i++) {
08396: DFA52_transition[i] = DFA
08397: .unpackEncodedString(DFA52_transitionS[i]);
08398: }
08399: }
08400:
08401: class DFA52 extends DFA {
08402:
08403: public DFA52(BaseRecognizer recognizer) {
08404: this .recognizer = recognizer;
08405: this .decisionNumber = 52;
08406: this .eot = DFA52_eot;
08407: this .eof = DFA52_eof;
08408: this .min = DFA52_min;
08409: this .max = DFA52_max;
08410: this .accept = DFA52_accept;
08411: this .special = DFA52_special;
08412: this .transition = DFA52_transition;
08413: }
08414:
08415: public String getDescription() {
08416: return "1086:4: ( ( LEFT_SQUARE )=>sqarg= square_chunk | ( LEFT_PAREN )=>paarg= paren_chunk )?";
08417: }
08418:
08419: public int specialStateTransition(int s, IntStream input)
08420: throws NoViableAltException {
08421: int _s = s;
08422: switch (s) {
08423: case 0:
08424: int LA52_14 = input.LA(1);
08425:
08426: int index52_14 = input.index();
08427: input.rewind();
08428: s = -1;
08429: if ((LA52_14 == LEFT_PAREN)) {
08430: s = 36;
08431: }
08432:
08433: else if ((LA52_14 == ID)) {
08434: s = 37;
08435: }
08436:
08437: else if ((LA52_14 == RIGHT_PAREN) && (synpred7())) {
08438: s = 13;
08439: }
08440:
08441: else if (((LA52_14 >= PACKAGE && LA52_14 <= FUNCTION)
08442: || (LA52_14 >= DOT && LA52_14 <= GLOBAL)
08443: || LA52_14 == COMMA || (LA52_14 >= QUERY && LA52_14 <= 80))
08444: && (synpred7())) {
08445: s = 12;
08446: }
08447:
08448: input.seek(index52_14);
08449: if (s >= 0)
08450: return s;
08451: break;
08452: case 1:
08453: int LA52_33 = input.LA(1);
08454:
08455: int index52_33 = input.index();
08456: input.rewind();
08457: s = -1;
08458: if (((LA52_33 >= PACKAGE && LA52_33 <= ID)
08459: || LA52_33 == GLOBAL
08460: || (LA52_33 >= QUERY && LA52_33 <= ATTRIBUTES)
08461: || LA52_33 == ENABLED || LA52_33 == SALIENCE
08462: || (LA52_33 >= DURATION && LA52_33 <= DIALECT)
08463: || LA52_33 == FROM
08464: || (LA52_33 >= INIT && LA52_33 <= RESULT)
08465: || (LA52_33 >= CONTAINS && LA52_33 <= IN) || LA52_33 == THEN)) {
08466: s = 66;
08467: }
08468:
08469: else if ((LA52_33 == RIGHT_PAREN) && (synpred7())) {
08470: s = 13;
08471: }
08472:
08473: else if ((LA52_33 == DOT
08474: || LA52_33 == COMMA
08475: || (LA52_33 >= DATE_EFFECTIVE && LA52_33 <= DATE_EXPIRES)
08476: || LA52_33 == BOOL
08477: || (LA52_33 >= INT && LA52_33 <= AGENDA_GROUP)
08478: || (LA52_33 >= LOCK_ON_ACTIVE && LA52_33 <= DOUBLE_AMPER)
08479: || (LA52_33 >= EXISTS && LA52_33 <= ACCUMULATE)
08480: || LA52_33 == COLLECT
08481: || (LA52_33 >= FLOAT && LA52_33 <= RIGHT_SQUARE) || (LA52_33 >= EOL && LA52_33 <= 80))
08482: && (synpred7())) {
08483: s = 12;
08484: }
08485:
08486: else if ((LA52_33 == LEFT_PAREN) && (synpred7())) {
08487: s = 67;
08488: }
08489:
08490: input.seek(index52_33);
08491: if (s >= 0)
08492: return s;
08493: break;
08494: case 2:
08495: int LA52_57 = input.LA(1);
08496:
08497: int index52_57 = input.index();
08498: input.rewind();
08499: s = -1;
08500: if (((LA52_57 >= PACKAGE && LA52_57 <= ID)
08501: || LA52_57 == GLOBAL
08502: || (LA52_57 >= QUERY && LA52_57 <= ATTRIBUTES)
08503: || LA52_57 == ENABLED || LA52_57 == SALIENCE
08504: || (LA52_57 >= DURATION && LA52_57 <= DIALECT)
08505: || LA52_57 == FROM
08506: || (LA52_57 >= INIT && LA52_57 <= RESULT)
08507: || (LA52_57 >= CONTAINS && LA52_57 <= IN) || LA52_57 == THEN)) {
08508: s = 95;
08509: }
08510:
08511: else if ((LA52_57 == RIGHT_PAREN) && (synpred7())) {
08512: s = 13;
08513: }
08514:
08515: else if ((LA52_57 == DOT
08516: || LA52_57 == COMMA
08517: || (LA52_57 >= DATE_EFFECTIVE && LA52_57 <= DATE_EXPIRES)
08518: || LA52_57 == BOOL
08519: || (LA52_57 >= INT && LA52_57 <= AGENDA_GROUP)
08520: || (LA52_57 >= LOCK_ON_ACTIVE && LA52_57 <= DOUBLE_AMPER)
08521: || (LA52_57 >= EXISTS && LA52_57 <= ACCUMULATE)
08522: || LA52_57 == COLLECT
08523: || (LA52_57 >= FLOAT && LA52_57 <= RIGHT_SQUARE) || (LA52_57 >= EOL && LA52_57 <= 80))
08524: && (synpred7())) {
08525: s = 12;
08526: }
08527:
08528: else if ((LA52_57 == LEFT_PAREN) && (synpred7())) {
08529: s = 67;
08530: }
08531:
08532: input.seek(index52_57);
08533: if (s >= 0)
08534: return s;
08535: break;
08536: case 3:
08537: int LA52_61 = input.LA(1);
08538:
08539: int index52_61 = input.index();
08540: input.rewind();
08541: s = -1;
08542: if (((LA52_61 >= PACKAGE && LA52_61 <= ID)
08543: || LA52_61 == GLOBAL
08544: || (LA52_61 >= QUERY && LA52_61 <= ATTRIBUTES)
08545: || LA52_61 == ENABLED || LA52_61 == SALIENCE
08546: || (LA52_61 >= DURATION && LA52_61 <= DIALECT)
08547: || LA52_61 == FROM
08548: || (LA52_61 >= INIT && LA52_61 <= RESULT)
08549: || (LA52_61 >= CONTAINS && LA52_61 <= IN) || LA52_61 == THEN)) {
08550: s = 99;
08551: }
08552:
08553: else if ((LA52_61 == RIGHT_PAREN) && (synpred7())) {
08554: s = 13;
08555: }
08556:
08557: else if ((LA52_61 == DOT
08558: || LA52_61 == COMMA
08559: || (LA52_61 >= DATE_EFFECTIVE && LA52_61 <= DATE_EXPIRES)
08560: || LA52_61 == BOOL
08561: || (LA52_61 >= INT && LA52_61 <= AGENDA_GROUP)
08562: || (LA52_61 >= LOCK_ON_ACTIVE && LA52_61 <= DOUBLE_AMPER)
08563: || (LA52_61 >= EXISTS && LA52_61 <= ACCUMULATE)
08564: || LA52_61 == COLLECT
08565: || (LA52_61 >= FLOAT && LA52_61 <= RIGHT_SQUARE) || (LA52_61 >= EOL && LA52_61 <= 80))
08566: && (synpred7())) {
08567: s = 12;
08568: }
08569:
08570: else if ((LA52_61 == LEFT_PAREN) && (synpred7())) {
08571: s = 67;
08572: }
08573:
08574: input.seek(index52_61);
08575: if (s >= 0)
08576: return s;
08577: break;
08578: case 4:
08579: int LA52_17 = input.LA(1);
08580:
08581: int index52_17 = input.index();
08582: input.rewind();
08583: s = -1;
08584: if ((LA52_17 == LEFT_PAREN)) {
08585: s = 41;
08586: }
08587:
08588: else if ((LA52_17 == RIGHT_PAREN) && (synpred7())) {
08589: s = 13;
08590: }
08591:
08592: else if (((LA52_17 >= PACKAGE && LA52_17 <= GLOBAL)
08593: || LA52_17 == COMMA || (LA52_17 >= QUERY && LA52_17 <= 80))
08594: && (synpred7())) {
08595: s = 12;
08596: }
08597:
08598: input.seek(index52_17);
08599: if (s >= 0)
08600: return s;
08601: break;
08602: case 5:
08603: int LA52_51 = input.LA(1);
08604:
08605: int index52_51 = input.index();
08606: input.rewind();
08607: s = -1;
08608: if ((synpred7())) {
08609: s = 67;
08610: }
08611:
08612: else if ((true)) {
08613: s = 3;
08614: }
08615:
08616: input.seek(index52_51);
08617: if (s >= 0)
08618: return s;
08619: break;
08620: case 6:
08621: int LA52_53 = input.LA(1);
08622:
08623: int index52_53 = input.index();
08624: input.rewind();
08625: s = -1;
08626: if (((LA52_53 >= PACKAGE && LA52_53 <= ID)
08627: || LA52_53 == GLOBAL
08628: || (LA52_53 >= QUERY && LA52_53 <= ATTRIBUTES)
08629: || LA52_53 == ENABLED || LA52_53 == SALIENCE
08630: || (LA52_53 >= DURATION && LA52_53 <= DIALECT)
08631: || LA52_53 == FROM
08632: || (LA52_53 >= INIT && LA52_53 <= RESULT)
08633: || (LA52_53 >= CONTAINS && LA52_53 <= IN) || LA52_53 == THEN)) {
08634: s = 91;
08635: }
08636:
08637: else if ((LA52_53 == RIGHT_PAREN) && (synpred7())) {
08638: s = 13;
08639: }
08640:
08641: else if ((LA52_53 == DOT
08642: || LA52_53 == COMMA
08643: || (LA52_53 >= DATE_EFFECTIVE && LA52_53 <= DATE_EXPIRES)
08644: || LA52_53 == BOOL
08645: || (LA52_53 >= INT && LA52_53 <= AGENDA_GROUP)
08646: || (LA52_53 >= LOCK_ON_ACTIVE && LA52_53 <= DOUBLE_AMPER)
08647: || (LA52_53 >= EXISTS && LA52_53 <= ACCUMULATE)
08648: || LA52_53 == COLLECT
08649: || (LA52_53 >= FLOAT && LA52_53 <= RIGHT_SQUARE) || (LA52_53 >= EOL && LA52_53 <= 80))
08650: && (synpred7())) {
08651: s = 12;
08652: }
08653:
08654: else if ((LA52_53 == LEFT_PAREN) && (synpred7())) {
08655: s = 67;
08656: }
08657:
08658: input.seek(index52_53);
08659: if (s >= 0)
08660: return s;
08661: break;
08662: case 7:
08663: int LA52_7 = input.LA(1);
08664:
08665: int index52_7 = input.index();
08666: input.rewind();
08667: s = -1;
08668: if ((LA52_7 == LEFT_PAREN)) {
08669: s = 26;
08670: }
08671:
08672: else if ((LA52_7 == ID)) {
08673: s = 27;
08674: }
08675:
08676: else if ((LA52_7 == RIGHT_PAREN) && (synpred7())) {
08677: s = 13;
08678: }
08679:
08680: else if (((LA52_7 >= PACKAGE && LA52_7 <= FUNCTION)
08681: || (LA52_7 >= DOT && LA52_7 <= GLOBAL)
08682: || LA52_7 == COMMA || (LA52_7 >= QUERY && LA52_7 <= 80))
08683: && (synpred7())) {
08684: s = 12;
08685: }
08686:
08687: input.seek(index52_7);
08688: if (s >= 0)
08689: return s;
08690: break;
08691: case 8:
08692: int LA52_54 = input.LA(1);
08693:
08694: int index52_54 = input.index();
08695: input.rewind();
08696: s = -1;
08697: if ((synpred7())) {
08698: s = 67;
08699: }
08700:
08701: else if ((true)) {
08702: s = 3;
08703: }
08704:
08705: input.seek(index52_54);
08706: if (s >= 0)
08707: return s;
08708: break;
08709: case 9:
08710: int LA52_8 = input.LA(1);
08711:
08712: int index52_8 = input.index();
08713: input.rewind();
08714: s = -1;
08715: if ((LA52_8 == LEFT_PAREN)) {
08716: s = 28;
08717: }
08718:
08719: else if ((LA52_8 == ID)) {
08720: s = 29;
08721: }
08722:
08723: else if ((LA52_8 == RIGHT_PAREN) && (synpred7())) {
08724: s = 13;
08725: }
08726:
08727: else if (((LA52_8 >= PACKAGE && LA52_8 <= FUNCTION)
08728: || (LA52_8 >= DOT && LA52_8 <= GLOBAL)
08729: || LA52_8 == COMMA || (LA52_8 >= QUERY && LA52_8 <= 80))
08730: && (synpred7())) {
08731: s = 12;
08732: }
08733:
08734: input.seek(index52_8);
08735: if (s >= 0)
08736: return s;
08737: break;
08738: case 10:
08739: int LA52_20 = input.LA(1);
08740:
08741: int index52_20 = input.index();
08742: input.rewind();
08743: s = -1;
08744: if ((synpred7())) {
08745: s = 13;
08746: }
08747:
08748: else if ((true)) {
08749: s = 3;
08750: }
08751:
08752: input.seek(index52_20);
08753: if (s >= 0)
08754: return s;
08755: break;
08756: case 11:
08757: int LA52_5 = input.LA(1);
08758:
08759: int index52_5 = input.index();
08760: input.rewind();
08761: s = -1;
08762: if ((LA52_5 == LEFT_PAREN)) {
08763: s = 20;
08764: }
08765:
08766: else if ((LA52_5 == EXISTS)) {
08767: s = 21;
08768: }
08769:
08770: else if ((LA52_5 == NOT)) {
08771: s = 22;
08772: }
08773:
08774: else if ((LA52_5 == EVAL)) {
08775: s = 23;
08776: }
08777:
08778: else if ((LA52_5 == FORALL)) {
08779: s = 24;
08780: }
08781:
08782: else if ((LA52_5 == ID)) {
08783: s = 25;
08784: }
08785:
08786: else if ((LA52_5 == RIGHT_PAREN) && (synpred7())) {
08787: s = 13;
08788: }
08789:
08790: else if (((LA52_5 >= PACKAGE && LA52_5 <= FUNCTION)
08791: || (LA52_5 >= DOT && LA52_5 <= GLOBAL)
08792: || LA52_5 == COMMA
08793: || (LA52_5 >= QUERY && LA52_5 <= FROM) || (LA52_5 >= ACCUMULATE && LA52_5 <= 80))
08794: && (synpred7())) {
08795: s = 12;
08796: }
08797:
08798: input.seek(index52_5);
08799: if (s >= 0)
08800: return s;
08801: break;
08802: case 12:
08803: int LA52_45 = input.LA(1);
08804:
08805: int index52_45 = input.index();
08806: input.rewind();
08807: s = -1;
08808: if ((synpred7())) {
08809: s = 67;
08810: }
08811:
08812: else if ((true)) {
08813: s = 3;
08814: }
08815:
08816: input.seek(index52_45);
08817: if (s >= 0)
08818: return s;
08819: break;
08820: case 13:
08821: int LA52_24 = input.LA(1);
08822:
08823: int index52_24 = input.index();
08824: input.rewind();
08825: s = -1;
08826: if ((LA52_24 == LEFT_PAREN)) {
08827: s = 51;
08828: }
08829:
08830: else if ((LA52_24 == RIGHT_PAREN) && (synpred7())) {
08831: s = 13;
08832: }
08833:
08834: else if (((LA52_24 >= PACKAGE && LA52_24 <= GLOBAL)
08835: || LA52_24 == COMMA || (LA52_24 >= QUERY && LA52_24 <= 80))
08836: && (synpred7())) {
08837: s = 12;
08838: }
08839:
08840: input.seek(index52_24);
08841: if (s >= 0)
08842: return s;
08843: break;
08844: case 14:
08845: int LA52_41 = input.LA(1);
08846:
08847: int index52_41 = input.index();
08848: input.rewind();
08849: s = -1;
08850: if ((synpred7())) {
08851: s = 67;
08852: }
08853:
08854: else if ((true)) {
08855: s = 3;
08856: }
08857:
08858: input.seek(index52_41);
08859: if (s >= 0)
08860: return s;
08861: break;
08862: case 15:
08863: int LA52_4 = input.LA(1);
08864:
08865: int index52_4 = input.index();
08866: input.rewind();
08867: s = -1;
08868: if ((LA52_4 == EXISTS)) {
08869: s = 14;
08870: }
08871:
08872: else if ((LA52_4 == NOT)) {
08873: s = 15;
08874: }
08875:
08876: else if ((LA52_4 == EVAL)) {
08877: s = 16;
08878: }
08879:
08880: else if ((LA52_4 == FORALL)) {
08881: s = 17;
08882: }
08883:
08884: else if ((LA52_4 == LEFT_PAREN)) {
08885: s = 18;
08886: }
08887:
08888: else if ((LA52_4 == ID)) {
08889: s = 19;
08890: }
08891:
08892: else if ((LA52_4 == RIGHT_PAREN) && (synpred7())) {
08893: s = 13;
08894: }
08895:
08896: else if (((LA52_4 >= PACKAGE && LA52_4 <= FUNCTION)
08897: || (LA52_4 >= DOT && LA52_4 <= GLOBAL)
08898: || LA52_4 == COMMA
08899: || (LA52_4 >= QUERY && LA52_4 <= FROM) || (LA52_4 >= ACCUMULATE && LA52_4 <= 80))
08900: && (synpred7())) {
08901: s = 12;
08902: }
08903:
08904: input.seek(index52_4);
08905: if (s >= 0)
08906: return s;
08907: break;
08908: case 16:
08909: int LA52_9 = input.LA(1);
08910:
08911: int index52_9 = input.index();
08912: input.rewind();
08913: s = -1;
08914: if ((LA52_9 == LEFT_PAREN)) {
08915: s = 30;
08916: }
08917:
08918: else if ((LA52_9 == RIGHT_PAREN) && (synpred7())) {
08919: s = 13;
08920: }
08921:
08922: else if (((LA52_9 >= PACKAGE && LA52_9 <= GLOBAL)
08923: || LA52_9 == COMMA || (LA52_9 >= QUERY && LA52_9 <= 80))
08924: && (synpred7())) {
08925: s = 12;
08926: }
08927:
08928: input.seek(index52_9);
08929: if (s >= 0)
08930: return s;
08931: break;
08932: case 17:
08933: int LA52_65 = input.LA(1);
08934:
08935: int index52_65 = input.index();
08936: input.rewind();
08937: s = -1;
08938: if ((synpred7())) {
08939: s = 67;
08940: }
08941:
08942: else if ((true)) {
08943: s = 3;
08944: }
08945:
08946: input.seek(index52_65);
08947: if (s >= 0)
08948: return s;
08949: break;
08950: case 18:
08951: int LA52_21 = input.LA(1);
08952:
08953: int index52_21 = input.index();
08954: input.rewind();
08955: s = -1;
08956: if ((LA52_21 == LEFT_PAREN)) {
08957: s = 46;
08958: }
08959:
08960: else if ((LA52_21 == ID)) {
08961: s = 47;
08962: }
08963:
08964: else if ((LA52_21 == RIGHT_PAREN) && (synpred7())) {
08965: s = 13;
08966: }
08967:
08968: else if (((LA52_21 >= PACKAGE && LA52_21 <= FUNCTION)
08969: || (LA52_21 >= DOT && LA52_21 <= GLOBAL)
08970: || LA52_21 == COMMA || (LA52_21 >= QUERY && LA52_21 <= 80))
08971: && (synpred7())) {
08972: s = 12;
08973: }
08974:
08975: input.seek(index52_21);
08976: if (s >= 0)
08977: return s;
08978: break;
08979: case 19:
08980: int LA52_15 = input.LA(1);
08981:
08982: int index52_15 = input.index();
08983: input.rewind();
08984: s = -1;
08985: if ((LA52_15 == RIGHT_PAREN) && (synpred7())) {
08986: s = 13;
08987: }
08988:
08989: else if ((LA52_15 == ID)) {
08990: s = 38;
08991: }
08992:
08993: else if ((LA52_15 == LEFT_PAREN)) {
08994: s = 39;
08995: }
08996:
08997: else if (((LA52_15 >= PACKAGE && LA52_15 <= FUNCTION)
08998: || (LA52_15 >= DOT && LA52_15 <= GLOBAL)
08999: || LA52_15 == COMMA || (LA52_15 >= QUERY && LA52_15 <= 80))
09000: && (synpred7())) {
09001: s = 12;
09002: }
09003:
09004: input.seek(index52_15);
09005: if (s >= 0)
09006: return s;
09007: break;
09008: case 20:
09009: int LA52_6 = input.LA(1);
09010:
09011: int index52_6 = input.index();
09012: input.rewind();
09013: s = -1;
09014: if ((synpred7())) {
09015: s = 13;
09016: }
09017:
09018: else if ((true)) {
09019: s = 3;
09020: }
09021:
09022: input.seek(index52_6);
09023: if (s >= 0)
09024: return s;
09025: break;
09026: case 21:
09027: int LA52_44 = input.LA(1);
09028:
09029: int index52_44 = input.index();
09030: input.rewind();
09031: s = -1;
09032: if ((LA52_44 == RIGHT_SQUARE)) {
09033: s = 80;
09034: }
09035:
09036: else if ((LA52_44 == RIGHT_PAREN) && (synpred7())) {
09037: s = 13;
09038: }
09039:
09040: else if (((LA52_44 >= PACKAGE && LA52_44 <= GLOBAL)
09041: || LA52_44 == COMMA
09042: || (LA52_44 >= QUERY && LA52_44 <= LEFT_SQUARE) || (LA52_44 >= THEN && LA52_44 <= 80))
09043: && (synpred7())) {
09044: s = 12;
09045: }
09046:
09047: else if ((LA52_44 == LEFT_PAREN) && (synpred7())) {
09048: s = 67;
09049: }
09050:
09051: input.seek(index52_44);
09052: if (s >= 0)
09053: return s;
09054: break;
09055: case 22:
09056: int LA52_52 = input.LA(1);
09057:
09058: int index52_52 = input.index();
09059: input.rewind();
09060: s = -1;
09061: if ((LA52_52 == RIGHT_PAREN) && (synpred7())) {
09062: s = 13;
09063: }
09064:
09065: else if ((LA52_52 == ID)) {
09066: s = 89;
09067: }
09068:
09069: else if ((LA52_52 == LEFT_PAREN)) {
09070: s = 90;
09071: }
09072:
09073: else if (((LA52_52 >= PACKAGE && LA52_52 <= FUNCTION)
09074: || (LA52_52 >= DOT && LA52_52 <= GLOBAL)
09075: || LA52_52 == COMMA || (LA52_52 >= QUERY && LA52_52 <= 80))
09076: && (synpred7())) {
09077: s = 12;
09078: }
09079:
09080: input.seek(index52_52);
09081: if (s >= 0)
09082: return s;
09083: break;
09084: case 23:
09085: int LA52_64 = input.LA(1);
09086:
09087: int index52_64 = input.index();
09088: input.rewind();
09089: s = -1;
09090: if ((LA52_64 == DOT)) {
09091: s = 101;
09092: }
09093:
09094: else if ((LA52_64 == LEFT_SQUARE)) {
09095: s = 102;
09096: }
09097:
09098: else if ((LA52_64 == LEFT_PAREN)) {
09099: s = 103;
09100: }
09101:
09102: else if ((LA52_64 == RIGHT_PAREN) && (synpred7())) {
09103: s = 13;
09104: }
09105:
09106: else if (((LA52_64 >= PACKAGE && LA52_64 <= ID)
09107: || LA52_64 == GLOBAL || LA52_64 == COMMA
09108: || (LA52_64 >= QUERY && LA52_64 <= RIGHT_CURLY) || (LA52_64 >= RIGHT_SQUARE && LA52_64 <= 80))
09109: && (synpred7())) {
09110: s = 12;
09111: }
09112:
09113: input.seek(index52_64);
09114: if (s >= 0)
09115: return s;
09116: break;
09117: case 24:
09118: int LA52_29 = input.LA(1);
09119:
09120: int index52_29 = input.index();
09121: input.rewind();
09122: s = -1;
09123: if ((LA52_29 == 73)) {
09124: s = 60;
09125: }
09126:
09127: else if ((LA52_29 == DOT)) {
09128: s = 61;
09129: }
09130:
09131: else if ((LA52_29 == LEFT_SQUARE)) {
09132: s = 62;
09133: }
09134:
09135: else if ((LA52_29 == LEFT_PAREN)) {
09136: s = 63;
09137: }
09138:
09139: else if ((LA52_29 == RIGHT_PAREN) && (synpred7())) {
09140: s = 13;
09141: }
09142:
09143: else if (((LA52_29 >= PACKAGE && LA52_29 <= ID)
09144: || LA52_29 == GLOBAL || LA52_29 == COMMA
09145: || (LA52_29 >= QUERY && LA52_29 <= RIGHT_CURLY)
09146: || (LA52_29 >= RIGHT_SQUARE && LA52_29 <= 72) || (LA52_29 >= 74 && LA52_29 <= 80))
09147: && (synpred7())) {
09148: s = 12;
09149: }
09150:
09151: input.seek(index52_29);
09152: if (s >= 0)
09153: return s;
09154: break;
09155: case 25:
09156: int LA52_27 = input.LA(1);
09157:
09158: int index52_27 = input.index();
09159: input.rewind();
09160: s = -1;
09161: if ((LA52_27 == 73)) {
09162: s = 56;
09163: }
09164:
09165: else if ((LA52_27 == DOT)) {
09166: s = 57;
09167: }
09168:
09169: else if ((LA52_27 == LEFT_SQUARE)) {
09170: s = 58;
09171: }
09172:
09173: else if ((LA52_27 == LEFT_PAREN)) {
09174: s = 59;
09175: }
09176:
09177: else if ((LA52_27 == RIGHT_PAREN) && (synpred7())) {
09178: s = 13;
09179: }
09180:
09181: else if (((LA52_27 >= PACKAGE && LA52_27 <= ID)
09182: || LA52_27 == GLOBAL || LA52_27 == COMMA
09183: || (LA52_27 >= QUERY && LA52_27 <= RIGHT_CURLY)
09184: || (LA52_27 >= RIGHT_SQUARE && LA52_27 <= 72) || (LA52_27 >= 74 && LA52_27 <= 80))
09185: && (synpred7())) {
09186: s = 12;
09187: }
09188:
09189: input.seek(index52_27);
09190: if (s >= 0)
09191: return s;
09192: break;
09193: case 26:
09194: int LA52_11 = input.LA(1);
09195:
09196: int index52_11 = input.index();
09197: input.rewind();
09198: s = -1;
09199: if ((LA52_11 == 73)) {
09200: s = 32;
09201: }
09202:
09203: else if ((LA52_11 == DOT)) {
09204: s = 33;
09205: }
09206:
09207: else if ((LA52_11 == LEFT_SQUARE)) {
09208: s = 34;
09209: }
09210:
09211: else if ((LA52_11 == LEFT_PAREN)) {
09212: s = 35;
09213: }
09214:
09215: else if ((LA52_11 == RIGHT_PAREN) && (synpred7())) {
09216: s = 13;
09217: }
09218:
09219: else if (((LA52_11 >= PACKAGE && LA52_11 <= ID)
09220: || LA52_11 == GLOBAL || LA52_11 == COMMA
09221: || (LA52_11 >= QUERY && LA52_11 <= RIGHT_CURLY)
09222: || (LA52_11 >= RIGHT_SQUARE && LA52_11 <= 72) || (LA52_11 >= 74 && LA52_11 <= 80))
09223: && (synpred7())) {
09224: s = 12;
09225: }
09226:
09227: input.seek(index52_11);
09228: if (s >= 0)
09229: return s;
09230: break;
09231: case 27:
09232: int LA52_66 = input.LA(1);
09233:
09234: int index52_66 = input.index();
09235: input.rewind();
09236: s = -1;
09237: if ((LA52_66 == LEFT_SQUARE)) {
09238: s = 34;
09239: }
09240:
09241: else if ((LA52_66 == LEFT_PAREN)) {
09242: s = 35;
09243: }
09244:
09245: else if ((LA52_66 == DOT)) {
09246: s = 33;
09247: }
09248:
09249: else if ((LA52_66 == RIGHT_PAREN) && (synpred7())) {
09250: s = 13;
09251: }
09252:
09253: else if (((LA52_66 >= PACKAGE && LA52_66 <= ID)
09254: || LA52_66 == GLOBAL || LA52_66 == COMMA
09255: || (LA52_66 >= QUERY && LA52_66 <= RIGHT_CURLY) || (LA52_66 >= RIGHT_SQUARE && LA52_66 <= 80))
09256: && (synpred7())) {
09257: s = 12;
09258: }
09259:
09260: input.seek(index52_66);
09261: if (s >= 0)
09262: return s;
09263: break;
09264: case 28:
09265: int LA52_28 = input.LA(1);
09266:
09267: int index52_28 = input.index();
09268: input.rewind();
09269: s = -1;
09270: if ((synpred7())) {
09271: s = 13;
09272: }
09273:
09274: else if ((true)) {
09275: s = 3;
09276: }
09277:
09278: input.seek(index52_28);
09279: if (s >= 0)
09280: return s;
09281: break;
09282: case 29:
09283: int LA52_16 = input.LA(1);
09284:
09285: int index52_16 = input.index();
09286: input.rewind();
09287: s = -1;
09288: if ((LA52_16 == LEFT_PAREN)) {
09289: s = 40;
09290: }
09291:
09292: else if ((LA52_16 == RIGHT_PAREN) && (synpred7())) {
09293: s = 13;
09294: }
09295:
09296: else if (((LA52_16 >= PACKAGE && LA52_16 <= GLOBAL)
09297: || LA52_16 == COMMA || (LA52_16 >= QUERY && LA52_16 <= 80))
09298: && (synpred7())) {
09299: s = 12;
09300: }
09301:
09302: input.seek(index52_16);
09303: if (s >= 0)
09304: return s;
09305: break;
09306: case 30:
09307: int LA52_39 = input.LA(1);
09308:
09309: int index52_39 = input.index();
09310: input.rewind();
09311: s = -1;
09312: if ((synpred7())) {
09313: s = 67;
09314: }
09315:
09316: else if ((true)) {
09317: s = 3;
09318: }
09319:
09320: input.seek(index52_39);
09321: if (s >= 0)
09322: return s;
09323: break;
09324: case 31:
09325: int LA52_38 = input.LA(1);
09326:
09327: int index52_38 = input.index();
09328: input.rewind();
09329: s = -1;
09330: if ((LA52_38 == 73)) {
09331: s = 73;
09332: }
09333:
09334: else if ((LA52_38 == DOT)) {
09335: s = 74;
09336: }
09337:
09338: else if ((LA52_38 == LEFT_SQUARE)) {
09339: s = 75;
09340: }
09341:
09342: else if ((LA52_38 == LEFT_PAREN)) {
09343: s = 76;
09344: }
09345:
09346: else if ((LA52_38 == RIGHT_PAREN) && (synpred7())) {
09347: s = 13;
09348: }
09349:
09350: else if (((LA52_38 >= PACKAGE && LA52_38 <= ID)
09351: || LA52_38 == GLOBAL || LA52_38 == COMMA
09352: || (LA52_38 >= QUERY && LA52_38 <= RIGHT_CURLY)
09353: || (LA52_38 >= RIGHT_SQUARE && LA52_38 <= 72) || (LA52_38 >= 74 && LA52_38 <= 80))
09354: && (synpred7())) {
09355: s = 12;
09356: }
09357:
09358: input.seek(index52_38);
09359: if (s >= 0)
09360: return s;
09361: break;
09362: case 32:
09363: int LA52_37 = input.LA(1);
09364:
09365: int index52_37 = input.index();
09366: input.rewind();
09367: s = -1;
09368: if ((LA52_37 == 73)) {
09369: s = 69;
09370: }
09371:
09372: else if ((LA52_37 == DOT)) {
09373: s = 70;
09374: }
09375:
09376: else if ((LA52_37 == LEFT_SQUARE)) {
09377: s = 71;
09378: }
09379:
09380: else if ((LA52_37 == LEFT_PAREN)) {
09381: s = 72;
09382: }
09383:
09384: else if ((LA52_37 == RIGHT_PAREN) && (synpred7())) {
09385: s = 13;
09386: }
09387:
09388: else if (((LA52_37 >= PACKAGE && LA52_37 <= ID)
09389: || LA52_37 == GLOBAL || LA52_37 == COMMA
09390: || (LA52_37 >= QUERY && LA52_37 <= RIGHT_CURLY)
09391: || (LA52_37 >= RIGHT_SQUARE && LA52_37 <= 72) || (LA52_37 >= 74 && LA52_37 <= 80))
09392: && (synpred7())) {
09393: s = 12;
09394: }
09395:
09396: input.seek(index52_37);
09397: if (s >= 0)
09398: return s;
09399: break;
09400: case 33:
09401: int LA52_19 = input.LA(1);
09402:
09403: int index52_19 = input.index();
09404: input.rewind();
09405: s = -1;
09406: if ((LA52_19 == 73)) {
09407: s = 42;
09408: }
09409:
09410: else if ((LA52_19 == DOT)) {
09411: s = 43;
09412: }
09413:
09414: else if ((LA52_19 == LEFT_SQUARE)) {
09415: s = 44;
09416: }
09417:
09418: else if ((LA52_19 == LEFT_PAREN)) {
09419: s = 45;
09420: }
09421:
09422: else if ((LA52_19 == RIGHT_PAREN) && (synpred7())) {
09423: s = 13;
09424: }
09425:
09426: else if (((LA52_19 >= PACKAGE && LA52_19 <= ID)
09427: || LA52_19 == GLOBAL || LA52_19 == COMMA
09428: || (LA52_19 >= QUERY && LA52_19 <= RIGHT_CURLY)
09429: || (LA52_19 >= RIGHT_SQUARE && LA52_19 <= 72) || (LA52_19 >= 74 && LA52_19 <= 80))
09430: && (synpred7())) {
09431: s = 12;
09432: }
09433:
09434: input.seek(index52_19);
09435: if (s >= 0)
09436: return s;
09437: break;
09438: case 34:
09439: int LA52_59 = input.LA(1);
09440:
09441: int index52_59 = input.index();
09442: input.rewind();
09443: s = -1;
09444: if ((synpred7())) {
09445: s = 67;
09446: }
09447:
09448: else if ((true)) {
09449: s = 3;
09450: }
09451:
09452: input.seek(index52_59);
09453: if (s >= 0)
09454: return s;
09455: break;
09456: case 35:
09457: int LA52_63 = input.LA(1);
09458:
09459: int index52_63 = input.index();
09460: input.rewind();
09461: s = -1;
09462: if ((synpred7())) {
09463: s = 67;
09464: }
09465:
09466: else if ((true)) {
09467: s = 3;
09468: }
09469:
09470: input.seek(index52_63);
09471: if (s >= 0)
09472: return s;
09473: break;
09474: case 36:
09475: int LA52_18 = input.LA(1);
09476:
09477: int index52_18 = input.index();
09478: input.rewind();
09479: s = -1;
09480: if ((synpred7())) {
09481: s = 13;
09482: }
09483:
09484: else if ((true)) {
09485: s = 3;
09486: }
09487:
09488: input.seek(index52_18);
09489: if (s >= 0)
09490: return s;
09491: break;
09492: case 37:
09493: int LA52_36 = input.LA(1);
09494:
09495: int index52_36 = input.index();
09496: input.rewind();
09497: s = -1;
09498: if ((synpred7())) {
09499: s = 67;
09500: }
09501:
09502: else if ((true)) {
09503: s = 3;
09504: }
09505:
09506: input.seek(index52_36);
09507: if (s >= 0)
09508: return s;
09509: break;
09510: case 38:
09511: int LA52_26 = input.LA(1);
09512:
09513: int index52_26 = input.index();
09514: input.rewind();
09515: s = -1;
09516: if ((synpred7())) {
09517: s = 13;
09518: }
09519:
09520: else if ((true)) {
09521: s = 3;
09522: }
09523:
09524: input.seek(index52_26);
09525: if (s >= 0)
09526: return s;
09527: break;
09528: case 39:
09529: int LA52_40 = input.LA(1);
09530:
09531: int index52_40 = input.index();
09532: input.rewind();
09533: s = -1;
09534: if ((synpred7())) {
09535: s = 67;
09536: }
09537:
09538: else if ((true)) {
09539: s = 3;
09540: }
09541:
09542: input.seek(index52_40);
09543: if (s >= 0)
09544: return s;
09545: break;
09546: case 40:
09547: int LA52_55 = input.LA(1);
09548:
09549: int index52_55 = input.index();
09550: input.rewind();
09551: s = -1;
09552: if ((LA52_55 == RIGHT_SQUARE)) {
09553: s = 92;
09554: }
09555:
09556: else if ((LA52_55 == RIGHT_PAREN) && (synpred7())) {
09557: s = 13;
09558: }
09559:
09560: else if (((LA52_55 >= PACKAGE && LA52_55 <= GLOBAL)
09561: || LA52_55 == COMMA
09562: || (LA52_55 >= QUERY && LA52_55 <= LEFT_SQUARE) || (LA52_55 >= THEN && LA52_55 <= 80))
09563: && (synpred7())) {
09564: s = 12;
09565: }
09566:
09567: else if ((LA52_55 == LEFT_PAREN) && (synpred7())) {
09568: s = 67;
09569: }
09570:
09571: input.seek(index52_55);
09572: if (s >= 0)
09573: return s;
09574: break;
09575: case 41:
09576: int LA52_48 = input.LA(1);
09577:
09578: int index52_48 = input.index();
09579: input.rewind();
09580: s = -1;
09581: if ((LA52_48 == 73)) {
09582: s = 85;
09583: }
09584:
09585: else if ((LA52_48 == RIGHT_PAREN) && (synpred7())) {
09586: s = 13;
09587: }
09588:
09589: else if ((LA52_48 == DOT)) {
09590: s = 86;
09591: }
09592:
09593: else if ((LA52_48 == LEFT_PAREN)) {
09594: s = 87;
09595: }
09596:
09597: else if ((LA52_48 == LEFT_SQUARE)) {
09598: s = 88;
09599: }
09600:
09601: else if (((LA52_48 >= PACKAGE && LA52_48 <= ID)
09602: || LA52_48 == GLOBAL || LA52_48 == COMMA
09603: || (LA52_48 >= QUERY && LA52_48 <= RIGHT_CURLY)
09604: || (LA52_48 >= RIGHT_SQUARE && LA52_48 <= 72) || (LA52_48 >= 74 && LA52_48 <= 80))
09605: && (synpred7())) {
09606: s = 12;
09607: }
09608:
09609: input.seek(index52_48);
09610: if (s >= 0)
09611: return s;
09612: break;
09613: case 42:
09614: int LA52_47 = input.LA(1);
09615:
09616: int index52_47 = input.index();
09617: input.rewind();
09618: s = -1;
09619: if ((LA52_47 == 73)) {
09620: s = 81;
09621: }
09622:
09623: else if ((LA52_47 == DOT)) {
09624: s = 82;
09625: }
09626:
09627: else if ((LA52_47 == LEFT_SQUARE)) {
09628: s = 83;
09629: }
09630:
09631: else if ((LA52_47 == LEFT_PAREN)) {
09632: s = 84;
09633: }
09634:
09635: else if ((LA52_47 == RIGHT_PAREN) && (synpred7())) {
09636: s = 13;
09637: }
09638:
09639: else if (((LA52_47 >= PACKAGE && LA52_47 <= ID)
09640: || LA52_47 == GLOBAL || LA52_47 == COMMA
09641: || (LA52_47 >= QUERY && LA52_47 <= RIGHT_CURLY)
09642: || (LA52_47 >= RIGHT_SQUARE && LA52_47 <= 72) || (LA52_47 >= 74 && LA52_47 <= 80))
09643: && (synpred7())) {
09644: s = 12;
09645: }
09646:
09647: input.seek(index52_47);
09648: if (s >= 0)
09649: return s;
09650: break;
09651: case 43:
09652: int LA52_35 = input.LA(1);
09653:
09654: int index52_35 = input.index();
09655: input.rewind();
09656: s = -1;
09657: if ((synpred7())) {
09658: s = 67;
09659: }
09660:
09661: else if ((true)) {
09662: s = 3;
09663: }
09664:
09665: input.seek(index52_35);
09666: if (s >= 0)
09667: return s;
09668: break;
09669: case 44:
09670: int LA52_25 = input.LA(1);
09671:
09672: int index52_25 = input.index();
09673: input.rewind();
09674: s = -1;
09675: if ((LA52_25 == 73)) {
09676: s = 52;
09677: }
09678:
09679: else if ((LA52_25 == RIGHT_PAREN) && (synpred7())) {
09680: s = 13;
09681: }
09682:
09683: else if ((LA52_25 == DOT)) {
09684: s = 53;
09685: }
09686:
09687: else if ((LA52_25 == LEFT_PAREN)) {
09688: s = 54;
09689: }
09690:
09691: else if ((LA52_25 == LEFT_SQUARE)) {
09692: s = 55;
09693: }
09694:
09695: else if (((LA52_25 >= PACKAGE && LA52_25 <= ID)
09696: || LA52_25 == GLOBAL || LA52_25 == COMMA
09697: || (LA52_25 >= QUERY && LA52_25 <= RIGHT_CURLY)
09698: || (LA52_25 >= RIGHT_SQUARE && LA52_25 <= 72) || (LA52_25 >= 74 && LA52_25 <= 80))
09699: && (synpred7())) {
09700: s = 12;
09701: }
09702:
09703: input.seek(index52_25);
09704: if (s >= 0)
09705: return s;
09706: break;
09707: case 45:
09708: int LA52_30 = input.LA(1);
09709:
09710: int index52_30 = input.index();
09711: input.rewind();
09712: s = -1;
09713: if ((synpred7())) {
09714: s = 13;
09715: }
09716:
09717: else if ((true)) {
09718: s = 3;
09719: }
09720:
09721: input.seek(index52_30);
09722: if (s >= 0)
09723: return s;
09724: break;
09725: case 46:
09726: int LA52_0 = input.LA(1);
09727:
09728: int index52_0 = input.index();
09729: input.rewind();
09730: s = -1;
09731: if ((LA52_0 == LEFT_SQUARE) && (synpred6())) {
09732: s = 1;
09733: }
09734:
09735: else if ((LA52_0 == LEFT_PAREN)) {
09736: s = 2;
09737: }
09738:
09739: else if (((LA52_0 >= ID && LA52_0 <= DOT)
09740: || (LA52_0 >= COMMA && LA52_0 <= RIGHT_PAREN)
09741: || LA52_0 == END
09742: || (LA52_0 >= OR && LA52_0 <= DOUBLE_AMPER)
09743: || (LA52_0 >= EXISTS && LA52_0 <= FORALL)
09744: || LA52_0 == INIT || LA52_0 == THEN || LA52_0 == 71)) {
09745: s = 3;
09746: }
09747:
09748: input.seek(index52_0);
09749: if (s >= 0)
09750: return s;
09751: break;
09752: case 47:
09753: int LA52_49 = input.LA(1);
09754:
09755: int index52_49 = input.index();
09756: input.rewind();
09757: s = -1;
09758: if ((synpred7())) {
09759: s = 67;
09760: }
09761:
09762: else if ((true)) {
09763: s = 3;
09764: }
09765:
09766: input.seek(index52_49);
09767: if (s >= 0)
09768: return s;
09769: break;
09770: case 48:
09771: int LA52_42 = input.LA(1);
09772:
09773: int index52_42 = input.index();
09774: input.rewind();
09775: s = -1;
09776: if ((LA52_42 == ID)) {
09777: s = 77;
09778: }
09779:
09780: else if ((LA52_42 == LEFT_PAREN)) {
09781: s = 78;
09782: }
09783:
09784: else if ((LA52_42 == RIGHT_PAREN) && (synpred7())) {
09785: s = 13;
09786: }
09787:
09788: else if (((LA52_42 >= PACKAGE && LA52_42 <= FUNCTION)
09789: || (LA52_42 >= DOT && LA52_42 <= GLOBAL)
09790: || LA52_42 == COMMA || (LA52_42 >= QUERY && LA52_42 <= 80))
09791: && (synpred7())) {
09792: s = 12;
09793: }
09794:
09795: input.seek(index52_42);
09796: if (s >= 0)
09797: return s;
09798: break;
09799: case 49:
09800: int LA52_31 = input.LA(1);
09801:
09802: int index52_31 = input.index();
09803: input.rewind();
09804: s = -1;
09805: if ((synpred7())) {
09806: s = 13;
09807: }
09808:
09809: else if ((true)) {
09810: s = 3;
09811: }
09812:
09813: input.seek(index52_31);
09814: if (s >= 0)
09815: return s;
09816: break;
09817: case 50:
09818: int LA52_46 = input.LA(1);
09819:
09820: int index52_46 = input.index();
09821: input.rewind();
09822: s = -1;
09823: if ((synpred7())) {
09824: s = 67;
09825: }
09826:
09827: else if ((true)) {
09828: s = 3;
09829: }
09830:
09831: input.seek(index52_46);
09832: if (s >= 0)
09833: return s;
09834: break;
09835: case 51:
09836: int LA52_34 = input.LA(1);
09837:
09838: int index52_34 = input.index();
09839: input.rewind();
09840: s = -1;
09841: if ((LA52_34 == RIGHT_SQUARE)) {
09842: s = 68;
09843: }
09844:
09845: else if ((LA52_34 == RIGHT_PAREN) && (synpred7())) {
09846: s = 13;
09847: }
09848:
09849: else if (((LA52_34 >= PACKAGE && LA52_34 <= GLOBAL)
09850: || LA52_34 == COMMA
09851: || (LA52_34 >= QUERY && LA52_34 <= LEFT_SQUARE) || (LA52_34 >= THEN && LA52_34 <= 80))
09852: && (synpred7())) {
09853: s = 12;
09854: }
09855:
09856: else if ((LA52_34 == LEFT_PAREN) && (synpred7())) {
09857: s = 67;
09858: }
09859:
09860: input.seek(index52_34);
09861: if (s >= 0)
09862: return s;
09863: break;
09864: case 52:
09865: int LA52_58 = input.LA(1);
09866:
09867: int index52_58 = input.index();
09868: input.rewind();
09869: s = -1;
09870: if ((LA52_58 == RIGHT_SQUARE)) {
09871: s = 96;
09872: }
09873:
09874: else if ((LA52_58 == RIGHT_PAREN) && (synpred7())) {
09875: s = 13;
09876: }
09877:
09878: else if (((LA52_58 >= PACKAGE && LA52_58 <= GLOBAL)
09879: || LA52_58 == COMMA
09880: || (LA52_58 >= QUERY && LA52_58 <= LEFT_SQUARE) || (LA52_58 >= THEN && LA52_58 <= 80))
09881: && (synpred7())) {
09882: s = 12;
09883: }
09884:
09885: else if ((LA52_58 == LEFT_PAREN) && (synpred7())) {
09886: s = 67;
09887: }
09888:
09889: input.seek(index52_58);
09890: if (s >= 0)
09891: return s;
09892: break;
09893: case 53:
09894: int LA52_62 = input.LA(1);
09895:
09896: int index52_62 = input.index();
09897: input.rewind();
09898: s = -1;
09899: if ((LA52_62 == RIGHT_SQUARE)) {
09900: s = 100;
09901: }
09902:
09903: else if ((LA52_62 == RIGHT_PAREN) && (synpred7())) {
09904: s = 13;
09905: }
09906:
09907: else if (((LA52_62 >= PACKAGE && LA52_62 <= GLOBAL)
09908: || LA52_62 == COMMA
09909: || (LA52_62 >= QUERY && LA52_62 <= LEFT_SQUARE) || (LA52_62 >= THEN && LA52_62 <= 80))
09910: && (synpred7())) {
09911: s = 12;
09912: }
09913:
09914: else if ((LA52_62 == LEFT_PAREN) && (synpred7())) {
09915: s = 67;
09916: }
09917:
09918: input.seek(index52_62);
09919: if (s >= 0)
09920: return s;
09921: break;
09922: case 54:
09923: int LA52_10 = input.LA(1);
09924:
09925: int index52_10 = input.index();
09926: input.rewind();
09927: s = -1;
09928: if ((LA52_10 == LEFT_PAREN)) {
09929: s = 31;
09930: }
09931:
09932: else if ((LA52_10 == RIGHT_PAREN) && (synpred7())) {
09933: s = 13;
09934: }
09935:
09936: else if (((LA52_10 >= PACKAGE && LA52_10 <= GLOBAL)
09937: || LA52_10 == COMMA || (LA52_10 >= QUERY && LA52_10 <= 80))
09938: && (synpred7())) {
09939: s = 12;
09940: }
09941:
09942: input.seek(index52_10);
09943: if (s >= 0)
09944: return s;
09945: break;
09946: case 55:
09947: int LA52_43 = input.LA(1);
09948:
09949: int index52_43 = input.index();
09950: input.rewind();
09951: s = -1;
09952: if (((LA52_43 >= PACKAGE && LA52_43 <= ID)
09953: || LA52_43 == GLOBAL
09954: || (LA52_43 >= QUERY && LA52_43 <= ATTRIBUTES)
09955: || LA52_43 == ENABLED || LA52_43 == SALIENCE
09956: || (LA52_43 >= DURATION && LA52_43 <= DIALECT)
09957: || LA52_43 == FROM
09958: || (LA52_43 >= INIT && LA52_43 <= RESULT)
09959: || (LA52_43 >= CONTAINS && LA52_43 <= IN) || LA52_43 == THEN)) {
09960: s = 79;
09961: }
09962:
09963: else if ((LA52_43 == RIGHT_PAREN) && (synpred7())) {
09964: s = 13;
09965: }
09966:
09967: else if ((LA52_43 == DOT
09968: || LA52_43 == COMMA
09969: || (LA52_43 >= DATE_EFFECTIVE && LA52_43 <= DATE_EXPIRES)
09970: || LA52_43 == BOOL
09971: || (LA52_43 >= INT && LA52_43 <= AGENDA_GROUP)
09972: || (LA52_43 >= LOCK_ON_ACTIVE && LA52_43 <= DOUBLE_AMPER)
09973: || (LA52_43 >= EXISTS && LA52_43 <= ACCUMULATE)
09974: || LA52_43 == COLLECT
09975: || (LA52_43 >= FLOAT && LA52_43 <= RIGHT_SQUARE) || (LA52_43 >= EOL && LA52_43 <= 80))
09976: && (synpred7())) {
09977: s = 12;
09978: }
09979:
09980: else if ((LA52_43 == LEFT_PAREN) && (synpred7())) {
09981: s = 67;
09982: }
09983:
09984: input.seek(index52_43);
09985: if (s >= 0)
09986: return s;
09987: break;
09988: case 56:
09989: int LA52_2 = input.LA(1);
09990:
09991: int index52_2 = input.index();
09992: input.rewind();
09993: s = -1;
09994: if ((LA52_2 == AND)) {
09995: s = 4;
09996: }
09997:
09998: else if ((LA52_2 == OR)) {
09999: s = 5;
10000: }
10001:
10002: else if ((LA52_2 == LEFT_PAREN)) {
10003: s = 6;
10004: }
10005:
10006: else if ((LA52_2 == EXISTS)) {
10007: s = 7;
10008: }
10009:
10010: else if ((LA52_2 == NOT)) {
10011: s = 8;
10012: }
10013:
10014: else if ((LA52_2 == EVAL)) {
10015: s = 9;
10016: }
10017:
10018: else if ((LA52_2 == FORALL)) {
10019: s = 10;
10020: }
10021:
10022: else if ((LA52_2 == ID)) {
10023: s = 11;
10024: }
10025:
10026: else if (((LA52_2 >= PACKAGE && LA52_2 <= FUNCTION)
10027: || (LA52_2 >= DOT && LA52_2 <= GLOBAL)
10028: || LA52_2 == COMMA
10029: || (LA52_2 >= QUERY && LA52_2 <= LOCK_ON_ACTIVE)
10030: || LA52_2 == DOUBLE_PIPE
10031: || (LA52_2 >= DOUBLE_AMPER && LA52_2 <= FROM) || (LA52_2 >= ACCUMULATE && LA52_2 <= 80))
10032: && (synpred7())) {
10033: s = 12;
10034: }
10035:
10036: else if ((LA52_2 == RIGHT_PAREN) && (synpred7())) {
10037: s = 13;
10038: }
10039:
10040: input.seek(index52_2);
10041: if (s >= 0)
10042: return s;
10043: break;
10044: case 57:
10045: int LA52_23 = input.LA(1);
10046:
10047: int index52_23 = input.index();
10048: input.rewind();
10049: s = -1;
10050: if ((LA52_23 == LEFT_PAREN)) {
10051: s = 50;
10052: }
10053:
10054: else if ((LA52_23 == RIGHT_PAREN) && (synpred7())) {
10055: s = 13;
10056: }
10057:
10058: else if (((LA52_23 >= PACKAGE && LA52_23 <= GLOBAL)
10059: || LA52_23 == COMMA || (LA52_23 >= QUERY && LA52_23 <= 80))
10060: && (synpred7())) {
10061: s = 12;
10062: }
10063:
10064: input.seek(index52_23);
10065: if (s >= 0)
10066: return s;
10067: break;
10068: case 58:
10069: int LA52_50 = input.LA(1);
10070:
10071: int index52_50 = input.index();
10072: input.rewind();
10073: s = -1;
10074: if ((synpred7())) {
10075: s = 67;
10076: }
10077:
10078: else if ((true)) {
10079: s = 3;
10080: }
10081:
10082: input.seek(index52_50);
10083: if (s >= 0)
10084: return s;
10085: break;
10086: case 59:
10087: int LA52_22 = input.LA(1);
10088:
10089: int index52_22 = input.index();
10090: input.rewind();
10091: s = -1;
10092: if ((LA52_22 == RIGHT_PAREN) && (synpred7())) {
10093: s = 13;
10094: }
10095:
10096: else if ((LA52_22 == ID)) {
10097: s = 48;
10098: }
10099:
10100: else if ((LA52_22 == LEFT_PAREN)) {
10101: s = 49;
10102: }
10103:
10104: else if (((LA52_22 >= PACKAGE && LA52_22 <= FUNCTION)
10105: || (LA52_22 >= DOT && LA52_22 <= GLOBAL)
10106: || LA52_22 == COMMA || (LA52_22 >= QUERY && LA52_22 <= 80))
10107: && (synpred7())) {
10108: s = 12;
10109: }
10110:
10111: input.seek(index52_22);
10112: if (s >= 0)
10113: return s;
10114: break;
10115: case 60:
10116: int LA52_32 = input.LA(1);
10117:
10118: int index52_32 = input.index();
10119: input.rewind();
10120: s = -1;
10121: if ((LA52_32 == ID)) {
10122: s = 64;
10123: }
10124:
10125: else if ((LA52_32 == LEFT_PAREN)) {
10126: s = 65;
10127: }
10128:
10129: else if ((LA52_32 == RIGHT_PAREN) && (synpred7())) {
10130: s = 13;
10131: }
10132:
10133: else if (((LA52_32 >= PACKAGE && LA52_32 <= FUNCTION)
10134: || (LA52_32 >= DOT && LA52_32 <= GLOBAL)
10135: || LA52_32 == COMMA || (LA52_32 >= QUERY && LA52_32 <= 80))
10136: && (synpred7())) {
10137: s = 12;
10138: }
10139:
10140: input.seek(index52_32);
10141: if (s >= 0)
10142: return s;
10143: break;
10144: case 61:
10145: int LA52_56 = input.LA(1);
10146:
10147: int index52_56 = input.index();
10148: input.rewind();
10149: s = -1;
10150: if ((LA52_56 == ID)) {
10151: s = 93;
10152: }
10153:
10154: else if ((LA52_56 == LEFT_PAREN)) {
10155: s = 94;
10156: }
10157:
10158: else if ((LA52_56 == RIGHT_PAREN) && (synpred7())) {
10159: s = 13;
10160: }
10161:
10162: else if (((LA52_56 >= PACKAGE && LA52_56 <= FUNCTION)
10163: || (LA52_56 >= DOT && LA52_56 <= GLOBAL)
10164: || LA52_56 == COMMA || (LA52_56 >= QUERY && LA52_56 <= 80))
10165: && (synpred7())) {
10166: s = 12;
10167: }
10168:
10169: input.seek(index52_56);
10170: if (s >= 0)
10171: return s;
10172: break;
10173: case 62:
10174: int LA52_60 = input.LA(1);
10175:
10176: int index52_60 = input.index();
10177: input.rewind();
10178: s = -1;
10179: if ((LA52_60 == ID)) {
10180: s = 97;
10181: }
10182:
10183: else if ((LA52_60 == LEFT_PAREN)) {
10184: s = 98;
10185: }
10186:
10187: else if ((LA52_60 == RIGHT_PAREN) && (synpred7())) {
10188: s = 13;
10189: }
10190:
10191: else if (((LA52_60 >= PACKAGE && LA52_60 <= FUNCTION)
10192: || (LA52_60 >= DOT && LA52_60 <= GLOBAL)
10193: || LA52_60 == COMMA || (LA52_60 >= QUERY && LA52_60 <= 80))
10194: && (synpred7())) {
10195: s = 12;
10196: }
10197:
10198: input.seek(index52_60);
10199: if (s >= 0)
10200: return s;
10201: break;
10202: }
10203: if (backtracking > 0) {
10204: failed = true;
10205: return -1;
10206: }
10207: NoViableAltException nvae = new NoViableAltException(
10208: getDescription(), 52, _s, input);
10209: error(nvae);
10210: throw nvae;
10211: }
10212: }
10213:
10214: static final String DFA64_eotS = "\21\uffff";
10215: static final String DFA64_eofS = "\21\uffff";
10216: static final String DFA64_minS = "\1\13\1\uffff\1\4\1\10\1\0\1\4\1\uffff\1\4\11\0";
10217: static final String DFA64_maxS = "\1\45\1\uffff\2\120\1\0\1\120\1\uffff\1\120\11\0";
10218: static final String DFA64_acceptS = "\1\uffff\1\2\4\uffff\1\1\12\uffff";
10219: static final String DFA64_specialS = "\4\uffff\1\0\14\uffff}>";
10220: static final String[] DFA64_transitionS = {
10221: "\2\1\26\uffff\1\2\1\uffff\1\1",
10222: "",
10223: "\4\1\1\uffff\1\1\1\4\2\uffff\6\1\3\uffff\1\1\1\uffff\1\1\6\uffff"
10224: + "\2\1\5\uffff\1\1\1\uffff\1\6\1\1\2\uffff\4\1\1\uffff\1\5\1\7"
10225: + "\1\10\1\11\1\3\6\uffff\1\1\16\uffff\6\6",
10226: "\1\1\1\uffff\1\12\35\uffff\1\1\10\uffff\5\1\4\uffff\1\1\20\uffff"
10227: + "\6\1",
10228: "\1\uffff",
10229: "\4\6\1\1\1\6\1\20\2\uffff\6\6\1\uffff\1\6\1\uffff\4\6\5\uffff"
10230: + "\2\6\5\uffff\1\6\1\uffff\1\1\3\uffff\4\6\1\uffff\1\14\1\15\1"
10231: + "\16\1\17\1\13\2\6\2\uffff\1\1\1\uffff\1\6\16\uffff\6\1",
10232: "",
10233: "\4\6\1\1\1\6\1\20\2\uffff\6\6\1\uffff\1\6\1\uffff\4\6\5\uffff"
10234: + "\2\6\5\uffff\1\6\1\uffff\1\1\3\uffff\4\6\1\uffff\1\14\1\15\1"
10235: + "\16\1\17\1\13\2\6\2\uffff\1\1\1\uffff\1\6\16\uffff\6\1",
10236: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
10237: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff" };
10238:
10239: static final short[] DFA64_eot = DFA
10240: .unpackEncodedString(DFA64_eotS);
10241: static final short[] DFA64_eof = DFA
10242: .unpackEncodedString(DFA64_eofS);
10243: static final char[] DFA64_min = DFA
10244: .unpackEncodedStringToUnsignedChars(DFA64_minS);
10245: static final char[] DFA64_max = DFA
10246: .unpackEncodedStringToUnsignedChars(DFA64_maxS);
10247: static final short[] DFA64_accept = DFA
10248: .unpackEncodedString(DFA64_acceptS);
10249: static final short[] DFA64_special = DFA
10250: .unpackEncodedString(DFA64_specialS);
10251: static final short[][] DFA64_transition;
10252:
10253: static {
10254: int numStates = DFA64_transitionS.length;
10255: DFA64_transition = new short[numStates][];
10256: for (int i = 0; i < numStates; i++) {
10257: DFA64_transition[i] = DFA
10258: .unpackEncodedString(DFA64_transitionS[i]);
10259: }
10260: }
10261:
10262: class DFA64 extends DFA {
10263:
10264: public DFA64(BaseRecognizer recognizer) {
10265: this .recognizer = recognizer;
10266: this .decisionNumber = 64;
10267: this .eot = DFA64_eot;
10268: this .eof = DFA64_eof;
10269: this .min = DFA64_min;
10270: this .max = DFA64_max;
10271: this .accept = DFA64_accept;
10272: this .special = DFA64_special;
10273: this .transition = DFA64_transition;
10274: }
10275:
10276: public String getDescription() {
10277: return "()* loopback of 1392:3: ( options {backtrack=true; } : DOUBLE_PIPE and_restr_connective[or] )*";
10278: }
10279:
10280: public int specialStateTransition(int s, IntStream input)
10281: throws NoViableAltException {
10282: int _s = s;
10283: switch (s) {
10284: case 0:
10285: int LA64_4 = input.LA(1);
10286:
10287: int index64_4 = input.index();
10288: input.rewind();
10289: s = -1;
10290: if ((synpred8())) {
10291: s = 6;
10292: }
10293:
10294: else if ((true)) {
10295: s = 1;
10296: }
10297:
10298: input.seek(index64_4);
10299: if (s >= 0)
10300: return s;
10301: break;
10302: }
10303: if (backtracking > 0) {
10304: failed = true;
10305: return -1;
10306: }
10307: NoViableAltException nvae = new NoViableAltException(
10308: getDescription(), 64, _s, input);
10309: error(nvae);
10310: throw nvae;
10311: }
10312: }
10313:
10314: static final String DFA65_eotS = "\61\uffff";
10315: static final String DFA65_eofS = "\1\1\12\uffff\5\4\41\uffff";
10316: static final String DFA65_minS = "\1\13\1\uffff\1\4\1\10\1\uffff\6\4\1\10\5\4\1\10\2\4\35\0";
10317: static final String DFA65_maxS = "\1\45\1\uffff\2\120\1\uffff\6\120\1\72\4\74\4\120\35\0";
10318: static final String DFA65_acceptS = "\1\uffff\1\2\2\uffff\1\1\54\uffff";
10319: static final String DFA65_specialS = "\61\uffff}>";
10320: static final String[] DFA65_transitionS = {
10321: "\2\1\26\uffff\1\1\1\uffff\1\2",
10322: "",
10323: "\4\1\1\uffff\1\1\1\11\2\uffff\6\1\3\uffff\1\1\1\uffff\1\1\6"
10324: + "\uffff\2\1\5\uffff\1\1\1\uffff\1\4\1\1\2\uffff\4\1\1\uffff\1"
10325: + "\5\1\6\1\7\1\10\1\3\6\uffff\1\1\16\uffff\6\4",
10326: "\1\1\1\uffff\1\12\35\uffff\1\1\10\uffff\5\1\4\uffff\1\1\20\uffff"
10327: + "\6\1",
10328: "",
10329: "\4\4\1\1\1\4\1\20\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"
10330: + "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\14\1\15\1"
10331: + "\16\1\17\1\13\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff\6\1",
10332: "\4\4\1\1\1\4\1\20\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"
10333: + "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\14\1\15\1"
10334: + "\16\1\17\1\13\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff\6\1",
10335: "\4\4\1\1\1\4\1\20\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"
10336: + "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\14\1\15\1"
10337: + "\16\1\17\1\13\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff\6\1",
10338: "\4\4\1\1\1\4\1\20\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"
10339: + "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\14\1\15\1"
10340: + "\16\1\17\1\13\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff\6\1",
10341: "\4\1\1\uffff\1\1\1\26\2\uffff\6\1\3\uffff\1\1\1\uffff\1\1\6"
10342: + "\uffff\2\1\5\uffff\1\1\1\uffff\1\4\1\1\2\uffff\4\1\1\uffff\1"
10343: + "\22\1\23\1\24\1\25\1\21\6\uffff\1\1\16\uffff\6\4",
10344: "\4\4\1\uffff\1\4\1\30\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5"
10345: + "\uffff\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\31"
10346: + "\1\32\1\33\1\34\1\27\2\4\4\uffff\1\4\16\uffff\6\1",
10347: "\1\4\1\uffff\1\1\2\4\26\uffff\1\4\1\uffff\1\4\24\uffff\1\4",
10348: "\4\1\1\4\2\1\2\4\6\1\1\uffff\1\1\1\uffff\4\1\5\uffff\2\1\2\uffff"
10349: + "\1\4\1\uffff\1\4\1\1\5\uffff\4\1\1\uffff\7\1\2\uffff\1\4\1\uffff"
10350: + "\1\1",
10351: "\4\1\1\4\2\1\2\4\6\1\1\uffff\1\1\1\uffff\4\1\5\uffff\2\1\2\uffff"
10352: + "\1\4\1\uffff\1\4\1\1\5\uffff\4\1\1\uffff\7\1\2\uffff\1\4\1\uffff"
10353: + "\1\1",
10354: "\4\1\1\4\2\1\2\4\6\1\1\uffff\1\1\1\uffff\4\1\5\uffff\2\1\2\uffff"
10355: + "\1\4\1\uffff\1\4\1\1\5\uffff\4\1\1\uffff\7\1\2\uffff\1\4\1\uffff"
10356: + "\1\1",
10357: "\4\1\1\4\2\1\2\4\6\1\1\uffff\1\1\1\uffff\4\1\5\uffff\2\1\2\uffff"
10358: + "\1\4\1\uffff\1\4\1\1\5\uffff\4\1\1\uffff\7\1\2\uffff\1\4\1\uffff"
10359: + "\1\1",
10360: "\6\4\1\51\35\4\1\36\10\4\1\45\1\46\1\47\1\50\1\35\25\4\1\37"
10361: + "\1\40\1\41\1\42\1\43\1\44",
10362: "\1\1\1\uffff\1\52\35\uffff\1\1\10\uffff\5\1\4\uffff\1\1\20\uffff"
10363: + "\6\1",
10364: "\4\4\1\1\1\4\1\54\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"
10365: + "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\55\1\56\1"
10366: + "\57\1\60\1\53\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff\6\1",
10367: "\4\4\1\1\1\4\1\54\2\uffff\6\4\1\uffff\1\4\1\uffff\4\4\5\uffff"
10368: + "\2\4\5\uffff\1\4\1\uffff\1\1\3\uffff\4\4\1\uffff\1\55\1\56\1"
10369: + "\57\1\60\1\53\2\4\2\uffff\1\1\1\uffff\1\4\16\uffff\6\1",
10370: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
10371: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
10372: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
10373: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
10374: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff",
10375: "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff" };
10376:
10377: static final short[] DFA65_eot = DFA
10378: .unpackEncodedString(DFA65_eotS);
10379: static final short[] DFA65_eof = DFA
10380: .unpackEncodedString(DFA65_eofS);
10381: static final char[] DFA65_min = DFA
10382: .unpackEncodedStringToUnsignedChars(DFA65_minS);
10383: static final char[] DFA65_max = DFA
10384: .unpackEncodedStringToUnsignedChars(DFA65_maxS);
10385: static final short[] DFA65_accept = DFA
10386: .unpackEncodedString(DFA65_acceptS);
10387: static final short[] DFA65_special = DFA
10388: .unpackEncodedString(DFA65_specialS);
10389: static final short[][] DFA65_transition;
10390:
10391: static {
10392: int numStates = DFA65_transitionS.length;
10393: DFA65_transition = new short[numStates][];
10394: for (int i = 0; i < numStates; i++) {
10395: DFA65_transition[i] = DFA
10396: .unpackEncodedString(DFA65_transitionS[i]);
10397: }
10398: }
10399:
10400: class DFA65 extends DFA {
10401:
10402: public DFA65(BaseRecognizer recognizer) {
10403: this .recognizer = recognizer;
10404: this .decisionNumber = 65;
10405: this .eot = DFA65_eot;
10406: this .eof = DFA65_eof;
10407: this .min = DFA65_min;
10408: this .max = DFA65_max;
10409: this .accept = DFA65_accept;
10410: this .special = DFA65_special;
10411: this .transition = DFA65_transition;
10412: }
10413:
10414: public String getDescription() {
10415: return "()* loopback of 1415:3: ( options {backtrack=true; } : t= DOUBLE_AMPER constraint_expression[and] )*";
10416: }
10417: }
10418:
10419: public static final BitSet FOLLOW_71_in_opt_semicolon39 = new BitSet(
10420: new long[] { 0x0000000000000002L });
10421: public static final BitSet FOLLOW_prolog_in_compilation_unit57 = new BitSet(
10422: new long[] { 0x00000003FD69A260L });
10423: public static final BitSet FOLLOW_statement_in_compilation_unit62 = new BitSet(
10424: new long[] { 0x00000003FD69A260L });
10425: public static final BitSet FOLLOW_EOF_in_compilation_unit67 = new BitSet(
10426: new long[] { 0x0000000000000002L });
10427: public static final BitSet FOLLOW_package_statement_in_prolog96 = new BitSet(
10428: new long[] { 0x0000000000000002L });
10429: public static final BitSet FOLLOW_rule_attribute_in_statement121 = new BitSet(
10430: new long[] { 0x0000000000000002L });
10431: public static final BitSet FOLLOW_function_import_statement_in_statement128 = new BitSet(
10432: new long[] { 0x0000000000000002L });
10433: public static final BitSet FOLLOW_import_statement_in_statement134 = new BitSet(
10434: new long[] { 0x0000000000000002L });
10435: public static final BitSet FOLLOW_global_in_statement140 = new BitSet(
10436: new long[] { 0x0000000000000002L });
10437: public static final BitSet FOLLOW_function_in_statement146 = new BitSet(
10438: new long[] { 0x0000000000000002L });
10439: public static final BitSet FOLLOW_template_in_statement160 = new BitSet(
10440: new long[] { 0x0000000000000002L });
10441: public static final BitSet FOLLOW_rule_in_statement169 = new BitSet(
10442: new long[] { 0x0000000000000002L });
10443: public static final BitSet FOLLOW_query_in_statement181 = new BitSet(
10444: new long[] { 0x0000000000000002L });
10445: public static final BitSet FOLLOW_PACKAGE_in_package_statement205 = new BitSet(
10446: new long[] { 0x103EF0418147E2F0L });
10447: public static final BitSet FOLLOW_dotted_name_in_package_statement209 = new BitSet(
10448: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10449: public static final BitSet FOLLOW_opt_semicolon_in_package_statement211 = new BitSet(
10450: new long[] { 0x0000000000000002L });
10451: public static final BitSet FOLLOW_IMPORT_in_import_statement242 = new BitSet(
10452: new long[] { 0x0000000000000080L });
10453: public static final BitSet FOLLOW_import_name_in_import_statement265 = new BitSet(
10454: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10455: public static final BitSet FOLLOW_opt_semicolon_in_import_statement268 = new BitSet(
10456: new long[] { 0x0000000000000002L });
10457: public static final BitSet FOLLOW_IMPORT_in_function_import_statement292 = new BitSet(
10458: new long[] { 0x0000000000000040L });
10459: public static final BitSet FOLLOW_FUNCTION_in_function_import_statement294 = new BitSet(
10460: new long[] { 0x0000000000000080L });
10461: public static final BitSet FOLLOW_import_name_in_function_import_statement317 = new BitSet(
10462: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10463: public static final BitSet FOLLOW_opt_semicolon_in_function_import_statement320 = new BitSet(
10464: new long[] { 0x0000000000000002L });
10465: public static final BitSet FOLLOW_ID_in_import_name346 = new BitSet(
10466: new long[] { 0x0000000000000102L, 0x0000000000000100L });
10467: public static final BitSet FOLLOW_DOT_in_import_name358 = new BitSet(
10468: new long[] { 0x103EF0418147E2F0L });
10469: public static final BitSet FOLLOW_identifier_in_import_name362 = new BitSet(
10470: new long[] { 0x0000000000000102L, 0x0000000000000100L });
10471: public static final BitSet FOLLOW_72_in_import_name386 = new BitSet(
10472: new long[] { 0x0000000000000002L });
10473: public static final BitSet FOLLOW_GLOBAL_in_global420 = new BitSet(
10474: new long[] { 0x103EF0418147E2F0L });
10475: public static final BitSet FOLLOW_dotted_name_in_global431 = new BitSet(
10476: new long[] { 0x103EF0418147E2F0L });
10477: public static final BitSet FOLLOW_identifier_in_global442 = new BitSet(
10478: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10479: public static final BitSet FOLLOW_opt_semicolon_in_global444 = new BitSet(
10480: new long[] { 0x0000000000000002L });
10481: public static final BitSet FOLLOW_FUNCTION_in_function469 = new BitSet(
10482: new long[] { 0x103EF0418147E2F0L });
10483: public static final BitSet FOLLOW_dotted_name_in_function473 = new BitSet(
10484: new long[] { 0x103EF0418147E2F0L });
10485: public static final BitSet FOLLOW_identifier_in_function478 = new BitSet(
10486: new long[] { 0x0000000000000400L });
10487: public static final BitSet FOLLOW_LEFT_PAREN_in_function487 = new BitSet(
10488: new long[] { 0x103EF0418147F2F0L });
10489: public static final BitSet FOLLOW_dotted_name_in_function496 = new BitSet(
10490: new long[] { 0x103EF0418147E2F0L });
10491: public static final BitSet FOLLOW_argument_in_function501 = new BitSet(
10492: new long[] { 0x0000000000001800L });
10493: public static final BitSet FOLLOW_COMMA_in_function515 = new BitSet(
10494: new long[] { 0x103EF0418147E2F0L });
10495: public static final BitSet FOLLOW_dotted_name_in_function519 = new BitSet(
10496: new long[] { 0x103EF0418147E2F0L });
10497: public static final BitSet FOLLOW_argument_in_function524 = new BitSet(
10498: new long[] { 0x0000000000001800L });
10499: public static final BitSet FOLLOW_RIGHT_PAREN_in_function548 = new BitSet(
10500: new long[] { 0x0100000000000000L });
10501: public static final BitSet FOLLOW_curly_chunk_in_function554 = new BitSet(
10502: new long[] { 0x0000000000000002L });
10503: public static final BitSet FOLLOW_identifier_in_argument581 = new BitSet(
10504: new long[] { 0x0400000000000002L });
10505: public static final BitSet FOLLOW_LEFT_SQUARE_in_argument587 = new BitSet(
10506: new long[] { 0x0800000000000000L });
10507: public static final BitSet FOLLOW_RIGHT_SQUARE_in_argument589 = new BitSet(
10508: new long[] { 0x0400000000000002L });
10509: public static final BitSet FOLLOW_QUERY_in_query619 = new BitSet(
10510: new long[] { 0x0000000000100080L });
10511: public static final BitSet FOLLOW_name_in_query623 = new BitSet(
10512: new long[] { 0x0000078000004480L });
10513: public static final BitSet FOLLOW_LEFT_PAREN_in_query633 = new BitSet(
10514: new long[] { 0x0000000000001080L });
10515: public static final BitSet FOLLOW_qualified_id_in_query668 = new BitSet(
10516: new long[] { 0x0000000000000080L });
10517: public static final BitSet FOLLOW_ID_in_query673 = new BitSet(
10518: new long[] { 0x0000000000001800L });
10519: public static final BitSet FOLLOW_COMMA_in_query694 = new BitSet(
10520: new long[] { 0x0000000000000080L });
10521: public static final BitSet FOLLOW_qualified_id_in_query698 = new BitSet(
10522: new long[] { 0x0000000000000080L });
10523: public static final BitSet FOLLOW_ID_in_query703 = new BitSet(
10524: new long[] { 0x0000000000001800L });
10525: public static final BitSet FOLLOW_RIGHT_PAREN_in_query753 = new BitSet(
10526: new long[] { 0x0000078000004480L });
10527: public static final BitSet FOLLOW_normal_lhs_block_in_query782 = new BitSet(
10528: new long[] { 0x0000000000004000L });
10529: public static final BitSet FOLLOW_END_in_query787 = new BitSet(
10530: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10531: public static final BitSet FOLLOW_opt_semicolon_in_query789 = new BitSet(
10532: new long[] { 0x0000000000000002L });
10533: public static final BitSet FOLLOW_TEMPLATE_in_template817 = new BitSet(
10534: new long[] { 0x0000000000100080L });
10535: public static final BitSet FOLLOW_name_in_template821 = new BitSet(
10536: new long[] { 0x0000000000000080L, 0x0000000000000080L });
10537: public static final BitSet FOLLOW_opt_semicolon_in_template823 = new BitSet(
10538: new long[] { 0x0000000000000080L });
10539: public static final BitSet FOLLOW_template_slot_in_template838 = new BitSet(
10540: new long[] { 0x0000000000004080L });
10541: public static final BitSet FOLLOW_END_in_template853 = new BitSet(
10542: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10543: public static final BitSet FOLLOW_opt_semicolon_in_template855 = new BitSet(
10544: new long[] { 0x0000000000000002L });
10545: public static final BitSet FOLLOW_qualified_id_in_template_slot901 = new BitSet(
10546: new long[] { 0x103EF0418147E2F0L });
10547: public static final BitSet FOLLOW_identifier_in_template_slot917 = new BitSet(
10548: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10549: public static final BitSet FOLLOW_opt_semicolon_in_template_slot919 = new BitSet(
10550: new long[] { 0x0000000000000002L });
10551: public static final BitSet FOLLOW_RULE_in_rule950 = new BitSet(
10552: new long[] { 0x0000000000100080L });
10553: public static final BitSet FOLLOW_name_in_rule954 = new BitSet(
10554: new long[] { 0x10000003FD6E0000L });
10555: public static final BitSet FOLLOW_rule_attributes_in_rule963 = new BitSet(
10556: new long[] { 0x1000000000020000L });
10557: public static final BitSet FOLLOW_WHEN_in_rule975 = new BitSet(
10558: new long[] { 0x1000078000000480L, 0x0000000000000200L });
10559: public static final BitSet FOLLOW_73_in_rule977 = new BitSet(
10560: new long[] { 0x1000078000000480L });
10561: public static final BitSet FOLLOW_normal_lhs_block_in_rule988 = new BitSet(
10562: new long[] { 0x1000000000000000L });
10563: public static final BitSet FOLLOW_rhs_chunk_in_rule998 = new BitSet(
10564: new long[] { 0x0000000000000002L });
10565: public static final BitSet FOLLOW_ATTRIBUTES_in_rule_attributes1018 = new BitSet(
10566: new long[] { 0x0000000000000000L, 0x0000000000000200L });
10567: public static final BitSet FOLLOW_73_in_rule_attributes1020 = new BitSet(
10568: new long[] { 0x00000003FD680000L });
10569: public static final BitSet FOLLOW_rule_attribute_in_rule_attributes1028 = new BitSet(
10570: new long[] { 0x00000003FD680802L });
10571: public static final BitSet FOLLOW_COMMA_in_rule_attributes1035 = new BitSet(
10572: new long[] { 0x00000003FD680000L });
10573: public static final BitSet FOLLOW_rule_attribute_in_rule_attributes1040 = new BitSet(
10574: new long[] { 0x00000003FD680802L });
10575: public static final BitSet FOLLOW_salience_in_rule_attribute1077 = new BitSet(
10576: new long[] { 0x0000000000000002L });
10577: public static final BitSet FOLLOW_no_loop_in_rule_attribute1085 = new BitSet(
10578: new long[] { 0x0000000000000002L });
10579: public static final BitSet FOLLOW_agenda_group_in_rule_attribute1094 = new BitSet(
10580: new long[] { 0x0000000000000002L });
10581: public static final BitSet FOLLOW_duration_in_rule_attribute1103 = new BitSet(
10582: new long[] { 0x0000000000000002L });
10583: public static final BitSet FOLLOW_activation_group_in_rule_attribute1112 = new BitSet(
10584: new long[] { 0x0000000000000002L });
10585: public static final BitSet FOLLOW_auto_focus_in_rule_attribute1120 = new BitSet(
10586: new long[] { 0x0000000000000002L });
10587: public static final BitSet FOLLOW_date_effective_in_rule_attribute1128 = new BitSet(
10588: new long[] { 0x0000000000000002L });
10589: public static final BitSet FOLLOW_date_expires_in_rule_attribute1136 = new BitSet(
10590: new long[] { 0x0000000000000002L });
10591: public static final BitSet FOLLOW_enabled_in_rule_attribute1144 = new BitSet(
10592: new long[] { 0x0000000000000002L });
10593: public static final BitSet FOLLOW_ruleflow_group_in_rule_attribute1152 = new BitSet(
10594: new long[] { 0x0000000000000002L });
10595: public static final BitSet FOLLOW_lock_on_active_in_rule_attribute1160 = new BitSet(
10596: new long[] { 0x0000000000000002L });
10597: public static final BitSet FOLLOW_dialect_in_rule_attribute1167 = new BitSet(
10598: new long[] { 0x0000000000000002L });
10599: public static final BitSet FOLLOW_DATE_EFFECTIVE_in_date_effective1193 = new BitSet(
10600: new long[] { 0x0000000000100000L });
10601: public static final BitSet FOLLOW_STRING_in_date_effective1195 = new BitSet(
10602: new long[] { 0x0000000000000002L });
10603: public static final BitSet FOLLOW_DATE_EXPIRES_in_date_expires1224 = new BitSet(
10604: new long[] { 0x0000000000100000L });
10605: public static final BitSet FOLLOW_STRING_in_date_expires1226 = new BitSet(
10606: new long[] { 0x0000000000000002L });
10607: public static final BitSet FOLLOW_ENABLED_in_enabled1255 = new BitSet(
10608: new long[] { 0x0000000000800000L });
10609: public static final BitSet FOLLOW_BOOL_in_enabled1257 = new BitSet(
10610: new long[] { 0x0000000000000002L });
10611: public static final BitSet FOLLOW_SALIENCE_in_salience1290 = new BitSet(
10612: new long[] { 0x0000000002000400L });
10613: public static final BitSet FOLLOW_INT_in_salience1301 = new BitSet(
10614: new long[] { 0x0000000000000002L });
10615: public static final BitSet FOLLOW_paren_chunk_in_salience1316 = new BitSet(
10616: new long[] { 0x0000000000000002L });
10617: public static final BitSet FOLLOW_NO_LOOP_in_no_loop1346 = new BitSet(
10618: new long[] { 0x0000000000800002L });
10619: public static final BitSet FOLLOW_BOOL_in_no_loop1359 = new BitSet(
10620: new long[] { 0x0000000000000002L });
10621: public static final BitSet FOLLOW_AUTO_FOCUS_in_auto_focus1394 = new BitSet(
10622: new long[] { 0x0000000000800002L });
10623: public static final BitSet FOLLOW_BOOL_in_auto_focus1407 = new BitSet(
10624: new long[] { 0x0000000000000002L });
10625: public static final BitSet FOLLOW_ACTIVATION_GROUP_in_activation_group1443 = new BitSet(
10626: new long[] { 0x0000000000100000L });
10627: public static final BitSet FOLLOW_STRING_in_activation_group1445 = new BitSet(
10628: new long[] { 0x0000000000000002L });
10629: public static final BitSet FOLLOW_RULEFLOW_GROUP_in_ruleflow_group1473 = new BitSet(
10630: new long[] { 0x0000000000100000L });
10631: public static final BitSet FOLLOW_STRING_in_ruleflow_group1475 = new BitSet(
10632: new long[] { 0x0000000000000002L });
10633: public static final BitSet FOLLOW_AGENDA_GROUP_in_agenda_group1503 = new BitSet(
10634: new long[] { 0x0000000000100000L });
10635: public static final BitSet FOLLOW_STRING_in_agenda_group1505 = new BitSet(
10636: new long[] { 0x0000000000000002L });
10637: public static final BitSet FOLLOW_DURATION_in_duration1533 = new BitSet(
10638: new long[] { 0x0000000002000000L });
10639: public static final BitSet FOLLOW_INT_in_duration1535 = new BitSet(
10640: new long[] { 0x0000000000000002L });
10641: public static final BitSet FOLLOW_DIALECT_in_dialect1563 = new BitSet(
10642: new long[] { 0x0000000000100000L });
10643: public static final BitSet FOLLOW_STRING_in_dialect1565 = new BitSet(
10644: new long[] { 0x0000000000000002L });
10645: public static final BitSet FOLLOW_LOCK_ON_ACTIVE_in_lock_on_active1597 = new BitSet(
10646: new long[] { 0x0000000000800002L });
10647: public static final BitSet FOLLOW_BOOL_in_lock_on_active1610 = new BitSet(
10648: new long[] { 0x0000000000000002L });
10649: public static final BitSet FOLLOW_lhs_in_normal_lhs_block1649 = new BitSet(
10650: new long[] { 0x0000078000000482L });
10651: public static final BitSet FOLLOW_lhs_or_in_lhs1686 = new BitSet(
10652: new long[] { 0x0000000000000002L });
10653: public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_or1711 = new BitSet(
10654: new long[] { 0x0000000400000000L });
10655: public static final BitSet FOLLOW_OR_in_lhs_or1713 = new BitSet(
10656: new long[] { 0x0000078000000480L });
10657: public static final BitSet FOLLOW_lhs_and_in_lhs_or1726 = new BitSet(
10658: new long[] { 0x0000078000001480L });
10659: public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_or1737 = new BitSet(
10660: new long[] { 0x0000000000000002L });
10661: public static final BitSet FOLLOW_lhs_and_in_lhs_or1755 = new BitSet(
10662: new long[] { 0x0000000C00000002L });
10663: public static final BitSet FOLLOW_set_in_lhs_or1763 = new BitSet(
10664: new long[] { 0x0000078000000480L });
10665: public static final BitSet FOLLOW_lhs_and_in_lhs_or1779 = new BitSet(
10666: new long[] { 0x0000000C00000002L });
10667: public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_and1810 = new BitSet(
10668: new long[] { 0x0000001000000000L });
10669: public static final BitSet FOLLOW_AND_in_lhs_and1812 = new BitSet(
10670: new long[] { 0x0000078000000480L });
10671: public static final BitSet FOLLOW_lhs_unary_in_lhs_and1824 = new BitSet(
10672: new long[] { 0x0000078000001480L });
10673: public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_and1834 = new BitSet(
10674: new long[] { 0x0000000000000002L });
10675: public static final BitSet FOLLOW_lhs_unary_in_lhs_and1852 = new BitSet(
10676: new long[] { 0x0000003000000002L });
10677: public static final BitSet FOLLOW_set_in_lhs_and1860 = new BitSet(
10678: new long[] { 0x0000078000000480L });
10679: public static final BitSet FOLLOW_lhs_unary_in_lhs_and1876 = new BitSet(
10680: new long[] { 0x0000003000000002L });
10681: public static final BitSet FOLLOW_lhs_exist_in_lhs_unary1921 = new BitSet(
10682: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10683: public static final BitSet FOLLOW_lhs_not_in_lhs_unary1939 = new BitSet(
10684: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10685: public static final BitSet FOLLOW_lhs_eval_in_lhs_unary1958 = new BitSet(
10686: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10687: public static final BitSet FOLLOW_lhs_forall_in_lhs_unary1977 = new BitSet(
10688: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10689: public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_unary1994 = new BitSet(
10690: new long[] { 0x0000078000000480L });
10691: public static final BitSet FOLLOW_lhs_or_in_lhs_unary1998 = new BitSet(
10692: new long[] { 0x0000000000001000L });
10693: public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_unary2000 = new BitSet(
10694: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10695: public static final BitSet FOLLOW_pattern_source_in_lhs_unary2011 = new BitSet(
10696: new long[] { 0x0000000000000002L, 0x0000000000000080L });
10697: public static final BitSet FOLLOW_opt_semicolon_in_lhs_unary2023 = new BitSet(
10698: new long[] { 0x0000000000000002L });
10699: public static final BitSet FOLLOW_lhs_pattern_in_pattern_source2050 = new BitSet(
10700: new long[] { 0x0000004000000002L });
10701: public static final BitSet FOLLOW_FROM_in_pattern_source2062 = new BitSet(
10702: new long[] { 0x103FF8418147E2F0L });
10703: public static final BitSet FOLLOW_accumulate_statement_in_pattern_source2118 = new BitSet(
10704: new long[] { 0x0000000000000002L });
10705: public static final BitSet FOLLOW_collect_statement_in_pattern_source2141 = new BitSet(
10706: new long[] { 0x0000000000000002L });
10707: public static final BitSet FOLLOW_from_statement_in_pattern_source2165 = new BitSet(
10708: new long[] { 0x0000000000000002L });
10709: public static final BitSet FOLLOW_EXISTS_in_lhs_exist2208 = new BitSet(
10710: new long[] { 0x0000000000000480L });
10711: public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_exist2228 = new BitSet(
10712: new long[] { 0x0000078000000480L });
10713: public static final BitSet FOLLOW_lhs_or_in_lhs_exist2232 = new BitSet(
10714: new long[] { 0x0000000000001000L });
10715: public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_exist2262 = new BitSet(
10716: new long[] { 0x0000000000000002L });
10717: public static final BitSet FOLLOW_lhs_pattern_in_lhs_exist2312 = new BitSet(
10718: new long[] { 0x0000000000000002L });
10719: public static final BitSet FOLLOW_NOT_in_lhs_not2364 = new BitSet(
10720: new long[] { 0x0000000000000480L });
10721: public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_not2377 = new BitSet(
10722: new long[] { 0x0000078000000480L });
10723: public static final BitSet FOLLOW_lhs_or_in_lhs_not2381 = new BitSet(
10724: new long[] { 0x0000000000001000L });
10725: public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_not2412 = new BitSet(
10726: new long[] { 0x0000000000000002L });
10727: public static final BitSet FOLLOW_lhs_pattern_in_lhs_not2449 = new BitSet(
10728: new long[] { 0x0000000000000002L });
10729: public static final BitSet FOLLOW_EVAL_in_lhs_eval2495 = new BitSet(
10730: new long[] { 0x0000000000000400L });
10731: public static final BitSet FOLLOW_paren_chunk_in_lhs_eval2506 = new BitSet(
10732: new long[] { 0x0000000000000002L });
10733: public static final BitSet FOLLOW_FORALL_in_lhs_forall2532 = new BitSet(
10734: new long[] { 0x0000000000000400L });
10735: public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_forall2534 = new BitSet(
10736: new long[] { 0x0000000000000080L });
10737: public static final BitSet FOLLOW_lhs_pattern_in_lhs_forall2538 = new BitSet(
10738: new long[] { 0x0000000000001080L });
10739: public static final BitSet FOLLOW_lhs_pattern_in_lhs_forall2553 = new BitSet(
10740: new long[] { 0x0000000000001080L });
10741: public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_forall2569 = new BitSet(
10742: new long[] { 0x0000000000000002L });
10743: public static final BitSet FOLLOW_fact_binding_in_lhs_pattern2602 = new BitSet(
10744: new long[] { 0x0000000000000002L });
10745: public static final BitSet FOLLOW_fact_in_lhs_pattern2610 = new BitSet(
10746: new long[] { 0x0000000000000002L });
10747: public static final BitSet FOLLOW_from_source_in_from_statement2637 = new BitSet(
10748: new long[] { 0x0000000000000002L });
10749: public static final BitSet FOLLOW_identifier_in_from_source2666 = new BitSet(
10750: new long[] { 0x0000000000000502L });
10751: public static final BitSet FOLLOW_paren_chunk_in_from_source2694 = new BitSet(
10752: new long[] { 0x0000000000000102L });
10753: public static final BitSet FOLLOW_expression_chain_in_from_source2707 = new BitSet(
10754: new long[] { 0x0000000000000002L });
10755: public static final BitSet FOLLOW_ACCUMULATE_in_accumulate_statement2748 = new BitSet(
10756: new long[] { 0x0000000000000400L });
10757: public static final BitSet FOLLOW_LEFT_PAREN_in_accumulate_statement2758 = new BitSet(
10758: new long[] { 0x0000000000000080L });
10759: public static final BitSet FOLLOW_pattern_source_in_accumulate_statement2762 = new BitSet(
10760: new long[] { 0x0000100000000880L });
10761: public static final BitSet FOLLOW_COMMA_in_accumulate_statement2764 = new BitSet(
10762: new long[] { 0x0000100000000080L });
10763: public static final BitSet FOLLOW_INIT_in_accumulate_statement2782 = new BitSet(
10764: new long[] { 0x0000000000000400L });
10765: public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2795 = new BitSet(
10766: new long[] { 0x0000200000000800L });
10767: public static final BitSet FOLLOW_COMMA_in_accumulate_statement2797 = new BitSet(
10768: new long[] { 0x0000200000000000L });
10769: public static final BitSet FOLLOW_ACTION_in_accumulate_statement2808 = new BitSet(
10770: new long[] { 0x0000000000000400L });
10771: public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2812 = new BitSet(
10772: new long[] { 0x0000C00000000800L });
10773: public static final BitSet FOLLOW_COMMA_in_accumulate_statement2814 = new BitSet(
10774: new long[] { 0x0000C00000000000L });
10775: public static final BitSet FOLLOW_REVERSE_in_accumulate_statement2827 = new BitSet(
10776: new long[] { 0x0000000000000400L });
10777: public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2831 = new BitSet(
10778: new long[] { 0x0000800000000800L });
10779: public static final BitSet FOLLOW_COMMA_in_accumulate_statement2833 = new BitSet(
10780: new long[] { 0x0000800000000000L });
10781: public static final BitSet FOLLOW_RESULT_in_accumulate_statement2850 = new BitSet(
10782: new long[] { 0x0000000000000400L });
10783: public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2854 = new BitSet(
10784: new long[] { 0x0000000000001000L });
10785: public static final BitSet FOLLOW_ID_in_accumulate_statement2880 = new BitSet(
10786: new long[] { 0x0000000000000400L });
10787: public static final BitSet FOLLOW_paren_chunk_in_accumulate_statement2884 = new BitSet(
10788: new long[] { 0x0000000000001000L });
10789: public static final BitSet FOLLOW_RIGHT_PAREN_in_accumulate_statement2901 = new BitSet(
10790: new long[] { 0x0000000000000002L });
10791: public static final BitSet FOLLOW_DOT_in_expression_chain2930 = new BitSet(
10792: new long[] { 0x103EF0418147E2F0L });
10793: public static final BitSet FOLLOW_identifier_in_expression_chain2934 = new BitSet(
10794: new long[] { 0x0400000000000502L });
10795: public static final BitSet FOLLOW_square_chunk_in_expression_chain2965 = new BitSet(
10796: new long[] { 0x0000000000000102L });
10797: public static final BitSet FOLLOW_paren_chunk_in_expression_chain2998 = new BitSet(
10798: new long[] { 0x0000000000000102L });
10799: public static final BitSet FOLLOW_expression_chain_in_expression_chain3013 = new BitSet(
10800: new long[] { 0x0000000000000002L });
10801: public static final BitSet FOLLOW_COLLECT_in_collect_statement3064 = new BitSet(
10802: new long[] { 0x0000000000000400L });
10803: public static final BitSet FOLLOW_LEFT_PAREN_in_collect_statement3074 = new BitSet(
10804: new long[] { 0x0000000000000080L });
10805: public static final BitSet FOLLOW_pattern_source_in_collect_statement3078 = new BitSet(
10806: new long[] { 0x0000000000001000L });
10807: public static final BitSet FOLLOW_RIGHT_PAREN_in_collect_statement3080 = new BitSet(
10808: new long[] { 0x0000000000000002L });
10809: public static final BitSet FOLLOW_ID_in_fact_binding3112 = new BitSet(
10810: new long[] { 0x0000000000000000L, 0x0000000000000200L });
10811: public static final BitSet FOLLOW_73_in_fact_binding3114 = new BitSet(
10812: new long[] { 0x0000000000000480L });
10813: public static final BitSet FOLLOW_fact_in_fact_binding3128 = new BitSet(
10814: new long[] { 0x0000000000000002L });
10815: public static final BitSet FOLLOW_LEFT_PAREN_in_fact_binding3144 = new BitSet(
10816: new long[] { 0x0000000000000080L });
10817: public static final BitSet FOLLOW_fact_in_fact_binding3148 = new BitSet(
10818: new long[] { 0x0000000C00001000L });
10819: public static final BitSet FOLLOW_set_in_fact_binding3161 = new BitSet(
10820: new long[] { 0x0000000000000080L });
10821: public static final BitSet FOLLOW_fact_in_fact_binding3173 = new BitSet(
10822: new long[] { 0x0000000C00001000L });
10823: public static final BitSet FOLLOW_RIGHT_PAREN_in_fact_binding3191 = new BitSet(
10824: new long[] { 0x0000000000000002L });
10825: public static final BitSet FOLLOW_qualified_id_in_fact3246 = new BitSet(
10826: new long[] { 0x0000000000000400L });
10827: public static final BitSet FOLLOW_LEFT_PAREN_in_fact3256 = new BitSet(
10828: new long[] { 0x103EF2418147F6F0L });
10829: public static final BitSet FOLLOW_constraints_in_fact3268 = new BitSet(
10830: new long[] { 0x0000000000001000L });
10831: public static final BitSet FOLLOW_RIGHT_PAREN_in_fact3275 = new BitSet(
10832: new long[] { 0x0000000000000002L });
10833: public static final BitSet FOLLOW_EOF_in_fact3284 = new BitSet(
10834: new long[] { 0x0000000000000002L });
10835: public static final BitSet FOLLOW_constraint_in_constraints3302 = new BitSet(
10836: new long[] { 0x0000000000000802L });
10837: public static final BitSet FOLLOW_COMMA_in_constraints3309 = new BitSet(
10838: new long[] { 0x103EF2418147E6F0L });
10839: public static final BitSet FOLLOW_constraint_in_constraints3318 = new BitSet(
10840: new long[] { 0x0000000000000802L });
10841: public static final BitSet FOLLOW_or_constr_in_constraint3351 = new BitSet(
10842: new long[] { 0x0000000000000002L });
10843: public static final BitSet FOLLOW_and_constr_in_or_constr3374 = new BitSet(
10844: new long[] { 0x0000000800000002L });
10845: public static final BitSet FOLLOW_DOUBLE_PIPE_in_or_constr3382 = new BitSet(
10846: new long[] { 0x103EF2418147E6F0L });
10847: public static final BitSet FOLLOW_and_constr_in_or_constr3391 = new BitSet(
10848: new long[] { 0x0000000800000002L });
10849: public static final BitSet FOLLOW_unary_constr_in_and_constr3423 = new BitSet(
10850: new long[] { 0x0000002000000002L });
10851: public static final BitSet FOLLOW_DOUBLE_AMPER_in_and_constr3431 = new BitSet(
10852: new long[] { 0x103EF2418147E6F0L });
10853: public static final BitSet FOLLOW_unary_constr_in_and_constr3440 = new BitSet(
10854: new long[] { 0x0000002000000002L });
10855: public static final BitSet FOLLOW_field_constraint_in_unary_constr3468 = new BitSet(
10856: new long[] { 0x0000000000000002L });
10857: public static final BitSet FOLLOW_LEFT_PAREN_in_unary_constr3476 = new BitSet(
10858: new long[] { 0x103EF2418147E6F0L });
10859: public static final BitSet FOLLOW_or_constr_in_unary_constr3478 = new BitSet(
10860: new long[] { 0x0000000000001000L });
10861: public static final BitSet FOLLOW_RIGHT_PAREN_in_unary_constr3481 = new BitSet(
10862: new long[] { 0x0000000000000002L });
10863: public static final BitSet FOLLOW_EVAL_in_unary_constr3487 = new BitSet(
10864: new long[] { 0x0000000000000400L });
10865: public static final BitSet FOLLOW_predicate_in_unary_constr3489 = new BitSet(
10866: new long[] { 0x0000000000000002L });
10867: public static final BitSet FOLLOW_ID_in_field_constraint3528 = new BitSet(
10868: new long[] { 0x0000000000000000L, 0x0000000000000200L });
10869: public static final BitSet FOLLOW_73_in_field_constraint3530 = new BitSet(
10870: new long[] { 0x103EF0418147E2F0L });
10871: public static final BitSet FOLLOW_accessor_path_in_field_constraint3549 = new BitSet(
10872: new long[] { 0x003E010000000402L, 0x000000000001FC00L });
10873: public static final BitSet FOLLOW_or_restr_connective_in_field_constraint3577 = new BitSet(
10874: new long[] { 0x0000000000000002L });
10875: public static final BitSet FOLLOW_74_in_field_constraint3597 = new BitSet(
10876: new long[] { 0x0000000000000400L });
10877: public static final BitSet FOLLOW_predicate_in_field_constraint3599 = new BitSet(
10878: new long[] { 0x0000000000000002L });
10879: public static final BitSet FOLLOW_accessor_path_in_field_constraint3625 = new BitSet(
10880: new long[] { 0x003E010000000400L, 0x000000000001F800L });
10881: public static final BitSet FOLLOW_or_restr_connective_in_field_constraint3647 = new BitSet(
10882: new long[] { 0x0000000000000002L });
10883: public static final BitSet FOLLOW_and_restr_connective_in_or_restr_connective3698 = new BitSet(
10884: new long[] { 0x0000000800000002L });
10885: public static final BitSet FOLLOW_DOUBLE_PIPE_in_or_restr_connective3722 = new BitSet(
10886: new long[] { 0x003E010000000400L, 0x000000000001F800L });
10887: public static final BitSet FOLLOW_and_restr_connective_in_or_restr_connective3733 = new BitSet(
10888: new long[] { 0x0000000800000002L });
10889: public static final BitSet FOLLOW_constraint_expression_in_and_restr_connective3765 = new BitSet(
10890: new long[] { 0x0000002000000002L });
10891: public static final BitSet FOLLOW_DOUBLE_AMPER_in_and_restr_connective3786 = new BitSet(
10892: new long[] { 0x003E010000000400L, 0x000000000001F800L });
10893: public static final BitSet FOLLOW_constraint_expression_in_and_restr_connective3797 = new BitSet(
10894: new long[] { 0x0000002000000002L });
10895: public static final BitSet FOLLOW_compound_operator_in_constraint_expression3834 = new BitSet(
10896: new long[] { 0x0000000000000002L });
10897: public static final BitSet FOLLOW_simple_operator_in_constraint_expression3841 = new BitSet(
10898: new long[] { 0x0000000000000002L });
10899: public static final BitSet FOLLOW_LEFT_PAREN_in_constraint_expression3848 = new BitSet(
10900: new long[] { 0x003E010000000400L, 0x000000000001F800L });
10901: public static final BitSet FOLLOW_or_restr_connective_in_constraint_expression3857 = new BitSet(
10902: new long[] { 0x0000000000001000L });
10903: public static final BitSet FOLLOW_RIGHT_PAREN_in_constraint_expression3863 = new BitSet(
10904: new long[] { 0x0000000000000002L });
10905: public static final BitSet FOLLOW_75_in_simple_operator3894 = new BitSet(
10906: new long[] { 0x10FEF04183D7E6F0L });
10907: public static final BitSet FOLLOW_76_in_simple_operator3902 = new BitSet(
10908: new long[] { 0x10FEF04183D7E6F0L });
10909: public static final BitSet FOLLOW_77_in_simple_operator3910 = new BitSet(
10910: new long[] { 0x10FEF04183D7E6F0L });
10911: public static final BitSet FOLLOW_78_in_simple_operator3918 = new BitSet(
10912: new long[] { 0x10FEF04183D7E6F0L });
10913: public static final BitSet FOLLOW_79_in_simple_operator3926 = new BitSet(
10914: new long[] { 0x10FEF04183D7E6F0L });
10915: public static final BitSet FOLLOW_80_in_simple_operator3934 = new BitSet(
10916: new long[] { 0x10FEF04183D7E6F0L });
10917: public static final BitSet FOLLOW_CONTAINS_in_simple_operator3942 = new BitSet(
10918: new long[] { 0x10FEF04183D7E6F0L });
10919: public static final BitSet FOLLOW_NOT_in_simple_operator3950 = new BitSet(
10920: new long[] { 0x0002000000000000L });
10921: public static final BitSet FOLLOW_CONTAINS_in_simple_operator3954 = new BitSet(
10922: new long[] { 0x10FEF04183D7E6F0L });
10923: public static final BitSet FOLLOW_EXCLUDES_in_simple_operator3962 = new BitSet(
10924: new long[] { 0x10FEF04183D7E6F0L });
10925: public static final BitSet FOLLOW_MATCHES_in_simple_operator3970 = new BitSet(
10926: new long[] { 0x10FEF04183D7E6F0L });
10927: public static final BitSet FOLLOW_NOT_in_simple_operator3978 = new BitSet(
10928: new long[] { 0x0008000000000000L });
10929: public static final BitSet FOLLOW_MATCHES_in_simple_operator3982 = new BitSet(
10930: new long[] { 0x10FEF04183D7E6F0L });
10931: public static final BitSet FOLLOW_MEMBEROF_in_simple_operator3990 = new BitSet(
10932: new long[] { 0x10FEF04183D7E6F0L });
10933: public static final BitSet FOLLOW_NOT_in_simple_operator3998 = new BitSet(
10934: new long[] { 0x0010000000000000L });
10935: public static final BitSet FOLLOW_MEMBEROF_in_simple_operator4002 = new BitSet(
10936: new long[] { 0x10FEF04183D7E6F0L });
10937: public static final BitSet FOLLOW_expression_value_in_simple_operator4016 = new BitSet(
10938: new long[] { 0x0000000000000002L });
10939: public static final BitSet FOLLOW_IN_in_compound_operator4046 = new BitSet(
10940: new long[] { 0x0000000000000400L });
10941: public static final BitSet FOLLOW_NOT_in_compound_operator4058 = new BitSet(
10942: new long[] { 0x0020000000000000L });
10943: public static final BitSet FOLLOW_IN_in_compound_operator4060 = new BitSet(
10944: new long[] { 0x0000000000000400L });
10945: public static final BitSet FOLLOW_LEFT_PAREN_in_compound_operator4075 = new BitSet(
10946: new long[] { 0x10FEF04183D7E6F0L });
10947: public static final BitSet FOLLOW_expression_value_in_compound_operator4079 = new BitSet(
10948: new long[] { 0x0000000000001800L });
10949: public static final BitSet FOLLOW_COMMA_in_compound_operator4086 = new BitSet(
10950: new long[] { 0x10FEF04183D7E6F0L });
10951: public static final BitSet FOLLOW_expression_value_in_compound_operator4090 = new BitSet(
10952: new long[] { 0x0000000000001800L });
10953: public static final BitSet FOLLOW_RIGHT_PAREN_in_compound_operator4099 = new BitSet(
10954: new long[] { 0x0000000000000002L });
10955: public static final BitSet FOLLOW_accessor_path_in_expression_value4133 = new BitSet(
10956: new long[] { 0x0000000000000002L });
10957: public static final BitSet FOLLOW_literal_constraint_in_expression_value4153 = new BitSet(
10958: new long[] { 0x0000000000000002L });
10959: public static final BitSet FOLLOW_paren_chunk_in_expression_value4167 = new BitSet(
10960: new long[] { 0x0000000000000002L });
10961: public static final BitSet FOLLOW_STRING_in_literal_constraint4210 = new BitSet(
10962: new long[] { 0x0000000000000002L });
10963: public static final BitSet FOLLOW_INT_in_literal_constraint4221 = new BitSet(
10964: new long[] { 0x0000000000000002L });
10965: public static final BitSet FOLLOW_FLOAT_in_literal_constraint4234 = new BitSet(
10966: new long[] { 0x0000000000000002L });
10967: public static final BitSet FOLLOW_BOOL_in_literal_constraint4245 = new BitSet(
10968: new long[] { 0x0000000000000002L });
10969: public static final BitSet FOLLOW_NULL_in_literal_constraint4257 = new BitSet(
10970: new long[] { 0x0000000000000002L });
10971: public static final BitSet FOLLOW_paren_chunk_in_predicate4295 = new BitSet(
10972: new long[] { 0x0000000000000002L });
10973: public static final BitSet FOLLOW_LEFT_CURLY_in_curly_chunk4313 = new BitSet(
10974: new long[] { 0xFFFFFFFFFFFFFFF0L, 0x000000000001FFFFL });
10975: public static final BitSet FOLLOW_set_in_curly_chunk4317 = new BitSet(
10976: new long[] { 0xFFFFFFFFFFFFFFF0L, 0x000000000001FFFFL });
10977: public static final BitSet FOLLOW_curly_chunk_in_curly_chunk4326 = new BitSet(
10978: new long[] { 0xFFFFFFFFFFFFFFF0L, 0x000000000001FFFFL });
10979: public static final BitSet FOLLOW_RIGHT_CURLY_in_curly_chunk4331 = new BitSet(
10980: new long[] { 0x0000000000000002L });
10981: public static final BitSet FOLLOW_LEFT_PAREN_in_paren_chunk4345 = new BitSet(
10982: new long[] { 0xFFFFFFFFFFFFFFF0L, 0x000000000001FFFFL });
10983: public static final BitSet FOLLOW_set_in_paren_chunk4349 = new BitSet(
10984: new long[] { 0xFFFFFFFFFFFFFFF0L, 0x000000000001FFFFL });
10985: public static final BitSet FOLLOW_paren_chunk_in_paren_chunk4358 = new BitSet(
10986: new long[] { 0xFFFFFFFFFFFFFFF0L, 0x000000000001FFFFL });
10987: public static final BitSet FOLLOW_RIGHT_PAREN_in_paren_chunk4363 = new BitSet(
10988: new long[] { 0x0000000000000002L });
10989: public static final BitSet FOLLOW_LEFT_SQUARE_in_square_chunk4376 = new BitSet(
10990: new long[] { 0xFFFFFFFFFFFFFFF0L, 0x000000000001FFFFL });
10991: public static final BitSet FOLLOW_set_in_square_chunk4380 = new BitSet(
10992: new long[] { 0xFFFFFFFFFFFFFFF0L, 0x000000000001FFFFL });
10993: public static final BitSet FOLLOW_square_chunk_in_square_chunk4389 = new BitSet(
10994: new long[] { 0xFFFFFFFFFFFFFFF0L, 0x000000000001FFFFL });
10995: public static final BitSet FOLLOW_RIGHT_SQUARE_in_square_chunk4394 = new BitSet(
10996: new long[] { 0x0000000000000002L });
10997: public static final BitSet FOLLOW_ID_in_qualified_id4423 = new BitSet(
10998: new long[] { 0x0400000000000102L });
10999: public static final BitSet FOLLOW_DOT_in_qualified_id4429 = new BitSet(
11000: new long[] { 0x103EF0418147E2F0L });
11001: public static final BitSet FOLLOW_identifier_in_qualified_id4431 = new BitSet(
11002: new long[] { 0x0400000000000102L });
11003: public static final BitSet FOLLOW_LEFT_SQUARE_in_qualified_id4440 = new BitSet(
11004: new long[] { 0x0800000000000000L });
11005: public static final BitSet FOLLOW_RIGHT_SQUARE_in_qualified_id4442 = new BitSet(
11006: new long[] { 0x0400000000000002L });
11007: public static final BitSet FOLLOW_identifier_in_dotted_name4476 = new BitSet(
11008: new long[] { 0x0400000000000102L });
11009: public static final BitSet FOLLOW_DOT_in_dotted_name4482 = new BitSet(
11010: new long[] { 0x103EF0418147E2F0L });
11011: public static final BitSet FOLLOW_identifier_in_dotted_name4486 = new BitSet(
11012: new long[] { 0x0400000000000102L });
11013: public static final BitSet FOLLOW_LEFT_SQUARE_in_dotted_name4495 = new BitSet(
11014: new long[] { 0x0800000000000000L });
11015: public static final BitSet FOLLOW_RIGHT_SQUARE_in_dotted_name4497 = new BitSet(
11016: new long[] { 0x0400000000000002L });
11017: public static final BitSet FOLLOW_accessor_element_in_accessor_path4531 = new BitSet(
11018: new long[] { 0x0000000000000102L });
11019: public static final BitSet FOLLOW_DOT_in_accessor_path4537 = new BitSet(
11020: new long[] { 0x103EF0418147E2F0L });
11021: public static final BitSet FOLLOW_accessor_element_in_accessor_path4541 = new BitSet(
11022: new long[] { 0x0000000000000102L });
11023: public static final BitSet FOLLOW_identifier_in_accessor_element4579 = new BitSet(
11024: new long[] { 0x0400000000000002L });
11025: public static final BitSet FOLLOW_square_chunk_in_accessor_element4586 = new BitSet(
11026: new long[] { 0x0400000000000002L });
11027: public static final BitSet FOLLOW_THEN_in_rhs_chunk4607 = new BitSet(
11028: new long[] { 0xFFFFFFFFFFFFFFF0L, 0x000000000001FFFFL });
11029: public static final BitSet FOLLOW_set_in_rhs_chunk4615 = new BitSet(
11030: new long[] { 0xFFFFFFFFFFFFFFF0L, 0x000000000001FFFFL });
11031: public static final BitSet FOLLOW_END_in_rhs_chunk4639 = new BitSet(
11032: new long[] { 0x0000000000000002L, 0x0000000000000080L });
11033: public static final BitSet FOLLOW_opt_semicolon_in_rhs_chunk4641 = new BitSet(
11034: new long[] { 0x0000000000000002L });
11035: public static final BitSet FOLLOW_ID_in_name4675 = new BitSet(
11036: new long[] { 0x0000000000000002L });
11037: public static final BitSet FOLLOW_STRING_in_name4683 = new BitSet(
11038: new long[] { 0x0000000000000002L });
11039: public static final BitSet FOLLOW_set_in_identifier0 = new BitSet(
11040: new long[] { 0x0000000000000002L });
11041: public static final BitSet FOLLOW_EXISTS_in_synpred11913 = new BitSet(
11042: new long[] { 0x0000000000000002L });
11043: public static final BitSet FOLLOW_NOT_in_synpred21931 = new BitSet(
11044: new long[] { 0x0000000000000002L });
11045: public static final BitSet FOLLOW_EVAL_in_synpred31950 = new BitSet(
11046: new long[] { 0x0000000000000002L });
11047: public static final BitSet FOLLOW_FORALL_in_synpred41969 = new BitSet(
11048: new long[] { 0x0000000000000002L });
11049: public static final BitSet FOLLOW_LEFT_PAREN_in_synpred51988 = new BitSet(
11050: new long[] { 0x0000000000000002L });
11051: public static final BitSet FOLLOW_LEFT_SQUARE_in_synpred62957 = new BitSet(
11052: new long[] { 0x0000000000000002L });
11053: public static final BitSet FOLLOW_LEFT_PAREN_in_synpred72990 = new BitSet(
11054: new long[] { 0x0000000000000002L });
11055: public static final BitSet FOLLOW_DOUBLE_PIPE_in_synpred83722 = new BitSet(
11056: new long[] { 0x003E010000000400L, 0x000000000001F800L });
11057: public static final BitSet FOLLOW_and_restr_connective_in_synpred83733 = new BitSet(
11058: new long[] { 0x0000000000000002L });
11059: public static final BitSet FOLLOW_DOUBLE_AMPER_in_synpred93786 = new BitSet(
11060: new long[] { 0x003E010000000400L, 0x000000000001F800L });
11061: public static final BitSet FOLLOW_constraint_expression_in_synpred93797 = new BitSet(
11062: new long[] { 0x0000000000000002L });
11063:
11064: }
|