Transforms an {@link ILiteral} into an {@link au.csiro.snorocket.core.model.AbstractLiteral}.

@param l The literal in the ontology model format.
@return The literal in the internal model format.
423011
private au.csiro.snorocket.core.model.AbstractLiteral transformLiteral(Literal l) {
        if(l instanceof au.csiro.ontology.model.DateLiteral) {
            return new DateLiteral(((au.csiro.ontology.model.DateLiteral) l).getValue());
        } else if(l instanceof au.csiro.ontology.model.DecimalLiteral) {
            return new DecimalLiteral(((au.csiro.ontology.model.DecimalLiteral) l).getValue());
        } else if(l instanceof au.csiro.ontology.model.IntegerLiteral) {
            return new IntegerLiteral(((au.csiro.ontology.model.IntegerLiteral) l).getValue());
        } else if(l instanceof au.csiro.ontology.model.StringLiteral) {
            return new StringLiteral(((au.csiro.ontology.model.StringLiteral) l).getValue());
        } else if(l instanceof au.csiro.ontology.model.FloatLiteral) {
            return new DecimalLiteral(new BigDecimal(((au.csiro.ontology.model.FloatLiteral) l).getValue()));
        } else {
            throw new RuntimeException("Unexpected AbstractLiteral "+l.getClass().getName());
        }
    }
105357
@Override
    public Object visitDecimalLiteral(ExcellentParser.DecimalLiteralContext ctx) {
        return new BigDecimal(ctx.DECIMAL().getText());
    }
155923
public final EObject ruleXBooleanLiteral() throws RecognitionException {
        EObject current = null;

        Token otherlv_1=null;
        Token lv_isTrue_2_0=null;


        	enterRule();

        try {
            // InternalXbase.g:4670:2: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) )
            // InternalXbase.g:4671:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
            {
            // InternalXbase.g:4671:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) )
            // InternalXbase.g:4672:3: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
            {
            // InternalXbase.g:4672:3: ()
            // InternalXbase.g:4673:4: 
            {
            if ( state.backtracking==0 ) {

              				current = forceCreateModelElement(
              					grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(),
              					current);
              			
            }

            }

            // InternalXbase.g:4679:3: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) )
            int alt81=2;
            int LA81_0 = input.LA(1);

            if ( (LA81_0==75) ) {
                alt81=1;
            }
            else if ( (LA81_0==76) ) {
                alt81=2;
            }
            else {
                if (state.backtracking>0) {state.failed=true; return current;}
                NoViableAltException nvae =
                    new NoViableAltException("", 81, 0, input);

                throw nvae;
            }
            switch (alt81) {
                case 1 :
                    // InternalXbase.g:4680:4: otherlv_1= 'false'
                    {
                    otherlv_1=(Token)match(input,75,FOLLOW_2); if (state.failed) return current;
                    if ( state.backtracking==0 ) {

                      				newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0());
                      			
                    }

                    }
                    break;
                case 2 :
                    // InternalXbase.g:4685:4: ( (lv_isTrue_2_0= 'true' ) )
                    {
                    // InternalXbase.g:4685:4: ( (lv_isTrue_2_0= 'true' ) )
                    // InternalXbase.g:4686:5: (lv_isTrue_2_0= 'true' )
                    {
                    // InternalXbase.g:4686:5: (lv_isTrue_2_0= 'true' )
                    // InternalXbase.g:4687:6: lv_isTrue_2_0= 'true'
                    {
                    lv_isTrue_2_0=(Token)match(input,76,FOLLOW_2); if (state.failed) return current;
                    if ( state.backtracking==0 ) {

                      						newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0());
                      					
                    }
                    if ( state.backtracking==0 ) {

                      						if (current==null) {
                      							current = createModelElement(grammarAccess.getXBooleanLiteralRule());
                      						}
                      						setWithLastConsumed(current, "isTrue", true, "true");
                      					
                    }

                    }


                    }


                    }
                    break;

            }


            }


            }

            if ( state.backtracking==0 ) {

              	leaveRule();

            }
        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
1079267
public static <L, R> Either<L, R> create(L l, R r) {
		if (l == null && r != null) {
			return createRight(r);
		} else if (l != null && r == null) {
			return createLeft(l);
		} else {
			if (l == null) {
				throw new IllegalArgumentException("Both arguments were null.");
			} else {
				throw new IllegalArgumentException("Both arguments were non-null: " + l + " " + r);
			}
		}
	}
18174
public final EObject ruleXStringLiteral() throws RecognitionException {
        EObject current = null;

        Token lv_value_1_0=null;


        	enterRule();

        try {
            // InternalXbaseWithAnnotations.g:5292:2: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) )
            // InternalXbaseWithAnnotations.g:5293:2: ( () ( (lv_value_1_0= RULE_STRING ) ) )
            {
            // InternalXbaseWithAnnotations.g:5293:2: ( () ( (lv_value_1_0= RULE_STRING ) ) )
            // InternalXbaseWithAnnotations.g:5294:3: () ( (lv_value_1_0= RULE_STRING ) )
            {
            // InternalXbaseWithAnnotations.g:5294:3: ()
            // InternalXbaseWithAnnotations.g:5295:4: 
            {
            if ( state.backtracking==0 ) {

              				current = forceCreateModelElement(
              					grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(),
              					current);
              			
            }

            }

            // InternalXbaseWithAnnotations.g:5301:3: ( (lv_value_1_0= RULE_STRING ) )
            // InternalXbaseWithAnnotations.g:5302:4: (lv_value_1_0= RULE_STRING )
            {
            // InternalXbaseWithAnnotations.g:5302:4: (lv_value_1_0= RULE_STRING )
            // InternalXbaseWithAnnotations.g:5303:5: lv_value_1_0= RULE_STRING
            {
            lv_value_1_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current;
            if ( state.backtracking==0 ) {

              					newLeafNode(lv_value_1_0, grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0());
              				
            }
            if ( state.backtracking==0 ) {

              					if (current==null) {
              						current = createModelElement(grammarAccess.getXStringLiteralRule());
              					}
              					setWithLastConsumed(
              						current,
              						"value",
              						lv_value_1_0,
              						"org.eclipse.xtext.xbase.Xtype.STRING");
              				
            }

            }


            }


            }


            }

            if ( state.backtracking==0 ) {

              	leaveRule();

            }
        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
1356866
public final void mLITERAL() throws RecognitionException {
		try {
			int _type = LITERAL;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:325:5: ( ( IdentifierPart | MISC | EscapeSequence | DOT )+ )
			// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:325:7: ( IdentifierPart | MISC | EscapeSequence | DOT )+
			{
			// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:325:7: ( IdentifierPart | MISC | EscapeSequence | DOT )+
			int cnt3=0;
			loop3:
			while (true) {
				int alt3=5;
				int LA3_0 = input.LA(1);
				if ( ((LA3_0 >= '\u0000' && LA3_0 <= '\b')||(LA3_0 >= '\u000E' && LA3_0 <= '\u001B')||LA3_0=='$'||(LA3_0 >= '0' && LA3_0 <= '9')||(LA3_0 >= 'A' && LA3_0 <= 'Z')||LA3_0=='_'||(LA3_0 >= 'a' && LA3_0 <= 'z')||(LA3_0 >= '\u007F' && LA3_0 <= '\u009F')||(LA3_0 >= '\u00A2' && LA3_0 <= '\u00A5')||LA3_0=='\u00AA'||LA3_0=='\u00AD'||LA3_0=='\u00B5'||LA3_0=='\u00BA'||(LA3_0 >= '\u00C0' && LA3_0 <= '\u00D6')||(LA3_0 >= '\u00D8' && LA3_0 <= '\u00F6')||(LA3_0 >= '\u00F8' && LA3_0 <= '\u0236')||(LA3_0 >= '\u0250' && LA3_0 <= '\u02C1')||(LA3_0 >= '\u02C6' && LA3_0 <= '\u02D1')||(LA3_0 >= '\u02E0' && LA3_0 <= '\u02E4')||LA3_0=='\u02EE'||(LA3_0 >= '\u0300' && LA3_0 <= '\u0357')||(LA3_0 >= '\u035D' && LA3_0 <= '\u036F')||LA3_0=='\u037A'||LA3_0=='\u0386'||(LA3_0 >= '\u0388' && LA3_0 <= '\u038A')||LA3_0=='\u038C'||(LA3_0 >= '\u038E' && LA3_0 <= '\u03A1')||(LA3_0 >= '\u03A3' && LA3_0 <= '\u03CE')||(LA3_0 >= '\u03D0' && LA3_0 <= '\u03F5')||(LA3_0 >= '\u03F7' && LA3_0 <= '\u03FB')||(LA3_0 >= '\u0400' && LA3_0 <= '\u0481')||(LA3_0 >= '\u0483' && LA3_0 <= '\u0486')||(LA3_0 >= '\u048A' && LA3_0 <= '\u04CE')||(LA3_0 >= '\u04D0' && LA3_0 <= '\u04F5')||(LA3_0 >= '\u04F8' && LA3_0 <= '\u04F9')||(LA3_0 >= '\u0500' && LA3_0 <= '\u050F')||(LA3_0 >= '\u0531' && LA3_0 <= '\u0556')||LA3_0=='\u0559'||(LA3_0 >= '\u0561' && LA3_0 <= '\u0587')||(LA3_0 >= '\u0591' && LA3_0 <= '\u05A1')||(LA3_0 >= '\u05A3' && LA3_0 <= '\u05B9')||(LA3_0 >= '\u05BB' && LA3_0 <= '\u05BD')||LA3_0=='\u05BF'||(LA3_0 >= '\u05C1' && LA3_0 <= '\u05C2')||LA3_0=='\u05C4'||(LA3_0 >= '\u05D0' && LA3_0 <= '\u05EA')||(LA3_0 >= '\u05F0' && LA3_0 <= '\u05F2')||(LA3_0 >= '\u0600' && LA3_0 <= '\u0603')||(LA3_0 >= '\u0610' && LA3_0 <= '\u0615')||(LA3_0 >= '\u0621' && LA3_0 <= '\u063A')||(LA3_0 >= '\u0640' && LA3_0 <= '\u0658')||(LA3_0 >= '\u0660' && LA3_0 <= '\u0669')||(LA3_0 >= '\u066E' && LA3_0 <= '\u06D3')||(LA3_0 >= '\u06D5' && LA3_0 <= '\u06DD')||(LA3_0 >= '\u06DF' && LA3_0 <= '\u06E8')||(LA3_0 >= '\u06EA' && LA3_0 <= '\u06FC')||LA3_0=='\u06FF'||(LA3_0 >= '\u070F' && LA3_0 <= '\u074A')||(LA3_0 >= '\u074D' && LA3_0 <= '\u074F')||(LA3_0 >= '\u0780' && LA3_0 <= '\u07B1')||(LA3_0 >= '\u0901' && LA3_0 <= '\u0939')||(LA3_0 >= '\u093C' && LA3_0 <= '\u094D')||(LA3_0 >= '\u0950' && LA3_0 <= '\u0954')||(LA3_0 >= '\u0958' && LA3_0 <= '\u0963')||(LA3_0 >= '\u0966' && LA3_0 <= '\u096F')||(LA3_0 >= '\u0981' && LA3_0 <= '\u0983')||(LA3_0 >= '\u0985' && LA3_0 <= '\u098C')||(LA3_0 >= '\u098F' && LA3_0 <= '\u0990')||(LA3_0 >= '\u0993' && LA3_0 <= '\u09A8')||(LA3_0 >= '\u09AA' && LA3_0 <= '\u09B0')||LA3_0=='\u09B2'||(LA3_0 >= '\u09B6' && LA3_0 <= '\u09B9')||(LA3_0 >= '\u09BC' && LA3_0 <= '\u09C4')||(LA3_0 >= '\u09C7' && LA3_0 <= '\u09C8')||(LA3_0 >= '\u09CB' && LA3_0 <= '\u09CD')||LA3_0=='\u09D7'||(LA3_0 >= '\u09DC' && LA3_0 <= '\u09DD')||(LA3_0 >= '\u09DF' && LA3_0 <= '\u09E3')||(LA3_0 >= '\u09E6' && LA3_0 <= '\u09F3')||(LA3_0 >= '\u0A01' && LA3_0 <= '\u0A03')||(LA3_0 >= '\u0A05' && LA3_0 <= '\u0A0A')||(LA3_0 >= '\u0A0F' && LA3_0 <= '\u0A10')||(LA3_0 >= '\u0A13' && LA3_0 <= '\u0A28')||(LA3_0 >= '\u0A2A' && LA3_0 <= '\u0A30')||(LA3_0 >= '\u0A32' && LA3_0 <= '\u0A33')||(LA3_0 >= '\u0A35' && LA3_0 <= '\u0A36')||(LA3_0 >= '\u0A38' && LA3_0 <= '\u0A39')||LA3_0=='\u0A3C'||(LA3_0 >= '\u0A3E' && LA3_0 <= '\u0A42')||(LA3_0 >= '\u0A47' && LA3_0 <= '\u0A48')||(LA3_0 >= '\u0A4B' && LA3_0 <= '\u0A4D')||(LA3_0 >= '\u0A59' && LA3_0 <= '\u0A5C')||LA3_0=='\u0A5E'||(LA3_0 >= '\u0A66' && LA3_0 <= '\u0A74')||(LA3_0 >= '\u0A81' && LA3_0 <= '\u0A83')||(LA3_0 >= '\u0A85' && LA3_0 <= '\u0A8D')||(LA3_0 >= '\u0A8F' && LA3_0 <= '\u0A91')||(LA3_0 >= '\u0A93' && LA3_0 <= '\u0AA8')||(LA3_0 >= '\u0AAA' && LA3_0 <= '\u0AB0')||(LA3_0 >= '\u0AB2' && LA3_0 <= '\u0AB3')||(LA3_0 >= '\u0AB5' && LA3_0 <= '\u0AB9')||(LA3_0 >= '\u0ABC' && LA3_0 <= '\u0AC5')||(LA3_0 >= '\u0AC7' && LA3_0 <= '\u0AC9')||(LA3_0 >= '\u0ACB' && LA3_0 <= '\u0ACD')||LA3_0=='\u0AD0'||(LA3_0 >= '\u0AE0' && LA3_0 <= '\u0AE3')||(LA3_0 >= '\u0AE6' && LA3_0 <= '\u0AEF')||LA3_0=='\u0AF1'||(LA3_0 >= '\u0B01' && LA3_0 <= '\u0B03')||(LA3_0 >= '\u0B05' && LA3_0 <= '\u0B0C')||(LA3_0 >= '\u0B0F' && LA3_0 <= '\u0B10')||(LA3_0 >= '\u0B13' && LA3_0 <= '\u0B28')||(LA3_0 >= '\u0B2A' && LA3_0 <= '\u0B30')||(LA3_0 >= '\u0B32' && LA3_0 <= '\u0B33')||(LA3_0 >= '\u0B35' && LA3_0 <= '\u0B39')||(LA3_0 >= '\u0B3C' && LA3_0 <= '\u0B43')||(LA3_0 >= '\u0B47' && LA3_0 <= '\u0B48')||(LA3_0 >= '\u0B4B' && LA3_0 <= '\u0B4D')||(LA3_0 >= '\u0B56' && LA3_0 <= '\u0B57')||(LA3_0 >= '\u0B5C' && LA3_0 <= '\u0B5D')||(LA3_0 >= '\u0B5F' && LA3_0 <= '\u0B61')||(LA3_0 >= '\u0B66' && LA3_0 <= '\u0B6F')||LA3_0=='\u0B71'||(LA3_0 >= '\u0B82' && LA3_0 <= '\u0B83')||(LA3_0 >= '\u0B85' && LA3_0 <= '\u0B8A')||(LA3_0 >= '\u0B8E' && LA3_0 <= '\u0B90')||(LA3_0 >= '\u0B92' && LA3_0 <= '\u0B95')||(LA3_0 >= '\u0B99' && LA3_0 <= '\u0B9A')||LA3_0=='\u0B9C'||(LA3_0 >= '\u0B9E' && LA3_0 <= '\u0B9F')||(LA3_0 >= '\u0BA3' && LA3_0 <= '\u0BA4')||(LA3_0 >= '\u0BA8' && LA3_0 <= '\u0BAA')||(LA3_0 >= '\u0BAE' && LA3_0 <= '\u0BB5')||(LA3_0 >= '\u0BB7' && LA3_0 <= '\u0BB9')||(LA3_0 >= '\u0BBE' && LA3_0 <= '\u0BC2')||(LA3_0 >= '\u0BC6' && LA3_0 <= '\u0BC8')||(LA3_0 >= '\u0BCA' && LA3_0 <= '\u0BCD')||LA3_0=='\u0BD7'||(LA3_0 >= '\u0BE7' && LA3_0 <= '\u0BEF')||LA3_0=='\u0BF9'||(LA3_0 >= '\u0C01' && LA3_0 <= '\u0C03')||(LA3_0 >= '\u0C05' && LA3_0 <= '\u0C0C')||(LA3_0 >= '\u0C0E' && LA3_0 <= '\u0C10')||(LA3_0 >= '\u0C12' && LA3_0 <= '\u0C28')||(LA3_0 >= '\u0C2A' && LA3_0 <= '\u0C33')||(LA3_0 >= '\u0C35' && LA3_0 <= '\u0C39')||(LA3_0 >= '\u0C3E' && LA3_0 <= '\u0C44')||(LA3_0 >= '\u0C46' && LA3_0 <= '\u0C48')||(LA3_0 >= '\u0C4A' && LA3_0 <= '\u0C4D')||(LA3_0 >= '\u0C55' && LA3_0 <= '\u0C56')||(LA3_0 >= '\u0C60' && LA3_0 <= '\u0C61')||(LA3_0 >= '\u0C66' && LA3_0 <= '\u0C6F')||(LA3_0 >= '\u0C82' && LA3_0 <= '\u0C83')||(LA3_0 >= '\u0C85' && LA3_0 <= '\u0C8C')||(LA3_0 >= '\u0C8E' && LA3_0 <= '\u0C90')||(LA3_0 >= '\u0C92' && LA3_0 <= '\u0CA8')||(LA3_0 >= '\u0CAA' && LA3_0 <= '\u0CB3')||(LA3_0 >= '\u0CB5' && LA3_0 <= '\u0CB9')||(LA3_0 >= '\u0CBC' && LA3_0 <= '\u0CC4')||(LA3_0 >= '\u0CC6' && LA3_0 <= '\u0CC8')||(LA3_0 >= '\u0CCA' && LA3_0 <= '\u0CCD')||(LA3_0 >= '\u0CD5' && LA3_0 <= '\u0CD6')||LA3_0=='\u0CDE'||(LA3_0 >= '\u0CE0' && LA3_0 <= '\u0CE1')||(LA3_0 >= '\u0CE6' && LA3_0 <= '\u0CEF')||(LA3_0 >= '\u0D02' && LA3_0 <= '\u0D03')||(LA3_0 >= '\u0D05' && LA3_0 <= '\u0D0C')||(LA3_0 >= '\u0D0E' && LA3_0 <= '\u0D10')||(LA3_0 >= '\u0D12' && LA3_0 <= '\u0D28')||(LA3_0 >= '\u0D2A' && LA3_0 <= '\u0D39')||(LA3_0 >= '\u0D3E' && LA3_0 <= '\u0D43')||(LA3_0 >= '\u0D46' && LA3_0 <= '\u0D48')||(LA3_0 >= '\u0D4A' && LA3_0 <= '\u0D4D')||LA3_0=='\u0D57'||(LA3_0 >= '\u0D60' && LA3_0 <= '\u0D61')||(LA3_0 >= '\u0D66' && LA3_0 <= '\u0D6F')||(LA3_0 >= '\u0D82' && LA3_0 <= '\u0D83')||(LA3_0 >= '\u0D85' && LA3_0 <= '\u0D96')||(LA3_0 >= '\u0D9A' && LA3_0 <= '\u0DB1')||(LA3_0 >= '\u0DB3' && LA3_0 <= '\u0DBB')||LA3_0=='\u0DBD'||(LA3_0 >= '\u0DC0' && LA3_0 <= '\u0DC6')||LA3_0=='\u0DCA'||(LA3_0 >= '\u0DCF' && LA3_0 <= '\u0DD4')||LA3_0=='\u0DD6'||(LA3_0 >= '\u0DD8' && LA3_0 <= '\u0DDF')||(LA3_0 >= '\u0DF2' && LA3_0 <= '\u0DF3')||(LA3_0 >= '\u0E01' && LA3_0 <= '\u0E3A')||(LA3_0 >= '\u0E3F' && LA3_0 <= '\u0E4E')||(LA3_0 >= '\u0E50' && LA3_0 <= '\u0E59')||(LA3_0 >= '\u0E81' && LA3_0 <= '\u0E82')||LA3_0=='\u0E84'||(LA3_0 >= '\u0E87' && LA3_0 <= '\u0E88')||LA3_0=='\u0E8A'||LA3_0=='\u0E8D'||(LA3_0 >= '\u0E94' && LA3_0 <= '\u0E97')||(LA3_0 >= '\u0E99' && LA3_0 <= '\u0E9F')||(LA3_0 >= '\u0EA1' && LA3_0 <= '\u0EA3')||LA3_0=='\u0EA5'||LA3_0=='\u0EA7'||(LA3_0 >= '\u0EAA' && LA3_0 <= '\u0EAB')||(LA3_0 >= '\u0EAD' && LA3_0 <= '\u0EB9')||(LA3_0 >= '\u0EBB' && LA3_0 <= '\u0EBD')||(LA3_0 >= '\u0EC0' && LA3_0 <= '\u0EC4')||LA3_0=='\u0EC6'||(LA3_0 >= '\u0EC8' && LA3_0 <= '\u0ECD')||(LA3_0 >= '\u0ED0' && LA3_0 <= '\u0ED9')||(LA3_0 >= '\u0EDC' && LA3_0 <= '\u0EDD')||LA3_0=='\u0F00'||(LA3_0 >= '\u0F18' && LA3_0 <= '\u0F19')||(LA3_0 >= '\u0F20' && LA3_0 <= '\u0F29')||LA3_0=='\u0F35'||LA3_0=='\u0F37'||LA3_0=='\u0F39'||(LA3_0 >= '\u0F3E' && LA3_0 <= '\u0F47')||(LA3_0 >= '\u0F49' && LA3_0 <= '\u0F6A')||(LA3_0 >= '\u0F71' && LA3_0 <= '\u0F84')||(LA3_0 >= '\u0F86' && LA3_0 <= '\u0F8B')||(LA3_0 >= '\u0F90' && LA3_0 <= '\u0F97')||(LA3_0 >= '\u0F99' && LA3_0 <= '\u0FBC')||LA3_0=='\u0FC6'||(LA3_0 >= '\u1000' && LA3_0 <= '\u1021')||(LA3_0 >= '\u1023' && LA3_0 <= '\u1027')||(LA3_0 >= '\u1029' && LA3_0 <= '\u102A')||(LA3_0 >= '\u102C' && LA3_0 <= '\u1032')||(LA3_0 >= '\u1036' && LA3_0 <= '\u1039')||(LA3_0 >= '\u1040' && LA3_0 <= '\u1049')||(LA3_0 >= '\u1050' && LA3_0 <= '\u1059')||(LA3_0 >= '\u10A0' && LA3_0 <= '\u10C5')||(LA3_0 >= '\u10D0' && LA3_0 <= '\u10F8')||(LA3_0 >= '\u1100' && LA3_0 <= '\u1159')||(LA3_0 >= '\u115F' && LA3_0 <= '\u11A2')||(LA3_0 >= '\u11A8' && LA3_0 <= '\u11F9')||(LA3_0 >= '\u1200' && LA3_0 <= '\u1206')||(LA3_0 >= '\u1208' && LA3_0 <= '\u1246')||LA3_0=='\u1248'||(LA3_0 >= '\u124A' && LA3_0 <= '\u124D')||(LA3_0 >= '\u1250' && LA3_0 <= '\u1256')||LA3_0=='\u1258'||(LA3_0 >= '\u125A' && LA3_0 <= '\u125D')||(LA3_0 >= '\u1260' && LA3_0 <= '\u1286')||LA3_0=='\u1288'||(LA3_0 >= '\u128A' && LA3_0 <= '\u128D')||(LA3_0 >= '\u1290' && LA3_0 <= '\u12AE')||LA3_0=='\u12B0'||(LA3_0 >= '\u12B2' && LA3_0 <= '\u12B5')||(LA3_0 >= '\u12B8' && LA3_0 <= '\u12BE')||LA3_0=='\u12C0'||(LA3_0 >= '\u12C2' && LA3_0 <= '\u12C5')||(LA3_0 >= '\u12C8' && LA3_0 <= '\u12CE')||(LA3_0 >= '\u12D0' && LA3_0 <= '\u12D6')||(LA3_0 >= '\u12D8' && LA3_0 <= '\u12EE')||(LA3_0 >= '\u12F0' && LA3_0 <= '\u130E')||LA3_0=='\u1310'||(LA3_0 >= '\u1312' && LA3_0 <= '\u1315')||(LA3_0 >= '\u1318' && LA3_0 <= '\u131E')||(LA3_0 >= '\u1320' && LA3_0 <= '\u1346')||(LA3_0 >= '\u1348' && LA3_0 <= '\u135A')||(LA3_0 >= '\u1369' && LA3_0 <= '\u1371')||(LA3_0 >= '\u13A0' && LA3_0 <= '\u13F4')||(LA3_0 >= '\u1401' && LA3_0 <= '\u166C')||(LA3_0 >= '\u166F' && LA3_0 <= '\u1676')||(LA3_0 >= '\u1681' && LA3_0 <= '\u169A')||(LA3_0 >= '\u16A0' && LA3_0 <= '\u16EA')||(LA3_0 >= '\u16EE' && LA3_0 <= '\u16F0')||(LA3_0 >= '\u1700' && LA3_0 <= '\u170C')||(LA3_0 >= '\u170E' && LA3_0 <= '\u1714')||(LA3_0 >= '\u1720' && LA3_0 <= '\u1734')||(LA3_0 >= '\u1740' && LA3_0 <= '\u1753')||(LA3_0 >= '\u1760' && LA3_0 <= '\u176C')||(LA3_0 >= '\u176E' && LA3_0 <= '\u1770')||(LA3_0 >= '\u1772' && LA3_0 <= '\u1773')||(LA3_0 >= '\u1780' && LA3_0 <= '\u17D3')||LA3_0=='\u17D7'||(LA3_0 >= '\u17DB' && LA3_0 <= '\u17DD')||(LA3_0 >= '\u17E0' && LA3_0 <= '\u17E9')||(LA3_0 >= '\u180B' && LA3_0 <= '\u180D')||(LA3_0 >= '\u1810' && LA3_0 <= '\u1819')||(LA3_0 >= '\u1820' && LA3_0 <= '\u1877')||(LA3_0 >= '\u1880' && LA3_0 <= '\u18A9')||(LA3_0 >= '\u1900' && LA3_0 <= '\u191C')||(LA3_0 >= '\u1920' && LA3_0 <= '\u192B')||(LA3_0 >= '\u1930' && LA3_0 <= '\u193B')||(LA3_0 >= '\u1946' && LA3_0 <= '\u196D')||(LA3_0 >= '\u1970' && LA3_0 <= '\u1974')||(LA3_0 >= '\u1D00' && LA3_0 <= '\u1D6B')||(LA3_0 >= '\u1E00' && LA3_0 <= '\u1E9B')||(LA3_0 >= '\u1EA0' && LA3_0 <= '\u1EF9')||(LA3_0 >= '\u1F00' && LA3_0 <= '\u1F15')||(LA3_0 >= '\u1F18' && LA3_0 <= '\u1F1D')||(LA3_0 >= '\u1F20' && LA3_0 <= '\u1F45')||(LA3_0 >= '\u1F48' && LA3_0 <= '\u1F4D')||(LA3_0 >= '\u1F50' && LA3_0 <= '\u1F57')||LA3_0=='\u1F59'||LA3_0=='\u1F5B'||LA3_0=='\u1F5D'||(LA3_0 >= '\u1F5F' && LA3_0 <= '\u1F7D')||(LA3_0 >= '\u1F80' && LA3_0 <= '\u1FB4')||(LA3_0 >= '\u1FB6' && LA3_0 <= '\u1FBC')||LA3_0=='\u1FBE'||(LA3_0 >= '\u1FC2' && LA3_0 <= '\u1FC4')||(LA3_0 >= '\u1FC6' && LA3_0 <= '\u1FCC')||(LA3_0 >= '\u1FD0' && LA3_0 <= '\u1FD3')||(LA3_0 >= '\u1FD6' && LA3_0 <= '\u1FDB')||(LA3_0 >= '\u1FE0' && LA3_0 <= '\u1FEC')||(LA3_0 >= '\u1FF2' && LA3_0 <= '\u1FF4')||(LA3_0 >= '\u1FF6' && LA3_0 <= '\u1FFC')||(LA3_0 >= '\u200C' && LA3_0 <= '\u200F')||(LA3_0 >= '\u202A' && LA3_0 <= '\u202E')||(LA3_0 >= '\u203F' && LA3_0 <= '\u2040')||LA3_0=='\u2054'||(LA3_0 >= '\u2060' && LA3_0 <= '\u2063')||(LA3_0 >= '\u206A' && LA3_0 <= '\u206F')||LA3_0=='\u2071'||LA3_0=='\u207F'||(LA3_0 >= '\u20A0' && LA3_0 <= '\u20B1')||(LA3_0 >= '\u20D0' && LA3_0 <= '\u20DC')||LA3_0=='\u20E1'||(LA3_0 >= '\u20E5' && LA3_0 <= '\u20EA')||LA3_0=='\u2102'||LA3_0=='\u2107'||(LA3_0 >= '\u210A' && LA3_0 <= '\u2113')||LA3_0=='\u2115'||(LA3_0 >= '\u2119' && LA3_0 <= '\u211D')||LA3_0=='\u2124'||LA3_0=='\u2126'||LA3_0=='\u2128'||(LA3_0 >= '\u212A' && LA3_0 <= '\u212D')||(LA3_0 >= '\u212F' && LA3_0 <= '\u2131')||(LA3_0 >= '\u2133' && LA3_0 <= '\u2139')||(LA3_0 >= '\u213D' && LA3_0 <= '\u213F')||(LA3_0 >= '\u2145' && LA3_0 <= '\u2149')||(LA3_0 >= '\u2160' && LA3_0 <= '\u2183')||LA3_0=='\u3000'||(LA3_0 >= '\u3005' && LA3_0 <= '\u3007')||(LA3_0 >= '\u3021' && LA3_0 <= '\u302F')||(LA3_0 >= '\u3031' && LA3_0 <= '\u3035')||(LA3_0 >= '\u3038' && LA3_0 <= '\u303C')||(LA3_0 >= '\u3041' && LA3_0 <= '\u3096')||(LA3_0 >= '\u3099' && LA3_0 <= '\u309A')||(LA3_0 >= '\u309D' && LA3_0 <= '\u309F')||(LA3_0 >= '\u30A1' && LA3_0 <= '\u30FF')||(LA3_0 >= '\u3105' && LA3_0 <= '\u312C')||(LA3_0 >= '\u3131' && LA3_0 <= '\u318E')||(LA3_0 >= '\u31A0' && LA3_0 <= '\u31B7')||(LA3_0 >= '\u31F0' && LA3_0 <= '\u31FF')||(LA3_0 >= '\u3400' && LA3_0 <= '\u4DB5')||(LA3_0 >= '\u4E00' && LA3_0 <= '\u9FA5')||(LA3_0 >= '\uA000' && LA3_0 <= '\uA48C')||(LA3_0 >= '\uAC00' && LA3_0 <= '\uD7A3')||(LA3_0 >= '\uF900' && LA3_0 <= '\uFA2D')||(LA3_0 >= '\uFA30' && LA3_0 <= '\uFA6A')||(LA3_0 >= '\uFB00' && LA3_0 <= '\uFB06')||(LA3_0 >= '\uFB13' && LA3_0 <= '\uFB17')||(LA3_0 >= '\uFB1D' && LA3_0 <= '\uFB28')||(LA3_0 >= '\uFB2A' && LA3_0 <= '\uFB36')||(LA3_0 >= '\uFB38' && LA3_0 <= '\uFB3C')||LA3_0=='\uFB3E'||(LA3_0 >= '\uFB40' && LA3_0 <= '\uFB41')||(LA3_0 >= '\uFB43' && LA3_0 <= '\uFB44')||(LA3_0 >= '\uFB46' && LA3_0 <= '\uFBB1')||(LA3_0 >= '\uFBD3' && LA3_0 <= '\uFD3D')||(LA3_0 >= '\uFD50' && LA3_0 <= '\uFD8F')||(LA3_0 >= '\uFD92' && LA3_0 <= '\uFDC7')||(LA3_0 >= '\uFDF0' && LA3_0 <= '\uFDFC')||(LA3_0 >= '\uFE00' && LA3_0 <= '\uFE0F')||(LA3_0 >= '\uFE20' && LA3_0 <= '\uFE23')||(LA3_0 >= '\uFE33' && LA3_0 <= '\uFE34')||(LA3_0 >= '\uFE4D' && LA3_0 <= '\uFE4F')||LA3_0=='\uFE69'||(LA3_0 >= '\uFE70' && LA3_0 <= '\uFE74')||(LA3_0 >= '\uFE76' && LA3_0 <= '\uFEFC')||LA3_0=='\uFEFF'||LA3_0=='\uFF04'||(LA3_0 >= '\uFF10' && LA3_0 <= '\uFF19')||(LA3_0 >= '\uFF21' && LA3_0 <= '\uFF3A')||LA3_0=='\uFF3F'||(LA3_0 >= '\uFF41' && LA3_0 <= '\uFF5A')||(LA3_0 >= '\uFF65' && LA3_0 <= '\uFFBE')||(LA3_0 >= '\uFFC2' && LA3_0 <= '\uFFC7')||(LA3_0 >= '\uFFCA' && LA3_0 <= '\uFFCF')||(LA3_0 >= '\uFFD2' && LA3_0 <= '\uFFD7')||(LA3_0 >= '\uFFDA' && LA3_0 <= '\uFFDC')||(LA3_0 >= '\uFFE0' && LA3_0 <= '\uFFE1')||(LA3_0 >= '\uFFE5' && LA3_0 <= '\uFFE6')||(LA3_0 >= '\uFFF9' && LA3_0 <= '\uFFFB')) ) {
					alt3=1;
				}
				else if ( ((LA3_0 >= '!' && LA3_0 <= '#')||(LA3_0 >= '%' && LA3_0 <= '-')||LA3_0=='/'||(LA3_0 >= ';' && LA3_0 <= '<')||(LA3_0 >= '>' && LA3_0 <= '@')||LA3_0=='^'||LA3_0=='|'||LA3_0=='~') ) {
					alt3=2;
				}
				else if ( (LA3_0=='\\') ) {
					alt3=3;
				}
				else if ( (LA3_0=='.') ) {
					alt3=4;
				}

				switch (alt3) {
				case 1 :
					// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:325:8: IdentifierPart
					{
					mIdentifierPart(); if (state.failed) return;

					}
					break;
				case 2 :
					// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:325:23: MISC
					{
					mMISC(); if (state.failed) return;

					}
					break;
				case 3 :
					// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:325:28: EscapeSequence
					{
					mEscapeSequence(); if (state.failed) return;

					}
					break;
				case 4 :
					// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:325:43: DOT
					{
					mDOT(); if (state.failed) return;

					}
					break;

				default :
					if ( cnt3 >= 1 ) break loop3;
					if (state.backtracking>0) {state.failed=true; return;}
					EarlyExitException eee = new EarlyExitException(3, input);
					throw eee;
				}
				cnt3++;
			}

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
248561
public static Matcher<ExpressionTree> nonNullLiteral() {
    return new Matcher<ExpressionTree>() {
      @Override
      public boolean matches(ExpressionTree tree, VisitorState state) {
        switch (tree.getKind()) {
          case MEMBER_SELECT:
            return ((MemberSelectTree) tree).getIdentifier().contentEquals("class");
          case INT_LITERAL:
          case LONG_LITERAL:
          case FLOAT_LITERAL:
          case DOUBLE_LITERAL:
          case BOOLEAN_LITERAL:
          case CHAR_LITERAL:
            // fall through
          case STRING_LITERAL:
            return true;
          default:
            return false;
        }
      }
    };
  }
1298766
public final void mLE() throws RecognitionException {
		try {
			int _type = LE;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// hql.g:739:3: ( '<=' )
			// hql.g:739:5: '<='
			{
			match("<="); if (state.failed) return;

			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
1209456
def literal(compiler, cont, arg):
  ''''''
  text = compiler.new_var(il.ConstLocalVar('text'))
  pos = compiler.new_var(il.ConstLocalVar('pos'))
  p = compiler.new_var(il.LocalVar('p'))
  i = compiler.new_var(il.LocalVar('i'))
  x = compiler.new_var(il.ConstLocalVar('x'))
  length = compiler.new_var(il.ConstLocalVar('length'))  
  length2 = compiler.new_var(il.ConstLocalVar('length2'))  
  if isinstance(arg, Var):
    return il.Begin((
      il.Assign(x, il.Deref(arg)),
      il.AssignFromList(text, pos, il.parse_state),
      il.Assign(length, il.Len(text)),
      il.Assign(length, il.Len(x)),
      il.Assign(i, il.Integer(0)),
      il.Assign(p, pos),
      il.while_(il.and_(il.Lt(i, length2), il.Lt(p, length), il.Eq(il.GetItem(text, p), il.GetItem(x, i))), 
        il.AddAssign(p, il.Integer(1))),
      il.If(il.Lt(i, length2), 
        il.failcont(il.NONE),
        il.begin(il.append_failcont(compiler, 
          il.SetParseState(il.Tuple(text, pos))),
          il.SetParseState(il.Tuple(text, p)),
          cont(arg)))))
  elif isinstance(arg, String):
    arg = arg.interlang()
    return il.Begin((
      il.AssignFromList(text, pos, il.parse_state),
      il.Assign(length, il.Len(text)),
      il.Assign(length2, il.Len(arg)),
      il.Assign(i, il.Integer(0)),
      il.Assign(p, pos),
      il.while_(il.and_(il.Lt(i, length2), il.Lt(p, length), il.Eq(il.GetItem(text, p), il.GetItem(arg, i))), 
        il.AddAssign(p, il.Integer(1)),
        il.AddAssign(i, il.Integer(1)),
        ),
      il.If(il.Lt(i, length2), 
        il.failcont(il.NONE),
        il.begin(il.append_failcont(compiler, 
          il.SetParseState(il.Tuple(text, pos))),
          il.SetParseState(il.Tuple(text, p)),
          cont(arg)))))
  else:
    raise CompileTypeError
464072
private static RDFNode toNode(Object value) {
    if (value == null) {
      return null;
    } else if (value instanceof RDFNode) {
      return (RDFNode) value;
    } else if (value instanceof IRI) {
      return new NamedNodeImpl(URI.create(((IRI)value).iri.toString()));
    } else if (value instanceof PlainLiteral) {
      PlainLiteral pl = (PlainLiteral)value;
      String lang = pl.language != null ? pl.language.toString() : null;
      return new PlainLiteralImpl(pl.lexical.toString(), lang);
    } else if (value instanceof TypedLiteral) {
      TypedLiteral tl = (TypedLiteral)value;
      return new TypedLiteralImpl(tl.lexical.toString(), URI.create(tl.datatype.toString()));
    } else if (value instanceof BNode) {
      return new BlankNodeImpl(((BNode)value).label.toString());
    } else {
      // Sherpa passes strings as something other than java.lang.String, so convert.
      if (value instanceof CharSequence) {
        value = value.toString();
      }
      // What's left is a primitive Java type, convert it to an XSD-typed literal.
      // Falls back to xsd:anySimpleType for unrecognized classes
      return Conversions.toLiteral(value);
    }
  }
352793
public static Set set(String field, SetLiteral l) {
        return new Set().more(field, l);
    }
336100
public void addClause(final Literal... literals) {
    if (this.miniSat == null && this.cleaneLing == null)
      this.result.add(this.f.clause(literals));
    else if (this.miniSat != null) {
      final LNGIntVector clauseVec = new LNGIntVector(literals.length);
      for (final Literal lit : literals) {
        int index = this.miniSat.underlyingSolver().idxForName(lit.name());
        if (index == -1) {
          index = this.miniSat.underlyingSolver().newVar(!this.miniSat.initialPhase(), true);
          this.miniSat.underlyingSolver().addName(lit.name(), index);
        }
        final int litNum;
        if (lit instanceof EncodingAuxiliaryVariable)
          litNum = !((EncodingAuxiliaryVariable) lit).negated ? index * 2 : (index * 2) ^ 1;
        else
          litNum = lit.phase() ? index * 2 : (index * 2) ^ 1;
        clauseVec.push(litNum);
      }
      this.miniSat.underlyingSolver().addClause(clauseVec, null);
      this.miniSat.setSolverToUndef();
    } else {
      for (final Literal lit : literals) {
        final int index = this.cleaneLing.getOrCreateVarIndex(lit.variable());
        if (lit instanceof EncodingAuxiliaryVariable)
          this.cleaneLing.underlyingSolver().addlit(!((EncodingAuxiliaryVariable) lit).negated ? index : -index);
        else
          this.cleaneLing.underlyingSolver().addlit(lit.phase() ? index : -index);
      }
      this.cleaneLing.underlyingSolver().addlit(CleaneLing.CLAUSE_TERMINATOR);
      this.cleaneLing.setSolverToUndef();
    }
  }
921741
public final void mLT() throws RecognitionException {
		try {
			int _type = LT;
			int _channel = DEFAULT_TOKEN_CHANNEL;
			// hql.g:735:3: ( '<' )
			// hql.g:735:5: '<'
			{
			match('<'); if (state.failed) return;
			}

			state.type = _type;
			state.channel = _channel;
		}
		finally {
			// do for sure before leaving
		}
	}
452064
public final EObject ruleEnumLiteralDeclaration() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token otherlv_1=null;
        EObject lv_literal_2_0 = null;



        	enterRule();

        try {
            // InternalXtext.g:3713:2: ( ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= '=' ( (lv_literal_2_0= ruleKeyword ) ) )? ) )
            // InternalXtext.g:3714:2: ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= '=' ( (lv_literal_2_0= ruleKeyword ) ) )? )
            {
            // InternalXtext.g:3714:2: ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= '=' ( (lv_literal_2_0= ruleKeyword ) ) )? )
            // InternalXtext.g:3715:3: ( (otherlv_0= RULE_ID ) ) (otherlv_1= '=' ( (lv_literal_2_0= ruleKeyword ) ) )?
            {
            // InternalXtext.g:3715:3: ( (otherlv_0= RULE_ID ) )
            // InternalXtext.g:3716:4: (otherlv_0= RULE_ID )
            {
            // InternalXtext.g:3716:4: (otherlv_0= RULE_ID )
            // InternalXtext.g:3717:5: otherlv_0= RULE_ID
            {

            					if (current==null) {
            						current = createModelElement(grammarAccess.getEnumLiteralDeclarationRule());
            					}
            				
            otherlv_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_51); 

            					newLeafNode(otherlv_0, grammarAccess.getEnumLiteralDeclarationAccess().getEnumLiteralEEnumLiteralCrossReference_0_0());
            				

            }


            }

            // InternalXtext.g:3728:3: (otherlv_1= '=' ( (lv_literal_2_0= ruleKeyword ) ) )?
            int alt78=2;
            int LA78_0 = input.LA(1);

            if ( (LA78_0==35) ) {
                alt78=1;
            }
            switch (alt78) {
                case 1 :
                    // InternalXtext.g:3729:4: otherlv_1= '=' ( (lv_literal_2_0= ruleKeyword ) )
                    {
                    otherlv_1=(Token)match(input,35,FollowSets000.FOLLOW_11); 

                    				newLeafNode(otherlv_1, grammarAccess.getEnumLiteralDeclarationAccess().getEqualsSignKeyword_1_0());
                    			
                    // InternalXtext.g:3733:4: ( (lv_literal_2_0= ruleKeyword ) )
                    // InternalXtext.g:3734:5: (lv_literal_2_0= ruleKeyword )
                    {
                    // InternalXtext.g:3734:5: (lv_literal_2_0= ruleKeyword )
                    // InternalXtext.g:3735:6: lv_literal_2_0= ruleKeyword
                    {

                    						newCompositeNode(grammarAccess.getEnumLiteralDeclarationAccess().getLiteralKeywordParserRuleCall_1_1_0());
                    					
                    pushFollow(FollowSets000.FOLLOW_2);
                    lv_literal_2_0=ruleKeyword();

                    state._fsp--;


                    						if (current==null) {
                    							current = createModelElementForParent(grammarAccess.getEnumLiteralDeclarationRule());
                    						}
                    						set(
                    							current,
                    							"literal",
                    							lv_literal_2_0,
                    							"org.eclipse.xtext.Xtext.Keyword");
                    						afterParserOrEnumRuleCall();
                    					

                    }


                    }


                    }
                    break;

            }


            }


            }


            	leaveRule();

        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
651200
private AtomicValue parseStringLiteral() {

        final StringBuilder mValue = new StringBuilder();

        if (is(TokenType.DBL_QUOTE, true)) {

            do {

                while (mToken.getType() != TokenType.DBL_QUOTE) {
                    mValue.append(mToken.getContent());
                    // consume(Token.TEXT, false); // TODO: does not need to be
                    // a text
                    // could also be a value
                    mToken = mScanner.nextToken();
                }

                consume(TokenType.DBL_QUOTE, true);
            } while (is(TokenType.DBL_QUOTE, true));

        } else {

            consume(TokenType.SINGLE_QUOTE, true);

            do {

                while (mToken.getType() != TokenType.SINGLE_QUOTE) {
                    mValue.append(mToken.getContent());
                    // consume(Token.TEXT, false);
                    mToken = mScanner.nextToken();
                }

                consume(TokenType.SINGLE_QUOTE, true);
            } while (is(TokenType.SINGLE_QUOTE, true));

        }

        final AtomicValue mStringLiteral =
            new AtomicValue(TypedValue.getBytes(mValue.toString()), NamePageHash
                .generateHashForString("xs:string"));
        return mStringLiteral;
    }
296289
public final EObject ruleLiteralCondition() throws RecognitionException {
        EObject current = null;

        Token lv_true_1_0=null;
        Token otherlv_2=null;


        	enterRule();

        try {
            // InternalXtext.g:1724:2: ( ( () ( ( (lv_true_1_0= 'true' ) ) | otherlv_2= 'false' ) ) )
            // InternalXtext.g:1725:2: ( () ( ( (lv_true_1_0= 'true' ) ) | otherlv_2= 'false' ) )
            {
            // InternalXtext.g:1725:2: ( () ( ( (lv_true_1_0= 'true' ) ) | otherlv_2= 'false' ) )
            // InternalXtext.g:1726:3: () ( ( (lv_true_1_0= 'true' ) ) | otherlv_2= 'false' )
            {
            // InternalXtext.g:1726:3: ()
            // InternalXtext.g:1727:4: 
            {

            				current = forceCreateModelElement(
            					grammarAccess.getLiteralConditionAccess().getLiteralConditionAction_0(),
            					current);
            			

            }

            // InternalXtext.g:1733:3: ( ( (lv_true_1_0= 'true' ) ) | otherlv_2= 'false' )
            int alt43=2;
            int LA43_0 = input.LA(1);

            if ( (LA43_0==39) ) {
                alt43=1;
            }
            else if ( (LA43_0==40) ) {
                alt43=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 43, 0, input);

                throw nvae;
            }
            switch (alt43) {
                case 1 :
                    // InternalXtext.g:1734:4: ( (lv_true_1_0= 'true' ) )
                    {
                    // InternalXtext.g:1734:4: ( (lv_true_1_0= 'true' ) )
                    // InternalXtext.g:1735:5: (lv_true_1_0= 'true' )
                    {
                    // InternalXtext.g:1735:5: (lv_true_1_0= 'true' )
                    // InternalXtext.g:1736:6: lv_true_1_0= 'true'
                    {
                    lv_true_1_0=(Token)match(input,39,FollowSets000.FOLLOW_2); 

                    						newLeafNode(lv_true_1_0, grammarAccess.getLiteralConditionAccess().getTrueTrueKeyword_1_0_0());
                    					

                    						if (current==null) {
                    							current = createModelElement(grammarAccess.getLiteralConditionRule());
                    						}
                    						setWithLastConsumed(current, "true", true, "true");
                    					

                    }


                    }


                    }
                    break;
                case 2 :
                    // InternalXtext.g:1749:4: otherlv_2= 'false'
                    {
                    otherlv_2=(Token)match(input,40,FollowSets000.FOLLOW_2); 

                    				newLeafNode(otherlv_2, grammarAccess.getLiteralConditionAccess().getFalseKeyword_1_1());
                    			

                    }
                    break;

            }


            }


            }


            	leaveRule();

        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
1003913
public Matrix getL () {
      Matrix X = MatrixFactory.createMatrix(m,n);
      for (int i = 0; i < m; i++) {
         for (int j = 0; j < n; j++) {
            if (i > j) {
					X.set(i, j, LU[i][j]);
            } else if (i == j) {
               X.set(i, j, 1);
            }
         }
      }
      return X;
   }