| 
							
								 | 
							
							using System; | 
						
						
						
						
							 | 
							
								 | 
							
							using System.Collections; | 
						
						
						
						
							 | 
							
								 | 
							
							using System.Collections.Generic; | 
						
						
						
						
							 | 
							
								 | 
							
							using System.Collections.Specialized; | 
						
						
						
						
							 | 
							
								 | 
							
							using System.Linq; | 
						
						
						
						
							 | 
							
								 | 
							
							using System.Text; | 
						
						
						
						
							 | 
							
								 | 
							
							using ICSharpCode.NRefactory.VB.Ast; | 
						
						
						
						
							 | 
							
								 | 
							
							using ICSharpCode.NRefactory.VB.Parser; | 
						
						
						
						
							 | 
							
								 | 
							
							using ASTAttribute = ICSharpCode.NRefactory.VB.Ast.Attribute; | 
						
						
						
						
							 | 
							
								 | 
							
							using Roles = ICSharpCode.NRefactory.VB.AstNode.Roles; | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							namespace ICSharpCode.NRefactory.VB.Parser { | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							// ---------------------------------------------------------------------------- | 
						
						
						
						
							 | 
							
								 | 
							
							// Parser | 
						
						
						
						
							 | 
							
								 | 
							
							// ---------------------------------------------------------------------------- | 
						
						
						
						
							 | 
							
								 | 
							
							//! A Coco/R Parser | 
						
						
						
						
							 | 
							
								 | 
							
							partial class VBParser | 
						
						
						
						
							 | 
							
								 | 
							
							{ | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _EOF = 0; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _EOL = 1; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _ident = 2; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _LiteralString = 3; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _LiteralCharacter = 4; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _LiteralInteger = 5; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _LiteralDouble = 6; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _LiteralSingle = 7; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _LiteralDecimal = 8; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _LiteralDate = 9; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _XmlOpenTag = 10; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _XmlCloseTag = 11; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _XmlStartInlineVB = 12; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _XmlEndInlineVB = 13; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _XmlCloseTagEmptyElement = 14; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _XmlOpenEndTag = 15; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _XmlContent = 16; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _XmlComment = 17; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _XmlCData = 18; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int _XmlProcessingInstruction = 19; | 
						
						
						
						
							 | 
							
								 | 
							
								public const int maxT = 238;  //<! max term (w/o pragmas) | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
								const bool T = true; | 
						
						
						
						
							 | 
							
								 | 
							
								const bool x = false; | 
						
						
						
						
							 | 
							
								 | 
							
								const int minErrDist = 2; | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								public Errors  errors; | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void Get () { | 
						
						
						
						
							 | 
							
								 | 
							
									lexer.NextToken(); | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								bool StartOf (int s) { | 
						
						
						
						
							 | 
							
								 | 
							
									return set[s].Get(la.kind); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void ExpectWeak (int n, int follow) { | 
						
						
						
						
							 | 
							
								 | 
							
									if (la.kind == n) Get(); | 
						
						
						
						
							 | 
							
								 | 
							
									else { | 
						
						
						
						
							 | 
							
								 | 
							
										SynErr(n); | 
						
						
						
						
							 | 
							
								 | 
							
										while (!StartOf(follow)) Get(); | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								bool WeakSeparator(int n, int syFol, int repFol) { | 
						
						
						
						
							 | 
							
								 | 
							
									int kind = la.kind; | 
						
						
						
						
							 | 
							
								 | 
							
									if (kind == n) {Get(); return true;} | 
						
						
						
						
							 | 
							
								 | 
							
									else if (StartOf(repFol)) {return false;} | 
						
						
						
						
							 | 
							
								 | 
							
									else { | 
						
						
						
						
							 | 
							
								 | 
							
										SynErr(n); | 
						
						
						
						
							 | 
							
								 | 
							
										while (!(set[syFol].Get(kind) || set[repFol].Get(kind) || set[0].Get(kind))) { | 
						
						
						
						
							 | 
							
								 | 
							
											Get(); | 
						
						
						
						
							 | 
							
								 | 
							
											kind = la.kind; | 
						
						
						
						
							 | 
							
								 | 
							
										} | 
						
						
						
						
							 | 
							
								 | 
							
										return StartOf(syFol); | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void VB() { | 
						
						
						
						
							 | 
							
								 | 
							
									compilationUnit = new CompilationUnit(); | 
						
						
						
						
							 | 
							
								 | 
							
										NodeStart(compilationUnit); | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									while (la.kind == 1 || la.kind == 21) { | 
						
						
						
						
							 | 
							
								 | 
							
										StatementTerminator(); | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									while (la.kind == 173) { | 
						
						
						
						
							 | 
							
								 | 
							
										OptionStatement(CompilationUnit.MemberRole); | 
						
						
						
						
							 | 
							
								 | 
							
										while (la.kind == 1 || la.kind == 21) { | 
						
						
						
						
							 | 
							
								 | 
							
											StatementTerminator(); | 
						
						
						
						
							 | 
							
								 | 
							
										} | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									while (la.kind == 137) { | 
						
						
						
						
							 | 
							
								 | 
							
										ImportsStatement(CompilationUnit.MemberRole); | 
						
						
						
						
							 | 
							
								 | 
							
										while (la.kind == 1 || la.kind == 21) { | 
						
						
						
						
							 | 
							
								 | 
							
											StatementTerminator(); | 
						
						
						
						
							 | 
							
								 | 
							
										} | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void StatementTerminator() { | 
						
						
						
						
							 | 
							
								 | 
							
									while (!(la.kind == 0 || la.kind == 1 || la.kind == 21)) {SynErr(239); Get();} | 
						
						
						
						
							 | 
							
								 | 
							
									if (la.kind == 1) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										AddTerminal(Roles.StatementTerminator); | 
						
						
						
						
							 | 
							
								 | 
							
									} else if (la.kind == 21) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										AddTerminal(Roles.StatementTerminator); | 
						
						
						
						
							 | 
							
								 | 
							
									} else SynErr(240); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void OptionStatement(Role role) { | 
						
						
						
						
							 | 
							
								 | 
							
									var result = new OptionStatement(); NodeStart(result); | 
						
						
						
						
							 | 
							
								 | 
							
									Expect(173); | 
						
						
						
						
							 | 
							
								 | 
							
									AddTerminal(Roles.Keyword); | 
						
						
						
						
							 | 
							
								 | 
							
									if (la.kind == 121) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										AddTerminal(Ast.OptionStatement.OptionTypeRole); | 
						
						
						
						
							 | 
							
								 | 
							
										result.OptionType = OptionType.Explicit; | 
						
						
						
						
							 | 
							
								 | 
							
										if (la.kind == 170 || la.kind == 171) { | 
						
						
						
						
							 | 
							
								 | 
							
											OnOff(result); | 
						
						
						
						
							 | 
							
								 | 
							
										} | 
						
						
						
						
							 | 
							
								 | 
							
									} else if (la.kind == 207) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										AddTerminal(Ast.OptionStatement.OptionTypeRole); | 
						
						
						
						
							 | 
							
								 | 
							
										result.OptionType = OptionType.Strict; | 
						
						
						
						
							 | 
							
								 | 
							
										if (la.kind == 170 || la.kind == 171) { | 
						
						
						
						
							 | 
							
								 | 
							
											OnOff(result); | 
						
						
						
						
							 | 
							
								 | 
							
										} | 
						
						
						
						
							 | 
							
								 | 
							
									} else if (la.kind == 139) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										AddTerminal(Ast.OptionStatement.OptionTypeRole); | 
						
						
						
						
							 | 
							
								 | 
							
										result.OptionType = OptionType.Infer; | 
						
						
						
						
							 | 
							
								 | 
							
										if (la.kind == 170 || la.kind == 171) { | 
						
						
						
						
							 | 
							
								 | 
							
											OnOff(result); | 
						
						
						
						
							 | 
							
								 | 
							
										} | 
						
						
						
						
							 | 
							
								 | 
							
									} else if (la.kind == 87) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										AddTerminal(Ast.OptionStatement.OptionTypeRole); | 
						
						
						
						
							 | 
							
								 | 
							
										result.OptionType = OptionType.Compare; | 
						
						
						
						
							 | 
							
								 | 
							
										BinaryText(result); | 
						
						
						
						
							 | 
							
								 | 
							
									} else SynErr(241); | 
						
						
						
						
							 | 
							
								 | 
							
									StatementTerminator(); | 
						
						
						
						
							 | 
							
								 | 
							
									NodeEnd(result, role); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void ImportsStatement(Role role) { | 
						
						
						
						
							 | 
							
								 | 
							
									var result = new ImportsStatement(); NodeStart(result); | 
						
						
						
						
							 | 
							
								 | 
							
									Expect(137); | 
						
						
						
						
							 | 
							
								 | 
							
									AddTerminal(Roles.Keyword); | 
						
						
						
						
							 | 
							
								 | 
							
									ImportsClause(); | 
						
						
						
						
							 | 
							
								 | 
							
									while (la.kind == 22) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										ImportsClause(); | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									StatementTerminator(); | 
						
						
						
						
							 | 
							
								 | 
							
									NodeEnd(result, role); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void Identifier() { | 
						
						
						
						
							 | 
							
								 | 
							
									if (StartOf(1)) { | 
						
						
						
						
							 | 
							
								 | 
							
										IdentifierForFieldDeclaration(); | 
						
						
						
						
							 | 
							
								 | 
							
									} else if (la.kind == 98) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
									} else SynErr(242); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void IdentifierForFieldDeclaration() { | 
						
						
						
						
							 | 
							
								 | 
							
									switch (la.kind) { | 
						
						
						
						
							 | 
							
								 | 
							
									case 2: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 58: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 62: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 64: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 65: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 66: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 67: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 70: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 87: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 104: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 107: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 116: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 121: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 126: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 133: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 139: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 143: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 146: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 147: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 170: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 176: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 178: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 184: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 203: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 212: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 213: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 223: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 224: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 230: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									default: SynErr(243); break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void TypeName(out AstType type) { | 
						
						
						
						
							 | 
							
								 | 
							
									type = null; | 
						
						
						
						
							 | 
							
								 | 
							
									if (StartOf(2)) { | 
						
						
						
						
							 | 
							
								 | 
							
										PrimitiveTypeName(out type); | 
						
						
						
						
							 | 
							
								 | 
							
									} else if (StartOf(3)) { | 
						
						
						
						
							 | 
							
								 | 
							
										QualifiedTypeName(out type); | 
						
						
						
						
							 | 
							
								 | 
							
									} else SynErr(244); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void PrimitiveTypeName(out AstType type) { | 
						
						
						
						
							 | 
							
								 | 
							
									type = null; | 
						
						
						
						
							 | 
							
								 | 
							
									switch (la.kind) { | 
						
						
						
						
							 | 
							
								 | 
							
									case 168: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("Object", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 68: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("Boolean", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 99: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("Date", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 82: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("Char", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 208: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("String", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 100: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("Decimal", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 71: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("Byte", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 201: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("Short", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 141: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("Integer", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 151: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("Long", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 202: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("Single", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 109: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("Double", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 221: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("UInteger", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 222: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("ULong", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 225: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("UShort", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									case 196: { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new PrimitiveType("SByte", t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
										break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
									default: SynErr(245); break; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void QualifiedTypeName(out AstType type) { | 
						
						
						
						
							 | 
							
								 | 
							
									if (la.kind == 130) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
									} else if (StartOf(4)) { | 
						
						
						
						
							 | 
							
								 | 
							
										Identifier(); | 
						
						
						
						
							 | 
							
								 | 
							
									} else SynErr(246); | 
						
						
						
						
							 | 
							
								 | 
							
									type = new SimpleType(t.val, t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
									while (la.kind == 26) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										Identifier(); | 
						
						
						
						
							 | 
							
								 | 
							
										type = new QualifiedType(type, new Identifier (t.val, t.Location)); | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void OnOff(OptionStatement os) { | 
						
						
						
						
							 | 
							
								 | 
							
									if (la.kind == 171) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										AddTerminal(Ast.OptionStatement.OptionValueRole); | 
						
						
						
						
							 | 
							
								 | 
							
										os.OptionValue = OptionValue.On; | 
						
						
						
						
							 | 
							
								 | 
							
									} else if (la.kind == 170) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										AddTerminal(Ast.OptionStatement.OptionValueRole); | 
						
						
						
						
							 | 
							
								 | 
							
										os.OptionValue  = OptionValue.Off; | 
						
						
						
						
							 | 
							
								 | 
							
									} else SynErr(247); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void BinaryText(OptionStatement os) { | 
						
						
						
						
							 | 
							
								 | 
							
									if (la.kind == 213) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										AddTerminal(Ast.OptionStatement.OptionValueRole); | 
						
						
						
						
							 | 
							
								 | 
							
										os.OptionValue = OptionValue.Text; | 
						
						
						
						
							 | 
							
								 | 
							
									} else if (la.kind == 67) { | 
						
						
						
						
							 | 
							
								 | 
							
										Get(); | 
						
						
						
						
							 | 
							
								 | 
							
										AddTerminal(Ast.OptionStatement.OptionValueRole); | 
						
						
						
						
							 | 
							
								 | 
							
										os.OptionValue  = OptionValue.Binary; | 
						
						
						
						
							 | 
							
								 | 
							
									} else SynErr(248); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void ImportsClause() { | 
						
						
						
						
							 | 
							
								 | 
							
									if (IsAliasImportsClause()) { | 
						
						
						
						
							 | 
							
								 | 
							
										AliasImportsClause(Ast.ImportsStatement.ImportsClauseRole); | 
						
						
						
						
							 | 
							
								 | 
							
									} else if (StartOf(5)) { | 
						
						
						
						
							 | 
							
								 | 
							
										MemberImportsClause(Ast.ImportsStatement.ImportsClauseRole); | 
						
						
						
						
							 | 
							
								 | 
							
									} else if (la.kind == 10) { | 
						
						
						
						
							 | 
							
								 | 
							
										XmlNamespaceImportsClause(Ast.ImportsStatement.ImportsClauseRole); | 
						
						
						
						
							 | 
							
								 | 
							
									} else SynErr(249); | 
						
						
						
						
							 | 
							
								 | 
							
									while (!(StartOf(6))) {SynErr(250); Get();} | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void AliasImportsClause(Role role) { | 
						
						
						
						
							 | 
							
								 | 
							
									var result = new AliasImportsClause(); NodeStart(result); | 
						
						
						
						
							 | 
							
								 | 
							
									AstType alias; | 
						
						
						
						
							 | 
							
								 | 
							
									Identifier(); | 
						
						
						
						
							 | 
							
								 | 
							
									result.Name = new Identifier (t.val, t.Location); | 
						
						
						
						
							 | 
							
								 | 
							
									Expect(20); | 
						
						
						
						
							 | 
							
								 | 
							
									TypeName(out alias); | 
						
						
						
						
							 | 
							
								 | 
							
									result.Alias = alias; | 
						
						
						
						
							 | 
							
								 | 
							
									NodeEnd(result, role); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void MemberImportsClause(Role role) { | 
						
						
						
						
							 | 
							
								 | 
							
									var result = new MemberImportsClause(); NodeStart(result); | 
						
						
						
						
							 | 
							
								 | 
							
									AstType member; | 
						
						
						
						
							 | 
							
								 | 
							
									TypeName(out member); | 
						
						
						
						
							 | 
							
								 | 
							
									result.Member = member; | 
						
						
						
						
							 | 
							
								 | 
							
									NodeEnd(result, role); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								void XmlNamespaceImportsClause(Role role) { | 
						
						
						
						
							 | 
							
								 | 
							
									var result = new XmlNamespaceImportsClause(); NodeStart(result); | 
						
						
						
						
							 | 
							
								 | 
							
									Expect(10); | 
						
						
						
						
							 | 
							
								 | 
							
									AddTerminal(Roles.XmlOpenTag); | 
						
						
						
						
							 | 
							
								 | 
							
									Identifier(); | 
						
						
						
						
							 | 
							
								 | 
							
									Expect(20); | 
						
						
						
						
							 | 
							
								 | 
							
									AddTerminal(Roles.Assign); | 
						
						
						
						
							 | 
							
								 | 
							
									Expect(3); | 
						
						
						
						
							 | 
							
								 | 
							
									Expect(11); | 
						
						
						
						
							 | 
							
								 | 
							
									AddTerminal(Roles.XmlCloseTag); | 
						
						
						
						
							 | 
							
								 | 
							
									NodeEnd(result, role); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								public void ParseRoot() { | 
						
						
						
						
							 | 
							
								 | 
							
									VB(); | 
						
						
						
						
							 | 
							
								 | 
							
									Expect(0); // expect end-of-file automatically added | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								static readonly BitArray[] set = { | 
						
						
						
						
							 | 
							
								 | 
							
									new BitArray(new int[] {6291459, 0, 0, 0, 0, 0, 0, 0}), | 
						
						
						
						
							 | 
							
								 | 
							
									new BitArray(new int[] {4, 1140850688, 8388687, 1108347136, 821280, 17105920, -2144335872, 65}), | 
						
						
						
						
							 | 
							
								 | 
							
									new BitArray(new int[] {0, 0, 262288, 8216, 8396800, 256, 1610679824, 2}), | 
						
						
						
						
							 | 
							
								 | 
							
									new BitArray(new int[] {4, 1140850688, 8388687, 1108347140, 821284, 17105920, -2144335872, 65}), | 
						
						
						
						
							 | 
							
								 | 
							
									new BitArray(new int[] {4, 1140850688, 8388687, 1108347140, 821280, 17105920, -2144335872, 65}), | 
						
						
						
						
							 | 
							
								 | 
							
									new BitArray(new int[] {4, 1140850688, 8650975, 1108355356, 9218084, 17106176, -533656048, 67}), | 
						
						
						
						
							 | 
							
								 | 
							
									new BitArray(new int[] {6291459, 0, 0, 0, 0, 0, 0, 0}) | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
								}; | 
						
						
						
						
							 | 
							
								 | 
							
								 | 
						
						
						
						
							 | 
							
								 | 
							
								void SynErr(int line, int col, int errorNumber) | 
						
						
						
						
							 | 
							
								 | 
							
								{ | 
						
						
						
						
							 | 
							
								 | 
							
									this.Errors.Error(line, col, GetMessage(errorNumber)); | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
								 | 
						
						
						
						
							 | 
							
								 | 
							
								string GetMessage(int errorNumber) | 
						
						
						
						
							 | 
							
								 | 
							
								{ | 
						
						
						
						
							 | 
							
								 | 
							
									switch (errorNumber) { | 
						
						
						
						
							 | 
							
								 | 
							
													case 0: return "EOF expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 1: return "EOL expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 2: return "ident expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 3: return "LiteralString expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 4: return "LiteralCharacter expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 5: return "LiteralInteger expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 6: return "LiteralDouble expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 7: return "LiteralSingle expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 8: return "LiteralDecimal expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 9: return "LiteralDate expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 10: return "XmlOpenTag expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 11: return "XmlCloseTag expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 12: return "XmlStartInlineVB expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 13: return "XmlEndInlineVB expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 14: return "XmlCloseTagEmptyElement expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 15: return "XmlOpenEndTag expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 16: return "XmlContent expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 17: return "XmlComment expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 18: return "XmlCData expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 19: return "XmlProcessingInstruction expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 20: return "\"=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 21: return "\":\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 22: return "\",\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 23: return "\"&\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 24: return "\"/\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 25: return "\"\\\\\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 26: return "\".\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 27: return "\"...\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 28: return "\".@\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 29: return "\"!\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 30: return "\"-\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 31: return "\"+\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 32: return "\"^\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 33: return "\"?\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 34: return "\"*\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 35: return "\"{\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 36: return "\"}\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 37: return "\"(\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 38: return "\")\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 39: return "\">\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 40: return "\"<\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 41: return "\"<>\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 42: return "\">=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 43: return "\"<=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 44: return "\"<<\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 45: return "\">>\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 46: return "\"+=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 47: return "\"^=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 48: return "\"-=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 49: return "\"*=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 50: return "\"/=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 51: return "\"\\\\=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 52: return "\"<<=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 53: return "\">>=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 54: return "\"&=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 55: return "\":=\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 56: return "\"AddHandler\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 57: return "\"AddressOf\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 58: return "\"Aggregate\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 59: return "\"Alias\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 60: return "\"And\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 61: return "\"AndAlso\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 62: return "\"Ansi\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 63: return "\"As\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 64: return "\"Ascending\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 65: return "\"Assembly\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 66: return "\"Auto\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 67: return "\"Binary\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 68: return "\"Boolean\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 69: return "\"ByRef\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 70: return "\"By\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 71: return "\"Byte\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 72: return "\"ByVal\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 73: return "\"Call\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 74: return "\"Case\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 75: return "\"Catch\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 76: return "\"CBool\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 77: return "\"CByte\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 78: return "\"CChar\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 79: return "\"CDate\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 80: return "\"CDbl\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 81: return "\"CDec\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 82: return "\"Char\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 83: return "\"CInt\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 84: return "\"Class\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 85: return "\"CLng\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 86: return "\"CObj\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 87: return "\"Compare\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 88: return "\"Const\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 89: return "\"Continue\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 90: return "\"CSByte\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 91: return "\"CShort\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 92: return "\"CSng\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 93: return "\"CStr\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 94: return "\"CType\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 95: return "\"CUInt\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 96: return "\"CULng\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 97: return "\"CUShort\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 98: return "\"Custom\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 99: return "\"Date\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 100: return "\"Decimal\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 101: return "\"Declare\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 102: return "\"Default\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 103: return "\"Delegate\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 104: return "\"Descending\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 105: return "\"Dim\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 106: return "\"DirectCast\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 107: return "\"Distinct\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 108: return "\"Do\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 109: return "\"Double\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 110: return "\"Each\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 111: return "\"Else\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 112: return "\"ElseIf\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 113: return "\"End\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 114: return "\"EndIf\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 115: return "\"Enum\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 116: return "\"Equals\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 117: return "\"Erase\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 118: return "\"Error\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 119: return "\"Event\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 120: return "\"Exit\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 121: return "\"Explicit\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 122: return "\"False\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 123: return "\"Finally\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 124: return "\"For\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 125: return "\"Friend\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 126: return "\"From\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 127: return "\"Function\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 128: return "\"Get\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 129: return "\"GetType\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 130: return "\"Global\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 131: return "\"GoSub\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 132: return "\"GoTo\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 133: return "\"Group\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 134: return "\"Handles\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 135: return "\"If\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 136: return "\"Implements\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 137: return "\"Imports\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 138: return "\"In\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 139: return "\"Infer\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 140: return "\"Inherits\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 141: return "\"Integer\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 142: return "\"Interface\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 143: return "\"Into\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 144: return "\"Is\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 145: return "\"IsNot\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 146: return "\"Join\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 147: return "\"Key\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 148: return "\"Let\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 149: return "\"Lib\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 150: return "\"Like\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 151: return "\"Long\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 152: return "\"Loop\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 153: return "\"Me\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 154: return "\"Mod\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 155: return "\"Module\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 156: return "\"MustInherit\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 157: return "\"MustOverride\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 158: return "\"MyBase\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 159: return "\"MyClass\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 160: return "\"Namespace\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 161: return "\"Narrowing\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 162: return "\"New\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 163: return "\"Next\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 164: return "\"Not\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 165: return "\"Nothing\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 166: return "\"NotInheritable\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 167: return "\"NotOverridable\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 168: return "\"Object\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 169: return "\"Of\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 170: return "\"Off\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 171: return "\"On\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 172: return "\"Operator\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 173: return "\"Option\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 174: return "\"Optional\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 175: return "\"Or\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 176: return "\"Order\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 177: return "\"OrElse\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 178: return "\"Out\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 179: return "\"Overloads\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 180: return "\"Overridable\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 181: return "\"Overrides\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 182: return "\"ParamArray\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 183: return "\"Partial\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 184: return "\"Preserve\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 185: return "\"Private\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 186: return "\"Property\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 187: return "\"Protected\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 188: return "\"Public\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 189: return "\"RaiseEvent\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 190: return "\"ReadOnly\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 191: return "\"ReDim\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 192: return "\"Rem\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 193: return "\"RemoveHandler\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 194: return "\"Resume\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 195: return "\"Return\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 196: return "\"SByte\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 197: return "\"Select\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 198: return "\"Set\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 199: return "\"Shadows\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 200: return "\"Shared\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 201: return "\"Short\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 202: return "\"Single\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 203: return "\"Skip\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 204: return "\"Static\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 205: return "\"Step\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 206: return "\"Stop\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 207: return "\"Strict\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 208: return "\"String\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 209: return "\"Structure\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 210: return "\"Sub\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 211: return "\"SyncLock\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 212: return "\"Take\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 213: return "\"Text\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 214: return "\"Then\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 215: return "\"Throw\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 216: return "\"To\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 217: return "\"True\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 218: return "\"Try\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 219: return "\"TryCast\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 220: return "\"TypeOf\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 221: return "\"UInteger\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 222: return "\"ULong\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 223: return "\"Unicode\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 224: return "\"Until\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 225: return "\"UShort\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 226: return "\"Using\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 227: return "\"Variant\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 228: return "\"Wend\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 229: return "\"When\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 230: return "\"Where\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 231: return "\"While\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 232: return "\"Widening\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 233: return "\"With\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 234: return "\"WithEvents\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 235: return "\"WriteOnly\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 236: return "\"Xor\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 237: return "\"GetXmlNamespace\" expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 238: return "??? expected"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 239: return "this symbol not expected in StatementTerminator"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 240: return "invalid StatementTerminator"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 241: return "invalid OptionStatement"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 242: return "invalid Identifier"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 243: return "invalid IdentifierForFieldDeclaration"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 244: return "invalid TypeName"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 245: return "invalid PrimitiveTypeName"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 246: return "invalid QualifiedTypeName"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 247: return "invalid OnOff"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 248: return "invalid BinaryText"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 249: return "invalid ImportsClause"; | 
						
						
						
						
							 | 
							
								 | 
							
										case 250: return "this symbol not expected in ImportsClause"; | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
										default: return "error " + errorNumber; | 
						
						
						
						
							 | 
							
								 | 
							
									} | 
						
						
						
						
							 | 
							
								 | 
							
								} | 
						
						
						
						
							 | 
							
								 | 
							
							} // end Parser | 
						
						
						
						
							 | 
							
								 | 
							
							 | 
						
						
						
						
							 | 
							
								 | 
							
							} // end namespace
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 |