Java Doc for Generifier.java in  » Parser » Rats-Parser-Generators » xtc » parser » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Parser » Rats Parser Generators » xtc.parser 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   xtc.tree.Visitor
      xtc.parser.Generifier

Generifier
public class Generifier extends Visitor (Code)
Visitor to add generic nodes as semantic values.

For any production with pseudotype "generic" that does not contain any direct left-recursions (which is also called a generic node production), this visitor adds the appropriate GenericNodeValue generic node value elements, which create a xtc.tree.GNode generic node as the productions' semantic value. The children of such a generic node are the matched component values of the production, though voided elements, void nonterminals, and character terminals are not included. If an alternative assigns CodeGenerator.VALUE either through a binding or a semantic action, that alternative's semantic value is the specified semantic value and not a newly generated generic node. This visitor requires that all nested choices that do not appear as the last element in a sequence have been lifted. It also assumes that the entire grammar is contained in a single module.

Note that this visitor does not process generic productions that contain direct left-recursions; they are processed by DirectLeftRecurser .
author:
   Robert Grimm
version:
   $Revision: 1.55 $



Field Summary
final public static  StringMARKER
     The marker for synthetic variables.
final protected  Analyzeranalyzer
     The analyzer utility.
protected  List<Binding>children
     The list of variables representing the children of the generic node to be created.
protected  List<NodeMarker>markers
     The list of node markers.
final protected  Runtimeruntime
     The runtime.

Constructor Summary
public  Generifier(Runtime runtime, Analyzer analyzer)
     Create a new generifier.

Method Summary
protected  Bindingbind(Element e)
     Create a binding for the specified element.
public static  booleanisGeneric(FullProduction p)
     Determine whether the specified production is a generic node or a generic recursion production.
Parameters:
  p - The production.
public static  booleanisGenericNode(FullProduction p)
     Determine whether the specified production is a generic node production.
public static  booleanisGenericRecursion(FullProduction p)
     Determine whether the specified production is a generic recursion production.
public static  voidmarkGenericNode(FullProduction p, boolean verbose)
     Mark the specified production as a generic node production.
public static  voidmarkGenericRecursion(FullProduction p, boolean verbose)
     Mark the specified production as a generic recursion production.
public  voidvisit(Module m)
     Visit the specified grammar.
public  voidvisit(FullProduction p)
     Visit the specified production.
public  Elementvisit(OrderedChoice c)
     Visit the specified ordered choice.
public  Elementvisit(Repetition r)
     Visit the specified repetition.
public  Elementvisit(Option o)
     Visit the specified option.
public  Elementvisit(Sequence s)
     Visit the specified sequence.
public  Elementvisit(Binding b)
     Visit the specified binding.
public  Elementvisit(StringMatch m)
     Visit the specified string match.
public  Elementvisit(NonTerminal nt)
     Visit the specified nonterminal.
public  Elementvisit(StringLiteral l)
     Visit the specified string literal.
public  Elementvisit(ParseTreeNode n)
     Visit the specified parse tree node.
public  Elementvisit(NullLiteral l)
     Visit the specified null literal.
public  Elementvisit(NodeMarker m)
     Visit the specified node marker.
public  Elementvisit(Element e)
     Visit the specified element.

Field Detail
MARKER
final public static String MARKER(Code)
The marker for synthetic variables.



analyzer
final protected Analyzer analyzer(Code)
The analyzer utility.



children
protected List<Binding> children(Code)
The list of variables representing the children of the generic node to be created.



markers
protected List<NodeMarker> markers(Code)
The list of node markers.



runtime
final protected Runtime runtime(Code)
The runtime.




Constructor Detail
Generifier
public Generifier(Runtime runtime, Analyzer analyzer)(Code)
Create a new generifier.
Parameters:
  runtime - The runtime.
Parameters:
  analyzer - The analyzer utility.




Method Detail
bind
protected Binding bind(Element e)(Code)
Create a binding for the specified element. This method also adds the name of the bound variable to the end of the list of children.
Parameters:
  e - The element to bind. The corresponding binding.



isGeneric
public static boolean isGeneric(FullProduction p)(Code)
Determine whether the specified production is a generic node or a generic recursion production.
Parameters:
  p - The production. true if the specified production is a genericnode or generic recursion production.



isGenericNode
public static boolean isGenericNode(FullProduction p)(Code)
Determine whether the specified production is a generic node production. A production is a generic node production if its semantic value is an automatically generated generic node with the component values as its children.
Parameters:
  p - The production. true if the specified production isa generic node production.



isGenericRecursion
public static boolean isGenericRecursion(FullProduction p)(Code)
Determine whether the specified production is a generic recursion production. A production is a generic recursion production if its semantic value is an automatically generated generic node and the production, as specified, contains one or more direct left-recursions that can automatically be transformed into the corresponding right-recursions.
See Also:   DirectLeftRecurser
Parameters:
  p - The production. true if the specified production isa generic recursion production.



markGenericNode
public static void markGenericNode(FullProduction p, boolean verbose)(Code)
Mark the specified production as a generic node production.
Parameters:
  p - The production.
Parameters:
  verbose - The flag for whether to be verbose.



markGenericRecursion
public static void markGenericRecursion(FullProduction p, boolean verbose)(Code)
Mark the specified production as a generic recursion production.
Parameters:
  p - The production.
Parameters:
  verbose - The flag for whether to be verbose.



visit
public void visit(Module m)(Code)
Visit the specified grammar.



visit
public void visit(FullProduction p)(Code)
Visit the specified production.



visit
public Element visit(OrderedChoice c)(Code)
Visit the specified ordered choice.



visit
public Element visit(Repetition r)(Code)
Visit the specified repetition.



visit
public Element visit(Option o)(Code)
Visit the specified option.



visit
public Element visit(Sequence s)(Code)
Visit the specified sequence.



visit
public Element visit(Binding b)(Code)
Visit the specified binding.



visit
public Element visit(StringMatch m)(Code)
Visit the specified string match.



visit
public Element visit(NonTerminal nt)(Code)
Visit the specified nonterminal.



visit
public Element visit(StringLiteral l)(Code)
Visit the specified string literal.



visit
public Element visit(ParseTreeNode n)(Code)
Visit the specified parse tree node.



visit
public Element visit(NullLiteral l)(Code)
Visit the specified null literal.



visit
public Element visit(NodeMarker m)(Code)
Visit the specified node marker.



visit
public Element visit(Element e)(Code)
Visit the specified element. This method provides the default implementation for predicates, voided elements, character terminals, (parser) actions, and value elements.



Methods inherited from xtc.tree.Visitor
public Object dispatch(Node node)(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.