aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add assignment statement to `#no_bounds_check` etc rules. Correct ↵gingerBill2021-08-151-1/+2
| | | | `os_linux.odin` usage.
* Define where `#bounds_check`/`#no_bounds_check` can be appliedgingerBill2021-08-151-42/+72
|
* Improve parsing handling for the `{ return }` casesgingerBill2021-08-091-1/+12
|
* Minor procedure renamegingerBill2021-08-081-1/+1
|
* Improve core:odin/parsergingerBill2021-08-041-2/+2
|
* Improve error message when using a comma rather than a semicolon in a `bit_set`gingerBill2021-08-031-0/+6
|
* Remove the literal conversion logic to the parser from the tokenizergingerBill2021-08-021-5/+31
|
* Begin optimizing tokenizer; Replace `gb_utf8_decode` with `utf8_decode` (CC ↵gingerBill2021-08-011-5/+5
| | | | but easier to change later)
* Define which mutexes are blocking and recursive explicitlygingerBill2021-07-271-15/+15
|
* Big simplification and improvement of the entity collection system, reducing ↵gingerBill2021-07-271-0/+7
| | | | unneeded steps for packages
* Improve default scope sizegingerBill2021-07-271-0/+24
|
* Fix syntax error for a missing package namegingerBill2021-07-261-2/+8
|
* INTERNAL USE ONLY: `//+lazy` build flaggingerBill2021-07-251-2/+13
|
* Move things around for sanity checking for multithread preparationgingerBill2021-07-101-6/+10
|
* Fix #1054gingerBill2021-07-101-3/+11
|
* Remove `try`; Replace `try x else y` with `or_else(x, y)`gingerBill2021-07-051-36/+0
|
* Fix `try` parsing for expression statementsgingerBill2021-07-041-0/+1
|
* Try `try` and `or_else` built-in procedures with operators `try` and `try else`gingerBill2021-07-041-0/+35
|
* Make default calling convention code more correct to readgingerBill2021-06-081-1/+1
|
* Replace `js_wasm32` with `freestanding_wasm32`gingerBill2021-06-081-1/+1
|
* All spaces in `import`-like pathsgingerBill2021-06-031-1/+3
|
* Fix #996gingerBill2021-05-311-9/+11
|
* Add range-based error messages to `-verbose-errors`gingerBill2021-05-191-124/+34
| | | | | | | | Example: Cannot convert '(1 + 2)' to 'untyped bool' from 'untyped integer' x := (1 + 2) * true; ^~~~~~^
* Replace `error` calls with `Token` to use `TokenPos`gingerBill2021-05-191-4/+4
|
* Add `-verbose-errors` which shows the error in the line of codegingerBill2021-05-191-0/+43
|
* Allow `..=` alongside `..` as a "full range" operator; Update ↵gingerBill2021-05-161-8/+10
| | | | `core:odin/parser` etc
* Tokenize `++` and `--` as tokens but disallow them in the parser, and give ↵gingerBill2021-05-151-8/+25
| | | | better error messages for they are used as operators/statements
* Disallow duplicate unary operators for `+`, `-`, and `~`gingerBill2021-05-151-3/+13
|
* Fix #746gingerBill2021-05-121-8/+9
|
* Unify `AstTernaryExpr` with `AstTernaryIfExpr`gingerBill2021-05-051-14/+1
| | | | | Allow for both syntaxes `x if cond else y` and `cond ? x : y` Removes the confusing semantics behind `?:` which could be `if` or `when` depending on the context.
* Fix missing newline checkgingerBill2021-05-041-0/+2
|
* Add missing `skip_possible_newline_for_literal` callsgingerBill2021-05-031-1/+5
|
* Fix parsing error for `for`gingerBill2021-05-021-1/+1
|
* Add extra check for `#no_bounds_check` etc being followed by a newline or ↵gingerBill2021-05-011-16/+15
| | | | empty statement
* Simplify/Fix the state_flag behaviour for code generationgingerBill2021-05-011-0/+8
|
* Add "naked" calling convention (removes prologue and epilogue)gingerBill2021-04-281-0/+1
|
* Make compound literals require trailing commas if followed by a newlinegingerBill2021-04-261-0/+3
|
* Change expr_level increment rules within a compound literalgingerBill2021-04-261-2/+0
|
* Fix constant aliasing for debug informationgingerBill2021-04-261-0/+4
|
* Fix logic for `\n` ignoringgingerBill2021-04-261-0/+9
|
* Correct `\n` ignore rulesgingerBill2021-04-261-3/+10
|
* Make -strict-style the default #871gingerBill2021-04-261-10/+5
|
* Move out some intrinsics into separate procedures in llvm_backend.cpp; ↵gingerBill2021-04-241-22/+22
| | | | Rename `InlineRangeStmt` to `UnrollRangeStmt` (eventually merge the two AST nodes)
* Improve `#optional_ok` logic for procedures; Add `#optional_second` for ↵gingerBill2021-04-191-0/+1
| | | | `package runtime` usage
* Experiment with new grammatical parsing rule for expression level ↵gingerBill2021-03-301-6/+34
| | | | (-strict-style) idea
* Add basic error correction in `parser` to check for unattached `else`gingerBill2021-03-261-0/+27
|
* Add better package declaration specific error message (#878)gingerBill2021-03-241-0/+5
|
* Make the parser support as many identifiers on the LHS in `for in` loops to ↵gingerBill2021-03-241-22/+6
| | | | improve error messages
* Improve error message in parsergingerBill2021-03-231-2/+2
|
* Allow `$` in polymorphic record parameter fields (but disallow mixing)gingerBill2021-03-231-3/+10
|