Added ability to order the execution of dictionary adapter behaviors.
[castle.git] / Experiments / Attic / Rook / Castle.Rook.Compiler / Parser / antlr / ASTNodeCreator.cs
blob485ba14c38c8c4da1c63eb3730120d2d11b800f1
1 namespace antlr
3 using System;
4 using AST = antlr.collections.AST;
6 /*ANTLR Translator Generator
7 * Project led by Terence Parr at http://www.jGuru.com
8 * Software rights: http://www.antlr.org/license.html
10 * $Id:$
14 // ANTLR C# Code Generator by Micheal Jordan
15 // Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com
16 // Anthony Oguntimehin
19 /// <summary>
20 /// A creator of AST node instances.
21 /// </summary>
22 /// <remarks>
23 /// <para>
24 /// This class and it's sub-classes exists primarily as an optimization
25 /// of the reflection-based mechanism(s) previously used exclusively to
26 /// create instances of AST node objects.
27 /// </para>
28 /// <para>
29 /// Parsers and TreeParsers already use the ASTFactory class in ANTLR whenever
30 /// they need to create an AST node objeect. What this class does is to support
31 /// performant extensibility of the basic ASTFactory. The ASTFactory can now be
32 /// extnded as run-time to support more new AST node types without using needing
33 /// to use reflection.
34 /// </para>
35 /// </remarks>
36 public abstract class ASTNodeCreator
38 /// <summary>
39 /// Returns the fully qualified name of the AST type that this
40 /// class creates.
41 /// </summary>
42 public abstract string ASTNodeTypeName
44 get;
47 /// <summary>
48 /// Constructs an <see cref="AST"/> instance.
49 /// </summary>
50 public abstract AST Create();