Permalink
Commits on Dec 14, 2016
  1. Change preamble to not call the global parser

    Even something as innocuous as P ==> Q ==> R is not safe because other
    clients of your theories may define P, Q or R.
    mn200 committed with xrchz Dec 14, 2016
Commits on Dec 8, 2016
Commits on Dec 6, 2016
  1. Correct explicit grammar in cfTacticsBaseLib

    Making ancestors more careful about their grammars makes subsequent
    explicit grammars narrower too.
    mn200 committed Dec 6, 2016
Commits on Dec 5, 2016
  1. Make more grammar ancestries explicit

    In particular, adjust gram and tokenUtils to have explicit
    grammar-ancestors.
    mn200 committed Dec 5, 2016
Commits on Dec 4, 2016
Commits on Dec 2, 2016
  1. Make Word-token constructors take num instead of int

    This simplifies translation of the parser, and lexerProg and
    parserProg both now build.
    
    The AST type consumed by the rest of the compiler doesn't change.
    mn200 committed Dec 2, 2016
Commits on Nov 30, 2016
  1. Get parser to cope with word literals.

    Add some simple test-cases in parsing/testing/cmlTests
    mn200 committed Nov 30, 2016
Commits on Nov 27, 2016
  1. Remove .PHONY annotation for README.md

    .PHONY is for targets that don't correspond to files, and when you don't
    actually want a file (called "all", say) created.
    mn200 committed Nov 27, 2016
Commits on Nov 25, 2016
  1. Change lexer specification to include word literals

    Syntax is 0wD...D or 0wxH...H where D is a decimal digit and H is a hex
    digit.
    mn200 committed Nov 25, 2016
Commits on Nov 23, 2016
  1. Fix Holmakefile to only addancs when necessary

    Closes #177
    mn200 committed Nov 23, 2016
Commits on Oct 26, 2016
Commits on Oct 22, 2016
  1. Remove some client-facing explode calls

    Just make the RO_fs use a file alist with mlstring values as keys.
    mn200 committed Oct 22, 2016
Commits on Oct 21, 2016
  1. Prove cat_spec

    Ignore exception case because giving a complete spec requires figuring
    out which is the first filename to cause a problem, and to state that
    all the files up to that point have indeed been output to stdout.  This
    seems like too much work.
    mn200 committed Oct 21, 2016
Commits on Oct 20, 2016
  1. Prove do_onefile_spec

    Also make write slightly more convenient, letting it take a char
    argument rather than a word8.
    mn200 committed Oct 20, 2016
  2. Start of work on fn to cat a file to stdout

    Things breaking down in pattern-match on option-type at the moment.
    mn200 committed Oct 20, 2016
  3. Change "open" to "openIn", at least within CakeML sources

    This avoids conflict with open, which isn't a problem for the current
    semantics and grammar, but this did confuse my syntax-highlighting.
    mn200 committed Oct 20, 2016
  4. Change close to also raise exn on bad fd input.

    fgetc doesn't raise an exception on fd input and just returns NONE.
    This is sort of consistent with the way fgetc on Unix will return -1 on a
    stream that is in an error state.
    mn200 committed Oct 20, 2016
  5. Change eof test to also raise an exn

    The "correct" behaviour spec is still proved; the exceptional behaviour
    is not.
    mn200 committed Oct 20, 2016
Commits on Oct 19, 2016
  1. Modify open to raise exn when given bad filename

    This requires the ffi model to signal the error condition in the
    returned byte array rather than simply cause an FFI failure, as it was
    doing previously.
    mn200 committed Oct 19, 2016
Commits on Oct 18, 2016
  1. Improve parsing done in cfTacticsBaseLib.sml

    1. Lift (HOL) parsing out of function bodies so that parses happen once
       as the module loads, rather than with every invocation of the
       function
    2. Make sure the parsing happens with respect to a fixed base grammar
    
    Net effect is that applying fetch_v and xcf no causes less HOL message
    output.
    mn200 committed Oct 18, 2016
  2. Tidy up some minor cat example lemmas

    In particular, realise that
    
      EVERY (\x. x <> e) l
    
    is the same as
    
      ~MEM e l
    mn200 committed Oct 18, 2016
  3. Tidy up catfileSystem, identifying move-candidates

    In particular, a couple of constants that probably should be in core
    HOL's alistTheory
    mn200 committed Oct 18, 2016
  4. Tidy up catScript now that I grok xpull better

    Thanks also to Armael for the fix to xpull + cffi
    mn200 committed Oct 18, 2016
Commits on Oct 17, 2016
Commits on Oct 16, 2016
  1. Fix cat example's model's open file function

    In particular, it shouldn't truncate the byte-array used to store the
    filename. Also realise that we will need to pick up another side
    condition to the effect that the filename doesn't contain the null-byte.
    mn200 committed Oct 16, 2016