summaryrefslogtreecommitdiff
path: root/src/lem_interp/interp.lem
AgeCommit message (Collapse)Author
2014-04-08Reduce redundant information in ASTKathy Gray
2014-04-03Re-index vector slicesGabriel 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-03Typeclass Eq for valuesGabriel Kerneis
Again, this is necessary to compare big_int
2014-04-02Solve 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-01Allow negative "nat" internallyGabriel Kerneis
to_num and to_vec probably still need to be fixed
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-19Fix endiannessGabriel Kerneis
This will never end…
2014-03-19Fix bug when reading register through a castKathy Gray
2014-03-12Correctly 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-11Increase support for register "field" accesses; there is now a bug in how ↵Kathy Gray
run_interp handles SubReg register forms.
2014-03-07Treat 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-03Fixing assorted bugs. Adding ability to put a type on the identifier being ↵Kathy Gray
assigned to in assignments.
2014-03-01Fix printing bug on vector slicing that caused only one element to ever be ↵Kathy Gray
sliced
2014-02-27Fix error to constructor pattern matchingKathy Gray
2014-02-27Merge branch 'interp_typed'Kathy Gray
Conflicts: src/lem_interp/interp.lem src/lem_interp/run_interp.ml
2014-02-26Get interpreter working using types, no added functionality yetKathy Gray
2014-02-26Fix vector slicingGabriel Kerneis
2014-02-25Manage annotKathy Gray
2014-02-25First step of using type information in interpreter. Reading and writing ↵Kathy Gray
plain registers supported; memory reading and writing is broken.
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-18Put a plaster on bug for finding memory reading/writing operationsKathy Gray
2014-02-18Adding explicit order to for loopsKathy Gray
2014-02-14Fix infinite loop bug, and test1.sail type checking bugKathy Gray
2014-02-13Missing default case for literal equality testGabriel Kerneis
2014-02-13Implement equality for big_int literalsGabriel Kerneis
Lem does not infer instances for typeclasses, falling back to unsafe comparison which does not work for big_int in OCaml.
2014-02-12Fix endianess issuesGabriel Kerneis
2014-02-12Replace nat by natural in interpreterGabriel Kerneis
2014-02-07Report unimplemented function nameGabriel Kerneis
2014-02-05Revert "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.
2014-01-15Accept single bits as boolean values for if in interpreterGabriel Kerneis
2014-01-15Improve error messagesGabriel Kerneis
2014-01-14Fix vector concat pattern matchingGabriel Kerneis
The concatenation list was reversed.
2014-01-09Fixed pattern concatenation bugKathy Gray
2014-01-09Fixed a single-argument tuple bug on function callsKathy Gray
2014-01-09Fixed bug in resuming after an action (which was manifesting as an apparent ↵Kathy Gray
pattern match bug, which was actually working fine).
2014-01-08Fixed literal vectors for binary vectors (pattern matching and as ↵Kathy Gray
expressions), hex vectors will only produce 0 length vectors.
2014-01-08Baby step to seeing a literal vector as a vector (ie. testing string support ↵Kathy Gray
from Lem)
2014-01-08Add support for letbound toplevel defs in interpreterKathy Gray
2014-01-07interp: recover identifiers in error messagesGabriel Kerneis
Not displayed currently because of new-lem's lack of string concatenation.
2013-12-10Fixed bug in interpreterKathy Gray
2013-12-03Syntax changes per discussion with Peter, as well as L2.ott document clean up.Kathy Gray
Could not at this time return lists to [| |] from [|| ||] as the parser cannot distinguish a cast with enum’s syntactic sugar from the start of a parenthesised list (i.e. ( [|3|] ) And there are still conflicts with moving enums to [3], so those changes can’t be pushed in with current parser technology.
2013-11-22Syntax changes per discussions on Thursday.Kathy Gray
First pass parser to identify type names is in progress (current test files fail, will correct once pre-parser is in place)
2013-11-11Remove workaround for a bug fixed in LemGabriel Kerneis
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-11-05De-infix operator before looking it up in the interpreterGabriel Kerneis
2013-11-01Moved metatheory grammars into l2_rules.ottKathy Gray
Added val extern specification to language, parser, printer, and interpreter Added various def level type system support, expressions type system in place Except for assignment
2013-10-15Add id to register actionsGabriel Kerneis
2013-10-15Add returning value to blockKathy Gray
2013-10-14interp: report function name on pattern-matching errorGabriel Kerneis
2013-10-11Supporting all expressions, although vector cacentation pattern matching can ↵Kathy Gray
only match simple patterns (until type information is available).