Goblin - A Platform for 3D AR and VR Applications

DDW.CSharp.SymbolTable 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
AssemblyScope  
BlockScope  
BuiltInDefinition Base class for Definitions. Definitions may be variables, or scopes that have names.
Definition Base class for Definitions. Definitions may be variables, or scopes that have names.
DefinitionCollection A strongly-typed collection of IDefinition objects.
ExpressionRoot  
ExpressionRootCollection A strongly-typed collection of ExpressionRoot objects.
MemberScope  
NamespaceScope  
OverloadableDefinition Base class for Definitions. Definitions may be variables, or scopes that have names.
Scope  
ScopeCollection A strongly-typed collection of Scope objects.
Symbol  
TypeScope  
TypeScopeCollection A strongly-typed collection of TypeScope objects.

Interfaces

Interface Description
DefinitionCollection.IDefinitionCollectionEnumerator Supports type-safe iteration over a DefinitionCollection.
ExpressionRootCollection.IExpressionRootCollectionEnumerator Supports type-safe iteration over a ExpressionRootCollection.
IDefinition Interface for Defintions. Definitions may be variable declarations, or scope declarations that have names (like types or methods, but not blocks or accessors). Note: With members that can declare multiple types at once, like fields or events, the declarator is the IDefinition.
INamedScope Interface used to differentiate between named scopes (ns, types, members) and unnamed (asm, block).
ISymbol  
ScopeCollection.IScopeCollectionEnumerator Supports type-safe iteration over a ScopeCollection.
TypeScopeCollection.ITypeScopeCollectionEnumerator Supports type-safe iteration over a TypeScopeCollection.

Enumerations

Enumeration Description
DefinitionCollection.Tag  
ExpressionRootCollection.Tag  
LiteralType An enumeration of the built in types, from 'lowest' to 'highest'.
ScopeCollection.Tag  
TypeScopeCollection.Tag