aboutsummaryrefslogtreecommitdiff
path: root/src/tokenizer.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow `..=` alongside `..` as a "full range" operator; Update ↵gingerBill2021-05-161-0/+4
| | | | `core:odin/parser` etc
* Add spacegingerBill2021-05-151-1/+1
|
* Improve semicolon insertion rule for dummy tokens `++` and `--`gingerBill2021-05-151-0/+2
|
* Tokenize `++` and `--` as tokens but disallow them in the parser, and give ↵gingerBill2021-05-151-3/+11
| | | | better error messages for they are used as operators/statements
* fix Syntax WarningGitea2021-04-091-1/+1
|
* Implement `f16` functionalitygingerBill2021-04-011-1/+2
|
* Add support for backslash \ to consume a newlinegingerBill2021-03-141-2/+41
|
* Minimize TokenPos size by using `i32` for line/column/offset and file_id ↵gingerBill2021-03-041-29/+77
| | | | | | 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)
* Remove `bit_field` keyword and parsing logicgingerBill2021-02-231-1/+0
|
* Add flags `-ignore-warnings` and `-warnings-as-errors`gingerBill2021-02-231-25/+40
|
* Remove `opaque` keyboardgingerBill2021-02-231-1/+0
|
* Add extra error checksgingerBill2021-01-181-0/+4
|
* Remove unused tokensgingerBill2020-12-061-10/+2
|
* Merge branch 'master' into parser-experimentsgingerBill2020-12-061-2/+0
|\
| * Remove the (reserved) keyword `macro`gingerBill2020-12-041-1/+0
| |
| * Remove `const` as a (reserved) keywordgingerBill2020-12-041-1/+0
| |
* | Add experimental `-insert-semicolon` functionality to tokenizer and parsergingerBill2020-11-011-14/+101
|/
* Inline asm expression (-llvm-api)gingerBill2020-10-241-0/+1
| | | | | | | | | | | | 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 {...}`
* Remove comments containing unicode characters from tokenizergingerBill2020-07-141-6/+0
|
* Add `notin` deprecationgingerBill2020-05-271-2/+7
|
* Fix tokenizationgingerBill2020-05-271-0/+1
|
* Fix tokenizing for `%%`gingerBill2020-05-271-1/+1
|
* Improve performance of tokenization and parsinggingerBill2020-05-271-160/+203
|
* Add `rune_is_letter_or_digit` for tokenizergingerBill2020-05-271-1/+1
|
* Optimize `rune_is_*` procedures for tokenizergingerBill2020-05-271-2/+4
|
* Minor tokenizer performance improvementsgingerBill2020-05-271-53/+115
|
* Fix tokenizer for `0i` #658gingerBill2020-05-241-6/+1
|
* Strip carriage return `\r` from raw string literalsgingerBill2020-05-231-1/+5
|
* Remove the need for `type_of`, `size_of`, `align_of`, `offset_of` to be keywordsgingerBill2020-05-221-4/+0
|
* Global variable initialization supportgingerBill2020-02-231-0/+4
|
* Ternary Expr; lbAddr extra; Phi node supportgingerBill2020-02-061-1/+1
|
* Allow not_in as keyword over notin, but still allow notin to workgingerBill2020-01-161-6/+10
|
* Make the `string` type elements "immutable", akin to `char const *` in CgingerBill2019-12-011-17/+17
| | | | Allows for extra security and optimization benefits
* Change `error` to `syntax_error` in parsergingerBill2019-10-131-0/+9
|
* `where` clauses for procedure literalsgingerBill2019-08-311-0/+1
|
* Fix typo in tokenizer (no actual bug)gingerBill2019-08-261-3/+2
|
* Built-in Quaternions (Not just an April Fool's Joke any more)gingerBill2019-08-261-1/+4
|
* Improve tokenizer slightlygingerBill2019-05-281-8/+13
|
* Add `..<` operator for ranges; Add extra checking for bit set assignmentsgingerBill2019-05-281-0/+5
|
* odin querygingerBill2019-05-251-19/+103
| | | | Output .json file containing information about the program
* Fix ||= and &&=gingerBill2019-05-061-3/+2
|
* Remove dead keywords; Fix `min` and `max` for enum typesgingerBill2019-03-311-3/+0
|
* Improve a tokenizer error message; Add extra tokens for `in` and `notin` for ↵gingerBill2019-03-241-14/+13
| | | | fun!
* Fix `using import` behaviour - #352gingerBill2019-03-171-3/+5
|
* Fix bugs: Array Literals with constant elements; IR printing of raw ↵gingerBill2019-02-241-1/+1
| | | | procedure types
* Make `static` an attribute rather than a keyword prefixgingerBill2019-02-231-1/+0
|
* Replace `foreign export {}` with `@export`gingerBill2019-02-231-1/+0
|
* `static` variable declarations (Experimental)gingerBill2018-12-281-1/+1
|
* Support `#[...]` as an alternative attribute syntaxgingerBill2018-12-261-1/+0
| | | | (Experimentation between `@()` and `#[]`)
* Support #! commentsgingerBill2018-12-261-45/+12
|