Ideas for improving the error reporting of the
StrategoCompiler. Feel free to add more ideas.
- check import graph: operators used in a module should be visible through its imports
- Warn in case of overloaded rule or strategy names (optionally)
- store line numbers of rules and definitions and use in error messages
- list origin when reporting "error: operator s1/0 undefined"
- could be done by first making a list/table of all available definitions and checking it after computing the calls from a rule or definition
- dealing with shared libraries; Merijn writes:
-
- doe configure --disable-shared (de allerlaatste versie van
aterm doet dat automatisch al). Hiermee wordt de generatie
van shared libraries voorkomen
- of, link sc met de -static optie om geen gebruik te aken
van shared libraries
- of, laat LD_LIBRARY_PATH wijzen naar /lib.
Hierdoor kan de dynamic linker de shared libraries vinden.
- sc : commandline interface
* - -c flag for sc: only compile to C code
* - document the interface in tutorial and manual page (?)
- silent rewriting mode: no success or failure message or profiling
information
- infallible rules that give runtime errors with linenumbers if they do fail
--
EelcoVisser - 09 Dec 2001
Short of a type system
for Stratego, and an accompanying type-checker, many additional
static checks would be helpful to the programmer. For instance,
mistakes in arities of strategies and strategy variables could be
caught and reported as such by the compiler, instead of leading to
C compilation or linking errors.
--
MerijnDeJonge &
JoostVisser in Proceedings of
SecondStrategoUsersDay
ToDo |
CategoryToDo? |
CompilerImprovements