Closed dkcumming closed 9 months ago
This issue might be closed as well. @dkcumming
As the haskell_dir
is now optional (I beliveve it is the same as you meant for conditional logic, no?).
The left over issue is to generate the gen_glr_parser
at build time, which is this issue #280 .
Are you OK with closing it? or We can wait till the refactor PR is merged (should need one more week).
Context
KMIR
currently supports two backends (llvm
andhaskell
) and three operations (parse
,run
, andprove
). The relationship between these backends and the operations is:Problem
Currently it is assumed that the
haskell
backend isn't needed, and that thellvm
backend is needed. This is because previously the only operations offered wereparse
andrun
, however now thatprove
is supported this need to be changed.Solution
I think there are three possible solutions:
KMIR
to be more representative ofKEVM
. This would meant thatKMIR
directly inherits from bothKProve
andKPrint
, instead of storing theKProve
object andKMIR
indirectly accessing_krun
through a wrapper function. I believe doing this will also mean we do not have to callkmir init
to create the syntax file for theglr parser
in thenix
build. I think this option is preferable, although it will take more time than 2.