{-# LANGUAGE ExistentialQuantification #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE NoMonomorphismRestriction #-} {-# LANGUAGE TypeApplications #-} {-# OPTIONS_GHC -Wno-missing-signatures #-} -- For TH splices {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE Rank2Types #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE UnboxedTuples #-} {-# OPTIONS_GHC -Wno-unused-local-binds #-} {-# OPTIONS_GHC -Wno-unused-matches #-} module Parser where import Data.Either (Either(..)) import Data.Text (Text) import Text.Show (Show) import Symantic.Parser import Grammar data P = forall a. Show a => P ( Text -> Either (ParsingError Text) a ) parsers :: [P] parsers = [ P p1 , P p2 , P p3 , P p4 , P p5 , P p6 , P p7 , P p8 , P p9 , P p10 , P p11 , P p12 -- , P p13 -- , P p14 ] p1 = $$(runParser @Text g1) p2 = $$(runParser @Text g2) p3 = $$(runParser @Text g3) p4 = $$(runParser @Text g4) p5 = $$(runParser @Text g5) p6 = $$(runParser @Text g6) p7 = $$(runParser @Text g7) p8 = $$(runParser @Text g8) p9 = $$(runParser @Text g9) p10 = $$(runParser @Text g10) p11 = $$(runParser @Text g11) p12 = $$(runParser @Text g12) --p13 = $$(runParser @Text g13) --p14 = $$(runParser @Text g14)