gingerBill
59bc428782
Update core/odin/ast/ast.odin
...
Co-authored-by: Laytan <laytanlaats@hotmail.com >
2026-03-14 16:22:12 +00:00
gingerBill
f1dbe9c242
[dynamic; N]T proof of concept: fixed capacity dynamic array (akin to small_array.Small_Array(N, T))
2026-03-11 16:46:33 +00:00
gingerBill
a5e1eb56ab
Add explicit_underlying: bool RTTI field for bit_set; add runtime.type_info_underlying
2026-03-03 12:26:42 +00:00
gingerBill
2b2b5aeefb
Support for init; x in y {} in core:odin/parser
2026-02-12 13:24:35 +00:00
gingerBill
07d814d9cf
Add struct #simple to force a struct to use simple comparison if all of the fields "nearly simply comparable".
2026-01-29 10:49:26 +00:00
gingerBill
b3f4807b2d
Add #must_tail to odin/parser
2026-01-15 17:32:32 +00:00
gingerBill
593d2e6daa
Add #all_or_none
2025-11-05 13:30:40 +00:00
Jeroen van Rijn
7a9ea3ee6d
Further overhaul of package line comments.
2025-10-09 23:05:29 +02:00
Jeroen van Rijn
8a35acd506
More package lines.
2025-10-09 20:11:06 +02:00
gingerBill
8e410f8204
Add "possibly nil" comments to ast.odin
2025-10-09 14:22:56 +01:00
gingerBill
328d893cb5
#unroll(N) for
2025-01-10 12:22:18 +00: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
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
ae41779366
remove redundant &
2024-08-18 21:10:21 +02:00
Laytan Laats
f0840ed24e
core/odin: support field tags on bit_field fields
...
Fixes #4044
2024-08-11 20:59:54 +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
gingerBill
3ba19d94cf
Add #no_capture to core:odin/ast
2024-07-14 11:58:26 +01:00
Jeroen van Rijn
aa27cd4b0b
Allow core:odin to parse @(require) import
2024-06-27 16:14:16 +02:00
Feoramund
b2f9f0af68
Fix some typos
2024-06-04 19:01:30 -04:00
gingerBill
4dac577caa
Add attributes to Foreign_Import_Decl in clone
2024-06-03 22:21:54 +01:00
gingerBill
8e9716ea2f
Add ast.Foreign_Import_Decl to ast.clone
2024-06-03 22:20:39 +01:00
gingerBill
50b4a63fe1
Add ast.Foreign_Impot_Decl.fullpaths to walk.odin
2024-06-03 22:02:35 +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
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
gingerBill
29e5f94c2a
Add #no_broadcast procedure parameter to disallow automatic array programming broadcasting on procedure arguments
2024-03-21 11:52:48 +00:00
gingerBill
3e7e779abf
Replace core:* to base:* where appropriate
2024-01-28 22:18:51 +00:00
gingerBill
621b3c7829
Add missing clone for Struct_Type
2024-01-28 17:34:32 +00: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
Jeroen van Rijn
ae40946198
Merge pull request #2950 from laytan/fix-nil-exceptions-with-incomplete-code-parse
...
fix nil exceptions with incomplete code parse
2023-11-24 13:39:58 +01:00
Laytan Laats
08d032859f
use start pos as end pos if end node is nil
2023-11-22 16:16:43 +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
flysand7
270348b112
[core]: Remove do keyword from the core library
2023-11-11 20:36:38 +11: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
16d797cb01
Add #const field flag
2023-09-05 22:57:40 +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
600c97cc0f
Add missing Allocator_Error and @(require_results) to many procedures
2023-05-22 11:34:38 +01:00
gingerBill
7abaf77292
Add struct #no_copy
2023-04-15 15:47:18 +01:00
gingerBill
ef372bd861
Replace #optional_second with #optional_allocator_error
2022-09-12 13:08:32 +01:00
gingerBill
5e3cf45df3
Add #soa pointer type to aid with refactoring to #soa data types
...
a: #soa[16]Foo
p := &a[6]
#assert(type_of(p) == #soa^#soa[16]Foo)
p^.x = 123
p.x = 123
2022-08-08 15:07:00 +01:00
gingerBill
97acc57649
Simplify field prefix handling
2022-08-01 13:17:10 +01:00
gingerBill
83c8c48ed7
Simplify ast parsing for prefixes
2022-08-01 13:07:49 +01:00
gingerBill
13cb894b30
Update core:odin for union #shared_nil
2022-03-24 12:00:27 +00:00
gingerBill
d9ca4eb4d6
Add nil check on ast.walk
2022-03-16 11:59:28 +00:00
gingerBill
913d802e33
Fix ast.clone_node
2022-03-03 23:10:38 +00:00
gingerBill
2944969ca0
Correct clone_node
2022-03-03 14:01:37 +00:00