summaryrefslogtreecommitdiff
path: root/src/lexer.mll
AgeCommit message (Collapse)Author
2016-01-06Add new assert expression to SailKathy Gray
This splits the former functionality of exit into errors, which should now use assert(bool,option<string>), and a means of signalling actions such as instruction-level exceptions, interrupts, or other features that impact the ISA. The latter will now be tracked with an effect escape, and so any function containing exit and declared pure will generate a type error. WARNING: ARM spec will not build with this commit until I modify it. MIPS spec will not build with this commit until modified.
2015-06-24Support new memory write events in the sail front end and pretty printerKathy Gray
Events are eamem to signal the memory address to write to and wmv to pass the value to write
2015-05-13Add dynamic footprint dependency check event/outcomeKathy Gray
Also fix type checker bug in not reporting modifications to parameter values
2015-02-17actually support string typesKathy Gray
2015-01-12Add specialised support for numeric singleton types (i.e. what used to be ↵Kathy Gray
range<'N,'N>) Non-sugar syntax is -- forall Nat 'N. atom<'N> Sugar syntax is -- [: 'N :] Also begin adding pp support for generating ocaml from ast types.
2014-12-18Add negative literals such as -1. WARNING may not generate valid lem in the ↵Kathy Gray
presence of negative literals
2014-11-22signed multiplication and quotKathy Gray
2014-11-21Support signed and unsigned arithmeticKathy Gray
2014-08-26small changes for armKathy Gray
2014-08-05missed file from last commitKathy Gray
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-03Introduce a Sail libraryGabriel Kerneis
Used by the Power XML extraction tool.
2014-06-25Add support for memory barrierKathy Gray
2014-05-15Missing cases in lexer and parserGabriel Kerneis
2014-03-27Check simple constraints (i.e. ones using only constants).Kathy Gray
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.
2014-02-28Correct bug in parsing and handling a['a:'b] typesKathy Gray
2014-02-05Deinfixable colonGabriel Kerneis
2014-01-07Lex bitzero and bitone literalsGabriel Kerneis
2013-12-17Remove spurious lexing tokensGabriel Kerneis
2013-12-16lexer: inc and dec keywordsGabriel Kerneis
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-27More front-end passes for type identifiersKathy 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-05Parsing of infix operatorsGabriel Kerneis
The interpreter is broken for infix calls (fails to find the relevant function, either internal or external).
2013-11-05Support parsing for extern callsGabriel Kerneis
2013-09-26Adding undefinedKathy Gray
Also interpreter now supports reading and writing of basic registers (i.e with no subranges yet)
2013-08-22Pretty printer for whole AST; due to parenthesis not always being placed ↵Kathy Gray
where needed, what is generated may not parse
2013-08-19Add loops and document optionnal else in conditionalGabriel Kerneis
Syntax: foreach id from exp (to|downto) exp (by exp)? exp foreach and by are keywords; from, to and downto aren't.
2013-08-01Lex and discard commentsGabriel Kerneis
2013-07-30More infix supportedKathy Gray
2013-07-26Remove white space/terminal trackingKathy Gray
2013-07-25Clean trailing whitespaceGabriel Kerneis
2013-07-24Parser compiles and compiles some very small test programs.Kathy Gray
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.
2013-07-18More parsingKathy Gray
2013-07-12Parser in progress, and more src files for plumbing parsing, lexing and ↵Kathy Gray
eventual type checking together
2013-07-10Fixes to grammar omissions (i.e. naming_scheme_opt and type_def vs tdef), ↵Kathy Gray
more token addition, and start of parsing
2013-07-05More token corrections and additions based on l2_design notes.Kathy Gray
Lexer should now be complete
2013-07-04Small updates to tokens; change comments to --; fix up idKathy Gray
2013-07-04First addition of lexer and parser for L2, based on Lem parser and lexer.Kathy Gray
Not complete, does not compile