zf

zenflows testing
git clone https://s.sonu.ch/~srfsh/zf.git
Log | Files | Refs | Submodules | README | LICENSE

yecc_helpers.ex (486B)


      1 defmodule EarmarkParser.Helpers.YeccHelpers do
      2 
      3   @moduledoc false
      4   import EarmarkParser.Helpers.LeexHelpers, only: [lex: 2]
      5 
      6   def parse!( text, lexer: lexer, parser: parser ) do
      7     case parse(text, lexer: lexer, parser: parser) do
      8         {:ok, ast}  -> ast
      9         {:error, _} -> nil
     10     end
     11   end
     12 
     13   def parse( text, lexer: lexer, parser: parser ) do
     14     with tokens <- lex(text, with: lexer) do
     15       parser.parse(tokens)
     16     end
     17   end
     18 end
     19 
     20 # SPDX-License-Identifier: Apache-2.0