aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | Improvements to `-strict-style` and trailing commasgingerBill2022-06-131-83/+75
| |
* | Move trailing comma requirement in field lists to `-strict-style`gingerBill2022-06-121-17/+29
| |
* | Deprecate `a..b` based ranges in favour of `..=`dev-2022-06gingerBill2022-06-011-0/+1
| |
* | Add `simd_to_bits`; correct fix typo causing issue with parapolygingerBill2022-05-261-1/+13
| |
* | Merge functionality of `#maybe` with the standard 'union' functionalitygingerBill2022-05-231-0/+1
| |
* | Fix typo.Cedric Hutchings2022-05-211-7/+7
| |
* | Allow for `import _ "foo"` to allow for `@(init)` procedures; Remove `using ↵gingerBill2022-05-141-10/+4
| | | | | | | | import` code
* | Compiler: Add early error for output path being a directory.Jeroen van Rijn2022-04-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | - Introduce new `Path` type and an array of build paths on the build context. - Resolve input and output paths/files early (before parsing). - Error early if inputs are missing or outputs are directories. - Plumb new file path generation into linker stage instead of its adhoc method. TODO: - Remove more adhoc file path generation in parser and linker stage. - Make intermediate object file generation use new path system. - Round out and robustify Path helper functions.
* | `union #shared_nil`gingerBill2022-03-241-4/+26
| | | | | | | | 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)
* | Fix #1610gingerBill2022-03-141-29/+21
| |
* | check for semi-colon before EOF tooSébastien Marie2022-03-031-1/+2
| |
* | Check if directory exists with the same target executable name when building ↵gingerBill2022-02-281-0/+16
|/ | | | a directory
* Correct `ExactValue_Pointer`gingerBill2022-02-221-63/+0
|
* Simplify `parse_binary_expr`gingerBill2022-02-221-48/+109
|
* Minimize memory usage by having an arena per thread rather than an arena per ↵gingerBill2022-02-181-6/+6
| | | | file
* Merge branch 'master' into directx-packagesgingerBill2022-02-161-0/+6
|\
| * Allow sysv and win64 calling conventions to be used on any platform on amd64gingerBill2022-02-161-0/+6
| |
* | Add `#subtype` struct field prefix, required to have a COM interface hierarchygingerBill2022-02-161-1/+3
|/
* Correct `#sparse` usage and error messagesgingerBill2022-02-051-0/+16
|
* Rename `#partial[Enum]Type` to `#sparse[Enum]Type` for non-contiguous enum ↵gingerBill2022-02-051-1/+1
| | | | fields
* Minor sanity clean upgingerBill2022-02-021-0/+1
|
* Add `//+private file` to complement `//+private` (`//+private package`)gingerBill2022-02-021-2/+10
|
* Correct false positive check in `check_unique_package_names`gingerBill2022-01-311-0/+5
|
* Add `#no_type_assert` and `#type_assert` to disable implicit type assertions ↵gingerBill2022-01-271-0/+36
| | | | with `x.(T)`
* Handle line comment bettergingerBill2022-01-241-5/+15
|
* Parse comments on enums fieldsgingerBill2022-01-241-1/+41
|
* Update CommentGroup parsing for struct typesgingerBill2022-01-241-1/+1
|
* Correct package docs parsinggingerBill2022-01-171-0/+9
|
* Fix #1381gingerBill2022-01-021-0/+9
|
* Improve usage of `file_id`gingerBill2021-11-151-6/+6
|
* Begin minimizing `Ast` sizegingerBill2021-11-141-8/+12
|
* Merge branch 'master' into new-matrix-typegingerBill2021-10-231-2/+4
|\
| * Allow parsing for `[^]T{}` to improve error messagesgingerBill2021-10-231-0/+3
| |
| * Rename `-ignore-lazy` to `-internal-ignore-lazy`gingerBill2021-10-231-2/+1
| |
* | Support matrix literalsgingerBill2021-10-201-0/+1
| |
* | Change syntax for matrices to `matrix[R, C]T`gingerBill2021-10-191-18/+19
| |
* | Begin work on matrix typegingerBill2021-10-181-1/+53
|/
* Copying file contents rather than memory mappinggingerBill2021-10-121-2/+1
|
* Minor simplification to `#assert` and `#panic` parsinggingerBill2021-09-231-6/+1
|
* Simplify directive parsing for expressionsgingerBill2021-09-231-26/+1
|
* Force file copy on `odin strip-semicolon`gingerBill2021-09-181-1/+2
|
* Make `permanent_allocator()` thread localgingerBill2021-09-131-3/+0
|
* Replace many uses of `heap_allocator()` with `permanent_allocator()`gingerBill2021-09-131-6/+4
|
* Add `-strict-style-init-only`gingerBill2021-09-091-0/+2
|
* Add calling convention `"system"` which is an alias for `"stdcall"` on ↵gingerBill2021-09-081-0/+6
| | | | Windows and `"cdecl"` on other platforms
* Strip semicolons; Make `odin strip-semicolon` replace `..` with `..=` if ↵gingerBill2021-09-061-0/+4
| | | | used as a binary operator
* Strip semicolon if followed by a `}` or `)` on the same linegingerBill2021-08-311-0/+12
|
* Correct parsing rules for `#assert` directives for semicolonsgingerBill2021-08-311-32/+12
|
* Remove dead code and add debug messagesgingerBill2021-08-311-25/+8
|
* Add semicolon stripping command: `odin strip-semicolon`, has the same ↵gingerBill2021-08-311-6/+13
| | | | parameters as `odin check`