summaryrefslogtreecommitdiff
path: root/src/pretty_print.ml
AgeCommit message (Collapse)Author
2014-08-05Support extracting length information into more functionsKathy Gray
2014-08-01Support separated memory read/write functions.Kathy Gray
Also allows register writing functions to be on the left hand side of an assignment in the same way. The last parameter to a writing function is the value to be written, and should appear on the right hand side of an assignment expression.
2014-07-30working dec vectorsKathy Gray
2014-07-18Writing to concatenated aliasesKathy Gray
2014-07-14Alias pretty-printingGabriel Kerneis
2014-07-14Initial support for aliases and exit through the type system and the ↵Kathy Gray
interpreter. An alias can be read within the interpreter, but not written to. Exits aren't yet taken in the interpreter.
2014-07-04Fix pretty printer for verbose printingKathy Gray
2014-07-02Support implicit parameters, to get the length of an expected vector into ↵Kathy Gray
functions like exts
2014-07-01Better pretty-printing for vectorsGabriel Kerneis
2014-06-30Support for nondeterministic blocksKathy Gray
2014-06-26Adding better support for unspecified values in indexed vectorsKathy Gray
Also begining to add support for nondeterministic blocks and cleaning up some of the Many warnings on pattern matches
2014-06-24Get vector length for to_inc_vec and to_dec_vec from the type system after ↵Kathy Gray
constraint solving (instead of hardcoding 64 as the default).
2014-06-23Get indexed vectors, particularly with default values, workingKathy Gray
2014-06-12Interpret when an unknown is inserted into the program by interp_exhaustiveKathy 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-09Merge branch 'for-dagstuhl' into masterGabriel Kerneis
Conflicts: src/lem_interp/interp_lib.lem src/lem_interp/run_interp.ml Remove "to_vec_safe" work-around
2014-06-07Add optional overloading on expected return type to fix bug in constraint ↵Kathy Gray
solving; get test_power running again by supporting the correct operations and bit operations
2014-06-07Fix pretty-printing for E_vector_appendGabriel Kerneis
2014-06-04Fixup type coercions and overloadingKathy 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-29Check constraints in power.sail; this required using big_int instead of int ↵Kathy Gray
to support 2**64. Note: now nat (short hand for range<0,infinity>) should only be used if you really mean a nat instead of a bounded number (i.e. range<0,2**32>)
2014-05-20Fix semicolon in scattered unionsGabriel Kerneis
2014-05-20Turn off annoying printfKathy Gray
Answer some apparent questions in the pretty printer (tagged with AAA after an XXX)
2014-05-20Remove legacy pretty printerGabriel Kerneis
2014-05-20Fix pattern-matching exhaustivenessGabriel Kerneis
2014-05-20Merge new pretty-printerGabriel Kerneis
2014-05-20Fix precedence of right_atomic_exp (if, foreach, let)Gabriel Kerneis
2014-05-20More sensible whitespacingGabriel Kerneis
2014-05-19Improve line breaksGabriel Kerneis
2014-05-19Refactor lexp and patterns to fix precedenceGabriel Kerneis
Also work-around minus being unparseable
2014-05-19Various wrong tokens in pretty-printerGabriel Kerneis
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-14More interface update for connecting externally (interp_interface provides ↵Kathy Gray
functions for connecting the interpreter to a memory model) Also adding default values to index vectors for supporting sparse vectors/maps
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