| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2014-07-03 | Adjust behavior on Unknown values in pattern match to stop matching as soon ↵ | Kathy Gray | |
| as a pattern is matched without using an unknown; also causes full expansion on function calls with unknowns matched in patterns, however the local state is not reset. | |||
| 2014-07-02 | Fix ordering issue in vector-concat pattern matching | Gabriel Kerneis | |
| 2014-06-30 | Support for nondeterministic blocks | Kathy Gray | |
| 2014-06-25 | Add support for memory barrier | Kathy Gray | |
| 2014-06-25 | Add support for actions that read just a slice or single bit of a register | Kathy Gray | |
| 2014-06-24 | Get enumerations working in interpreter | Kathy Gray | |
| (plus a few other small related corrections) | |||
| 2014-06-23 | Get indexed vectors, particularly with default values, working | Kathy Gray | |
| 2014-06-18 | Make hex constants work; improve utility of casts for selecting overloaded ↵ | Kathy Gray | |
| functions | |||
| 2014-06-12 | Interpret when an unknown is inserted into the program by interp_exhaustive | Kathy Gray | |
| Short version of below; ready to hook interp_exhaustive up to something to test, but haven't yet. If an unknown value influences a pattern match within an expression, each passing pattern is found and the bodies strung together into a block with let expressions to bind the variables. In a function call, the cases are all collected but the support is not in place at the moment to evaluate them. If an unknown is the result of the cond expression in an if, the then and else case become a block. Unknowns within the interpreter propagate to more Unknowns; also for some but not all library functions yet. | |||
| 2014-06-09 | Add more stops in interpreter (stopping just at the point of each internal ↵ | Kathy Gray | |
| function call) Also turning off an annoying printf I left in. | |||
| 2014-06-09 | Working towards evaluating with interp_exhaustive | Kathy Gray | |
| 2014-06-04 | Fixup type coercions and overloading | Kathy Gray | |
| Reduce the number of implicit coercions we're doing, expanding overloading and fixing up types of functions. Warning: test_power does not run as not all overloaded funcitons are implemented Warning: vector concatenation does not pretty print to sail source yet | |||
| 2014-05-28 | Support stepped interpreting, and use normalisation instead of eval_nexp in ↵ | Kathy Gray | |
| constraints | |||
| 2014-05-21 | More interface support; interp_inter_imp now compiling | Kathy Gray | |
| 2014-05-20 | Fix interp compiling bug | Kathy Gray | |
| 2014-05-12 | More interface support | Kathy Gray | |
| 2014-05-08 | more interface changes | Kathy Gray | |
| 2014-05-06 | Begin tie to ppcmem style actions/outcomes | Kathy Gray | |
| Change type of + on vectors to (bit vector,bit vector) -> bit vector | |||
| 2014-04-25 | rename interpreter's local memory type to reflect that it's all local memory | Kathy Gray | |
| 2014-04-21 | Remove unsoundness of pattern match in interpreter | Kathy Gray | |
| 2014-04-15 | Use type information in vector concatenation pattern matching in interpreter. | Kathy Gray | |
| Does not properly bind variables (i.e. in the pattern 0b01:(bit[3]) a: 0b0001 subsequent uses of a will not be bound in the interpreter, though they are in the type checker), so until bug is fixed, treat all such identifiers as _ | |||
| 2014-04-08 | Reduce redundant information in AST | Kathy Gray | |
| 2014-04-03 | Re-index vector slices | Gabriel Kerneis | |
| - increasing vector slices are re-indexed from 0 - decreasing vector slices are re-indexed towards 0 I don't know how the type system handles this currently, but it is essential for the correctness of execution. | |||
| 2014-04-03 | Typeclass Eq for values | Gabriel Kerneis | |
| Again, this is necessary to compare big_int | |||
| 2014-04-02 | Solve more constraints; fix up test suite bugs uncovered by solving more ↵ | Kathy Gray | |
| constraints. Clean up Lem output a little for readability while debugging. | |||
| 2014-04-01 | Allow negative "nat" internally | Gabriel Kerneis | |
| to_num and to_vec probably still need to be fixed | |||
| 2014-03-31 | Extend 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-19 | Fix endianness | Gabriel Kerneis | |
| This will never end… | |||
| 2014-03-19 | Fix bug when reading register through a cast | Kathy Gray | |
| 2014-03-12 | Correctly type checking and interpreting accesses of register "fields". ↵ | Kathy Gray | |
| Register-reading action isn't reading the subreg correctly still (seems to be making up a value though). Corrects but to vectors.sail and power.sail use of plus. (A new bug in power.sail is exposed using a binary operator with one value) | |||
| 2014-03-11 | Increase support for register "field" accesses; there is now a bug in how ↵ | Kathy Gray | |
| run_interp handles SubReg register forms. | |||
| 2014-03-07 | Treat registers as values when not being actively read or written to, so ↵ | Kathy Gray | |
| that we can have a vector of registers for example. Also, register types can be explicitly referenced. | |||
| 2014-03-03 | Fixing assorted bugs. Adding ability to put a type on the identifier being ↵ | Kathy Gray | |
| assigned to in assignments. | |||
| 2014-03-01 | Fix printing bug on vector slicing that caused only one element to ever be ↵ | Kathy Gray | |
| sliced | |||
| 2014-02-27 | Fix error to constructor pattern matching | Kathy Gray | |
| 2014-02-27 | Merge branch 'interp_typed' | Kathy Gray | |
| Conflicts: src/lem_interp/interp.lem src/lem_interp/run_interp.ml | |||
| 2014-02-26 | Get interpreter working using types, no added functionality yet | Kathy Gray | |
| 2014-02-26 | Fix vector slicing | Gabriel Kerneis | |
| 2014-02-25 | Manage annot | Kathy Gray | |
| 2014-02-25 | First step of using type information in interpreter. Reading and writing ↵ | Kathy Gray | |
| plain registers supported; memory reading and writing is broken. | |||
| 2014-02-21 | Add 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-18 | Put a plaster on bug for finding memory reading/writing operations | Kathy Gray | |
| 2014-02-18 | Adding explicit order to for loops | Kathy Gray | |
| 2014-02-14 | Fix infinite loop bug, and test1.sail type checking bug | Kathy Gray | |
| 2014-02-13 | Missing default case for literal equality test | Gabriel Kerneis | |
| 2014-02-13 | Implement equality for big_int literals | Gabriel Kerneis | |
| Lem does not infer instances for typeclasses, falling back to unsafe comparison which does not work for big_int in OCaml. | |||
| 2014-02-12 | Fix endianess issues | Gabriel Kerneis | |
| 2014-02-12 | Replace nat by natural in interpreter | Gabriel Kerneis | |
| 2014-02-07 | Report unimplemented function name | Gabriel Kerneis | |
| 2014-02-05 | Revert "Accept single bits as boolean values for if in interpreter" | Gabriel Kerneis | |
| This reverts commit 828f19828e41ced146f06e9a7eb4183cd9ef3ab4. It was a temporary workaround now fixed when we generate Sail code. | |||
