diff options
| author | Eugen Wissner <belka@caraus.de> | 2024-10-17 00:37:42 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2024-10-17 00:37:42 +0200 |
| commit | bf5ec1f3e2325e28154b9796532d37ee84753349 (patch) | |
| tree | 247eb0160bb7a415d1210c8a6246c8c49abc6231 /lib/Language/Elna/Frontend/Parser.hs | |
| parent | 582040e5d3f6a5fb5b9046964b6823891d2802dd (diff) | |
| download | elna-bf5ec1f3e2325e28154b9796532d37ee84753349.tar.gz | |
Parse type declarations
Diffstat (limited to 'lib/Language/Elna/Frontend/Parser.hs')
| -rw-r--r-- | lib/Language/Elna/Frontend/Parser.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/Language/Elna/Frontend/Parser.hs b/lib/Language/Elna/Frontend/Parser.hs index e85f3b1..89853f0 100644 --- a/lib/Language/Elna/Frontend/Parser.hs +++ b/lib/Language/Elna/Frontend/Parser.hs @@ -52,14 +52,14 @@ literalP where charP = fromIntegral . fromEnum <$> between (char '\'') (char '\'') Lexer.charLiteral -{- + typeDefinitionP :: Parser Declaration typeDefinitionP = TypeDefinition <$> (symbol "type" *> identifierP) <*> (symbol "=" *> typeExpressionP) <* semicolonP <?> "type definition" --} + termP :: Parser Expression termP = choice [ parensP expressionP @@ -214,7 +214,7 @@ variableDeclarationP = VariableDeclaration <?> "variable declaration" declarationP :: Parser Declaration -declarationP = procedureDeclarationP -- <|> typeDefinitionP +declarationP = procedureDeclarationP <|> typeDefinitionP programP :: Parser Program programP = Program <$> many declarationP <* eof |
