History log of /seL4-l4v-master/HOL4/src/parse/ProvideUnicode.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


# d543da8c 01-Aug-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove complicated behaviour behind Unicode trace/flag

Now the Unicode trace is just an inverted handle on the behaviour behind
the PP.avoid_unicode trace. I couldn't use the alias machinery for
this because of the inversion, but they can still alias to the same
underlying SML reference.

While the ProvideUnicode structure still exists it is dramatically
simpler (I decided I didn't want to cut and paste it into the already-
quite-long-enough Parse.sml).

Closes #363


# 537db5a8 05-Oct-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix unicode_version to record grammar-deltas

This should ensure that exported grammars pick up all unicode-related
deltas.

The API in ProvideUnicode has changed a bit, but I don't care because
the whole module is going to die in the short-to-medium term anyway.


# 416b4715 05-Oct-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove some unused code in ProvideUnicode.sml


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

Clean up ProvideUnicode to use proper term-coding

Exploiting the change in 6b52435

ProvideUnicode is probably for the chop anyway (see github issue #363),
but this makes it work a bit more cleanly than it used to.


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

Record overload_on calls in GrammarDeltas


# 36dc75d1 18-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Give Theory Data writers access to term-writing

Just as readers get an additional parameter of type string -> term,
writers will get a parameter of type term -> string.


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

Make theory data types provide terms function

This function takes a value of the theory-data type and returns a list
of terms that are contained inside this value. The machinery will use
that to prime the theory's sharing tables to allow for efficient
recording of terms in data.


# 9fa81883 17-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Give ThyData access to a term-reader function

No useful way to exploit this just yet, but the code compiles and I
think the refactoring is right.


# 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.


# 0bbd2a7e 21-Jun-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Rename TruePrefix to Prefix; use fixity options with NONE for what was Prefix.

90+% of this work was done by Ramana Kumar. The following list are
the commits for a series of individual commits that have been squished
into one big change:
* remove mention of TruePrefix from the add_rule docfile
* first batch of changes removing TruePrefix from src/parse
* replace TruePrefix by Prefix in boolScript.sml
* remove TruePrefix from Rsyntax
is a fixity ever required for new_specification?
* some more Prefix -> NONE and TruePrefix -> Prefix in theories
* TruePrefix changes for datatype
* TruePrefix changes for res_quan
* TruePrefix->Prefix in a TeX selftest
* TruePrefix changes for quotient
* TruePrefix changes for integer and real
* fix quotient examples for TruePrefix removal
* more fixes for quotient examples
* fixes for lambda example for TruePrefix removal
* Reword description manual in light of removal of TruePrefix.
* Fix msgTheory quotient example; Poly 5.3 had problems with monotypes.
* Fixes for files in examples/lambda given removal of TruePrefix.
* Fix in examples/unification given removal of TruePrefix.
* Fix in examples/HolCheck given removal of TruePrefix.
* Fixes in examples/acl2 given removal of TruePrefix.


# b701067f 16-Jun-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix another Unicode-bounce bug.

The real problem in the previous bug was that the Unicode flag was being
bounced as a term was printed for inclusion in the generated theory file.
The previous fix merely removed the bouncing. This fix deals with the
code around the bouncing properly, and simplifies the handling of Unicode
overloads.


# 0e6ded4f 25-Mar-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Rework grammar infrastructure, losing 'preference' for concrete syntax.

Instead, the most recent rule is the one the pretty-printer will prefer.
The clear_prefs function disappears, but the prefer_form function stays
because it can just adjust the timestamp on the desired form to be most
recent.


# c0ee312d 23-Mar-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix pprint bug with Unicode binders in ProvideUnicode and add selftest.


# 93f167f5 23-Mar-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Backout part of previous change, which twigged a Poly/ML bug.

More serious redesign of parser persistence still required.


# 22952c5f 23-Mar-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Get ProvideUnicode to compile under Moscow ML.


# 1b3adb9e 23-Mar-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Add debugging entrypoint to ProvideUnicode module.


# 3745987e 22-Mar-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Bugfix: unsetting Unicode trace wasn't correctly removing all Unicode rules.


# 721dd13f 01-Mar-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Reworked implementation of Unicode structure.

Unicode is now a sub-structure of Parse, with functionality provided
by a separate ProvideUnicode module. This organisation makes Parse
the primary module once again (previously Unicode built on top of
Parse).

Changes in src/bool result from

open Parse Unicode

not working. Instead the two opens must be in separate lines:

open Parse
open Unicode