From a736c1e7b727876b0b05f0b413e2c914437df13a Mon Sep 17 00:00:00 2001 From: Mirek Kratochvil Date: Sat, 12 Nov 2022 18:45:13 +0100 Subject: compiled vars carry ids --- app/Frontend.hs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'app/Frontend.hs') diff --git a/app/Frontend.hs b/app/Frontend.hs index a17a85c..1adf39b 100644 --- a/app/Frontend.hs +++ b/app/Frontend.hs @@ -45,13 +45,15 @@ interpret = (>> return True) . lex Left err -> liftIO $ putStrLn $ "expression parsing: " ++ err Right prlg -> intern prlg intern prlgs = do - prlgi <- withStrTable $ \st -> C.internPrlg (C.varnames prlgs) st prlgs - compile prlgi - compile prlgi - {- TODO: switch between prove goal/compile clause here -} - = do + prlgi <- withStrTable $ \st -> C.internPrlg st prlgs + underscore <- findAtom "_" + prlgv <- + withStrTable $ \st -> + (st, C.variablizePrlg underscore (C.varIds st prlgi) prlgi) + compile prlgv + compile prlgv = do commaId <- findStruct "," 2 - let code = C.seqGoals $ C.compileGoals commaId prlgi + let code = C.seqGoals $ C.compileGoals commaId prlgv execute code execute code = do ds <- gets defs -- cgit v1.2.3