Commit Graph

164 Commits

Author SHA1 Message Date
gingerBill
38faec757d Correct consume comment groups in both parsers 2025-07-11 18:41:40 +01:00
Brad Lewis
bfb70baa39 Add documentation to Bit_Field_Field when parsing 2025-07-03 21:14:34 -04:00
Brad Lewis
fc58158fb7 Fix issue parsing vendor/stb/image with the core:odin/parser parser 2025-06-22 09:42:33 -04:00
gingerBill
0ce8373528 Formatting Fix 2025-05-08 13:23:22 +01:00
gingerBill
328d893cb5 #unroll(N) for 2025-01-10 12:22:18 +00:00
Laytan Laats
9f609dd740 odin/parser: fix offsets of value declarations
Fixes #4356
2024-10-19 20:02:39 +02:00
gingerBill
a7d7c92a53 #min_field_align & #max_field_align; deprecate #field_align in favour of #min_field_align 2024-09-30 13:05:28 +01:00
Karl Zylinski
093ade0504 Merge branch 'master' into file-tags-without-comments 2024-09-17 19:36:17 +02:00
Laytan Laats
603efa860a add '#caller_expression' 2024-09-14 22:13:37 +02:00
Karl Zylinski
b12d312408 core/odin: Added new file tag syntax as token. parse_file stores a list of tags that the file tag parser can use later. 2024-09-14 17:59:50 +02:00
Laytan Laats
6ef49d4f24 core/odin: support #type_assert and #no_type_assert 2024-08-30 23:21:35 +02:00
Laytan Laats
f0840ed24e core/odin: support field tags on bit_field fields
Fixes #4044
2024-08-11 20:59:54 +02:00
Rikard Petré
6a6f078186 Fix missing closing brace for Bit_Field in core:odin/parser 2024-08-06 19:48:38 +02:00
Damian Tarnawski
478b2d7444 Correct the Array_Type.len comment and assign tok when making Ellipsis node 2024-07-29 22:14:42 +02:00
Laytan Laats
27f9f0ba17 fix OLS #431, #393 2024-07-18 21:06:37 +02:00
Laytan Laats
2b6a926bb6 fix OLS #52 2024-07-18 21:06:37 +02:00
gingerBill
8642d719f0 Imply #no_capture to all variadic parameters 2024-07-14 12:19:47 +01:00
gingerBill
c7bd954752 Add more uses of #no_capture 2024-07-14 11:56:04 +01:00
gingerBill
e296d6fb90 Fix loads of indentation issues with mixing spaces and tabs 2024-06-29 19:50:51 +01:00
gingerBill
906afa4154 Allow for when x in y { (minor oversight in syntax) 2024-06-29 10:13:15 +01:00
Jeroen van Rijn
aa27cd4b0b Allow core:odin to parse @(require) import 2024-06-27 16:14:16 +02:00
gingerBill
c098739484 Remove @(warning) and #warning(...) 2024-06-25 09:36:59 +01:00
gingerBill
dab3c832e0 Add #warning(<string>) builtin compile time procedure 2024-06-20 15:32:30 +01:00
gingerBill
1945218f6d Improve parsing for label: #reverse for and label: #partial switch 2024-06-10 14:18:33 +01:00
gingerBill
0ef0894213 Fix to bl.tok = path 2024-06-03 22:55:24 +01:00
gingerBill
d91054b615 Change parser to use ^Expr rather than string for the foreign import paths 2024-05-28 00:27:13 +01:00
gingerBill
20d35acce1 Fix parser 2024-05-10 15:59:14 +01:00
RilleP
330c161625 remove semicolon 2024-04-11 09:36:28 +02:00
RilleP
730f992bff fix indentation 2024-04-10 19:16:38 +02:00
RilleP
95a38d5a96 Merge branch 'master' into parsing-package-fixes 2024-04-10 19:10:33 +02:00
Laytan Laats
af6d2480fa add bit_field parsing to core:odin/parser
Also adds it to the core type thingy like it is in the compiler.
2024-04-10 01:01:32 +02:00
Aaron Kavaler
096b4f5454 fixed issue #3264 regarding core:odin/parser not allowing a newline at the end of a compound literal 2024-03-18 20:33:02 -07:00
gingerBill
68df35b378 Add #field_align(N)
It sets the minimum alignment for the fields within a struct. This cannot be used with `#packed`, but can be used with `#align(N)`.
If `#align(N)` is less than `#field_align(N)`, then a warning will be printed.
2024-01-28 17:33:29 +00:00
DanielGavin
f63f28302e Recover from faulty parameter in parse_proc_type 2024-01-22 20:35:26 +01:00
Rikard Petré
99825a28d7 odin/parser: Allow semicolon after return statement for the case:
if x do return y;
else do return z;
2024-01-20 16:00:41 +01:00
Rikard Petré
144504a752 odin/parser: Fix parsing of struct literal/call expression when closing brace/paren is on a new line without a comma after the last argument. 2024-01-20 15:57:14 +01:00
DanielGavin
8e395cc6e9 Fixed crash in core:odin/parser with #reverse 2023-12-13 20:08:26 +01:00
Laytan Laats
bd19081543 fix nil exceptions with incomplete code parse
This makes the parser more fault tolerant because the different
parse_foo procs return nil when in an invalid state, which is fine most
of the time but when creating a node it would crash accessing its
position.
2023-11-12 01:53:14 +01:00
gingerBill
14adcb9db8 Use or_break and or_continue where appropriate in the core library 2023-09-30 15:34:39 +01:00
gingerBill
41a22bd83d or_break and or_continue to core:odin packages 2023-09-30 15:09:59 +01:00
Fabian Sperber
886d0de040 Remove auto_cast from field_flags
- auto_cast is parsed as its own expression
2023-09-05 23:14:55 +02:00
Fabian Sperber
bbf9678756 Fix parsing #force_inline call expression with or_return 2023-09-05 22:35:30 +02:00
DanielGavin
64a63b3879 Add #reverse to odin/parser. 2023-09-03 16:15:03 +02:00
gingerBill
cd74cdfdaf Remove switch in in favour of switch _ in 2023-08-08 14:57:25 +01:00
gingerBill
488a38a96d Merge pull request #2649 from hchac/allow-newline-field-list-separator
Match C++ parser behavior in allowing newlines before a closing brace.
2023-08-07 11:45:08 +01:00
Walther Chen
4b9afd787c core:odin/parser allow args after varargs in parse_call_expr 2023-08-03 22:45:21 -04:00
hchac
4c0e9f1f89 Match CPP parser behavior in allowing newlines before a closing brace. 2023-07-11 16:15:06 -04:00
gingerBill
7abaf77292 Add struct #no_copy 2023-04-15 15:47:18 +01:00
Fabian Sperber
33798b8b80 Need to forward the name of the directive, not the hash token 2023-03-20 20:09:30 +01:00
gingerBill
ef372bd861 Replace #optional_second with #optional_allocator_error 2022-09-12 13:08:32 +01:00