Branches: main, 11.01
Don't use "cute" operator overloadings in moose - this allows us to compile it
with the non-C backends, some of which don't currently do the name mangling
which would otherwise be required.
Make the moose samples work again.
extras/moose/misc.m:
Delete this module -- overloading operators in this way was
never a particuarly good idea, especially as several of the
overloaded operators (now) mean other things in Mercury.
extras/moose/check.m:
extras/moose/grammar.m:
extras/moose/lalr.m:
extras/moose/mercury_syntax.m:
extras/moose/moose.m:
extras/moose/tables.m:
Conform to the above changes.
Import each module on its own line.
extras/moose/options.m:
As above.
Use the "multi" form of the option_ops type.
extras/moose/samples/try_alpha.m:
extras/moose/samples/try_expr.m:
Make these examples work again -- as written the typeclass
instance they contain does not satisfy the current restrictions
on the form of instance arguments.
Syntax and formatting cleanups.
Estimated hours taken: 0.5
Branches: main, release
Fix some minor compilation problems in the extras distribution.
extras/curses/user.m:
extras/graphics/easyx/samples/bounce.m:
extras/graphics/easyx/samples/scribble.m:
Conform to recent changes in the standard library.
extras/moose/samples/try_alpha.m:
extras/moose/samples/try_expr.m:
Replace use of ':' as a module qualifier.
Estimated hours taken: 20
Branches: main
I have changed moose to support user-specifiable parser state modes,
rather than just in/out. In particular, this means the parser state
can now include the IO state (this will be useful in conjunction with
lex).
I have also made some changes to the interface.
This change is not backwards compatible.
extras/moose/NEWS:
Made a note of the fact that this change to moose is not
backwards compatible.
extras/moose/README:
Updated the documentation to reflect the new changes.
extras/moose/TODO:
Removed this change from the TODO list.
extras/moose/grammar.m:
Removed the unused EndToken argument from construct_grammar/5.
extras/moose/moose.m:
Fairly extensive changes to support user-specifiable parser
state modes.
Changed the order of some arguments in .moo parse declarations.
Changed the signature of action methods from preds to funcs.
extras/moose/samples/alpha.moo:
extras/moose/samples/expr.moo:
extras/moose/samples/cgram.moo:
extras/moose/samples/small.moo:
Changed parse declarations to match new scheme.
Changed the scan predicates in alpha.moo and expr.moo to be
deterministic.
extras/moose/samples/try_alpha.m:
extras/moose/samples/try_expr.m:
Changed to use the new interface.
Estimated hours taken: 5 (+ unknown hours by Tom, + unknown hours by fjh)
Moose, the Mercury parser generator.
extras/moose/Mmakefile:
extras/moose/check.m:
extras/moose/grammar.m:
extras/moose/lalr.m:
extras/moose/mercury.m:
extras/moose/misc.m:
extras/moose/moose.m:
extras/moose/options.m:
extras/moose/tables.m:
extras/moose/BUGS:
A list of known bugs.
extras/moose/TODO:
Things that still need to be done.
extras/moose/README:
Documentation for moose (thanks to fjh).
extras/moose/samples/Mmakefile:
extras/moose/samples/README:
extras/moose/samples/alpha.input:
extras/moose/samples/alpha.moo:
extras/moose/samples/cgram.moo:
extras/moose/samples/expr.input:
extras/moose/samples/expr.moo:
extras/moose/samples/small.moo:
extras/moose/samples/try_alpha.m:
extras/moose/samples/try_expr.m:
Some samples.