public Token(TokenKind kind, string content, OpTokenInfo tokenInfo, int pos) { this.Kind = kind; this.Content = content; this.TokenInfo = tokenInfo; this.Pos = pos; }
private OpTokenInfo RegisterOpSymbol(string name, string character) { if (_builtinPatterns.Values.Any(p => p.Pattern.IsMatch(character) || Enum.TryParse <TokenKind>(name, out var kind))) { throw new ArgumentException(); } if (!_opTokenInfoByCharacter.TryGetValue(character, out var info)) { _opTokenInfoByCharacter.Add(character, info = new OpTokenInfo(name, character, new R.Regex("^" + R.Regex.Escape(character)))); } return(info); }