#pragma warning disable 219 // $ANTLR 3.2 Sep 23, 2009 12:02:23 C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g 2009-11-11 17:56:42 using System; using System.Collections.Generic; using System.Globalization; using System.Text; using Unity.VisualScripting.Antlr3.Runtime; using Unity.VisualScripting.Antlr3.Runtime.Tree; namespace Unity.VisualScripting.Dependencies.NCalc { public class NCalcParser : Parser { // delegates // delegators public NCalcParser(ITokenStream input) : this(input, new RecognizerSharedState()) { } public NCalcParser(ITokenStream input, RecognizerSharedState state) : base(input, state) { InitializeCyclicDFAs(); } protected ITreeAdaptor adaptor = new CommonTreeAdaptor(); public ITreeAdaptor TreeAdaptor { get { return adaptor; } set { adaptor = value; } } override public string[] TokenNames { get { return tokenNames; } } override public string GrammarFileName { get { return "C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g"; } } public List Errors { get; private set; } // $ANTLR end "arguments" // Delegated rules private void InitializeCyclicDFAs() { } private string extractString(string text) { var sb = new StringBuilder(text); var startIndex = 1; // Skip initial quote var slashIndex = -1; while ((slashIndex = sb.ToString().IndexOf(BS, startIndex)) != -1) { var escapeType = sb[slashIndex + 1]; switch (escapeType) { case 'u': var hcode = String.Concat(sb[slashIndex + 4], sb[slashIndex + 5]); var lcode = String.Concat(sb[slashIndex + 2], sb[slashIndex + 3]); var unicodeChar = Encoding.Unicode.GetChars(new[] { Convert.ToByte(hcode, 16), Convert.ToByte(lcode, 16) })[0]; sb.Remove(slashIndex, 6).Insert(slashIndex, unicodeChar); break; case 'n': sb.Remove(slashIndex, 2).Insert(slashIndex, '\n'); break; case 'r': sb.Remove(slashIndex, 2).Insert(slashIndex, '\r'); break; case 't': sb.Remove(slashIndex, 2).Insert(slashIndex, '\t'); break; case '\'': sb.Remove(slashIndex, 2).Insert(slashIndex, '\''); break; case '\\': sb.Remove(slashIndex, 2).Insert(slashIndex, '\\'); break; default: throw new RecognitionException("Unvalid escape sequence: \\" + escapeType); } startIndex = slashIndex + 1; } sb.Remove(0, 1); sb.Remove(sb.Length - 1, 1); return sb.ToString(); } public override void DisplayRecognitionError(String[] tokenNames, RecognitionException e) { base.DisplayRecognitionError(tokenNames, e); if (Errors == null) { Errors = new List(); } var hdr = GetErrorHeader(e); var msg = GetErrorMessage(e, tokenNames); Errors.Add(msg + " at " + hdr); } // $ANTLR start "ncalcExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:77:1: ncalcExpression returns [LogicalExpression value] : logicalExpression EOF ; public ncalcExpression_return ncalcExpression() // throws RecognitionException [1] { var retval = new ncalcExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken EOF2 = null; logicalExpression_return logicalExpression1 = null; CommonTree EOF2_tree = null; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:78:2: ( logicalExpression EOF ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:78:4: logicalExpression EOF { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_logicalExpression_in_ncalcExpression56); logicalExpression1 = logicalExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, logicalExpression1.Tree); EOF2 = (IToken)Match(input, EOF, FOLLOW_EOF_in_ncalcExpression58); retval.value = logicalExpression1 != null ? logicalExpression1.value : null; } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "logicalExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:81:1: logicalExpression returns [LogicalExpression value] : left= conditionalExpression ( '?' middle= conditionalExpression ':' right= conditionalExpression )? ; public logicalExpression_return logicalExpression() // throws RecognitionException [1] { var retval = new logicalExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken char_literal3 = null; IToken char_literal4 = null; conditionalExpression_return left = null; conditionalExpression_return middle = null; conditionalExpression_return right = null; CommonTree char_literal3_tree = null; CommonTree char_literal4_tree = null; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:82:2: (left= conditionalExpression ( '?' middle= conditionalExpression ':' right= conditionalExpression )? ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:82:4: left= conditionalExpression ( '?' middle= conditionalExpression ':' right= conditionalExpression )? { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_conditionalExpression_in_logicalExpression78); left = conditionalExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, left.Tree); retval.value = left != null ? left.value : null; // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:82:57: ( '?' middle= conditionalExpression ':' right= conditionalExpression )? var alt1 = 2; var LA1_0 = input.LA(1); if (LA1_0 == 19) { alt1 = 1; } switch (alt1) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:82:59: '?' middle= conditionalExpression ':' right= conditionalExpression { char_literal3 = (IToken)Match(input, 19, FOLLOW_19_in_logicalExpression84); char_literal3_tree = (CommonTree)adaptor.Create(char_literal3); adaptor.AddChild(root_0, char_literal3_tree); PushFollow(FOLLOW_conditionalExpression_in_logicalExpression88); middle = conditionalExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, middle.Tree); char_literal4 = (IToken)Match(input, 20, FOLLOW_20_in_logicalExpression90); char_literal4_tree = (CommonTree)adaptor.Create(char_literal4); adaptor.AddChild(root_0, char_literal4_tree); PushFollow(FOLLOW_conditionalExpression_in_logicalExpression94); right = conditionalExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, right.Tree); retval.value = new TernaryExpression(left != null ? left.value : null, middle != null ? middle.value : null, right != null ? right.value : null); } break; } } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "conditionalExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:85:1: conditionalExpression returns [LogicalExpression value] : left= booleanAndExpression ( ( '||' | 'or' ) right= conditionalExpression )* ; public conditionalExpression_return conditionalExpression() // throws RecognitionException [1] { var retval = new conditionalExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken set5 = null; booleanAndExpression_return left = null; conditionalExpression_return right = null; CommonTree set5_tree = null; var type = BinaryExpressionType.Unknown; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:89:2: (left= booleanAndExpression ( ( '||' | 'or' ) right= conditionalExpression )* ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:89:4: left= booleanAndExpression ( ( '||' | 'or' ) right= conditionalExpression )* { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_booleanAndExpression_in_conditionalExpression121); left = booleanAndExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, left.Tree); retval.value = left != null ? left.value : null; // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:89:56: ( ( '||' | 'or' ) right= conditionalExpression )* do { var alt2 = 2; var LA2_0 = input.LA(1); if (LA2_0 >= 21 && LA2_0 <= 22) { alt2 = 1; } switch (alt2) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:90:4: ( '||' | 'or' ) right= conditionalExpression { set5 = (IToken)input.LT(1); if (input.LA(1) >= 21 && input.LA(1) <= 22) { input.Consume(); adaptor.AddChild(root_0, (CommonTree)adaptor.Create(set5)); state.errorRecovery = false; } else { var mse = new MismatchedSetException(null, input); throw mse; } type = BinaryExpressionType.Or; PushFollow(FOLLOW_conditionalExpression_in_conditionalExpression146); right = conditionalExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, right.Tree); retval.value = new BinaryExpression(type, retval.value, right != null ? right.value : null); } break; default: goto loop2; } } while (true); loop2: ; // Stops C# compiler whining that label 'loop2' has no statements } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "booleanAndExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:95:1: booleanAndExpression returns [LogicalExpression value] : left= bitwiseOrExpression ( ( '&&' | 'and' ) right= bitwiseOrExpression )* ; public booleanAndExpression_return booleanAndExpression() // throws RecognitionException [1] { var retval = new booleanAndExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken set6 = null; bitwiseOrExpression_return left = null; bitwiseOrExpression_return right = null; CommonTree set6_tree = null; var type = BinaryExpressionType.Unknown; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:99:2: (left= bitwiseOrExpression ( ( '&&' | 'and' ) right= bitwiseOrExpression )* ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:99:4: left= bitwiseOrExpression ( ( '&&' | 'and' ) right= bitwiseOrExpression )* { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_bitwiseOrExpression_in_booleanAndExpression180); left = bitwiseOrExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, left.Tree); retval.value = left != null ? left.value : null; // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:99:55: ( ( '&&' | 'and' ) right= bitwiseOrExpression )* do { var alt3 = 2; var LA3_0 = input.LA(1); if (LA3_0 >= 23 && LA3_0 <= 24) { alt3 = 1; } switch (alt3) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:100:4: ( '&&' | 'and' ) right= bitwiseOrExpression { set6 = (IToken)input.LT(1); if (input.LA(1) >= 23 && input.LA(1) <= 24) { input.Consume(); adaptor.AddChild(root_0, (CommonTree)adaptor.Create(set6)); state.errorRecovery = false; } else { var mse = new MismatchedSetException(null, input); throw mse; } type = BinaryExpressionType.And; PushFollow(FOLLOW_bitwiseOrExpression_in_booleanAndExpression205); right = bitwiseOrExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, right.Tree); retval.value = new BinaryExpression(type, retval.value, right != null ? right.value : null); } break; default: goto loop3; } } while (true); loop3: ; // Stops C# compiler whining that label 'loop3' has no statements } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "bitwiseOrExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:105:1: bitwiseOrExpression returns [LogicalExpression value] : left= bitwiseXOrExpression ( '|' right= bitwiseOrExpression )* ; public bitwiseOrExpression_return bitwiseOrExpression() // throws RecognitionException [1] { var retval = new bitwiseOrExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken char_literal7 = null; bitwiseXOrExpression_return left = null; bitwiseOrExpression_return right = null; CommonTree char_literal7_tree = null; var type = BinaryExpressionType.Unknown; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:109:2: (left= bitwiseXOrExpression ( '|' right= bitwiseOrExpression )* ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:109:4: left= bitwiseXOrExpression ( '|' right= bitwiseOrExpression )* { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_bitwiseXOrExpression_in_bitwiseOrExpression237); left = bitwiseXOrExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, left.Tree); retval.value = left != null ? left.value : null; // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:109:56: ( '|' right= bitwiseOrExpression )* do { var alt4 = 2; var LA4_0 = input.LA(1); if (LA4_0 == 25) { alt4 = 1; } switch (alt4) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:110:4: '|' right= bitwiseOrExpression { char_literal7 = (IToken)Match(input, 25, FOLLOW_25_in_bitwiseOrExpression246); char_literal7_tree = (CommonTree)adaptor.Create(char_literal7); adaptor.AddChild(root_0, char_literal7_tree); type = BinaryExpressionType.BitwiseOr; PushFollow(FOLLOW_bitwiseOrExpression_in_bitwiseOrExpression256); right = bitwiseOrExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, right.Tree); retval.value = new BinaryExpression(type, retval.value, right != null ? right.value : null); } break; default: goto loop4; } } while (true); loop4: ; // Stops C# compiler whining that label 'loop4' has no statements } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "bitwiseXOrExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:115:1: bitwiseXOrExpression returns [LogicalExpression value] : left= bitwiseAndExpression ( '^' right= bitwiseAndExpression )* ; public bitwiseXOrExpression_return bitwiseXOrExpression() // throws RecognitionException [1] { var retval = new bitwiseXOrExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken char_literal8 = null; bitwiseAndExpression_return left = null; bitwiseAndExpression_return right = null; CommonTree char_literal8_tree = null; var type = BinaryExpressionType.Unknown; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:119:2: (left= bitwiseAndExpression ( '^' right= bitwiseAndExpression )* ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:119:4: left= bitwiseAndExpression ( '^' right= bitwiseAndExpression )* { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_bitwiseAndExpression_in_bitwiseXOrExpression290); left = bitwiseAndExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, left.Tree); retval.value = left != null ? left.value : null; // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:119:56: ( '^' right= bitwiseAndExpression )* do { var alt5 = 2; var LA5_0 = input.LA(1); if (LA5_0 == 26) { alt5 = 1; } switch (alt5) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:120:4: '^' right= bitwiseAndExpression { char_literal8 = (IToken)Match(input, 26, FOLLOW_26_in_bitwiseXOrExpression299); char_literal8_tree = (CommonTree)adaptor.Create(char_literal8); adaptor.AddChild(root_0, char_literal8_tree); type = BinaryExpressionType.BitwiseXOr; PushFollow(FOLLOW_bitwiseAndExpression_in_bitwiseXOrExpression309); right = bitwiseAndExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, right.Tree); retval.value = new BinaryExpression(type, retval.value, right != null ? right.value : null); } break; default: goto loop5; } } while (true); loop5: ; // Stops C# compiler whining that label 'loop5' has no statements } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "bitwiseAndExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:125:1: bitwiseAndExpression returns [LogicalExpression value] : left= equalityExpression ( '&' right= equalityExpression )* ; public bitwiseAndExpression_return bitwiseAndExpression() // throws RecognitionException [1] { var retval = new bitwiseAndExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken char_literal9 = null; equalityExpression_return left = null; equalityExpression_return right = null; CommonTree char_literal9_tree = null; var type = BinaryExpressionType.Unknown; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:129:2: (left= equalityExpression ( '&' right= equalityExpression )* ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:129:4: left= equalityExpression ( '&' right= equalityExpression )* { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_equalityExpression_in_bitwiseAndExpression341); left = equalityExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, left.Tree); retval.value = left != null ? left.value : null; // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:129:54: ( '&' right= equalityExpression )* do { var alt6 = 2; var LA6_0 = input.LA(1); if (LA6_0 == 27) { alt6 = 1; } switch (alt6) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:130:4: '&' right= equalityExpression { char_literal9 = (IToken)Match(input, 27, FOLLOW_27_in_bitwiseAndExpression350); char_literal9_tree = (CommonTree)adaptor.Create(char_literal9); adaptor.AddChild(root_0, char_literal9_tree); type = BinaryExpressionType.BitwiseAnd; PushFollow(FOLLOW_equalityExpression_in_bitwiseAndExpression360); right = equalityExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, right.Tree); retval.value = new BinaryExpression(type, retval.value, right != null ? right.value : null); } break; default: goto loop6; } } while (true); loop6: ; // Stops C# compiler whining that label 'loop6' has no statements } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "equalityExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:135:1: equalityExpression returns [LogicalExpression value] : left= relationalExpression ( ( ( '==' | '=' ) | ( '!=' | '<>' ) ) right= relationalExpression )* ; public equalityExpression_return equalityExpression() // throws RecognitionException [1] { var retval = new equalityExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken set10 = null; IToken set11 = null; relationalExpression_return left = null; relationalExpression_return right = null; CommonTree set10_tree = null; CommonTree set11_tree = null; var type = BinaryExpressionType.Unknown; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:139:2: (left= relationalExpression ( ( ( '==' | '=' ) | ( '!=' | '<>' ) ) right= relationalExpression )* ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:139:4: left= relationalExpression ( ( ( '==' | '=' ) | ( '!=' | '<>' ) ) right= relationalExpression )* { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_relationalExpression_in_equalityExpression394); left = relationalExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, left.Tree); retval.value = left != null ? left.value : null; // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:139:56: ( ( ( '==' | '=' ) | ( '!=' | '<>' ) ) right= relationalExpression )* do { var alt8 = 2; var LA8_0 = input.LA(1); if (LA8_0 >= 28 && LA8_0 <= 31) { alt8 = 1; } switch (alt8) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:140:4: ( ( '==' | '=' ) | ( '!=' | '<>' ) ) right= relationalExpression { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:140:4: ( ( '==' | '=' ) | ( '!=' | '<>' ) ) var alt7 = 2; var LA7_0 = input.LA(1); if (LA7_0 >= 28 && LA7_0 <= 29) { alt7 = 1; } else if (LA7_0 >= 30 && LA7_0 <= 31) { alt7 = 2; } else { var nvae_d7s0 = new NoViableAltException("", 7, 0, input); throw nvae_d7s0; } switch (alt7) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:140:6: ( '==' | '=' ) { set10 = (IToken)input.LT(1); if (input.LA(1) >= 28 && input.LA(1) <= 29) { input.Consume(); adaptor.AddChild(root_0, (CommonTree)adaptor.Create(set10)); state.errorRecovery = false; } else { var mse = new MismatchedSetException(null, input); throw mse; } type = BinaryExpressionType.Equal; } break; case 2: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:141:6: ( '!=' | '<>' ) { set11 = (IToken)input.LT(1); if (input.LA(1) >= 30 && input.LA(1) <= 31) { input.Consume(); adaptor.AddChild(root_0, (CommonTree)adaptor.Create(set11)); state.errorRecovery = false; } else { var mse = new MismatchedSetException(null, input); throw mse; } type = BinaryExpressionType.NotEqual; } break; } PushFollow(FOLLOW_relationalExpression_in_equalityExpression441); right = relationalExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, right.Tree); retval.value = new BinaryExpression(type, retval.value, right != null ? right.value : null); } break; default: goto loop8; } } while (true); loop8: ; // Stops C# compiler whining that label 'loop8' has no statements } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "relationalExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:146:1: relationalExpression returns [LogicalExpression value] : left= shiftExpression ( ( '<' | '<=' | '>' | '>=' ) right= shiftExpression )* ; public relationalExpression_return relationalExpression() // throws RecognitionException [1] { var retval = new relationalExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken char_literal12 = null; IToken string_literal13 = null; IToken char_literal14 = null; IToken string_literal15 = null; shiftExpression_return left = null; shiftExpression_return right = null; CommonTree char_literal12_tree = null; CommonTree string_literal13_tree = null; CommonTree char_literal14_tree = null; CommonTree string_literal15_tree = null; var type = BinaryExpressionType.Unknown; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:150:2: (left= shiftExpression ( ( '<' | '<=' | '>' | '>=' ) right= shiftExpression )* ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:150:4: left= shiftExpression ( ( '<' | '<=' | '>' | '>=' ) right= shiftExpression )* { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_shiftExpression_in_relationalExpression474); left = shiftExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, left.Tree); retval.value = left != null ? left.value : null; // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:150:51: ( ( '<' | '<=' | '>' | '>=' ) right= shiftExpression )* do { var alt10 = 2; var LA10_0 = input.LA(1); if (LA10_0 >= 32 && LA10_0 <= 35) { alt10 = 1; } switch (alt10) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:151:4: ( '<' | '<=' | '>' | '>=' ) right= shiftExpression { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:151:4: ( '<' | '<=' | '>' | '>=' ) var alt9 = 4; switch (input.LA(1)) { case 32: { alt9 = 1; } break; case 33: { alt9 = 2; } break; case 34: { alt9 = 3; } break; case 35: { alt9 = 4; } break; default: var nvae_d9s0 = new NoViableAltException("", 9, 0, input); throw nvae_d9s0; } switch (alt9) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:151:6: '<' { char_literal12 = (IToken)Match(input, 32, FOLLOW_32_in_relationalExpression485); char_literal12_tree = (CommonTree)adaptor.Create(char_literal12); adaptor.AddChild(root_0, char_literal12_tree); type = BinaryExpressionType.Lesser; } break; case 2: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:152:6: '<=' { string_literal13 = (IToken)Match(input, 33, FOLLOW_33_in_relationalExpression495); string_literal13_tree = (CommonTree)adaptor.Create(string_literal13); adaptor.AddChild(root_0, string_literal13_tree); type = BinaryExpressionType.LesserOrEqual; } break; case 3: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:153:6: '>' { char_literal14 = (IToken)Match(input, 34, FOLLOW_34_in_relationalExpression506); char_literal14_tree = (CommonTree)adaptor.Create(char_literal14); adaptor.AddChild(root_0, char_literal14_tree); type = BinaryExpressionType.Greater; } break; case 4: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:154:6: '>=' { string_literal15 = (IToken)Match(input, 35, FOLLOW_35_in_relationalExpression516); string_literal15_tree = (CommonTree)adaptor.Create(string_literal15); adaptor.AddChild(root_0, string_literal15_tree); type = BinaryExpressionType.GreaterOrEqual; } break; } PushFollow(FOLLOW_shiftExpression_in_relationalExpression528); right = shiftExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, right.Tree); retval.value = new BinaryExpression(type, retval.value, right != null ? right.value : null); } break; default: goto loop10; } } while (true); loop10: ; // Stops C# compiler whining that label 'loop10' has no statements } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "shiftExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:159:1: shiftExpression returns [LogicalExpression value] : left= additiveExpression ( ( '<<' | '>>' ) right= additiveExpression )* ; public shiftExpression_return shiftExpression() // throws RecognitionException [1] { var retval = new shiftExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken string_literal16 = null; IToken string_literal17 = null; additiveExpression_return left = null; additiveExpression_return right = null; CommonTree string_literal16_tree = null; CommonTree string_literal17_tree = null; var type = BinaryExpressionType.Unknown; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:163:2: (left= additiveExpression ( ( '<<' | '>>' ) right= additiveExpression )* ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:163:4: left= additiveExpression ( ( '<<' | '>>' ) right= additiveExpression )* { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_additiveExpression_in_shiftExpression560); left = additiveExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, left.Tree); retval.value = left != null ? left.value : null; // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:163:54: ( ( '<<' | '>>' ) right= additiveExpression )* do { var alt12 = 2; var LA12_0 = input.LA(1); if (LA12_0 >= 36 && LA12_0 <= 37) { alt12 = 1; } switch (alt12) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:164:4: ( '<<' | '>>' ) right= additiveExpression { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:164:4: ( '<<' | '>>' ) var alt11 = 2; var LA11_0 = input.LA(1); if (LA11_0 == 36) { alt11 = 1; } else if (LA11_0 == 37) { alt11 = 2; } else { var nvae_d11s0 = new NoViableAltException("", 11, 0, input); throw nvae_d11s0; } switch (alt11) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:164:6: '<<' { string_literal16 = (IToken)Match(input, 36, FOLLOW_36_in_shiftExpression571); string_literal16_tree = (CommonTree)adaptor.Create(string_literal16); adaptor.AddChild(root_0, string_literal16_tree); type = BinaryExpressionType.LeftShift; } break; case 2: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:165:6: '>>' { string_literal17 = (IToken)Match(input, 37, FOLLOW_37_in_shiftExpression581); string_literal17_tree = (CommonTree)adaptor.Create(string_literal17); adaptor.AddChild(root_0, string_literal17_tree); type = BinaryExpressionType.RightShift; } break; } PushFollow(FOLLOW_additiveExpression_in_shiftExpression593); right = additiveExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, right.Tree); retval.value = new BinaryExpression(type, retval.value, right != null ? right.value : null); } break; default: goto loop12; } } while (true); loop12: ; // Stops C# compiler whining that label 'loop12' has no statements } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "additiveExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:170:1: additiveExpression returns [LogicalExpression value] : left= multiplicativeExpression ( ( '+' | '-' ) right= multiplicativeExpression )* ; public additiveExpression_return additiveExpression() // throws RecognitionException [1] { var retval = new additiveExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken char_literal18 = null; IToken char_literal19 = null; multiplicativeExpression_return left = null; multiplicativeExpression_return right = null; CommonTree char_literal18_tree = null; CommonTree char_literal19_tree = null; var type = BinaryExpressionType.Unknown; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:174:2: (left= multiplicativeExpression ( ( '+' | '-' ) right= multiplicativeExpression )* ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:174:4: left= multiplicativeExpression ( ( '+' | '-' ) right= multiplicativeExpression )* { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression625); left = multiplicativeExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, left.Tree); retval.value = left != null ? left.value : null; // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:174:60: ( ( '+' | '-' ) right= multiplicativeExpression )* do { var alt14 = 2; var LA14_0 = input.LA(1); if (LA14_0 >= 38 && LA14_0 <= 39) { alt14 = 1; } switch (alt14) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:175:4: ( '+' | '-' ) right= multiplicativeExpression { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:175:4: ( '+' | '-' ) var alt13 = 2; var LA13_0 = input.LA(1); if (LA13_0 == 38) { alt13 = 1; } else if (LA13_0 == 39) { alt13 = 2; } else { var nvae_d13s0 = new NoViableAltException("", 13, 0, input); throw nvae_d13s0; } switch (alt13) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:175:6: '+' { char_literal18 = (IToken)Match(input, 38, FOLLOW_38_in_additiveExpression636); char_literal18_tree = (CommonTree)adaptor.Create(char_literal18); adaptor.AddChild(root_0, char_literal18_tree); type = BinaryExpressionType.Plus; } break; case 2: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:176:6: '-' { char_literal19 = (IToken)Match(input, 39, FOLLOW_39_in_additiveExpression646); char_literal19_tree = (CommonTree)adaptor.Create(char_literal19); adaptor.AddChild(root_0, char_literal19_tree); type = BinaryExpressionType.Minus; } break; } PushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression658); right = multiplicativeExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, right.Tree); retval.value = new BinaryExpression(type, retval.value, right != null ? right.value : null); } break; default: goto loop14; } } while (true); loop14: ; // Stops C# compiler whining that label 'loop14' has no statements } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "multiplicativeExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:181:1: multiplicativeExpression returns [LogicalExpression value] : left= unaryExpression ( ( '*' | '/' | '%' ) right= unaryExpression )* ; public multiplicativeExpression_return multiplicativeExpression() // throws RecognitionException [1] { var retval = new multiplicativeExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken char_literal20 = null; IToken char_literal21 = null; IToken char_literal22 = null; unaryExpression_return left = null; unaryExpression_return right = null; CommonTree char_literal20_tree = null; CommonTree char_literal21_tree = null; CommonTree char_literal22_tree = null; var type = BinaryExpressionType.Unknown; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:185:2: (left= unaryExpression ( ( '*' | '/' | '%' ) right= unaryExpression )* ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:185:4: left= unaryExpression ( ( '*' | '/' | '%' ) right= unaryExpression )* { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression690); left = unaryExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, left.Tree); retval.value = left != null ? left.value : null; // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:185:52: ( ( '*' | '/' | '%' ) right= unaryExpression )* do { var alt16 = 2; var LA16_0 = input.LA(1); if (LA16_0 >= 40 && LA16_0 <= 42) { alt16 = 1; } switch (alt16) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:186:4: ( '*' | '/' | '%' ) right= unaryExpression { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:186:4: ( '*' | '/' | '%' ) var alt15 = 3; switch (input.LA(1)) { case 40: { alt15 = 1; } break; case 41: { alt15 = 2; } break; case 42: { alt15 = 3; } break; default: var nvae_d15s0 = new NoViableAltException("", 15, 0, input); throw nvae_d15s0; } switch (alt15) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:186:6: '*' { char_literal20 = (IToken)Match(input, 40, FOLLOW_40_in_multiplicativeExpression701); char_literal20_tree = (CommonTree)adaptor.Create(char_literal20); adaptor.AddChild(root_0, char_literal20_tree); type = BinaryExpressionType.Times; } break; case 2: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:187:6: '/' { char_literal21 = (IToken)Match(input, 41, FOLLOW_41_in_multiplicativeExpression711); char_literal21_tree = (CommonTree)adaptor.Create(char_literal21); adaptor.AddChild(root_0, char_literal21_tree); type = BinaryExpressionType.Div; } break; case 3: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:188:6: '%' { char_literal22 = (IToken)Match(input, 42, FOLLOW_42_in_multiplicativeExpression721); char_literal22_tree = (CommonTree)adaptor.Create(char_literal22); adaptor.AddChild(root_0, char_literal22_tree); type = BinaryExpressionType.Modulo; } break; } PushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression733); right = unaryExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, right.Tree); retval.value = new BinaryExpression(type, retval.value, right != null ? right.value : null); } break; default: goto loop16; } } while (true); loop16: ; // Stops C# compiler whining that label 'loop16' has no statements } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "unaryExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:194:1: unaryExpression returns [LogicalExpression value] : ( primaryExpression | ( '!' | 'not' ) primaryExpression | ( '~' ) primaryExpression | '-' primaryExpression ); public unaryExpression_return unaryExpression() // throws RecognitionException [1] { var retval = new unaryExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken set24 = null; IToken char_literal26 = null; IToken char_literal28 = null; primaryExpression_return primaryExpression23 = null; primaryExpression_return primaryExpression25 = null; primaryExpression_return primaryExpression27 = null; primaryExpression_return primaryExpression29 = null; CommonTree set24_tree = null; CommonTree char_literal26_tree = null; CommonTree char_literal28_tree = null; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:195:2: ( primaryExpression | ( '!' | 'not' ) primaryExpression | ( '~' ) primaryExpression | '-' primaryExpression ) var alt17 = 4; switch (input.LA(1)) { case INTEGER: case FLOAT: case STRING: case DATETIME: case TRUE: case FALSE: case ID: case NAME: case 46: { alt17 = 1; } break; case 43: case 44: { alt17 = 2; } break; case 45: { alt17 = 3; } break; case 39: { alt17 = 4; } break; default: var nvae_d17s0 = new NoViableAltException("", 17, 0, input); throw nvae_d17s0; } switch (alt17) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:195:4: primaryExpression { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_primaryExpression_in_unaryExpression760); primaryExpression23 = primaryExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, primaryExpression23.Tree); retval.value = primaryExpression23 != null ? primaryExpression23.value : null; } break; case 2: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:196:8: ( '!' | 'not' ) primaryExpression { root_0 = (CommonTree)adaptor.GetNilNode(); set24 = (IToken)input.LT(1); if (input.LA(1) >= 43 && input.LA(1) <= 44) { input.Consume(); adaptor.AddChild(root_0, (CommonTree)adaptor.Create(set24)); state.errorRecovery = false; } else { var mse = new MismatchedSetException(null, input); throw mse; } PushFollow(FOLLOW_primaryExpression_in_unaryExpression779); primaryExpression25 = primaryExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, primaryExpression25.Tree); retval.value = new UnaryExpression(UnaryExpressionType.Not, primaryExpression25 != null ? primaryExpression25.value : null); } break; case 3: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:197:8: ( '~' ) primaryExpression { root_0 = (CommonTree)adaptor.GetNilNode(); // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:197:8: ( '~' ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:197:9: '~' { char_literal26 = (IToken)Match(input, 45, FOLLOW_45_in_unaryExpression791); char_literal26_tree = (CommonTree)adaptor.Create(char_literal26); adaptor.AddChild(root_0, char_literal26_tree); } PushFollow(FOLLOW_primaryExpression_in_unaryExpression794); primaryExpression27 = primaryExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, primaryExpression27.Tree); retval.value = new UnaryExpression(UnaryExpressionType.BitwiseNot, primaryExpression27 != null ? primaryExpression27.value : null); } break; case 4: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:198:8: '-' primaryExpression { root_0 = (CommonTree)adaptor.GetNilNode(); char_literal28 = (IToken)Match(input, 39, FOLLOW_39_in_unaryExpression805); char_literal28_tree = (CommonTree)adaptor.Create(char_literal28); adaptor.AddChild(root_0, char_literal28_tree); PushFollow(FOLLOW_primaryExpression_in_unaryExpression807); primaryExpression29 = primaryExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, primaryExpression29.Tree); retval.value = new UnaryExpression(UnaryExpressionType.Negate, primaryExpression29 != null ? primaryExpression29.value : null); } break; } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "primaryExpression" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:201:1: primaryExpression returns [LogicalExpression value] : ( '(' logicalExpression ')' | expr= value | identifier ( arguments )? ); public primaryExpression_return primaryExpression() // throws RecognitionException [1] { var retval = new primaryExpression_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken char_literal30 = null; IToken char_literal32 = null; value_return expr = null; logicalExpression_return logicalExpression31 = null; identifier_return identifier33 = null; arguments_return arguments34 = null; CommonTree char_literal30_tree = null; CommonTree char_literal32_tree = null; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:202:2: ( '(' logicalExpression ')' | expr= value | identifier ( arguments )? ) var alt19 = 3; switch (input.LA(1)) { case 46: { alt19 = 1; } break; case INTEGER: case FLOAT: case STRING: case DATETIME: case TRUE: case FALSE: { alt19 = 2; } break; case ID: case NAME: { alt19 = 3; } break; default: var nvae_d19s0 = new NoViableAltException("", 19, 0, input); throw nvae_d19s0; } switch (alt19) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:202:4: '(' logicalExpression ')' { root_0 = (CommonTree)adaptor.GetNilNode(); char_literal30 = (IToken)Match(input, 46, FOLLOW_46_in_primaryExpression829); char_literal30_tree = (CommonTree)adaptor.Create(char_literal30); adaptor.AddChild(root_0, char_literal30_tree); PushFollow(FOLLOW_logicalExpression_in_primaryExpression831); logicalExpression31 = logicalExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, logicalExpression31.Tree); char_literal32 = (IToken)Match(input, 47, FOLLOW_47_in_primaryExpression833); char_literal32_tree = (CommonTree)adaptor.Create(char_literal32); adaptor.AddChild(root_0, char_literal32_tree); retval.value = logicalExpression31 != null ? logicalExpression31.value : null; } break; case 2: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:203:4: expr= value { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_value_in_primaryExpression843); expr = value(); state.followingStackPointer--; adaptor.AddChild(root_0, expr.Tree); retval.value = expr != null ? expr.value : null; } break; case 3: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:204:4: identifier ( arguments )? { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_identifier_in_primaryExpression851); identifier33 = identifier(); state.followingStackPointer--; adaptor.AddChild(root_0, identifier33.Tree); retval.value = (LogicalExpression)(identifier33 != null ? identifier33.value : null); // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:204:66: ( arguments )? var alt18 = 2; var LA18_0 = input.LA(1); if (LA18_0 == 46) { alt18 = 1; } switch (alt18) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:204:67: arguments { PushFollow(FOLLOW_arguments_in_primaryExpression856); arguments34 = arguments(); state.followingStackPointer--; adaptor.AddChild(root_0, arguments34.Tree); retval.value = new FunctionExpression(identifier33 != null ? identifier33.value : null, (arguments34 != null ? arguments34.value : null).ToArray()); } break; } } break; } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "value" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:207:1: value returns [ValueExpression value] : ( INTEGER | FLOAT | STRING | DATETIME | TRUE | FALSE ); public value_return value() // throws RecognitionException [1] { var retval = new value_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken INTEGER35 = null; IToken FLOAT36 = null; IToken STRING37 = null; IToken DATETIME38 = null; IToken TRUE39 = null; IToken FALSE40 = null; CommonTree INTEGER35_tree = null; CommonTree FLOAT36_tree = null; CommonTree STRING37_tree = null; CommonTree DATETIME38_tree = null; CommonTree TRUE39_tree = null; CommonTree FALSE40_tree = null; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:208:2: ( INTEGER | FLOAT | STRING | DATETIME | TRUE | FALSE ) var alt20 = 6; switch (input.LA(1)) { case INTEGER: { alt20 = 1; } break; case FLOAT: { alt20 = 2; } break; case STRING: { alt20 = 3; } break; case DATETIME: { alt20 = 4; } break; case TRUE: { alt20 = 5; } break; case FALSE: { alt20 = 6; } break; default: var nvae_d20s0 = new NoViableAltException("", 20, 0, input); throw nvae_d20s0; } switch (alt20) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:208:5: INTEGER { root_0 = (CommonTree)adaptor.GetNilNode(); INTEGER35 = (IToken)Match(input, INTEGER, FOLLOW_INTEGER_in_value876); INTEGER35_tree = (CommonTree)adaptor.Create(INTEGER35); adaptor.AddChild(root_0, INTEGER35_tree); try { retval.value = new ValueExpression(int.Parse(INTEGER35 != null ? INTEGER35.Text : null)); } catch (OverflowException) { retval.value = new ValueExpression(long.Parse(INTEGER35 != null ? INTEGER35.Text : null)); } } break; case 2: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:209:4: FLOAT { root_0 = (CommonTree)adaptor.GetNilNode(); FLOAT36 = (IToken)Match(input, FLOAT, FOLLOW_FLOAT_in_value884); FLOAT36_tree = (CommonTree)adaptor.Create(FLOAT36); adaptor.AddChild(root_0, FLOAT36_tree); retval.value = new ValueExpression(double.Parse(FLOAT36 != null ? FLOAT36.Text : null, NumberStyles.Float, numberFormatInfo)); } break; case 3: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:210:4: STRING { root_0 = (CommonTree)adaptor.GetNilNode(); STRING37 = (IToken)Match(input, STRING, FOLLOW_STRING_in_value892); STRING37_tree = (CommonTree)adaptor.Create(STRING37); adaptor.AddChild(root_0, STRING37_tree); retval.value = new ValueExpression(extractString(STRING37 != null ? STRING37.Text : null)); } break; case 4: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:211:5: DATETIME { root_0 = (CommonTree)adaptor.GetNilNode(); DATETIME38 = (IToken)Match(input, DATETIME, FOLLOW_DATETIME_in_value901); DATETIME38_tree = (CommonTree)adaptor.Create(DATETIME38); adaptor.AddChild(root_0, DATETIME38_tree); retval.value = new ValueExpression(DateTime.Parse((DATETIME38 != null ? DATETIME38.Text : null).Substring(1, (DATETIME38 != null ? DATETIME38.Text : null).Length - 2))); } break; case 5: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:212:4: TRUE { root_0 = (CommonTree)adaptor.GetNilNode(); TRUE39 = (IToken)Match(input, TRUE, FOLLOW_TRUE_in_value908); TRUE39_tree = (CommonTree)adaptor.Create(TRUE39); adaptor.AddChild(root_0, TRUE39_tree); retval.value = new ValueExpression(true); } break; case 6: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:213:4: FALSE { root_0 = (CommonTree)adaptor.GetNilNode(); FALSE40 = (IToken)Match(input, FALSE, FOLLOW_FALSE_in_value916); FALSE40_tree = (CommonTree)adaptor.Create(FALSE40); adaptor.AddChild(root_0, FALSE40_tree); retval.value = new ValueExpression(false); } break; } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "identifier" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:216:1: identifier returns [Identifier value] : ( ID | NAME ); public identifier_return identifier() // throws RecognitionException [1] { var retval = new identifier_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken ID41 = null; IToken NAME42 = null; CommonTree ID41_tree = null; CommonTree NAME42_tree = null; try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:217:2: ( ID | NAME ) var alt21 = 2; var LA21_0 = input.LA(1); if (LA21_0 == ID) { alt21 = 1; } else if (LA21_0 == NAME) { alt21 = 2; } else { var nvae_d21s0 = new NoViableAltException("", 21, 0, input); throw nvae_d21s0; } switch (alt21) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:217:5: ID { root_0 = (CommonTree)adaptor.GetNilNode(); ID41 = (IToken)Match(input, ID, FOLLOW_ID_in_identifier934); ID41_tree = (CommonTree)adaptor.Create(ID41); adaptor.AddChild(root_0, ID41_tree); retval.value = new IdentifierExpression(ID41 != null ? ID41.Text : null); } break; case 2: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:218:5: NAME { root_0 = (CommonTree)adaptor.GetNilNode(); NAME42 = (IToken)Match(input, NAME, FOLLOW_NAME_in_identifier942); NAME42_tree = (CommonTree)adaptor.Create(NAME42); adaptor.AddChild(root_0, NAME42_tree); retval.value = new IdentifierExpression((NAME42 != null ? NAME42.Text : null).Substring(1, (NAME42 != null ? NAME42.Text : null).Length - 2)); } break; } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "expressionList" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:221:1: expressionList returns [List value] : first= logicalExpression ( ',' follow= logicalExpression )* ; public expressionList_return expressionList() // throws RecognitionException [1] { var retval = new expressionList_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken char_literal43 = null; logicalExpression_return first = null; logicalExpression_return follow = null; CommonTree char_literal43_tree = null; var expressions = new List(); try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:225:2: (first= logicalExpression ( ',' follow= logicalExpression )* ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:225:4: first= logicalExpression ( ',' follow= logicalExpression )* { root_0 = (CommonTree)adaptor.GetNilNode(); PushFollow(FOLLOW_logicalExpression_in_expressionList966); first = logicalExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, first.Tree); expressions.Add(first != null ? first.value : null); // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:225:62: ( ',' follow= logicalExpression )* do { var alt22 = 2; var LA22_0 = input.LA(1); if (LA22_0 == 48) { alt22 = 1; } switch (alt22) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:225:64: ',' follow= logicalExpression { char_literal43 = (IToken)Match(input, 48, FOLLOW_48_in_expressionList973); char_literal43_tree = (CommonTree)adaptor.Create(char_literal43); adaptor.AddChild(root_0, char_literal43_tree); PushFollow(FOLLOW_logicalExpression_in_expressionList977); follow = logicalExpression(); state.followingStackPointer--; adaptor.AddChild(root_0, follow.Tree); expressions.Add(follow != null ? follow.value : null); } break; default: goto loop22; } } while (true); loop22: ; // Stops C# compiler whining that label 'loop22' has no statements retval.value = expressions; } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } // $ANTLR start "arguments" // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:229:1: arguments returns [List value] : '(' ( expressionList )? ')' ; public arguments_return arguments() // throws RecognitionException [1] { var retval = new arguments_return(); retval.Start = input.LT(1); CommonTree root_0 = null; IToken char_literal44 = null; IToken char_literal46 = null; expressionList_return expressionList45 = null; CommonTree char_literal44_tree = null; CommonTree char_literal46_tree = null; retval.value = new List(); try { // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:233:2: ( '(' ( expressionList )? ')' ) // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:233:4: '(' ( expressionList )? ')' { root_0 = (CommonTree)adaptor.GetNilNode(); char_literal44 = (IToken)Match(input, 46, FOLLOW_46_in_arguments1006); char_literal44_tree = (CommonTree)adaptor.Create(char_literal44); adaptor.AddChild(root_0, char_literal44_tree); // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:233:8: ( expressionList )? var alt23 = 2; var LA23_0 = input.LA(1); if (LA23_0 >= INTEGER && LA23_0 <= NAME || LA23_0 == 39 || LA23_0 >= 43 && LA23_0 <= 46) { alt23 = 1; } switch (alt23) { case 1: // C:\\Users\\s.ros\\Documents\\D�veloppement\\NCalc\\Grammar\\NCalc.g:233:10: expressionList { PushFollow(FOLLOW_expressionList_in_arguments1010); expressionList45 = expressionList(); state.followingStackPointer--; adaptor.AddChild(root_0, expressionList45.Tree); retval.value = expressionList45 != null ? expressionList45.value : null; } break; } char_literal46 = (IToken)Match(input, 47, FOLLOW_47_in_arguments1017); char_literal46_tree = (CommonTree)adaptor.Create(char_literal46); adaptor.AddChild(root_0, char_literal46_tree); } retval.Stop = input.LT(-1); retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken)retval.Start, (IToken)retval.Stop); } catch (RecognitionException re) { ReportError(re); Recover(input, re); // Conversion of the second argument necessary, but harmless retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken)retval.Start, input.LT(-1), re); } finally { } return retval; } public const int T__29 = 29; public const int T__28 = 28; public const int T__27 = 27; public const int T__26 = 26; public const int T__25 = 25; public const int T__24 = 24; public const int T__23 = 23; public const int LETTER = 12; public const int T__22 = 22; public const int T__21 = 21; public const int T__20 = 20; public const int FLOAT = 5; public const int ID = 10; public const int EOF = -1; public const int HexDigit = 17; public const int T__19 = 19; public const int NAME = 11; public const int DIGIT = 13; public const int T__42 = 42; public const int INTEGER = 4; public const int E = 14; public const int T__43 = 43; public const int T__40 = 40; public const int T__41 = 41; public const int T__46 = 46; public const int T__47 = 47; public const int T__44 = 44; public const int T__45 = 45; public const int T__48 = 48; public const int DATETIME = 7; public const int TRUE = 8; public const int T__30 = 30; public const int T__31 = 31; public const int T__32 = 32; public const int WS = 18; public const int T__33 = 33; public const int T__34 = 34; public const int T__35 = 35; public const int T__36 = 36; public const int T__37 = 37; public const int T__38 = 38; public const int T__39 = 39; public const int UnicodeEscape = 16; public const int FALSE = 9; public const int EscapeSequence = 15; public const int STRING = 6; private const char BS = '\\'; public static readonly string[] tokenNames = new[] { "", "", "", "", "INTEGER", "FLOAT", "STRING", "DATETIME", "TRUE", "FALSE", "ID", "NAME", "LETTER", "DIGIT", "E", "EscapeSequence", "UnicodeEscape", "HexDigit", "WS", "'?'", "':'", "'||'", "'or'", "'&&'", "'and'", "'|'", "'^'", "'&'", "'=='", "'='", "'!='", "'<>'", "'<'", "'<='", "'>'", "'>='", "'<<'", "'>>'", "'+'", "'-'", "'*'", "'/'", "'%'", "'!'", "'not'", "'~'", "'('", "')'", "','" }; private static NumberFormatInfo numberFormatInfo = new NumberFormatInfo(); public static readonly BitSet FOLLOW_logicalExpression_in_ncalcExpression56 = new BitSet(new[] { 0x0000000000000000UL }); public static readonly BitSet FOLLOW_EOF_in_ncalcExpression58 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_conditionalExpression_in_logicalExpression78 = new BitSet(new[] { 0x0000000000080002UL }); public static readonly BitSet FOLLOW_19_in_logicalExpression84 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_conditionalExpression_in_logicalExpression88 = new BitSet(new[] { 0x0000000000100000UL }); public static readonly BitSet FOLLOW_20_in_logicalExpression90 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_conditionalExpression_in_logicalExpression94 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_booleanAndExpression_in_conditionalExpression121 = new BitSet(new[] { 0x0000000000600002UL }); public static readonly BitSet FOLLOW_set_in_conditionalExpression130 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_conditionalExpression_in_conditionalExpression146 = new BitSet(new[] { 0x0000000000600002UL }); public static readonly BitSet FOLLOW_bitwiseOrExpression_in_booleanAndExpression180 = new BitSet(new[] { 0x0000000001800002UL }); public static readonly BitSet FOLLOW_set_in_booleanAndExpression189 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_bitwiseOrExpression_in_booleanAndExpression205 = new BitSet(new[] { 0x0000000001800002UL }); public static readonly BitSet FOLLOW_bitwiseXOrExpression_in_bitwiseOrExpression237 = new BitSet(new[] { 0x0000000002000002UL }); public static readonly BitSet FOLLOW_25_in_bitwiseOrExpression246 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_bitwiseOrExpression_in_bitwiseOrExpression256 = new BitSet(new[] { 0x0000000002000002UL }); public static readonly BitSet FOLLOW_bitwiseAndExpression_in_bitwiseXOrExpression290 = new BitSet(new[] { 0x0000000004000002UL }); public static readonly BitSet FOLLOW_26_in_bitwiseXOrExpression299 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_bitwiseAndExpression_in_bitwiseXOrExpression309 = new BitSet(new[] { 0x0000000004000002UL }); public static readonly BitSet FOLLOW_equalityExpression_in_bitwiseAndExpression341 = new BitSet(new[] { 0x0000000008000002UL }); public static readonly BitSet FOLLOW_27_in_bitwiseAndExpression350 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_equalityExpression_in_bitwiseAndExpression360 = new BitSet(new[] { 0x0000000008000002UL }); public static readonly BitSet FOLLOW_relationalExpression_in_equalityExpression394 = new BitSet(new[] { 0x00000000F0000002UL }); public static readonly BitSet FOLLOW_set_in_equalityExpression405 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_set_in_equalityExpression422 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_relationalExpression_in_equalityExpression441 = new BitSet(new[] { 0x00000000F0000002UL }); public static readonly BitSet FOLLOW_shiftExpression_in_relationalExpression474 = new BitSet(new[] { 0x0000000F00000002UL }); public static readonly BitSet FOLLOW_32_in_relationalExpression485 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_33_in_relationalExpression495 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_34_in_relationalExpression506 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_35_in_relationalExpression516 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_shiftExpression_in_relationalExpression528 = new BitSet(new[] { 0x0000000F00000002UL }); public static readonly BitSet FOLLOW_additiveExpression_in_shiftExpression560 = new BitSet(new[] { 0x0000003000000002UL }); public static readonly BitSet FOLLOW_36_in_shiftExpression571 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_37_in_shiftExpression581 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_additiveExpression_in_shiftExpression593 = new BitSet(new[] { 0x0000003000000002UL }); public static readonly BitSet FOLLOW_multiplicativeExpression_in_additiveExpression625 = new BitSet(new[] { 0x000000C000000002UL }); public static readonly BitSet FOLLOW_38_in_additiveExpression636 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_39_in_additiveExpression646 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_multiplicativeExpression_in_additiveExpression658 = new BitSet(new[] { 0x000000C000000002UL }); public static readonly BitSet FOLLOW_unaryExpression_in_multiplicativeExpression690 = new BitSet(new[] { 0x0000070000000002UL }); public static readonly BitSet FOLLOW_40_in_multiplicativeExpression701 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_41_in_multiplicativeExpression711 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_42_in_multiplicativeExpression721 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_unaryExpression_in_multiplicativeExpression733 = new BitSet(new[] { 0x0000070000000002UL }); public static readonly BitSet FOLLOW_primaryExpression_in_unaryExpression760 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_set_in_unaryExpression771 = new BitSet(new[] { 0x0000400000000FF0UL }); public static readonly BitSet FOLLOW_primaryExpression_in_unaryExpression779 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_45_in_unaryExpression791 = new BitSet(new[] { 0x0000400000000FF0UL }); public static readonly BitSet FOLLOW_primaryExpression_in_unaryExpression794 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_39_in_unaryExpression805 = new BitSet(new[] { 0x0000400000000FF0UL }); public static readonly BitSet FOLLOW_primaryExpression_in_unaryExpression807 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_46_in_primaryExpression829 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_logicalExpression_in_primaryExpression831 = new BitSet(new[] { 0x0000800000000000UL }); public static readonly BitSet FOLLOW_47_in_primaryExpression833 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_value_in_primaryExpression843 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_identifier_in_primaryExpression851 = new BitSet(new[] { 0x0000400000000002UL }); public static readonly BitSet FOLLOW_arguments_in_primaryExpression856 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_INTEGER_in_value876 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_FLOAT_in_value884 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_STRING_in_value892 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_DATETIME_in_value901 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_TRUE_in_value908 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_FALSE_in_value916 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_ID_in_identifier934 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_NAME_in_identifier942 = new BitSet(new[] { 0x0000000000000002UL }); public static readonly BitSet FOLLOW_logicalExpression_in_expressionList966 = new BitSet(new[] { 0x0001000000000002UL }); public static readonly BitSet FOLLOW_48_in_expressionList973 = new BitSet(new[] { 0x0000788000000FF0UL }); public static readonly BitSet FOLLOW_logicalExpression_in_expressionList977 = new BitSet(new[] { 0x0001000000000002UL }); public static readonly BitSet FOLLOW_46_in_arguments1006 = new BitSet(new[] { 0x0000F88000000FF0UL }); public static readonly BitSet FOLLOW_expressionList_in_arguments1010 = new BitSet(new[] { 0x0000800000000000UL }); public static readonly BitSet FOLLOW_47_in_arguments1017 = new BitSet(new[] { 0x0000000000000002UL }); public class ncalcExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "ncalcExpression" public class logicalExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "logicalExpression" public class conditionalExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "conditionalExpression" public class booleanAndExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "booleanAndExpression" public class bitwiseOrExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "bitwiseOrExpression" public class bitwiseXOrExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "bitwiseXOrExpression" public class bitwiseAndExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "bitwiseAndExpression" public class equalityExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "equalityExpression" public class relationalExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "relationalExpression" public class shiftExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "shiftExpression" public class additiveExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "additiveExpression" public class multiplicativeExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "multiplicativeExpression" public class unaryExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "unaryExpression" public class primaryExpression_return : ParserRuleReturnScope { public LogicalExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "primaryExpression" public class value_return : ParserRuleReturnScope { public ValueExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "value" public class identifier_return : ParserRuleReturnScope { public IdentifierExpression value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "identifier" public class expressionList_return : ParserRuleReturnScope { public List value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; // $ANTLR end "expressionList" public class arguments_return : ParserRuleReturnScope { public List value; private CommonTree tree; override public object Tree { get { return tree; } set { tree = (CommonTree)value; } } }; } }