Aether.Lexer (Ichor v0.2.1)

Copy Markdown View Source

Turns .aether source text into a flat list of Aether.Tokens.

Whitespace and ;-to-end-of-line comments are trivia here -- they separate tokens but never appear in the output. This is Ichor's own front-end lexer, entirely separate from the @skip/@noskip machinery a compiled Aether grammar applies to its own rules -- that splicing happens later, in Aether.Parser.

Summary

Functions

Lexes source into a token stream, terminated by a single :eof token. file is carried into any Ichor.Error produced, purely for display.

Functions

lex(source, file \\ nil)

@spec lex(String.t(), String.t() | nil) ::
  {:ok, [Aether.Token.t()]} | {:error, Ichor.Error.t()}

Lexes source into a token stream, terminated by a single :eof token. file is carried into any Ichor.Error produced, purely for display.