summaryrefslogtreecommitdiff
path: root/lib/Language/Elna/NameAnalysis.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2024-09-08 02:08:13 +0200
committerEugen Wissner <belka@caraus.de>2024-09-08 02:08:13 +0200
commit1cbbef19afcf997315431e3aa45f824fe8a8a0e7 (patch)
tree8813df9aab3185a9c2b778499ecb041a6c58cead /lib/Language/Elna/NameAnalysis.hs
parenta625bbff505c912f8a19f62bcb92313a63c60ed4 (diff)
downloadelna-1cbbef19afcf997315431e3aa45f824fe8a8a0e7.tar.gz
Stub the implementation for all phases
Diffstat (limited to 'lib/Language/Elna/NameAnalysis.hs')
-rw-r--r--lib/Language/Elna/NameAnalysis.hs32
1 files changed, 17 insertions, 15 deletions
diff --git a/lib/Language/Elna/NameAnalysis.hs b/lib/Language/Elna/NameAnalysis.hs
index 0034628..78b3ce4 100644
--- a/lib/Language/Elna/NameAnalysis.hs
+++ b/lib/Language/Elna/NameAnalysis.hs
@@ -1,8 +1,22 @@
module Language.Elna.NameAnalysis
- ( Error(..)
- , nameAnalysis
+ ( nameAnalysis
+ -- , Error(..)
) where
+import qualified Language.Elna.AST as AST
+import Language.Elna.SymbolTable
+ ( SymbolTable
+ , empty
+ --, Info(..)
+ -- , ParameterInfo(..)
+ )
+
+nameAnalysis :: AST.Program -> SymbolTable -- Either Error SymbolTable
+nameAnalysis = const empty {- runExcept
+ . flip runReaderT builtInSymbolTable
+ . runNameAnalysis
+ . program -}
+{-
import Control.Monad.Trans.Except (Except, runExcept, throwE)
import Control.Monad.Trans.Reader
( ReaderT(..)
@@ -12,14 +26,7 @@ import Control.Monad.Trans.Reader
, withReaderT
)
import Data.Functor ((<&>))
-import qualified Language.Elna.AST as AST
import Language.Elna.Location (Identifier(..))
-import Language.Elna.SymbolTable
- ( Info(..)
- , ParameterInfo(..)
- , SymbolTable
- , builtInSymbolTable
- )
import qualified Language.Elna.SymbolTable as SymbolTable
import Language.Elna.Types (Type(..))
import Control.Monad.Trans.Class (MonadTrans(..))
@@ -53,12 +60,6 @@ instance Monad NameAnalysis
where
(NameAnalysis x) >>= f = NameAnalysis $ x >>= (runNameAnalysis . f)
-nameAnalysis :: AST.Program -> Either Error SymbolTable
-nameAnalysis = runExcept
- . flip runReaderT builtInSymbolTable
- . runNameAnalysis
- . program
-
program :: AST.Program -> NameAnalysis SymbolTable
program (AST.Program declarations)
= NameAnalysis ask
@@ -206,3 +207,4 @@ dataType (AST.NamedType baseType) = do
_ -> NameAnalysis $ lift $ throwE $ UndefinedTypeError baseType
dataType (AST.ArrayType arraySize baseType) =
dataType baseType <&> ArrayType arraySize
+-}