| Age | Commit message (Collapse) | Author |
|
shorthand syntax, needed for arm spec
|
|
and the like.
|
|
Also begining to add support for nondeterministic blocks and cleaning up some of the Many warnings on pattern matches
|
|
|
|
|
|
|
|
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
|
|
functions for connecting the interpreter to a memory model)
Also adding default values to index vectors for supporting sparse vectors/maps
|
|
|
|
constraints. Clean up Lem output a little for readability while debugging.
|
|
to_num and to_vec probably still need to be fixed
|
|
Changes syntax of tuple type from * to , so that nexps of the form 8 * 'n can be supported in the parser, which was apparently not true before.
|
|
|
|
|
|
|
|
Type checking now recurses through assign, but doesn’t do the proper checks yet
|
|
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.
|
|
|
|
First pass parser to identify type names is in progress (current test files fail, will correct once pre-parser is in place)
|
|
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).
|
|
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
|
|
only match simple patterns (until type information is available).
|
|
Also interpreter now supports reading and writing of basic registers (i.e with no subranges yet)
|
|
of kind and type system
|
|
|
|
|
|
Syntax:
foreach id from exp (to|downto) exp (by exp)? exp
foreach and by are keywords; from, to and downto aren't.
|
|
to support type casts; syntax changes not yet reflected in ott file
|
|
|
|
The ott files have been adjusted to reflect some syntax changes in typquant specifications, and the type annotations are not optional for function definitions; we need additional syntax to help the parser if we want to allow functions without type annotations.
|
|
|
|
Output is only given in the event of a parse or lex failure (with poor reporting for now)
There are still 10 shift/reduce conflicts that may need further investigating and a few syntax changes that need discussion.
|
|
|
|
|
|
|
|
|