private static void TokensToLexeme(List <RawToken> rawTokens, Assembly assembly) { rawTokens.ForEach(p => p.Token = p.Token.Trim()); var tokens = new List <Token>(); var lexeme = new Lexeme(assembly); foreach (var token in rawTokens.FindAll(p => !string.IsNullOrWhiteSpace(p.Token))) { tokens.Add(new Token( token.Token, assembly.Source.FileName, token.LineIndex, token.charIndex, lexeme, out var error)); if (error != null) { lexeme.Error = error; } } if (tokens.Count != 0) { lexeme.InsertTokens(tokens, out var error); if (error != null) { lexeme.Error = error; } assembly.Lexemes.Add(lexeme); } rawTokens.Clear(); }