aboutsummaryrefslogtreecommitdiff
path: root/src/parser.hpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix line error printing for error messagesgingerBill2023-06-191-2/+2
|
* Basic support for new procedure code (non-polymorphic, non-proc-group)gingerBill2023-06-151-0/+6
|
* Basic support for `#reverse for in` on normal arraysgingerBill2023-05-291-0/+1
|
* Minor change to handling of propagation of errors with `---` as a valuegingerBill2023-05-221-1/+1
|
* Add `intrinsics.type_merge`gingerBill2023-05-191-0/+9
|
* Add `struct #no_copy`gingerBill2023-04-151-0/+1
|
* Fix potential race condition when determining the package namegingerBill2023-01-161-0/+1
|
* Remove `auto_cast` procedure field flaggingerBill2023-01-161-2/+2
| | | | Fixes #2285
* Replace all queues with MPSCQueue where possiblegingerBill2023-01-121-0/+1
|
* General improves to `alloc_ast_node` and other unnecessary checksgingerBill2023-01-031-3/+2
|
* Use a package local mutex for `add_type_and_value`gingerBill2023-01-021-0/+1
|
* Remove need the MPMC in single threaded casegingerBill2022-12-221-3/+2
|
* Clean up mutex usage in the parsergingerBill2022-12-221-22/+29
|
* Add minor commentgingerBill2022-12-221-2/+2
|
* Revert "Change `tav` to be a pointer internally"gingerBill2022-12-221-5/+2
| | | | This reverts commit e98f1a28e68e82753728f58b3465793192b74f9d.
* Change `tav` to be a pointer internallygingerBill2022-12-221-2/+5
|
* Set the file's filename and directory in `init_ast_file`gingerBill2022-12-201-0/+5
|
* Remove dead code in the compilergingerBill2022-12-181-5/+0
|
* `gb_internal` a lotgingerBill2022-12-181-15/+15
|
* Replace `#optional_second` with `#optional_allocator_error`gingerBill2022-09-121-1/+1
|
* Add `#load(path) or_else default` in favour of `#load_or(path, default)`gingerBill2022-08-111-1/+2
|
* Add `#soa` pointer type to aid with refactoring to `#soa` data typesgingerBill2022-08-081-1/+2
| | | | | | | | a: #soa[16]Foo p := &a[6] #assert(type_of(p) == #soa^#soa[16]Foo) p^.x = 123 p.x = 123
* Remove dead `#maybe` codegingerBill2022-08-011-1/+0
|
* Simplify parser logic for field prefixesgingerBill2022-08-011-0/+4
|
* Add `#by_ptr` procedure attribute to enforce a parameter to be passed by ↵gingerBill2022-07-241-1/+2
| | | | pointer internally
* Fix #1888gingerBill2022-07-161-1/+3
|
* Improvements to `-strict-style` and trailing commasgingerBill2022-06-131-0/+1
|
* Improve missing handled results for built in proceduresgingerBill2022-05-301-1/+0
|
* Merge functionality of `#maybe` with the standard 'union' functionalitygingerBill2022-05-231-1/+1
|
* Allow for `import _ "foo"` to allow for `@(init)` procedures; Remove `using ↵gingerBill2022-05-141-1/+0
| | | | import` code
* `union #shared_nil`gingerBill2022-03-241-2/+8
| | | | This adds a feature to `union` which requires all the variants to have a `nil` value and on assign to the union, checks whether that value is `nil` or not. If the value is `nil`, the union will be `nil` (thus sharing the `nil` value)
* Check if directory exists with the same target executable name when building ↵gingerBill2022-02-281-0/+1
| | | | a directory
* Minimize memory usage by having an arena per thread rather than an arena per ↵gingerBill2022-02-181-4/+2
| | | | file
* Merge branch 'master' into directx-packagesgingerBill2022-02-161-0/+18
|\
| * Allow sysv and win64 calling conventions to be used on any platform on amd64gingerBill2022-02-161-0/+18
| |
* | Add `#subtype` struct field prefix, required to have a COM interface hierarchygingerBill2022-02-161-1/+2
|/
* Correct `#sparse` usage and error messagesgingerBill2022-02-051-0/+1
|
* Add `//+private file` to complement `//+private` (`//+private package`)gingerBill2022-02-021-3/+5
|
* Add `#no_type_assert` and `#type_assert` to disable implicit type assertions ↵gingerBill2022-01-271-0/+4
| | | | with `x.(T)`
* Parse comments on enums fieldsgingerBill2022-01-241-0/+6
|
* Improve usage of `file_id`gingerBill2021-11-151-2/+6
|
* Remove `scope` field from `Ast`gingerBill2021-11-141-6/+16
|
* Begin minimizing `Ast` sizegingerBill2021-11-141-10/+17
|
* Merge branch 'master' into new-matrix-typegingerBill2021-10-231-1/+1
|\
| * Fix check_remove_expr_infogingerBill2021-10-221-1/+1
| |
* | Begin work on matrix typegingerBill2021-10-181-0/+7
|/
* Add @(init) attribute for procedures, allowing for procedures to be called ↵gingerBill2021-10-031-0/+1
| | | | | | at startup These procedures will be called after global variables have been initialized as normal
* Add semicolon stripping command: `odin strip-semicolon`, has the same ↵gingerBill2021-08-311-0/+1
| | | | parameters as `odin check`
* Unify thread pool logic across the rest of the compiler, using a global ↵gingerBill2021-08-261-3/+1
| | | | thread pool
* Change the implementation of `Arena` to use virtual memory, and remove the ↵gingerBill2021-08-261-3/+2
| | | | old gbArena code