summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-05-19Add tricky necessary whitespace to avoid lexer confusionGabriel Kerneis
2014-05-19Bugs in old pretty-printerGabriel Kerneis
There are more that are not fixed.
2014-05-19More parser comments (and remove one spurious atomic_)Gabriel Kerneis
2014-05-16Improve spacing in pretty-printerGabriel Kerneis
More work to do (in particular in typedef) to remove spurious ^/^
2014-05-15Make pp_exp export to bufferGabriel Kerneis
2014-05-15Group definitionsGabriel Kerneis
This is only a first step towards sensible spacing. As it turns out, I use too many breaks (hidden in ^/^) instead of separate space [...] for instance.
2014-05-15Add support for scattered functionsGabriel Kerneis
2014-05-15Refactor doc_type_unionGabriel Kerneis
2014-05-15Fix recursive call to doc_expGabriel Kerneis
2014-05-15Missing space for function clausesGabriel Kerneis
2014-05-15Exhaustive check of app_infix operators for precedenceGabriel Kerneis
2014-05-15Pretty-print to stdout rather than Format.stdout_formatterGabriel Kerneis
PPrint.ToFormatter is either broken, or I do not know how to use it properly. Switching to ToChannel solves the issue nicely.
2014-05-15Fix infinite loop bugGabriel Kerneis
The output is *completely* broken (a mix of missing and too many whitespaces). No idea what is going on.
2014-05-15Testing pretty-printerGabriel Kerneis
It does not work - infinite loop somewhere probably when trying to handle precedence.
2014-05-15Finish pretty-printer translationGabriel Kerneis
Untested. Scattered definitions not supported yet.
2014-05-15Check name_sect during parsingGabriel Kerneis
2014-05-15Expression support in new pretty-printerGabriel Kerneis
We follow the parser here, but some fixes will be necessary on both sides (for instance the precedence of assignments).
2014-05-15Cosmetic tweaks to new pretty-printerGabriel Kerneis
2014-05-15Questions and comments about parserGabriel Kerneis
2014-05-15Missing cases in lexer and parserGabriel Kerneis
2014-05-12First part of new pretty-printerGabriel Kerneis
Compiles but untested. Parentheses should be correct (based on parser), but it probably lacks some spacing (in particular in lists) and breaking opportunities. The plan is to tweak those later, when we have a working first implementation.
2014-05-12Avoid pattern-matching warnings in pretty-printerGabriel Kerneis
2014-05-12OCamlbuild magic to use PPrintGabriel Kerneis
2014-05-12Import pprint libraryGabriel Kerneis
2014-05-12More interface supportKathy Gray
2014-05-08more interface changesKathy Gray
2014-05-06Begin tie to ppcmem style actions/outcomesKathy Gray
Change type of + on vectors to (bit vector,bit vector) -> bit vector
2014-05-01Make an overloading type decision (all + operations return ranges, never ↵Kathy Gray
vectors) and make the test suite pass again
2014-04-30More support for overloading functions; primarily focusing on +Kathy Gray
WARNING: vector test breaks due to not having implemented the full range of different + functions In general, we need to decide whether vector + vector, vector + range and range + vector should all return ranges, vectors or a mixture
2014-04-28Add support for overloading for better constraints, and for reducing the ↵Kathy Gray
number of coercions
2014-04-25more support for path-aware (ish) constraint checkingKathy Gray
2014-04-25rename interpreter's local memory type to reflect that it's all local memoryKathy Gray
2014-04-23Rename main to sail, build pretty_printer libGabriel Kerneis
2014-04-23make docGabriel Kerneis
Build html doc of module interface
2014-04-21Remove unsoundness of pattern match in interpreterKathy Gray
2014-04-15Use 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-15Put conditional path information into constraint gathering so that checking ↵Kathy Gray
uses appropriate information gleaned from pattern matching
2014-04-10more constraint resolution; and turning off some assert falses until I find ↵Kathy Gray
out why unification isn't being forced everywhere it needs to
2014-04-08Reduce redundant information in ASTKathy Gray
2014-04-08Try to reduce size of Lem output a little bitKathy Gray
2014-04-04Cosmetic improvements (statistics, --quiet)Gabriel Kerneis
2014-04-04Improve Power executionGabriel Kerneis
- Move FDE loop to the OCaml side of the Power model (avoid leaking memory due to lack of TCO in interpreter) - Display cycle count - Check the value of CIA at the end of each cycle and stop if it is equal to the initial value of LR, returning the value in GPR3.
2014-04-03Power example now EXECUTES (almost) CORRECTLY! \o/Gabriel Kerneis
Warning: we set the link register to the address of the first instruction, which means the program is effectively an infinite loop returning 42 forever. (Except it slows down and leaks memory, probably because the interpreter doesn't optimise the tail call in fde_loop.) 42, 42, 42, 42, 42, 42, 42, 42, ...
2014-04-03Implement some arithmetic operationsGabriel Kerneis
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-03Implement bitwise library operationsGabriel Kerneis
2014-04-03Remove workarounds and update Power modelGabriel Kerneis
2014-04-03Typeclass Eq for valuesGabriel Kerneis
Again, this is necessary to compare big_int
2014-04-03make sail backwards compatible to older ocaml againKathy Gray
2014-04-03Do implicit coercions on expliciit castsKathy Gray