Goblin - A Platform for 3D AR and VR Applications

DDW.CSharp.Parse Namespace

C# grammar (based on ecma-334 spec) -- Robin Debreuil Fri Mar 5, 2004 11:50 -- A (mostly) complete cs parser. It parses into a tree structure loosely based on the CodeDom. Does not yet do #if preprocessor segments, and no unsafe code (as of yet). You can test by downloading the CSharp.zip file and dragging cs files into CSharp.exe. The zip includes the grammar file, as well as the cs token classes (the grammar uses a heterogeneous tree, though that should be simple to turn off). -- permalink: http://www.debreuil.com/CSharp. TJP: copied src, exe to antlr.org and changed link as debreuil's links are dead.

Namespace hierarchy

Classes

Class Description
AccessorNode  
Arg  
ArgDirection  
Args  
ArrayCreateExpr  
ArrayInitExpr  
ArrayRankExpr  
AssignExpr  
AssignOp  
Attribution  
BaseRefExpr  
BaseTypes  
BinaryExpr  
BinaryOp  
BooleanLiteral  
BreakStmt  
BuiltInType  
CastExpr  
CatchClause  
CharLiteral  
CheckedExpr  
CheckedStmt  
ClassNode  
CommentNode  
CompileUnit  
ConstantDeclStmt  
ConstantNode  
ConstructorNode  
ContinueStmt  
CSharpAST The base class for all custom ASTs.
CSharpLexer  
CSharpParser  
CSharpTokenTypes  
CustomAttribute  
CustomAttributes  
Declarator  
DeclArg  
DeclArgs  
DelegateNode  
DestructorNode  
EnumMemberNode  
EnumNode  
EventNode  
Expression  
Expressions  
ExprStmt  
FieldNode  
FinallyStmt  
ForEachStmt  
GotoStmt  
Ident  
IfStmt  
IncStmt  
IndexerExpr  
IndexerNode  
InitStmt  
IntegerLiteral  
InterfaceNode  
InvokeExpr  
IterationStmt  
LabeledStmt  
LineNumberAST  
LockStmt  
MemberAccessExpr  
Members  
MethodNode  
ModifierAttributes  
NamespaceNode  
NullLiteral  
ObjectCreateExpr  
Op  
OperatorNode  
PostfixExpr  
PrimaryExpression  
PrimaryFollowExpression  
PrimitiveExpr  
PropertyNode  
QualIdent  
RealLiteral  
ReturnStmt  
Statement  
Statements  
StringLiteral  
StructNode  
SubExpr  
SwitchSection  
SwitchStmt  
TernaryExpr  
TernaryOp  
ThisRefExpr  
ThrowStmt  
TryCatchFinallyStmt  
TryStmt  
TypeMemberNode Abstract base class for member types (Class, Method, Prop..) Name Attributes CustomAttributes Comments
TypeNode  
TypeOfExpr  
TypeRef  
Types  
UnaryExpr  
UnaryOp  
UncheckedExpr  
UncheckedStmt  
UsingNode  
UsingStmt  
VariableDeclStmt