summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-07-31start separating memory reads and writesKathy Gray
2014-07-30working dec vectorsKathy Gray
2014-07-29A file can now declare that a default order is either inc or dec, and this ↵Kathy Gray
will be reflected in short hand type syntax, inc is still the default if undeclared So: default order dec register bit[32] t (* Declares t as a decreasing vector, starting at 31 on the left and decreasing to 0 *) default order inc register bit[32] o (* Declares o as an increasing vector, starting at 0 on the left and increasing to 31 *) It is presently possible to change the default mid-file; this is almost certainly bad and I will turn it into an error soon.
2014-07-25Add another type signature needed (we think but Susmit and I can't quite ↵Kathy Gray
remember why) for ppcmem integration.
2014-07-25Update make file to make clean from top level directory, and to not build ↵Kathy Gray
all tests on all. Instead there is a make full command to make all the tests as well as everything.
2014-07-25Additional functions for interfaceKathy Gray
2014-07-18Writing to concatenated aliasesKathy Gray
2014-07-16Reading from an alias to two concatenated registers; not writing yet.Kathy Gray
2014-07-16Get writing working for aliases in the interpreter, other than concatenation.Kathy Gray
2014-07-15Type check alias use in the left hand side of an assignment. Warning, ↵Kathy Gray
interpreter still doesn't work with writes.
2014-07-15Finishing up some of the support for ExitKathy Gray
2014-07-15Add failing test for type of aliasesGabriel Kerneis
File "test/regbits.sail", line 23, character 3 to line 23, character 4 Type error: Can only assign to identifiers with type register or reg, found identifier CA with type bit
2014-07-14Add register to alias concatenation typeKathy 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-08add additional cases for nexp normalisationKathy Gray
2014-07-04Relax constraints for quot_vecGabriel Kerneis
2014-07-04Correct error of forgetting type information that was allowing more programs ↵Kathy Gray
than it should have
2014-07-04Update power.sailGabriel Kerneis
2014-07-04Fix pretty printer for verbose printingKathy Gray
2014-07-04Force end-of-input when parsing expression listGabriel Kerneis
2014-07-03Parse list of expressions in Sail_libGabriel Kerneis
2014-07-03Introduce a Sail libraryGabriel Kerneis
Used by the Power XML extraction tool.
2014-07-03Adjust behavior on Unknown values in pattern match to stop matching as soon ↵Kathy Gray
as a pattern is matched without using an unknown; also causes full expansion on function calls with unknowns matched in patterns, however the local state is not reset.
2014-07-02Support implicit parameters, to get the length of an expected vector into ↵Kathy Gray
functions like exts
2014-07-02Update Power exampleGabriel Kerneis
2014-07-02Fix ordering issue in vector-concat pattern matchingGabriel Kerneis
2014-07-01Better pretty-printing for vectorsGabriel Kerneis
2014-07-01Update case of EXTSGabriel Kerneis
2014-06-30Support for nondeterministic blocksKathy Gray
2014-06-27Update type conformance for overloading resolution on order arguments.Kathy Gray
Also, correctly type check nondet blocks
2014-06-26range -> vector coerces only on constants and explicit castsKathy Gray
2014-06-26Remove .native in make cleanGabriel Kerneis
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-25Add support for memory barrierKathy Gray
2014-06-25Add support for actions that read just a slice or single bit of a registerKathy Gray
2014-06-24Get enumerations working in interpreterKathy Gray
(plus a few other small related corrections)
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-19Add mod:vec->range->vecGabriel Kerneis
2014-06-18reinstate range to vector coercionsKathy Gray
2014-06-18Fix mod_vec in libraryGabriel Kerneis
2014-06-18Correct effect matching bug; and print out effect listsKathy Gray
2014-06-18Add definition of mod to libKathy Gray
2014-06-18Make hex constants work; improve utility of casts for selecting overloaded ↵Kathy Gray
functions
2014-06-12Overloaded multiplicationGabriel Kerneis
Hopefully I got the constraints right again.
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-12Add uint* to default type names for lexerGabriel Kerneis
This is necessary to avoid a parse error. It might make sense to merge this list and the one in type_internal.ml somehow, to avoid duplication and similar bugs in the future.
2014-06-11power.sail: store mode64bit in a bool registerGabriel Kerneis
This is now possible because we handle coercions better.
2014-06-11Update power.sail: remove some hacksGabriel Kerneis