Last change
on this file since 1 was
1,
checked in by lnalod, 15 years ago
|
Initial import of YAO sources
|
File size:
1.4 KB
|
Line | |
---|
1 | namespace antlr |
---|
2 | { |
---|
3 | using System; |
---|
4 | using AST = antlr.collections.AST; |
---|
5 | |
---|
6 | /*ANTLR Translator Generator |
---|
7 | * Project led by Terence Parr at http://www.jGuru.com |
---|
8 | * Software rights: http://www.antlr.org/license.html |
---|
9 | * |
---|
10 | * $Id:$ |
---|
11 | */ |
---|
12 | |
---|
13 | // |
---|
14 | // ANTLR C# Code Generator by Micheal Jordan |
---|
15 | // Kunle Odutola : kunle UNDERSCORE odutola AT hotmail DOT com |
---|
16 | // Anthony Oguntimehin |
---|
17 | // |
---|
18 | |
---|
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 |
---|
37 | { |
---|
38 | /// <summary> |
---|
39 | /// Returns the fully qualified name of the AST type that this |
---|
40 | /// class creates. |
---|
41 | /// </summary> |
---|
42 | public abstract string ASTNodeTypeName |
---|
43 | { |
---|
44 | get; |
---|
45 | } |
---|
46 | |
---|
47 | /// <summary> |
---|
48 | /// Constructs an <see cref="AST"/> instance. |
---|
49 | /// </summary> |
---|
50 | public abstract AST Create(); |
---|
51 | } |
---|
52 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.