Wip: struct parsign

This commit is contained in:
Giulio Agostini
2026-07-11 18:01:40 +02:00
parent 84a7bf453f
commit 52f0a5b8f1
2 changed files with 13 additions and 7 deletions
+11 -5
View File
@@ -17,21 +17,27 @@ Cosa :: struct{
field1: Number
}
#+end_src
*** TODO update lexert
*** TODO update lexer
*** TODO update ast
*** TODO update parser
** TODO implement partial function ...
#+begin_src rlox
cosa := make(Cosa, feld1: 42)
cosa := Cosa{feld1: 42}
function :: fn(self:Cosa, b: Number) -> Number
res := function(cosa,44)
#+end_src
*** TODO ... to undericlty create method
*** TODO ... to undirectly create method
#+begin_src rlox
res := cosa.function(44)
res := cosa.function(44);
#+end_src
*** TODO ... to make pipeline
#+begin_src rlox
res := cosa |> function(44)
res := cosa |> function(44);
#+end_src
** TODO Understand what is a type system
** TODO implement struct method:
#+begin_src rlox
Cosa.new :: fn(field1: Number):Self #+begin_src do
return Self{ field1 };
end;
#+end_src
+1 -1
View File
@@ -2,7 +2,7 @@ use crate::{
common::{
ast::{AstNode, Expr},
base_value::{BaseValue, LoxFunction, Struct},
lox_result::{LoxResult, parse_error, runtime_error},
lox_result::{parse_error, runtime_error, LoxResult},
types::Type,
},
frontend::{