Module: RailroadDiagrams::Importers::W3cEbnf

Defined in:
lib/railroad_diagrams/importers/w3c_ebnf.rb

Overview

Parses W3C-style name ::= expression productions.

Examples:

W3cEbnf.parse("entry ::= 'a' | 'b'")

Class Method Summary collapse

Class Method Details

.parse(source, filename: nil, simplify: false) ⇒ Object

Returns a document containing all productions in source order.

Examples:

W3cEbnf.parse("entry ::= 'a'", filename: 'grammar.ebnf')


20
21
22
23
# File 'lib/railroad_diagrams/importers/w3c_ebnf.rb', line 20

def parse(source, filename: nil, simplify: false)
  rules = Parser.new(source, filename: filename).parse
  Builder.new(rules, filename: filename, simplify: simplify).build
end