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") |