org.antlr.tool
Class Attribute

java.lang.Object
  extended by org.antlr.tool.Attribute

public class Attribute
extends java.lang.Object

Track the names of attributes define in arg lists, return values, scope blocks etc...


Field Summary
 java.lang.String decl
          The entire declaration such as "String foo;"
 java.lang.String initValue
          The optional attribute intialization expression
 java.lang.String name
          The name of the attribute "foo"
 java.lang.String type
          The type; might be empty such as for Python which has no static typing
 
Constructor Summary
Attribute(java.lang.String decl)
           
Attribute(java.lang.String name, java.lang.String decl)
           
 
Method Summary
protected  void extractAttribute(java.lang.String decl)
          For decls like "String foo" or "char *foo32[3]" compute the ID and type declarations.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

decl

public java.lang.String decl
The entire declaration such as "String foo;"


type

public java.lang.String type
The type; might be empty such as for Python which has no static typing


name

public java.lang.String name
The name of the attribute "foo"


initValue

public java.lang.String initValue
The optional attribute intialization expression

Constructor Detail

Attribute

public Attribute(java.lang.String decl)

Attribute

public Attribute(java.lang.String name,
                 java.lang.String decl)
Method Detail

extractAttribute

protected void extractAttribute(java.lang.String decl)
For decls like "String foo" or "char *foo32[3]" compute the ID and type declarations. Also handle "int x=3" and 'T t = new T("foo")' but if the separator is ',' you cannot use ',' in the initvalue. AttributeScope.addAttributes takes care of the separation so we are free here to use from '=' to end of string as the expression. Set name, type, initvalue, and full decl instance vars.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object