xtc.parser
Class MetaData

java.lang.Object
  extended by xtc.parser.MetaData

public class MetaData
extends java.lang.Object

The meta-data for a production necessary for code generation.

Version:
$Revision: 1.25 $
Author:
Robert Grimm

Field Summary
 java.util.List<Type> boundRepetitions
          The structure of bound repetitions for this production.
 java.util.List<Type> options
          The structure of options for this production.
 java.util.List<java.lang.Boolean> repetitions
          The structure of repetitions for this production.
 boolean requiresBaseIndex
          Flag for whether the production requires a base index variable.
 boolean requiresChar
          Flag for whether the production requires a character variable.
 boolean requiresIndex
          Flag for whether the production requires an index variable.
 boolean requiresPredIndex
          Flag for whether the production requires a predicate index variable.
 boolean requiresPredMatch
          Flag for whether the production requires a predicate matched variable.
 boolean requiresPredResult
          Flag for whether the production requires a predicate result variable.
 boolean requiresResult
          Flag for whether the production requires a result variable.
 int selfCount
          The number of times this production references itself.
 int usageCount
          The number of times this production is referenced within the grammar.
 
Constructor Summary
MetaData()
          Create a new meta-data record.
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

requiresChar

public boolean requiresChar
Flag for whether the production requires a character variable.


requiresIndex

public boolean requiresIndex
Flag for whether the production requires an index variable.


requiresResult

public boolean requiresResult
Flag for whether the production requires a result variable.


requiresPredIndex

public boolean requiresPredIndex
Flag for whether the production requires a predicate index variable.


requiresPredResult

public boolean requiresPredResult
Flag for whether the production requires a predicate result variable.


requiresPredMatch

public boolean requiresPredMatch
Flag for whether the production requires a predicate matched variable.


requiresBaseIndex

public boolean requiresBaseIndex
Flag for whether the production requires a base index variable.


usageCount

public int usageCount
The number of times this production is referenced within the grammar.


selfCount

public int selfCount
The number of times this production references itself.


repetitions

public java.util.List<java.lang.Boolean> repetitions
The structure of repetitions for this production. The length of the list indicates the maximum depth of nested repetitions. Each list element is a Boolean, which is true if any of the repetitions at that level has its Repetition.once flag set.


boundRepetitions

public java.util.List<Type> boundRepetitions
The structure of bound repetitions for this production. The length of the list indicates the maximum depth of nested repetitions. Each list element is the (unified) type of all lists at that level; it is null if none of the repetitions has a bound semantic value.


options

public java.util.List<Type> options
The structure of options for this production. The length of the list indicates the maximum depth of nested options. Each list element is the (unified) type of all bound options at that level; it is null if none of the options has a bound semantic value.

Constructor Detail

MetaData

public MetaData()
Create a new meta-data record.

Note that the constructor allocates a new list for the repetitions, boundRepetitions and options fields.



Copyright © 2012. All Rights Reserved.