aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1544 from FancyKillerPanda/build_ignoregingerBill2022-11-031-0/+2
|\ | | | | Changed `//+ignore` to `//+build ignore` and emit a warning for unknown tags
| * Emit a parser warning when encountering an unknown tag.FancyKillerPanda2022-02-241-0/+2
| |
* | Fix -verbose-error source lines from having last char cut offZac Nowicki2022-09-151-1/+0
| | | | | | | | Fixes #1226
* | Replace `#optional_second` with `#optional_allocator_error`gingerBill2022-09-121-1/+1
| |
* | Add `ODIN_BUILD_PROJECT_NAME` and `//+build-project-name`gingerBill2022-09-081-1/+50
| | | | | | | | | | | | | | | | | | | | | | | | This allows for condition inclusion of files, similar to `+build` or `ODIN_BUILD`, but relies on the directory name of the project to be the same as specified Example: odin build foo/bar/baz ODIN_BUILD_PROJECT_NAME == "baz" //+build_project_name baz
* | Add `#soa` pointer type to aid with refactoring to `#soa` data typesgingerBill2022-08-081-2/+4
| | | | | | | | | | | | | | | | 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-9/+3
| |
* | Simplify parser logic for field prefixesgingerBill2022-08-011-34/+19
| |
* | Fix minor issue with a lack of a trailing commagingerBill2022-07-251-2/+3
| |
* | Add `#by_ptr` procedure attribute to enforce a parameter to be passed by ↵gingerBill2022-07-241-0/+2
| | | | | | | | pointer internally
* | Disallow `proc() do stmt` and only allow `proc() { stmt }`gingerBill2022-07-181-5/+1
| |
* | Remove assertgingerBill2022-07-161-1/+0
| |
* | Fix #1888gingerBill2022-07-161-0/+1
| |
* | Improve `-strict-style` for `foreign import`gingerBill2022-06-131-4/+7
| |
* | 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
| |