aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
| * Improve logic for x->y() shorthandgingerBill2020-11-151-12/+12
| |
| * Begin clarifying allocation patterns by changing from `heap_allocator` to ↵gingerBill2020-11-151-18/+25
| | | | | | | | specific arenas
| * Fix default parameters on record typesgingerBill2020-11-091-2/+2
| |
* | Add experimental `-insert-semicolon` functionality to tokenizer and parsergingerBill2020-11-011-10/+104
|/
* Inline asm expression (-llvm-api)gingerBill2020-10-241-0/+105
| | | | | | | | | | | | 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-1/+48
|
* Add `+build ignore` taggingerBill2020-10-151-21/+28
|
* Enforce `do` bodies to be on the same line as the control statement's ↵gingerBill2020-10-141-0/+25
| | | | condition or token
* Add `-disallow-do`gingerBill2020-09-231-0/+25
|
* Fix +build tag logicgingerBill2020-09-151-8/+8
|
* Improve error message for multi-valued global declarations not be allowedgingerBill2020-09-121-1/+6
|
* Update math and math/linalg; add "pure_none" calling conventiongingerBill2020-09-101-0/+1
|
* Revert accidental removal of `#const` for procedure variable parameters #718gingerBill2020-08-261-0/+4
|
* Remove some dead codegingerBill2020-07-141-4/+0
|
* Fix WASM foreign import namesgingerBill2020-06-041-7/+8
|
* Improve performance of tokenization and parsinggingerBill2020-05-271-29/+51
|
* Minor tokenizer performance improvementsgingerBill2020-05-271-3/+10
|
* Make the `using import` deprecation warning an errorgingerBill2020-05-231-1/+1
|
* Add `"pure"` procedure typesgingerBill2020-05-231-0/+1
|
* Selector Call Expressions: `x->y(123) == x.y(x, 123)`gingerBill2020-05-221-2/+22
|
* Remove the need for `type_of`, `size_of`, `align_of`, `offset_of` to be keywordsgingerBill2020-05-221-16/+0
|
* Relative pointersgingerBill2020-05-151-1/+16
|
* (#594) Add `#config` to replace `#defined`; Restrict `#defined` within ↵gingerBill2020-05-131-0/+3
| | | | procedure bodies to remove race condition
* `#optional_ok` tag for proceduresgingerBill2020-04-191-0/+1
|
* Simplify compiler's `Map` and create a `StringMap` specifically for stringsgingerBill2020-04-131-5/+5
|
* Add extra guards for window-only performance checkinggingerBill2020-04-071-4/+4
|
* Add extra internal memory analysisgingerBill2020-04-061-0/+7
|
* `x if cond else y` and `x when cond else y` expressionsgingerBill2020-03-051-0/+53
|
* Add `proc(#const x: Type)` to enforce a constant parameter (but not ↵gingerBill2020-02-261-0/+8
| | | | polymorphic) to a procedure
* Add `union #maybe`gingerBill2020-02-011-3/+20
|
* Allow not_in as keyword over notin, but still allow notin to workgingerBill2020-01-161-2/+2
|
* Add #partial tag for enumerated arrays to prevent common errors using ↵gingerBill2019-12-271-0/+11
| | | | non-contiguous enumerations
* Implement `#complete switch` by default, replace with `#partial switch` #511gingerBill2019-12-221-2/+20
|
* Deprecate `using import`gingerBill2019-12-211-0/+5
|
* Also allow #no_bounds_check on an expression #499gingerBill2019-12-151-5/+19
|
* Replace `#vector[N]T` with `#simd[N]T` to reduce confusion #498gingerBill2019-12-151-1/+1
|
* Disallow procedure calls with an associated deferred procedure to be used in ↵gingerBill2019-12-151-13/+0
| | | | logical binary expressions (short-circuiting)
* Make the `string` type elements "immutable", akin to `char const *` in CgingerBill2019-12-011-5/+5
| | | | Allows for extra security and optimization benefits
* Update package odin/parser for #soa and #vectorgingerBill2019-11-271-3/+4
|
* Add new #soa and #vector syntaxgingerBill2019-11-171-0/+11
|
* Fix inline `for` bug for #468gingerBill2019-11-091-1/+4
|
* Fix `//+build` for ! e.g. `//+build !windows amd64, linux !amd64`gingerBill2019-11-051-8/+7
|
* Fix `//+build` systemgingerBill2019-11-051-41/+43
|
* Add `@force` to `foreign import`gingerBill2019-11-011-1/+5
|
* Allow ranges for array-like compound literalsgingerBill2019-10-261-3/+8
|
* Change `error` to `syntax_error` in parsergingerBill2019-10-131-28/+28
|
* `#panic`; Minor change to demo.odin; Fix `#assert` bug at file scopegingerBill2019-10-131-34/+4
|
* Fix typos and make demo work with -vetgingerBill2019-10-081-1/+1
|
* Change implicit semicolon rules for record types within procedure bodies; ↵gingerBill2019-10-061-1/+2
| | | | Update `package odin/*`
* Change precedence for `in` and `notin` to match + - | ~gingerBill2019-10-061-5/+6
|