aboutsummaryrefslogtreecommitdiff
path: root/src/tokenizer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* `gb_internal` a lotgingerBill2022-12-181-35/+35
|
* Add ODIN_ERROR_POS_STYLE environment variablegingerBill2022-01-261-8/+0
| | | | | | | | Allowing for two different error message styles: default or odin path(line:column) message unix path:line:column: message
* Move error handling code to a separate filegingerBill2022-01-101-413/+2
|
* Fix `set_file_path_string` and `thread_safe_set_ast_file_from_id`gingerBill2021-11-241-4/+4
|
* Improve usage of `file_id`gingerBill2021-11-151-3/+3
|
* Change syntax for matrices to `matrix[R, C]T`gingerBill2021-10-191-0/+1
|
* Copying file contents rather than memory mappinggingerBill2021-10-121-17/+17
|
* Force file copy on `odin strip-semicolon`gingerBill2021-09-181-4/+6
|
* Refactor `init_tokenizer_with_data` to file memory mapping (Windows only ↵gingerBill2021-09-181-30/+24
| | | | currently)
* Replace many uses of `heap_allocator()` with `permanent_allocator()`gingerBill2021-09-131-8/+2
|
* Strip semicolons; Make `odin strip-semicolon` replace `..` with `..=` if ↵gingerBill2021-09-061-1/+2
| | | | used as a binary operator
* Make `-insert-semicolon` the default nowgingerBill2021-08-311-57/+48
|
* `ERROR_BLOCK()` any usages of "Did you mean?" like behaviour whilst ↵gingerBill2021-08-271-0/+2
| | | | iterating across a scope entry map
* Use local mutex for each `AstFile.arena`gingerBill2021-08-261-2/+1
|
* Remove the old `inline` and `no_inline` tokensgingerBill2021-08-231-2/+0
|
* Fix deadlock caused by typogingerBill2021-08-191-16/+13
|
* Update semi-colon insertion rules for `or_return`gingerBill2021-08-151-0/+1
|
* Make `or_else` and `or_return` operators (binary and suffix respectively)gingerBill2021-08-151-2/+4
|
* Fix column in tokenizer (due to removed line)gingerBill2021-08-131-1/+2
|
* Minor procedure renamegingerBill2021-08-081-1/+1
|
* Simplify `init_tokenizer_with_data`gingerBill2021-08-081-4/+4
|
* Reduce superfluous error messages for return statements expecting not-1 ↵gingerBill2021-08-071-1/+5
| | | | return values
* Remove optimizations in tokenizer and default to older code (same logic) ↵gingerBill2021-08-031-45/+2
| | | | (optimize later)
* Prepare tokenizer for optimizationsgingerBill2021-08-021-20/+36
|
* Remove the literal conversion logic to the parser from the tokenizergingerBill2021-08-021-29/+0
|
* Replace `line` with `column_minus_one` in `Tokenizer`; Remove dead codegingerBill2021-08-021-45/+26
|
* Begin optimizing tokenizer; Replace `gb_utf8_decode` with `utf8_decode` (CC ↵gingerBill2021-08-011-30/+56
| | | | but easier to change later)
* Clean up a bit of the tokenizer code so that the semicolon insertion rules ↵gingerBill2021-08-011-127/+142
| | | | are in one place
* Give `begin_error_block` its own recursive mutexgingerBill2021-07-291-2/+4
|
* Define which mutexes are blocking and recursive explicitlygingerBill2021-07-271-31/+29
|
* Remove `try`; Replace `try x else y` with `or_else(x, y)`gingerBill2021-07-051-1/+0
|
* Try `try` and `or_else` built-in procedures with operators `try` and `try else`gingerBill2021-07-041-0/+1
|
* Fix semicolon insertion rule for `---`gingerBill2021-06-261-5/+5
|
* Add range-based error messages to `-verbose-errors`gingerBill2021-05-191-22/+42
| | | | | | | | 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-51/+48
|
* Add `-verbose-errors` which shows the error in the line of codegingerBill2021-05-191-2/+90
|
* 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
|\