summaryrefslogtreecommitdiff
path: root/src/pretty_print.ml
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-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-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-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-04-28Add support for overloading for better constraints, and for reducing the ↵Kathy Gray
number of coercions
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-02Fix bug that was throwing away the cast telling the interpreter to read a ↵Kathy Gray
register
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-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-26More steps towards solving and using constraint informationKathy Gray
2014-03-26Steps towards solving constraintsKathy Gray
2014-03-23Fix more unification bugsKathy Gray
2014-03-11Change treatment of type abbreviations so that name and full type are ↵Kathy Gray
available for field lookups of registers; this feature still not fully working.
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-28Correct bug in parsing and handling a['a:'b] typesKathy 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-18Adding explicit order to for loopsKathy Gray
2014-01-08Fix pretty-printing of switch-casesGabriel Kerneis
Weird bug, cf. test/pattern.sail.
2013-12-19pretty-print: missing quotes for num literals (lem)Gabriel Kerneis
2013-12-19pretty-print: pattern-matching of indexed vectors in Lem outputGabriel Kerneis
Lem tuples must be surrounded by parentheses (contrary to OCaml ones).
2013-12-18Tweak formatting in pretty printer, and resolve bugs.Kathy Gray
Start specifying lem homs for rules.
2013-12-17pretty-printer: fix union constructor applicationGabriel Kerneis
Foo (1,2,3) is stored internally as the function Foo applied to [1; 2; 3]. We need to add commas when pretty-printing. This should not affect pretty-printing of regular functions application, since those always take a single parameter anyway (which may be a tuple).
2013-12-16pretty-printer: typoGabriel Kerneis
2013-12-13Fix effect annotation pretty-printingGabriel Kerneis
There is also a bug for parsing effect annotations (in fundecl). But for some reason, my fix for the parser does not work: test/test2.sail still refuses to parse (chokes on "effect pure"), even with "Effect" added to parser.mly.
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-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-10Fix fundecl and block Lem pretty-printingGabriel Kerneis
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-09Adding memory writes. Cleaning up the let in the ott file to reflect what ↵Kathy Gray
actually parses
2013-10-04Missing case in pattern-matchingGabriel Kerneis