erick-alcachofa 0e9995ce7e
feat(grammar): enhance aliases and for-loop initializers
Signed-off-by: erick-alcachofa <erick@artichoke.dev>

This commit updates the language grammar to expand the capabilities of
`using` aliases and C-style `for` loops. It also refines where aliases
can be declared. This changes are made after re-analizing the grammar
while creating the AST node types.

* **Aliases:** A `using` alias can now map to any valid `<type>`, such
  as a pointer (`*i32`) or optional (`?string`), instead of just a
  simple `<namespaced_identifier>`.
* **For Loops:** The initializer in a C-style `for` loop can now be a
  general `<expression>` (e.g., `i = 0`) in addition to a full
  `<variable_declaration>`.
* **Scope:** Alias declarations are now restricted to the top level
  (declarations) and are no longer permitted as statements inside
  function bodies.

BREAKING CHANGE: Alias declarations (`using`) are no longer valid inside
function bodies and must be declared at a module or global scope.
2025-10-12 18:58:27 -06:00
..
2025-10-02 00:26:35 -06:00