mirror of https://github.com/icsharpcode/ILSpy.git
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							284 lines
						
					
					
						
							4.5 KiB
						
					
					
				
			
		
		
	
	
							284 lines
						
					
					
						
							4.5 KiB
						
					
					
				# this list is used for autogeneration of: | 
						|
# - Keywords.cs | 
						|
# - Tokens.cs | 
						|
# - ATGTokensSection.txt - the TOKENS section of the ATG file | 
						|
 | 
						|
# use BuildKeywords to generate the different lists. | 
						|
 | 
						|
$Namespace=ICSharpCode.NRefactory.VB.Parser | 
						|
$UpperCaseKeywords=True | 
						|
 | 
						|
# TERMINAL_CLASSES | 
						|
EOF | 
						|
EOL | 
						|
Identifier | 
						|
LiteralString | 
						|
LiteralCharacter | 
						|
LiteralInteger | 
						|
LiteralDouble | 
						|
LiteralSingle | 
						|
LiteralDecimal | 
						|
LiteralDate | 
						|
 | 
						|
# XML_TERMINALS | 
						|
XmlOpenTag | 
						|
XmlCloseTag | 
						|
XmlStartInlineVB | 
						|
XmlEndInlineVB | 
						|
XmlCloseTagEmptyElement | 
						|
XmlOpenEndTag | 
						|
XmlContent | 
						|
XmlComment | 
						|
XmlCData | 
						|
XmlProcessingInstruction | 
						|
 | 
						|
# SPECIAL_CHARACTERS | 
						|
Assign = "=" | 
						|
Colon =":" | 
						|
Comma = "," | 
						|
ConcatString = "&" | 
						|
Div ="/" | 
						|
DivInteger = "\\" | 
						|
Dot = "." | 
						|
TripleDot = "..." | 
						|
DotAt = ".@" | 
						|
# Exclamation mark = Dictionary access operator (not always a token, sometimes it's a type character) | 
						|
ExclamationMark = "!" | 
						|
Minus = "-" | 
						|
Plus = "+" | 
						|
Power = "^" | 
						|
QuestionMark = "?" | 
						|
Times = "*" | 
						|
 | 
						|
OpenCurlyBrace = "{" | 
						|
CloseCurlyBrace = "}" | 
						|
	 | 
						|
OpenParenthesis = "(" | 
						|
CloseParenthesis = ")" | 
						|
	 | 
						|
GreaterThan = ">" | 
						|
LessThan = "<" | 
						|
	 | 
						|
NotEqual = "<>" | 
						|
GreaterEqual = ">=" | 
						|
LessEqual = "<=" | 
						|
	 | 
						|
ShiftLeft = "<<" | 
						|
ShiftRight = ">>" | 
						|
	 | 
						|
PlusAssign = "+=" | 
						|
PowerAssign = "^=" | 
						|
MinusAssign = "-=" | 
						|
TimesAssign = "*=" | 
						|
DivAssign = "/=" | 
						|
DivIntegerAssign = "\\=" | 
						|
ShiftLeftAssign = "<<=" | 
						|
ShiftRightAssign = ">>=" | 
						|
ConcatStringAssign = "&=" | 
						|
ColonAssign = ":=" | 
						|
 | 
						|
# keywords according to the spec: | 
						|
# Keywordlist | 
						|
"AddHandler" | 
						|
"AddressOf" | 
						|
"Aggregate" | 
						|
"Alias" | 
						|
"And" | 
						|
"AndAlso" | 
						|
"Ansi" | 
						|
"As" | 
						|
"Ascending" | 
						|
"Assembly" | 
						|
"Auto" | 
						|
"Binary" | 
						|
"Boolean" | 
						|
"ByRef" | 
						|
"By" | 
						|
"Byte" | 
						|
"ByVal" | 
						|
"Call" | 
						|
"Case" | 
						|
"Catch" | 
						|
"CBool" | 
						|
"CByte" | 
						|
"CChar" | 
						|
"CDate" | 
						|
"CDbl" | 
						|
"CDec" | 
						|
"Char" | 
						|
"CInt" | 
						|
"Class" | 
						|
"CLng" | 
						|
"CObj" | 
						|
"Compare" | 
						|
"Const" | 
						|
"Continue" | 
						|
"CSByte" | 
						|
"CShort" | 
						|
"CSng" | 
						|
"CStr" | 
						|
"CType" | 
						|
"CUInt" | 
						|
"CULng" | 
						|
"CUShort" | 
						|
"Custom" | 
						|
"Date" | 
						|
"Decimal" | 
						|
"Declare" | 
						|
"Default" | 
						|
"Delegate" | 
						|
"Descending" | 
						|
"Dim" | 
						|
"DirectCast" | 
						|
"Distinct" | 
						|
"Do" | 
						|
"Double" | 
						|
"Each" | 
						|
"Else" | 
						|
"ElseIf" | 
						|
"End" | 
						|
"EndIf" | 
						|
"Enum" | 
						|
"Equals" | 
						|
"Erase" | 
						|
"Error" | 
						|
"Event" | 
						|
"Exit" | 
						|
"Explicit" | 
						|
"False" | 
						|
"Finally" | 
						|
"For" | 
						|
"Friend" | 
						|
"From" | 
						|
"Function" | 
						|
"Get" | 
						|
"GetType" | 
						|
"Global" | 
						|
"GoSub" | 
						|
"GoTo" | 
						|
"Group" | 
						|
"Handles" | 
						|
"If" | 
						|
"Implements" | 
						|
"Imports" | 
						|
"In" | 
						|
"Infer" | 
						|
"Inherits" | 
						|
"Integer" | 
						|
"Interface" | 
						|
"Into" | 
						|
"Is" | 
						|
"IsNot" | 
						|
# Note: IsTrue and IsFalse are 'NOT' keywords they're only valid in Operator declarations (like get/set/value are no C# 'keywords') | 
						|
"Join" | 
						|
"Key" | 
						|
"Let" | 
						|
"Lib" | 
						|
"Like" | 
						|
"Long" | 
						|
"Loop" | 
						|
"Me" | 
						|
"Mod" | 
						|
"Module" | 
						|
"MustInherit" | 
						|
"MustOverride" | 
						|
"MyBase" | 
						|
"MyClass" | 
						|
"Namespace" | 
						|
"Narrowing" | 
						|
"New" | 
						|
"Next" | 
						|
"Not" | 
						|
"Nothing" | 
						|
"NotInheritable" | 
						|
"NotOverridable" | 
						|
"Object" | 
						|
"Of" | 
						|
"Off" | 
						|
"On" | 
						|
"Operator" | 
						|
"Option" | 
						|
"Optional" | 
						|
"Or" | 
						|
"Order" | 
						|
"OrElse" | 
						|
"Out" | 
						|
"Overloads" | 
						|
"Overridable" | 
						|
"Overrides" | 
						|
"ParamArray" | 
						|
"Partial" | 
						|
"Preserve" | 
						|
"Private" | 
						|
"Property" | 
						|
"Protected" | 
						|
"Public" | 
						|
"RaiseEvent" | 
						|
"ReadOnly" | 
						|
"ReDim" | 
						|
# has to be in the keyword list for the output formatter | 
						|
"Rem" | 
						|
"RemoveHandler" | 
						|
"Resume" | 
						|
"Return" | 
						|
"SByte" | 
						|
"Select" | 
						|
"Set" | 
						|
"Shadows" | 
						|
"Shared" | 
						|
"Short" | 
						|
"Single" | 
						|
"Skip" | 
						|
"Static" | 
						|
"Step" | 
						|
"Stop" | 
						|
"Strict" | 
						|
"String" | 
						|
"Structure" | 
						|
"Sub" | 
						|
"SyncLock" | 
						|
"Take" | 
						|
"Text" | 
						|
"Then" | 
						|
"Throw" | 
						|
"To" | 
						|
"True" | 
						|
"Try" | 
						|
"TryCast" | 
						|
"TypeOf" | 
						|
"UInteger" | 
						|
"ULong" | 
						|
"Unicode" | 
						|
"Until" | 
						|
"UShort" | 
						|
"Using" | 
						|
"Variant" | 
						|
"Wend" | 
						|
"When" | 
						|
"Where" | 
						|
"While" | 
						|
"Widening" | 
						|
"With" | 
						|
"WithEvents" | 
						|
"WriteOnly" | 
						|
"Xor" | 
						|
 | 
						|
#XML specific keywords | 
						|
"GetXmlNamespace" | 
						|
 | 
						|
#Sets | 
						|
Null("Nothing") | 
						|
BlockSucc("Case", "Catch", "Else", "ElseIf", "End", "Finally", "Loop", "Next") | 
						|
GlobalLevel("Namespace", "Module", "Class", "Structure", "Imports", "Option") | 
						|
TypeLevel("Sub", "Function", "Property") | 
						|
 | 
						|
# List of keywords that are valid identifiers, must be the same as the "Identifier" production in VBNET.ATG | 
						|
IdentifierTokens("Text", "Binary", "Compare", "Assembly", "Ansi", "Auto", "Preserve", "Unicode", "Until", "Off", "Out", "Key", "Explicit", "Infer", "From", "Join", "Equals", "Distinct", "Where", "Take", "Skip", "Order", "By", "Ascending", "Descending", "Group", "Into", "Aggregate") | 
						|
ExpressionStart("Me", "MyBase", "MyClass", @BooleanExpressions, @OperatorsAtStart, "New", @Null, "AddressOf", "GetType", "TypeOf", "GetXmlNamespace", "Global", @TypeKW, @LambdaStart, @CastExpressions) | 
						|
StatementStart(@Null, @ExpressionStart, "Dim", "Const", "Static", "For", "While", "Do", "Select") | 
						|
SimpleTypeName(@TypeKW, @IdentifierTokens) | 
						|
CastExpressions("DirectCast", "TryCast", "CType", "CBool", "CByte", "CChar", "CDate", "CDec", "CDbl", "CInt", "CLng", "CObj", "CSByte", "CShort", "CSng", "CStr", "CUInt", "CULng", "CUShort") | 
						|
BooleanExpressions("True", "False") | 
						|
LambdaStart("Sub", "Function") | 
						|
OperatorsAtStart("Not", "From", "Aggregate") | 
						|
TypeKW("Boolean", "Date", "Char", "String", "Decimal", "Byte", "Short", "Integer", "Long", "Single", "Double", "UInteger", "ULong", "UShort", "SByte") |