History log of /seL4-l4v-10.1.1/HOL4/src/parse/term_grammar_dtype.sml
Revision Date Author Comments
# e8895bc2 08-Aug-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

WIP for change to list syntax handling.

Very broken at the moment


# ab22e51d 02-Aug-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Use grammar-deltas for user-provided absyn post-processors


# 5d5a8494 09-Mar-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Preserve add_user_printer properly in grammar data

This requires a slightly involved process for storing references to
code in theory files.

Update the .doc file on add_user_printer (which was already incredibly
long), and add a test.

Closes #367


# 7a08fce1 04-Oct-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Handle clear_overloads_on with user-deltas


# 8b39b380 03-Oct-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Make 'remove-rules-with-tok' a user-delta


# 1ce5ae5a 27-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Handle add_numeral_form et al with user-deltas

Also take the opportunity to remove redundant add_actual_overloading
entrypoint in Overload module.


# 717781e5 22-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Add deltas for moving overload operations

Sadly, making an inferior overload is not *quite* the same as making a
normal one, then then moving it "to the back", so I've left both
operations in the user_delta type for the moment.


# cd932cf1 22-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Handle gen_remove_ovl_mapping

This gets tests as far as string_numTheory


# 4b008b2b 20-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Begin process to use GrammarDeltas inside theories

This doesn't work yet (just attempting to load boolTheory leads to an
exception), but it's close to working, at least for some situations. I'm
generating new constructors for the user_delta type more or less as the
errors prompt me to.

The new constructors in this commit are IOVERLOAD_ON for "add inferior
overload on" (it's not really clear that this is used enough to warrant
inclusion, but hey); ASSOC_RESTR for "associate restriction", which is
used in boolTheory and probably nowhere else ever, and RMOVMAP for
"remove overload mapping", which is used to remove overloadings to
constants.

General pattern in Parse is to generate the user_delta values, and to
then feed these to the term_grammar.add_delta function to make the
grammar updates. This makes Parse simpler on the whole, which is
definitely an improvement.


# 7e8d786d 19-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Record overload_on calls in GrammarDeltas


# 06300cb1 17-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Add 2 rule-removal constructors to user_delta type

These will help with concretisation of grammar changes in theory files.


# d724881d 16-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove BRULE constructor from user_delta type

It is redundant, though the GRULE representation of a grammar's binder
rule contains information that is never used.


# a57b4725 15-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Properly re-org grammar code, removing rule_fixity

Now there is just one fixity type. Also decide that set_fixity and
set_mapped_fixity shouldn't be in the grammar-delta type; instead the
"remove-termtok" and "add_rule" actions (which can be used to implement
the above) should be.


# 4f4ab38f 15-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Refactor more grammar code

Ultimate is to switch to concrete "grammar-deltas" in theory files
rather than calls to the update_grms function. Start this process by
extending existing delta type with SET_MAPPED_FIXITY constructor. This
is not yet used.


# bc5893cc 14-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Refactor grammar datatypes into separate struct

This removes duplicated datatype declarations