aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Plug a memory leakbobsayshilol2024-10-271-2/+0
| | | | | The call to |array_make()| always allocates and since this variable was unused it lead to a leak. Simply plug it by removing it.
* `#min_field_align` & `#max_field_align`; deprecate `#field_align` in favour ↵gingerBill2024-09-301-11/+39
| | | | of `#min_field_align`
* Forbid parsing more fields if no separator was foundFeoramund2024-09-201-1/+5
| | | | Fixes #4278
* Changed some recently added //+ usages to #+ and also fixed some //+ usages ↵Karl Zylinski2024-09-171-1/+1
| | | | in some code generators.
* Merge branch 'master' into file-tags-without-commentsKarl Zylinski2024-09-171-11/+20
|\
| * Add `-vet-packages:<comma-separated-string-array>`gingerBill2024-09-171-11/+20
| |
* | Fix incorrect syntax error in parse_fileKarl Zylinski2024-09-141-1/+1
| |
* | Docs are generated as expected again.Karl Zylinski2024-09-141-5/+7
| |
* | Merge remote-tracking branch 'origin/master' into file-tags-without-commentsKarl Zylinski2024-09-141-14/+0
|\|
| * set -rpath to \$ORIGIN and expect libraries next to executable just like WindowsLaytan2024-09-041-14/+0
| |
* | parse_file: Removed some nesting and removed probable incorrect safety check.Karl Zylinski2024-09-091-16/+11
| |
* | Made error handling code in parse_file clearer.Karl Zylinski2024-09-091-9/+9
| |
* | Rename process_file_tag -> parse_file_tagKarl Zylinski2024-09-091-3/+3
| |
* | Simplified error messages in parse_build_tag, removed the idea of making ↵Karl Zylinski2024-09-091-17/+13
| | | | | | | | multiple notted operating systems since it was misinformed.
* | Better #+build tag error messages: Error when using more than one !notted ↵Karl Zylinski2024-09-081-2/+23
| | | | | | | | operating system per build line. Error when using more than one operating system within a 'kind', such as writing #+build windows linux.
* | Make tags use #+ syntax instead of //+ syntax so it no longer looks like a ↵Karl Zylinski2024-09-081-47/+108
|/ | | | comment. Old style still works but is deprecated with a warning. Using unknown tags is now an error instead of a warning. There is a new token for #+ which consumes the whole line (or until it hits a comment). The tags are parsed like before. There are errors to tell you if you use something invalid in the pre-package-line block.
* checker: delay foreign block checkingavanspector2024-08-261-1/+1
| | | | if file scope, otherwise as before
* Improve `parse_enforce_tabs` usagegingerBill2024-08-241-5/+17
|
* Manually implement tail-recursion for `parse_if_stmt`gingerBill2024-08-241-10/+20
|
* Add a recursion depth limit for #3987 with a consideration to use a `switch` ↵gingerBill2024-08-241-0/+8
| | | | statement or refactor the code to not use a large if-else chain
* If missing type is newline, print "newline", not \nJeroen van Rijn2024-08-171-1/+6
| | | | | | | | | | | | | Turns: W:/Odin/bug/bug.odin(3:27) Syntax Error: Expected a type, got ' ' Storage :: distinct map[] Into: W:/Odin/bug/bug.odin(3:27) Syntax Error: Expected a type, got newline Storage :: distinct map[]
* Simplify exe path check.Jeroen van Rijn2024-07-221-2/+1
|
* Fix .exe path is directory check.Jeroen van Rijn2024-07-221-4/+3
|
* Fix #3473Jeroen van Rijn2024-07-221-1/+3
| | | | Fix the problem where the initial package's directory name ended in .odin.
* Remove need for `BlockingMutex` in `Arena`gingerBill2024-07-151-1/+1
|
* Use `gb_zero_*` callsgingerBill2024-07-151-1/+1
|
* Comment out debug codegingerBill2024-07-151-2/+2
|
* Add `#no_capture args: ..T` to reuse the backing array stack memorygingerBill2024-07-141-0/+1
|
* Give better syntax error messages for things like `#define Example 123`gingerBill2024-07-101-1/+33
|
* Cache files, env, and argsgingerBill2024-07-091-0/+10
|
* Remove `*_test.odin`; always compile it for all targetsgingerBill2024-07-041-7/+0
|
* Merge pull request #3859 from laytan/wasm-stbtt-object-linking-preopensgingerBill2024-07-021-2/+1
|\ | | | | wasm: support `vendor:stb/truetype` and `vendor:fontstash`
| * wasm: add foreign import and linking of wasm object filesLaytan Laats2024-07-021-2/+1
| |
* | Merge pull request #3760 from Feoramund/refactor-show-error-on-linegingerBill2024-07-011-0/+11
|\ \ | |/ |/| Refactor `show_error_on_line`
| * Fix displaying emptiness when error is on first lineFeoramund2024-06-141-0/+5
| |
| * Fix displaying error on wrong line with token at EOLFeoramund2024-06-141-0/+6
| | | | | | | | | | Previously, this would get a token on text like "\n*\n" where `*` is the token's position, and it would advance off that line.
* | Improve `-strict-style` rules for `if-else` statementsgingerBill2024-06-291-4/+12
| |
* | Add `-vet-tabs`gingerBill2024-06-291-0/+41
| |
* | `-strict-style` enforce 1TBS (mostly)gingerBill2024-06-291-2/+9
| |
* | Allow for `when x in y {` (minor oversight in syntax)gingerBill2024-06-291-0/+3
| |
* | Improve error reporting on "Failed to parse fail" and show the line error if ↵gingerBill2024-06-281-3/+26
| | | | | | | | possible
* | Improve tokenizing wrong number literalsgingerBill2024-06-281-1/+11
| |
* | Remove `@(warning)` and `#warning(...)`gingerBill2024-06-251-1/+1
| |
* | Add `#warning(<string>)` builtin compile time proceduregingerBill2024-06-201-1/+1
|/
* Fix #3727gingerBill2024-06-101-0/+3
|
* Improve parsing for `label: #reverse for` and `label: #partial switch`gingerBill2024-06-101-2/+4
|
* Fix `or_or_<branch>` error messagesFeoramund2024-06-091-4/+4
|
* Change parser to use `^Expr` rather than `string` for the foreign import pathsgingerBill2024-05-281-1/+1
|
* Delay checking foreign import paths until after global scope is checkedgingerBill2024-05-281-3/+25
|
* Begin moving `foreign import` import paths to be evaluated in the semantic ↵gingerBill2024-05-271-36/+29
| | | | phase rather than parsing.