mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-10 19:33:11 +00:00
Estimated hours taken: 1 Corrected a bug in moose whereby it failed to return a non-zero exit code when a critical error occured. Converted moose to modern syntax with regard to DCGs and State Variables and module delimters such as '__' vs '.'. Converted some indentation to four spaces. extras/moose/check.m: extras/moose/grammar.m: extras/moose/lalr.m: extras/moose/mercury_syntax.m: extras/moose/misc.m: extras/moose/moose.m: extras/moose/options.m: extras/moose/tables.m: As above. extras/moose/BUGS Noted a new bug. extras/moose/TODO Corrected a spelling mistake.
30 lines
1002 B
Plaintext
30 lines
1002 B
Plaintext
|
|
Copyright (C) 2009 The University of Melbourne
|
|
|
|
To make moose more useful:
|
|
- allow parsing actions to be semidet to allow the imposition
|
|
of semantic conditions during parsing.
|
|
- add error productions to produce nice error messages.
|
|
|
|
Cosmetic improvements:
|
|
- handle errors in the input better by faking declarations for
|
|
undeclared productions; faking a clause for declared nonterminals
|
|
with no clauses ; faking declarations and a clause (eg A -> epsilon)
|
|
for nonterminals that get used but have no clauses and no
|
|
declaration.
|
|
|
|
- provide the ability to dump a list of the terminal symbols.
|
|
|
|
- make the various dumps go to files other than the .m file.
|
|
|
|
Wish list:
|
|
- introduce new nonterminals for disjunctions in productions.
|
|
This is quite difficult because it requires correct computation
|
|
of the nonlocal variables of goals (including all the nasty
|
|
cases like pred expressions).
|
|
|
|
- Implement the groovey PDA algorithms suggested by Andrew.
|
|
|
|
- compile away the tables.
|
|
|