public Token Parse(ref Lexer lexer) { bool esc = false; bool ok = lexer.Advance(Start); if (!ok) { return(lexer.Capture(false)); } do { if (!esc && lexer.Current == End) { break; } esc = (lexer.Current == Escape); ok = lexer.AdvanceWhile(); }while (ok); ok = lexer.Advance(End); return(lexer.Capture(ok)); }
public Token Parse(ref Lexer lexer) { lexer.AdvanceWhile(c => c >= 'a' && c <= 'z'); return(lexer.Capture(lexer.Consumable > 0)); }