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
8629e5c958
Keep -vet happy
2025-04-10 11:41:05 +01:00
gingerBill
1f814c33dc
Support subtargets in build tags: #build darwin:generic and #build linux:android, darwin:ios
2025-04-10 11:36:03 +01:00
gingerBill
328d893cb5
#unroll(N) for
2025-01-10 12:22:18 +00:00
Damian Tarnawski
26415bcb0e
Correct handling newlines between build tags in core:odin
...
Previously I thought that each newline worked as `OR`
basically the same as `,`.
This corrects this to work as `AND` instead.
2024-12-01 18:21:26 +01: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
9a8fb2fb27
Fix for infinite loop in core:odin file tags parser when your local copy uses \r
2024-09-20 15:12:35 +02: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
Damian Tarnawski
a28d574272
Add and test match_build_tags
2024-08-29 23:02:49 +02:00
Damian Tarnawski
f93779d425
Parse build_project_name as [][]string
2024-08-29 22:08:01 +02:00
Damian Tarnawski
a10f988020
Move some types to runtime, use reflection instead of lut
2024-08-29 21:12:33 +02:00
Damian Tarnawski
39bdf4d710
Add missing require_results attr
2024-08-29 20:52:27 +02:00
Damian Tarnawski
7862460374
Remove useless code
2024-08-29 20:52:27 +02:00
Damian Tarnawski
92821300e4
Add a file tag parser to core:odin/parser
2024-08-29 20:52:27 +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
b4d0b1d17d
Merge pull request #3544 from ntn9995/fix-parser-empty-or-no-pkg
...
Fix core:odin/parser crashing on empty and/or no package files
2024-05-10 16:01:16 +01:00
gingerBill
20d35acce1
Fix parser
2024-05-10 15:59:14 +01:00
ikarus
3add85e7a7
fix typo & free memory when skipping empty files
2024-05-10 14:51:09 +01:00
ikarus
60b6c798a5
tabs for indentation
2024-05-08 09:07:53 +01:00
ikarus
16fbfd0418
ignore empty files and errors on no package
2024-05-06 09:25:22 +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