aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix typos for `-insert-semicolon`gingerBill2020-12-091-10/+10
|
* Merge branch 'master' into parser-experimentsgingerBill2020-12-061-100/+184
|\
| * Deprecate keyword `opaque` in favour of `#opaque`gingerBill2020-12-041-0/+6
| |
| * Remove `const` as a (reserved) keywordgingerBill2020-12-041-3/+2
| |
| * Update `odin doc` to support multiple package outputs by passing multiple ↵gingerBill2020-11-181-11/+66
| | | | | | | | | | | | | | paths; Replace `-all` with `-short` Example: odin doc core/path core/path/filepath
| * Fix parser logic for first comment group line in a filegingerBill2020-11-171-0/+6
| |
| * Basic `odin doc` supportgingerBill2020-11-171-5/+1
| |
| * Add `-show-unused` (Shows unused package declarations of all imported packages)gingerBill2020-11-171-3/+3
| | | | | | | | Crude output at the moment but better than nothing
| * Minimize memory usage for AST nodes by using Slice<T> rather than Array<T> ↵gingerBill2020-11-161-53/+68
| | | | | | | | when the parameter doesn't need to grow
| * 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
|