From 5f8d9abe76187669cd7d4f691a2c40db2b4c8a6f Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Fri, 2 Aug 2024 00:09:57 +0300 Subject: Require trailing semicolon for type declarations --- lib/Language/Elna/NameAnalysis.hs | 1 - lib/Language/Elna/Parser.hs | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/Language/Elna/NameAnalysis.hs b/lib/Language/Elna/NameAnalysis.hs index 49b7915..4acde39 100644 --- a/lib/Language/Elna/NameAnalysis.hs +++ b/lib/Language/Elna/NameAnalysis.hs @@ -51,7 +51,6 @@ declaration :: SymbolTable -> AST.Declaration -> NameAnalysis SymbolTable declaration globalTable (AST.TypeDefinition identifier typeExpression) = flip (SymbolTable.enter identifier) globalTable . TypeInfo <$> withSymbolTable globalTable (dataType typeExpression) - declaration globalTable (AST.ProcedureDefinition identifier _parameters _variables _body) = let localTable = SymbolTable.empty in pure $ SymbolTable.enter identifier (ProcedureInfo localTable mempty) globalTable diff --git a/lib/Language/Elna/Parser.hs b/lib/Language/Elna/Parser.hs index 23e09d9..cee533e 100644 --- a/lib/Language/Elna/Parser.hs +++ b/lib/Language/Elna/Parser.hs @@ -88,6 +88,7 @@ typeDefinitionP :: Parser Declaration typeDefinitionP = TypeDefinition <$> (symbol "type" *> identifierP) <*> (symbol "=" *> typeExpressionP) + <* semicolonP "type definition" variableDeclarationP :: Parser VariableDeclaration -- cgit v1.2.3