diff options
Diffstat (limited to 'src/Language/Elna/Parser.hs')
| -rw-r--r-- | src/Language/Elna/Parser.hs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/Language/Elna/Parser.hs b/src/Language/Elna/Parser.hs deleted file mode 100644 index 87ebc44..0000000 --- a/src/Language/Elna/Parser.hs +++ /dev/null @@ -1,37 +0,0 @@ -module Language.Elna.Parser - ( Parser - , programP - ) where - -import Control.Monad (void) -import Data.Text (Text) -import Data.Void (Void) -import Language.Elna.AST - ( Statement(..) - , Program(..) - ) -import Text.Megaparsec (Parsec) -import Text.Megaparsec.Char (space1) -import qualified Text.Megaparsec.Char.Lexer as Lexer - -type Parser = Parsec Void Text - -space :: Parser () -space = Lexer.space space1 (Lexer.skipLineComment "//") - $ Lexer.skipBlockComment "{" "}" - -lexeme :: forall a. Parser a -> Parser a -lexeme = Lexer.lexeme space - -symbol :: Text -> Parser Text -symbol = Lexer.symbol space - -beginP :: Parser () -beginP = void $ symbol "begin" - -endP :: Parser () -endP = void $ symbol "end" - -programP :: Parser Program -programP = beginP >> endP >> symbol "." - >> pure (Program mempty $ CompoundStatement mempty) |
