summaryrefslogtreecommitdiff
path: root/src/process_file.ml
AgeCommit message (Collapse)Author
2015-02-13Actually use new dependency information in generation of lem/etc.Kathy Gray
Also stop rewriting code in the pretty printer, instead move it all into a new general rewriting pass
2015-02-04collect and carry around more data for dependency trackingKathy Gray
2014-12-11Add 2 ** n function; support providing type variables to other files when lexingKathy Gray
2014-09-11Adding support for extracting the information Christopher needs about an ↵Kathy Gray
instruction
2014-09-10reduce lem macro overhead for sail _ very slightly _Kathy Gray
2014-07-29A file can now declare that a default order is either inc or dec, and this ↵Kathy Gray
will be reflected in short hand type syntax, inc is still the default if undeclared So: default order dec register bit[32] t (* Declares t as a decreasing vector, starting at 31 on the left and decreasing to 0 *) default order inc register bit[32] o (* Declares o as an increasing vector, starting at 0 on the left and increasing to 31 *) It is presently possible to change the default mid-file; this is almost certainly bad and I will turn it into an error soon.
2014-07-14Initial support for aliases and exit through the type system and the ↵Kathy Gray
interpreter. An alias can be read within the interpreter, but not written to. Exits aren't yet taken in the interpreter.
2014-07-03Introduce a Sail libraryGabriel Kerneis
Used by the Power XML extraction tool.
2014-06-12Add uint* to default type names for lexerGabriel Kerneis
This is necessary to avoid a parse error. It might make sense to merge this list and the one in type_internal.ml somehow, to avoid duplication and similar bugs in the future.
2014-03-31Extend constraint checking, and add casts for base of a vector shifts (i.e. ↵Kathy Gray
from 0 to 32 etc, doesn't change order yet.).
2014-03-26Steps towards solving constraintsKathy Gray
2014-02-21Add type annotations to lem grammar, including printing out the annotated ↵Kathy Gray
ast, and extending the interpreter to expect annotations. Annotations and locations are still not used by the interpreter.
2014-02-03More type checking, including coercing 0 and 1 into bits when appropriate ↵Kathy Gray
(in limited circumstances at the moment due to which expressions are actually checked, so test files should not yet be changed)
2014-01-17Type check through type definitions and val specifications, building ↵Kathy Gray
definition environment. Skipping function definition, let bind, and expression checking for this commit (to come).
2013-11-28Updated syntax with working examplesKathy Gray
2013-11-27More front-end passes for type identifiersKathy Gray
2013-11-07Port L2 to new LemGabriel Kerneis
Tests compile and run properly. There is a lot of hackery going on to workaround the rough edges of new Lem. Use at your own risk (you need the "library-format" branch of lem).
2013-10-10Rename Ast to Interp_ast for the interpreterGabriel Kerneis
2013-09-09Fixes bugs in pretty printer to generate legal lem syntax; split ott grammar ↵Kathy Gray
and rules for lem ast generation; created a new directory for the lem interpreter and moved the Lem ast to it.
2013-09-09Pretty printer to Lem ast added; accessed by -lem_ast on the command lineKathy Gray
2013-08-20Set some initial kind environments; start pretty printingKathy Gray
2013-08-08More forms converting from parse_ast to ast; also removed some annot aux ↵Kathy Gray
homs for terms that only need locations and not full annotations
2013-08-07Starting checks and translation from parse_ast to ast, including an internal ↵Kathy Gray
representation of types to support unification; importing support modules from Lem including pp and util
2013-08-01Lex and discard commentsGabriel Kerneis
2013-07-31Adding reporting basic from Lem development, also adding basic error ↵Kathy Gray
messages for syntax and lexical errors (i.e. syntax error and location information)
2013-07-26Remove white space/terminal trackingKathy Gray
2013-07-25Clean trailing whitespaceGabriel Kerneis
2013-07-24Parser compiles and compiles some very small test programs.Kathy Gray
Output is only given in the event of a parse or lex failure (with poor reporting for now) There are still 10 shift/reduce conflicts that may need further investigating and a few syntax changes that need discussion.
2013-07-12Parser in progress, and more src files for plumbing parsing, lexing and ↵Kathy Gray
eventual type checking together