org.eclipse.xtext.util.formallang
Class StringProduction

java.lang.Object
  extended by org.eclipse.xtext.util.formallang.StringProduction
All Implemented Interfaces:
Production<StringProduction.ProdElement,java.lang.String>
Direct Known Subclasses:
StringCfg, XpectParameterProvider.AssignedProduction

public class StringProduction
extends java.lang.Object
implements Production<StringProduction.ProdElement,java.lang.String>

Author:
Moritz Eysholdt - Initial contribution and API

Nested Class Summary
static class StringProduction.ElementType
           
 class StringProduction.ProdElement
           
protected static class StringProduction.Token
           
 
Field Summary
protected  StringProduction.ProdElement root
           
protected static java.util.regex.Pattern WS
           
 
Constructor Summary
StringProduction()
           
StringProduction(java.lang.String production)
           
 
Method Summary
protected  StringProduction.ProdElement createElement(StringProduction.ElementType type)
           
 java.lang.Iterable<StringProduction.ProdElement> getAlternativeChildren(StringProduction.ProdElement ele)
           
 StringProduction.ProdElement getParent(StringProduction.ProdElement ele)
           
 StringProduction.ProdElement getRoot()
           
 java.lang.Iterable<StringProduction.ProdElement> getSequentialChildren(StringProduction.ProdElement ele)
           
 java.lang.String getToken(StringProduction.ProdElement ele)
           
 java.lang.Iterable<StringProduction.ProdElement> getUnorderedChildren(StringProduction.ProdElement ele)
           
 boolean isMany(StringProduction.ProdElement ele)
           
 boolean isOptional(StringProduction.ProdElement ele)
           
protected  java.util.Stack<Pair<StringProduction.Token,java.lang.String>> lex(java.lang.String string)
           
protected  StringProduction.ProdElement parseAlt(java.util.Stack<Pair<StringProduction.Token,java.lang.String>> tokens)
           
protected  void parseCardinality(java.util.Stack<Pair<StringProduction.Token,java.lang.String>> tokens, StringProduction.ProdElement ele)
           
protected  StringProduction.ProdElement parsePrim(java.util.Stack<Pair<StringProduction.Token,java.lang.String>> tokens)
           
protected  StringProduction.ProdElement parseSeq(java.util.Stack<Pair<StringProduction.Token,java.lang.String>> tokens)
           
protected  StringProduction.ProdElement parseUnordered(java.util.Stack<Pair<StringProduction.Token,java.lang.String>> tokens)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

WS

protected static final java.util.regex.Pattern WS

root

protected StringProduction.ProdElement root
Constructor Detail

StringProduction

public StringProduction()

StringProduction

public StringProduction(java.lang.String production)
Method Detail

createElement

protected StringProduction.ProdElement createElement(StringProduction.ElementType type)

getAlternativeChildren

public java.lang.Iterable<StringProduction.ProdElement> getAlternativeChildren(StringProduction.ProdElement ele)
Specified by:
getAlternativeChildren in interface Production<StringProduction.ProdElement,java.lang.String>

getParent

public StringProduction.ProdElement getParent(StringProduction.ProdElement ele)
Specified by:
getParent in interface Production<StringProduction.ProdElement,java.lang.String>

getRoot

public StringProduction.ProdElement getRoot()
Specified by:
getRoot in interface Production<StringProduction.ProdElement,java.lang.String>

getSequentialChildren

public java.lang.Iterable<StringProduction.ProdElement> getSequentialChildren(StringProduction.ProdElement ele)
Specified by:
getSequentialChildren in interface Production<StringProduction.ProdElement,java.lang.String>

getToken

public java.lang.String getToken(StringProduction.ProdElement ele)
Specified by:
getToken in interface Production<StringProduction.ProdElement,java.lang.String>

getUnorderedChildren

public java.lang.Iterable<StringProduction.ProdElement> getUnorderedChildren(StringProduction.ProdElement ele)
Specified by:
getUnorderedChildren in interface Production<StringProduction.ProdElement,java.lang.String>

isMany

public boolean isMany(StringProduction.ProdElement ele)
Specified by:
isMany in interface Production<StringProduction.ProdElement,java.lang.String>

isOptional

public boolean isOptional(StringProduction.ProdElement ele)
Specified by:
isOptional in interface Production<StringProduction.ProdElement,java.lang.String>

lex

protected java.util.Stack<Pair<StringProduction.Token,java.lang.String>> lex(java.lang.String string)

parseAlt

protected StringProduction.ProdElement parseAlt(java.util.Stack<Pair<StringProduction.Token,java.lang.String>> tokens)

parseCardinality

protected void parseCardinality(java.util.Stack<Pair<StringProduction.Token,java.lang.String>> tokens,
                                StringProduction.ProdElement ele)

parsePrim

protected StringProduction.ProdElement parsePrim(java.util.Stack<Pair<StringProduction.Token,java.lang.String>> tokens)

parseSeq

protected StringProduction.ProdElement parseSeq(java.util.Stack<Pair<StringProduction.Token,java.lang.String>> tokens)

parseUnordered

protected StringProduction.ProdElement parseUnordered(java.util.Stack<Pair<StringProduction.Token,java.lang.String>> tokens)

toString

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