split semantic processing and fmt-c code generation

Introducing Sex SEMantic ENgine: the semen.
Also split reader to other file (it can be replaced in the future).
Macro expansion inside Sex code doesn't work yet, and it must be done
in semen, not during fmt-c generation as before.
This commit is contained in:
2025-09-24 20:12:08 +03:00
committed by Pavel Kulyov
parent 8e4cc98522
commit b1744bb6af
16 changed files with 392 additions and 244 deletions

10
example/fns.sex Normal file
View File

@@ -0,0 +1,10 @@
;;; Prototypes
(fn void puk ())
(pub fn void plak ())
;;; Functions
(fn int foo () (return 1))
(pub fn void bar ((int a) (int b))
(printf "%d\n" (+ a b)))