Ergo.Terminals.literal

You're seeing just the function literal, go back to Ergo.Terminals module for more information.

The literal/1 parser matches the specified string character by character.

Examples

iex> alias Ergo.Context
iex> import Ergo.Terminals
iex> context = Context.new("Hello World")
iex> parser = literal("Hello")
iex> parser.(context)
%Context{status: :ok, input: " World", ast: "Hello", char: ?o, index: 5, line: 1, col: 6}

iex> alias Ergo.Context
iex> import Ergo.Terminals
iex> context = Context.new("Hello World")
iex> parser = literal("Hellx")
iex> parser.(context)
%Context{status: {:error, :unexpected_char}, message: "Expected: x Actual: o", input: "o World", ast: [?l, ?l, ?e, ?H], char: ?l, index: 4, line: 1, col: 5}