openjava.syntax
Class IterationRule

java.lang.Object
  |
  +--openjava.syntax.AbstractSyntaxRule
        |
        +--openjava.syntax.IterationRule
All Implemented Interfaces:
SyntaxRule, TokenID

public class IterationRule
extends AbstractSyntaxRule

The class IterationRule represents iterative syntax rule.

Suppose there's a syntax rule A. This class can represents the syntax ( A )* or ( A )+

Since:
%SOFTWARE% 1.0
Version:
1.0
Author:
Michiaki Tatsubori
See Also:
Object

Field Summary
private  boolean allowsEmpty
           
private  SyntaxRule elementRule
           
 
Fields inherited from class openjava.syntax.AbstractSyntaxRule
 
Fields inherited from interface openjava.syntax.TokenID
ABSTRACT, ANDASSIGN, ASSIGN, BANG, BIT_AND, BIT_OR, BOOLEAN, BREAK, BYTE, CASE, CATCH, CHAR, CHARACTER_LITERAL, CLASS, COLON, COMMA, CONDITIONAL_AND, CONDITIONAL_OR, CONTINUE, DECREMENT, DEFAULT, DO, DOT, DOUBLE, DOUBLE_LITERAL, ELSE, EOF, EQUAL, EXTENDS, FALSE, FINAL, FINALLY, FLOAT, FLOAT_LITERAL, FOR, GREATER, GREATER_EQUAL, HOOK, IDENTIFIER, IF, IMPLEMENTS, IMPORT, INCREMENT, INSTANCEOF, INSTANTIATES, INT, INTEGER_LITERAL, INTERFACE, LBRACE, LBRACKET, LESS, LESS_EQUAL, LONG, LONG_LITERAL, LPAREN, LSHIFT, LSHIFTASSIGN, METACLASS, MINUS, MINUSASSIGN, NATIVE, NEW, NOT_EQUAL, NULL, ORASSIGN, PACKAGE, PLUS, PLUSASSIGN, PRIVATE, PROTECTED, PUBLIC, RBRACE, RBRACKET, REM, REMASSIGN, RETURN, RPAREN, RSIGNEDSHIFT, RSIGNEDSHIFTASSIGN, RUNSIGNEDSHIFT, RUNSIGNEDSHIFTASSIGN, SEMICOLON, SHORT, SLASH, SLASHASSIGN, STAR, STARASSIGN, STATIC, STRING_LITERAL, SUPER, SWITCH, SYNCHRONIZED, THIS, THROW, THROWS, TILDE, TRANSIENT, TRUE, TRY, VOID, VOLATILE, WHILE, XOR, XORASSIGN
 
Constructor Summary
IterationRule(SyntaxRule elementRule)
          Allocates a new rule representing iterations of a given rule not allowing 0 iteration.
IterationRule(SyntaxRule elementRule, boolean allowsEmpty)
          Allocates a new rule representing iterations of a given rule.
 
Method Summary
 ParseTree consume(TokenSource token_src)
          Consumes token source.
 
Methods inherited from class openjava.syntax.AbstractSyntaxRule
getSyntaxException, lookahead
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

elementRule

private SyntaxRule elementRule

allowsEmpty

private boolean allowsEmpty
Constructor Detail

IterationRule

public IterationRule(SyntaxRule elementRule,
                     boolean allowsEmpty)
Allocates a new rule representing iterations of a given rule.

Parameters:
elementRule - a rule to iterate
allowsEmpty - a flag to allow 0 iteration if it is true.

IterationRule

public IterationRule(SyntaxRule elementRule)
Allocates a new rule representing iterations of a given rule not allowing 0 iteration.

Parameters:
elementRule - a rule to iterate
Method Detail

consume

public ParseTree consume(TokenSource token_src)
                  throws SyntaxException
Consumes token source.

Specified by:
consume in interface SyntaxRule
Specified by:
consume in class AbstractSyntaxRule
Parameters:
token_src - token source.
Returns:
null if this fails to consume a syntax tree represented by this object. Otherwise it returns ObjectList object.
SyntaxException

SourceForge.net_Logo