summaryrefslogtreecommitdiff
path: root/src/lem_interp
AgeCommit message (Collapse)Author
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-16test: catch and print exceptionsGabriel Kerneis
2013-12-10Fixed bug in interpreterKathy Gray
2013-12-06Output test name on startGabriel Kerneis
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-28Updated syntax with working examplesKathy Gray
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-12Define and test addition in libraryGabriel Kerneis
Notice the need for double parentheses in test/test3.sail, because the interpreter does not perform curryfication automatically (only the first parameter in kept with List_extra.head): add ((1, 3)) (* works *) add (1, 3) (* fails, equivalent to: add (1) *) Fortunately enough, infix functions work correctly by default. A dirty quickfix would be easy, but I'm not sure at which level this should be addressed properly (interpreter? typing? etc.).
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-07Stub for external callsGabriel Kerneis
2013-11-05De-infix operator before looking it up in the interpreterGabriel Kerneis
2013-11-05Support parsing for extern callsGabriel Kerneis
2013-11-05Clean-up build-related filesGabriel 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-16Basic MEM and register implementation for interpreterGabriel Kerneis
This is extremely naive, and does not support slices.
2013-10-16Clean up action pretty-printingGabriel Kerneis
2013-10-15Resume interpreter after actionsGabriel Kerneis
At the moment, writes are ignored and reads always return unit.
2013-10-15Add id to register actionsGabriel Kerneis
2013-10-15Add returning value to blockKathy Gray
2013-10-14Run main() to execute testsGabriel Kerneis
Tests do not pass because of weird pattern-matching errors in the interpreter.
2013-10-14interp: report function name on pattern-matching errorGabriel Kerneis
2013-10-14Pretty-print interpeter valuesGabriel Kerneis
2013-10-11Supporting all expressions, although vector cacentation pattern matching can ↵Kathy Gray
only match simple patterns (until type information is available).
2013-10-10Run interpreterGabriel Kerneis
Forgotten because of a wrong .gitignore.
2013-10-10Interpreting all expressions except field assignment; pattern matching all ↵Kathy Gray
expressions except vector concatenation pattern; added ability to specify writes to smaller pieces of memory in actions. Also fixed bugs in pretty printer to lem
2013-10-10Rename Ast to Interp_ast for the interpreterGabriel Kerneis
2013-10-09Memory reading (small change to signature for memory writes).Kathy Gray
Also fixed parser to accept id ( )
2013-10-09add lem->ml in MakefileGabriel Kerneis
2013-10-09Adding memory writes. Cleaning up the let in the ott file to reflect what ↵Kathy Gray
actually parses
2013-10-08More makefile infrastructureGabriel Kerneis
You need the latest version of Lem for this to work (requires lem/ocaml-lib/META.lem).
2013-10-04Clean up build systemGabriel Kerneis
2013-10-04More support for expression forms including let and vector slicing. And ↵Kathy Gray
writing to a vector range (with one value repeated or with a vector of appropriate size)
2013-10-02Clean up and fixup vector writesKathy Gray
2013-10-02Writing to vectorsKathy Gray
2013-09-26Adding undefinedKathy Gray
Also interpreter now supports reading and writing of basic registers (i.e with no subranges yet)
2013-09-25Interpreter support for reading from registers and local memory, support for ↵Kathy Gray
writing to simple local memory and support for resuming a computation paused for register or memory activity.
2013-09-22Interpreter with function calls, pattern matching, and reading local boxesKathy Gray
2013-09-17Compiling interpreter that accepts function calls, vectors, but no memory ↵Kathy Gray
accesses yet
2013-09-13Committing/pushing progress on interp (adding pattern matching and moving ↵Kathy Gray
closer to function calls) now that there's internet available.
2013-09-10Adding in-progress lem interpreterKathy Gray
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.