Packages

Phoenix Reactify is an open-source tool meant to add a simple React implementation to fresh Phoenix Applications.

Current section

Files

Jump to
phoenix_reactify deps earmark_parser lib earmark_parser helpers leex_helpers.ex
Raw

deps/earmark_parser/lib/earmark_parser/helpers/leex_helpers.ex

defmodule EarmarkParser.Helpers.LeexHelpers do
@moduledoc false
@doc """
Allows to lex an Elixir string with a leex lexer and returns
the tokens as needed for a yecc parser.
"""
def lex text, with: lexer do
case text
|> String.to_charlist()
|> lexer.string() do
{:ok, tokens, _} -> tokens
end
end
def tokenize line, with: lexer do
{:ok, tokens, _} =
line
|> to_charlist()
|> lexer.string()
elixirize_tokens(tokens,[])
|> Enum.reverse()
end
defp elixirize_tokens(tokens, rest)
defp elixirize_tokens([], result), do: result
defp elixirize_tokens([{token, _, text}|rest], result), do: elixirize_tokens(rest, [{token,to_string(text)}|result])
end
# SPDX-License-Identifier: Apache-2.0