public static BaseSymbol CreateExpression(int tokenType, BaseSymbol firstExpression, BaseSymbol secondExpression) { List <BaseSymbol> declarations = new List <BaseSymbol>() { firstExpression, secondExpression }; NonTermType nonTermType = GrammarHelper.TokenTypeToNonTermDictionary.ContainsKey(tokenType) ? GrammarHelper.TokenTypeToNonTermDictionary[tokenType] : NonTermType.None; return(new NonTerm(nonTermType, declarations)); }
public static BaseSymbol CreateEqualityExpression(int tokenType, List <BaseSymbol> expressions) { BaseSymbol symbol = null; if (expressions.Count == 1) { symbol = expressions.First(); } else { NonTermType nonTermType = GrammarHelper.TokenTypeToNonTermDictionary.ContainsKey(tokenType) ? GrammarHelper.TokenTypeToNonTermDictionary[tokenType] : NonTermType.None; symbol = new NonTerm(nonTermType, expressions); } return(symbol); }
public StatementDecl(NonTermType nonTermType) : base(nonTermType) { }
public NonTerm(NonTermType nonTermType) : base(string.Empty, new List <BaseSymbol>()) { TypeNonTerm = nonTermType; }
public NonTerm(NonTermType nonTermType, BaseSymbol symbol) : base(string.Empty, new List <BaseSymbol>() { symbol }) { TypeNonTerm = nonTermType; }
public NonTerm(NonTermType nonTermType, List <BaseSymbol> symbols) : base(string.Empty, symbols) { TypeNonTerm = nonTermType; }