Exemple #1
0
 public LanguageData(Grammar grammar)
 {
     Grammar = grammar;
       GrammarData = new GrammarData(this);
       ParserData = new ParserData(this);
       ScannerData = new ScannerData(this);
 }
Exemple #2
0
        public readonly Parser Parser; //combination of Scanner (with token filters inside) and CoreParser

        #endregion Fields

        #region Constructors

        public Compiler(Grammar grammar)
        {
            Language = new LanguageData(grammar);
              var builder = new LanguageDataBuilder(Language);
              builder.Build();
              this.Language = builder.Language;
              if (Language.CanParse())
            Parser = new Parser(Language);
        }
Exemple #3
0
 public GrammarData(LanguageData language)
 {
     Language = language;
       Grammar = language.Grammar;
 }
Exemple #4
0
 internal static void ClearCurrentGrammar()
 {
     _currentGrammar = null;
 }
Exemple #5
0
 public Grammar(bool caseSensitive)
 {
     this.CaseSensitive = caseSensitive;
       bool ignoreCase =  !this.CaseSensitive;
       StringComparer comparer = StringComparer.Create(System.Globalization.CultureInfo.InvariantCulture, ignoreCase);
       SymbolTerms = new SymbolTerminalTable(comparer);
       _currentGrammar = this;
       NewLinePlus = CreateNewLinePlus();
 }
Exemple #6
0
 public CoreParser(ParserData parserData, Scanner scanner)
 {
     Data = parserData;
       _grammar = parserData.Language.Grammar;
       _scanner = scanner;
 }
Exemple #7
0
 public Scanner(ScannerData data)
 {
     _data = data;
       _grammar = _data.Language.Grammar;
 }
Exemple #8
0
 public ScriptEngine(Grammar grammar)
 {
     Compiler = new Compiler(grammar);
       Language = Compiler.Language;
 }