fr.umlv.tatoo.cc.lexer.regex.pattern
Class RegexGrammarEvaluator

java.lang.Object
  extended by fr.umlv.tatoo.cc.lexer.regex.pattern.RegexGrammarEvaluator
All Implemented Interfaces:
fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

public class RegexGrammarEvaluator
extends Object
implements fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator


Constructor Summary
RegexGrammarEvaluator(Map<String,Regex> macroes, Encoding charset)
           
 
Method Summary
 void acceptMacro()
           
 void acceptPattern()
           
 RegexIntervalTable followDollar()
           
 RegexIntervalTable followEmpty()
           
 RegexIntervalTable followRegex(Regex regex)
           
 RegexIntervalTable getFollow()
           
 Regex getMacro()
           
 RegexIntervalTable getMain()
           
 boolean hatEmpty()
           
 boolean hatPresent()
           
 void initial(boolean hatOpt, RegexIntervalTable main, RegexIntervalTable follow)
           
 ArrayList<CharacterInterval> interval(CharacterInterval interval)
           
 char intervalLetter(char intervalLetter)
           
 ArrayList<CharacterInterval> intervals(ArrayList<CharacterInterval> intervals, CharacterInterval interval)
           
 CharacterInterval intervalSet(char specialOrIntervalLetter, char specialOrIntervalLetter2)
           
 CharacterInterval intervalSingleton(char specialOrIntervalLetter)
           
 char intervalSpecialLetter(char specialLetter)
           
 boolean isBeginningOfLineRequired()
           
 void macro(Regex regex)
           
 RegexIntervalTable mainRegex(Regex regex)
           
 char normalLetter(char normalLetter)
           
 char normalSpecialLetter(char specialLetter)
           
 Regex regexAny()
           
 Regex regexAtLeast(Regex regex, int num)
           
 Regex regexCat(Regex regex, Regex regex2)
           
 Regex regexInterval(ArrayList<CharacterInterval> intervals)
           
 Regex regexIntervalNegate(ArrayList<CharacterInterval> intervals)
           
 Regex regexLetter(char specialOrNormalLetter)
           
 Regex regexMacro(String name)
           
 Regex regexOptional(Regex regex)
           
 Regex regexOr(Regex regex, Regex regex2)
           
 Regex regexPar(Regex regex)
           
 Regex regexPlus(Regex regex)
           
 Regex regexRange(Regex regex, int from, int to)
           
 Regex regexStar(Regex regex)
           
 Regex regexString(Regex string)
           
 Regex regexTimes(Regex regex, int num)
           
 Regex specialOrStringLetter(Regex specialOrStringLetter)
           
 Regex string(Regex string, Regex specialOrStringLetter)
           
 Regex stringLetter(char stringLetter)
           
 Regex stringSpecialLetter(char specialLetter)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RegexGrammarEvaluator

public RegexGrammarEvaluator(Map<String,Regex> macroes,
                             Encoding charset)
Method Detail

initial

public void initial(boolean hatOpt,
                    RegexIntervalTable main,
                    RegexIntervalTable follow)
Specified by:
initial in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

mainRegex

public RegexIntervalTable mainRegex(Regex regex)
Specified by:
mainRegex in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

macro

public void macro(Regex regex)
Specified by:
macro in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

acceptMacro

public void acceptMacro()

acceptPattern

public void acceptPattern()

followEmpty

public RegexIntervalTable followEmpty()
Specified by:
followEmpty in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

followDollar

public RegexIntervalTable followDollar()
Specified by:
followDollar in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

followRegex

public RegexIntervalTable followRegex(Regex regex)
Specified by:
followRegex in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

hatEmpty

public boolean hatEmpty()
Specified by:
hatEmpty in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

hatPresent

public boolean hatPresent()
Specified by:
hatPresent in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexMacro

public Regex regexMacro(String name)
Specified by:
regexMacro in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexAny

public Regex regexAny()
Specified by:
regexAny in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexLetter

public Regex regexLetter(char specialOrNormalLetter)
Specified by:
regexLetter in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

normalLetter

public char normalLetter(char normalLetter)
Specified by:
normalLetter in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

normalSpecialLetter

public char normalSpecialLetter(char specialLetter)
Specified by:
normalSpecialLetter in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexString

public Regex regexString(Regex string)
Specified by:
regexString in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

string

public Regex string(Regex string,
                    Regex specialOrStringLetter)
Specified by:
string in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

specialOrStringLetter

public Regex specialOrStringLetter(Regex specialOrStringLetter)
Specified by:
specialOrStringLetter in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

stringSpecialLetter

public Regex stringSpecialLetter(char specialLetter)
Specified by:
stringSpecialLetter in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

stringLetter

public Regex stringLetter(char stringLetter)
Specified by:
stringLetter in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexInterval

public Regex regexInterval(ArrayList<CharacterInterval> intervals)
Specified by:
regexInterval in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexIntervalNegate

public Regex regexIntervalNegate(ArrayList<CharacterInterval> intervals)
Specified by:
regexIntervalNegate in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

interval

public ArrayList<CharacterInterval> interval(CharacterInterval interval)
Specified by:
interval in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

intervals

public ArrayList<CharacterInterval> intervals(ArrayList<CharacterInterval> intervals,
                                              CharacterInterval interval)
Specified by:
intervals in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

intervalSet

public CharacterInterval intervalSet(char specialOrIntervalLetter,
                                     char specialOrIntervalLetter2)
Specified by:
intervalSet in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

intervalSingleton

public CharacterInterval intervalSingleton(char specialOrIntervalLetter)
Specified by:
intervalSingleton in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

intervalSpecialLetter

public char intervalSpecialLetter(char specialLetter)
Specified by:
intervalSpecialLetter in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

intervalLetter

public char intervalLetter(char intervalLetter)
Specified by:
intervalLetter in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexStar

public Regex regexStar(Regex regex)
Specified by:
regexStar in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexPlus

public Regex regexPlus(Regex regex)
Specified by:
regexPlus in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexOptional

public Regex regexOptional(Regex regex)
Specified by:
regexOptional in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexRange

public Regex regexRange(Regex regex,
                        int from,
                        int to)
Specified by:
regexRange in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexAtLeast

public Regex regexAtLeast(Regex regex,
                          int num)
Specified by:
regexAtLeast in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexTimes

public Regex regexTimes(Regex regex,
                        int num)
Specified by:
regexTimes in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexPar

public Regex regexPar(Regex regex)
Specified by:
regexPar in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexCat

public Regex regexCat(Regex regex,
                      Regex regex2)
Specified by:
regexCat in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

regexOr

public Regex regexOr(Regex regex,
                     Regex regex2)
Specified by:
regexOr in interface fr.umlv.tatoo.cc.lexer.regex.pattern.tools.GrammarEvaluator

getFollow

public RegexIntervalTable getFollow()

getMain

public RegexIntervalTable getMain()

isBeginningOfLineRequired

public boolean isBeginningOfLineRequired()

getMacro

public final Regex getMacro()