Packages

ABNF parser for Elixir

Current section

Files

Jump to
abnf lib abnf.ex
Raw

lib/abnf.ex

defmodule Abnf do
alias Abnf.Generator
alias Abnf.Parser
def load(path) do
{module, []} = path
|> compile
|> Code.eval_quoted
{:module, module_name, _, _} = module
module_name
end
def compile(path) do
compile(path, module_name(path))
end
def compile(path, name) do
path
|> File.read!
|> Parser.parse
|> Generator.generate(name)
end
def module_name(path) do
name = path
|> Path.basename(".abnf")
|> String.capitalize
Module.concat("Elixir", name)
end
end