1
# this list is used for autogeneration of:
4
# - ATGTokensSection.txt - the TOKENS section of the ATG file
6
# use BuildKeywords to generate the different lists.
8
$Namespace=ICSharpCode.NRefactory.Parser.CSharp
9
$UpperCaseKeywords=False
35
OpenSquareBracket = "["
36
CloseSquareBracket = "]"
39
CloseParenthesis = ")"
48
BitwiseComplement = "~"
61
#Removed because of generics
69
BitwiseAndAssign = "&="
70
BitwiseOrAssign = "|="
72
ShiftLeftAssign = "<<="
73
#Removed because of generics
74
#ShiftRightAssign = ">>="
157
# Context dependent keywords.
180
# When changing IdentifierTokens, ensure you also change the "Identifier" production in cs.ATG
181
IdentifierTokens(Identifier, "partial", "where", "get", "set", "add", "remove", "yield", "select", "group", "by", "into", "from", "ascending", "descending", "orderby", "let", "join", "on", "equals")
183
OverloadableUnaryOp("-", "!", "~", "++", "--", "true", "false")
184
OverloadableBinaryOp("+", "-", "*", "/", "%", "&", "|", "^", "<<", "==", "!=", ">", "<", ">=", "<=")
186
TypeKW("char", "bool", "object", "string", "sbyte", "byte", "short", "ushort", "int", "uint", "long", "ulong", "float", "double", "decimal")
187
UnaryHead("+", "-", "!", "~", "*", "++", "--", "&")
188
AssnStartOp("+", "-", "!", "~", "*")
189
CastFollower(@SimpleTypeName, Literal, "(", "~", "!", @ExpressionStart)
190
AssgnOps("=", "+=", "-=", "*=", "/=", "%=", "&=", "|=", "<<=")
191
UnaryOp("+", "-", "!", "~", "*", "++", "--", "&")
192
TypeDeclarationKW("class", "interface", "struct", "enum", "delegate")
193
# for �7.5.4.2 "Grammar ambiguities" disambiguation for F(G<A,B>(7))
194
GenericFollower("(", ")", "]", "}", ":", ";", Comma, ".", "?", "==", "!=")
196
ValidInsideTypeName(@IdentifierTokens, @TypeKW, "<", ">", ".", "?", "[", Comma, "]", "*", "::")
198
# Keywords for keyword-code-completion
199
KCCClassModifiers("abstract", "sealed", "static", "unsafe", "partial")
200
KCCTypeDeclarationStart("public", "internal", @TypeDeclarationKW, @KCCClassModifiers)
201
KCCMemberVisibilityModifiers("protected", "private", "public", "internal")
202
SimpleTypeName(@TypeKW, @IdentifierTokens, "void")
203
GlobalLevel("namespace", "using", "extern", @KCCTypeDeclarationStart)
204
ExpressionStart("base", "delegate", "false", "new", "null", "sizeof", "this", "true", "typeof", "checked", "unchecked", "from", "default")
205
ExpressionContent("as", "is", "out", "ref", "in")
206
# interfaces cannot have inner classes etc., the only keyword (expect for type names) that may appear in them is "event"
207
InterfaceLevel("event")
208
TypeLevel(@KCCTypeDeclarationStart, @KCCMemberVisibilityModifiers, "const", "event", "explicit", "extern", "fixed", "implicit", "new", "operator", "override", "readonly", "virtual", "volatile")
209
StatementStart(@ExpressionStart, @ExpressionContent, "break", "case", "catch", "checked", "unchecked", "const", "continue", "default", "do", "else", "finally", "fixed", "for", "foreach", "goto", "if", "lock", "return", "stackalloc", "switch", "throw", "try", "unsafe", "using", "while", "yield")
210
QueryExpressionClauseStart("from", "let", "where", "join", "orderby", "group", "select")
211
InPropertyDeclaration(@KCCMemberVisibilityModifiers, "get", "set")
212
InEventDeclaration("add", "remove")
215
# "by", "into", "ascending", "descending", "on", "equals"