public Parser() { _prefixOperationTokens.Clear(); _infixOperationTokens.Clear(); _variableToken = new VariableToken(); _stringToken = new StringLiteralToken(); }
public Factory DefaultStringLiteralToken(IStringLiteralToken token) { if (token == null) { throw new ArgumentNullException(); } defaultStringLiteralToken = token; return(this); }
public Parser(IEnumerable <IToken> operations, IVariableToken variableToken, IStringLiteralToken stringLiteralToken) { prefixOperationTokens.Clear(); infixOperationTokens.Clear(); this.variableToken = variableToken; this.stringLiteralToken = stringLiteralToken; foreach (var item in operations) { Add(item); } }
public static PsuedoToken For(IToken token, CodeText code) { var tokenType = token.GetType(); var text = token.Text(code); return(token switch { IIdentifierToken identifier => new PsuedoToken(tokenType, text, identifier.Value), IStringLiteralToken stringLiteral => new PsuedoToken(tokenType, text, stringLiteral.Value), IIntegerLiteralToken integerLiteral => new PsuedoToken(tokenType, text, integerLiteral.Value), _ => new PsuedoToken(tokenType, text) });
public IParser Create(IStringLiteralToken stringLiteralToken = null, IVariableToken variableToken = null) { return(new Parser(operations.Values, variableToken ?? this.defaultVariableToken, stringLiteralToken ?? this.defaultStringLiteralToken)); }
public IParser SetStringLiteralToken(IStringLiteralToken token) { _stringToken = token; return this; }