aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* Change from `test_*` prefix to `@(test)` attribute for `odin test`gingerBill2021-03-141-0/+1
|
* `odin test` to work with the new `core:testing` packagegingerBill2021-03-141-1/+15
|
* Add support for backslash \ to consume a newlinegingerBill2021-03-141-5/+0
|
* Simplify `expect_semicolon_newline_error` rulegingerBill2021-03-131-18/+13
|
* Remove `&& false` from test codegingerBill2021-03-131-1/+1
|
* Add `-strict-style` flag: Enforces code style stricter whilst parsing, ↵gingerBill2021-03-131-11/+73
| | | | requiring such things as trailing commas
* Minimize TokenPos size by using `i32` for line/column/offset and file_id ↵gingerBill2021-03-041-6/+16
| | | | | | instead of `String` To make `i32` safe, the parser limits the file size of odin files to a maximum of 2GiB (which will be good enough for the vast vast majority of cases)
* Add `#force_inline` parsing directly to expression statementsgingerBill2021-02-251-0/+4
|
* Remove `#force_inline for` and only have `#unroll for`gingerBill2021-02-251-1/+1
|
* Build tag to make all declarations within a file private to the package ↵gingerBill2021-02-231-0/+2
| | | | `//+private`
* Add deprecation message for `inline` and `no_inline` to use `#force_inline` ↵gingerBill2021-02-231-0/+2
| | | | and `#force_no_inline` instead
* Remove `#opaque` typesgingerBill2021-02-231-12/+2
|
* Remove `bit_field` keyword and parsing logicgingerBill2021-02-231-60/+0
|
* Remove `#opaque` usage in core librarygingerBill2021-02-231-16/+0
|
* Deprecate `inline for` in favour of `#unroll for`gingerBill2021-02-231-23/+3
|
* Add `#force_inline`, `#force_no_inline` and `#unroll` for the transition to ↵gingerBill2021-02-231-78/+98
| | | | | | deprecate and then remove the keywords `inline` and `no_inline` `inline for` will be replaced with `#unroll for`
* Remove `"pure"` and `"pure_none"` calling conventionsgingerBill2021-02-231-2/+0
|
* Remove `opaque` keyboardgingerBill2021-02-231-11/+3
|
* Add extra error checking in parser.cppgingerBill2021-01-151-0/+13
|
* Improve -insert-semicolon rulesgingerBill2020-12-091-6/+3
|
* 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
| |