aboutsummaryrefslogtreecommitdiff
path: root/src/parser.hpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Minimize Ast flags usagegingerBill2020-11-161-8/+8
|
* Begin clarifying allocation patterns by changing from `heap_allocator` to ↵gingerBill2020-11-151-0/+1
| | | | specific arenas
* Inline asm expression (-llvm-api)gingerBill2020-10-241-4/+27
| | | | | | | | | | | | See https://llvm.org/docs/LangRef.html#inline-assembler-expressions Example: ``` x := asm(i32) -> i32 { "bswap $0", "=r,r", }(123); ``` Allowed directives `#side_effect`, `#align_stack`, `#att`, `#intel` e.g. `asm() #side_effect #intel {...}`
* Begin work on making packages import assembly sort files (.S)gingerBill2020-10-161-6/+26
|
* Add `+build ignore` taggingerBill2020-10-151-0/+1
|
* Update math and math/linalg; add "pure_none" calling conventiongingerBill2020-09-101-8/+9
|
* Revert accidental removal of `#const` for procedure variable parameters #718gingerBill2020-08-261-1/+2
|
* Remove some dead codegingerBill2020-07-141-2/+1
|
* Improve performance of tokenization and parsinggingerBill2020-05-271-2/+7
|
* Add `"pure"` procedure typesgingerBill2020-05-231-0/+1
|
* Selector Call Expressions: `x->y(123) == x.y(x, 123)`gingerBill2020-05-221-0/+1
|
* Minor fixes to improve hash map/set performancegingerBill2020-05-211-1/+1
|
* Relative pointersgingerBill2020-05-151-0/+4
|
* Implement Allow `.?` operator to unwrap any union #549gingerBill2020-05-141-1/+1
|
* Add experimental atom op tables for llvm-backendgingerBill2020-05-021-0/+2
|
* `#optional_ok` tag for proceduresgingerBill2020-04-191-0/+3
|
* Simplify compiler's `Map` and create a `StringMap` specifically for stringsgingerBill2020-04-131-10/+10
|
* Add extra internal memory analysisgingerBill2020-04-061-0/+10
|
* Merge branch 'master' into llvm-integrationgingerBill2020-03-051-2/+4
|\
| * `x if cond else y` and `x when cond else y` expressionsgingerBill2020-03-051-2/+4
| |
* | Merge branch 'master' into llvm-integrationgingerBill2020-02-291-1/+2
|\|
| * Add `proc(#const x: Type)` to enforce a constant parameter (but not ↵gingerBill2020-02-261-1/+2
| | | | | | | | polymorphic) to a procedure
* | Basic work on obj generationgingerBill2020-02-231-1/+3
| |
* | Anonymous procedure literal supportgingerBill2020-02-081-0/+1
| |
* | Slowly add more statements and expressions; Add header filegingerBill2020-02-051-4/+2
|/
* Add `union #maybe`gingerBill2020-02-011-0/+1
|
* Implement `#complete switch` by default, replace with `#partial switch` #511gingerBill2019-12-221-12/+12
|
* Also allow #no_bounds_check on an expression #499gingerBill2019-12-151-5/+5
|
* Disallow procedure calls with an associated deferred procedure to be used in ↵gingerBill2019-12-151-2/+7
| | | | logical binary expressions (short-circuiting)
* Remove addressing mode `Addressing_Immutable`gingerBill2019-12-011-1/+0
|
* Add new #soa and #vector syntaxgingerBill2019-11-171-0/+2
|
* SOA Struct support `intrinsics.soa_struct`gingerBill2019-11-021-0/+1
|
* Add `@force` to `foreign import`gingerBill2019-11-011-0/+1
|
* Fix slice and dynamic array lengths determined from ranged compound literalsgingerBill2019-10-261-1/+1
|
* Allow ranges for array-like compound literalsgingerBill2019-10-261-0/+1
|
* Support for named indices for array-like compound literals `{3 = a, 1 = b}`gingerBill2019-10-201-0/+1
|
* Add `where` clauses to `struct` and `union`gingerBill2019-09-081-12/+16
|
* Minor changesgingerBill2019-09-011-1/+1
|
* ThreadPool for the parsergingerBill2019-09-011-0/+13
|
* `where` clauses for procedure literalsgingerBill2019-08-311-0/+2
|
* `inline for` loops (only for 'in' based for loops)gingerBill2019-08-261-0/+9
|
* Struct field tagsgingerBill2019-08-091-1/+3
|
* Make procedure parameters just named values rather than copied variablesgingerBill2019-07-151-2/+0
|
* union #no_nilgingerBill2019-07-091-0/+1
|
* Minor code clean upgingerBill2019-03-111-1/+0
|
* Implicit Selector Expressions: `.A`gingerBill2019-03-061-0/+1
|
* Make `static` an attribute rather than a keyword prefixgingerBill2019-02-231-1/+0
|
* Add "none" calling conventiongingerBill2019-02-231-0/+3
|
* Pass any and union "by pointer" to make the tag a pointergingerBill2019-01-261-1/+0
|
* Remove dead codegingerBill2019-01-241-5/+0
|