462916b7a9
don't force c89 after all
2025-09-30 09:35:16 +03:00
072d3a64aa
update Readme.org
2025-09-30 09:35:16 +03:00
06892e1afa
re-implement macro-expansion using new semantic walker
2025-09-29 15:56:51 +03:00
532487d713
implement semantic code walking framework
2025-09-29 15:56:51 +03:00
ea5a2c0843
add binaries to .gitignore
2025-09-29 15:56:51 +03:00
3c5ea13678
add .gitignore
2025-09-29 15:50:01 +03:00
b1744bb6af
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.
2025-09-29 15:50:01 +03:00
8e4cc98522
fix sexc using non-existent unit
2025-09-01 11:24:08 +03:00
6a9885ebb0
add bool true false tests
2025-08-22 15:47:36 +03:00
53e9614584
don't create temp files when compiling
2025-08-22 15:47:36 +03:00
8bbf44f329
split test in separate test files
2025-08-22 15:47:36 +03:00
97d44a0050
add union to emacs.el keyword list
2025-08-22 15:47:36 +03:00
d5e443a72c
force c89 pedantic compilation mode
2025-08-22 15:47:36 +03:00
63918d23c0
fix newline and whitespace after braces in generated C blocks
2025-08-22 15:47:36 +03:00
c9848151d0
generate void in empty argument lists
2025-08-22 15:47:36 +03:00
103e95fcf7
don't use int as default type for variables, generate error instead
2025-08-22 15:47:36 +03:00
78977e988e
add support for begin in Sex
...
begin-wrapped blocks are now creating lexical scopes
2025-08-22 15:47:36 +03:00
8ad5abf055
update Readme.org
2025-08-08 19:52:02 +03:00
Pavel Kulyov
5a0076ad71
readme: fix typo
2025-08-06 21:22:35 +03:00
Pavel Kulyov
d7055814d3
readme: use proper language modes for source code snippets
2025-08-06 21:22:35 +03:00
ea13df186f
add structure attributes support to sex
2025-08-06 15:38:04 +03:00
a6800aaeb6
fix nested structures in fmt-c
2025-08-06 15:38:04 +03:00
6c6e00e6dc
implement new macro system
2025-08-06 15:38:04 +03:00
Pavel Kulyov
4245463714
Merge pull request #2 from alex-eg/compiler-enhancements
...
Compiler enhancements
2025-08-05 03:05:32 +03:00
21ddecf406
fix modules.scm not having current-directory
2025-08-05 02:03:21 +03:00
bf9b408c11
import srfi-13 to fmt-c unit
2025-08-05 02:03:01 +03:00
2780ae0cb1
nicer comment format in modules.scm
2025-08-05 02:03:01 +03:00
31d0aa574b
saner getting of c compiler args from the cmdline
2025-08-05 02:03:01 +03:00
9b50d26c82
numerous typos in Readme.org
2025-08-05 01:42:40 +03:00
8dbdf4b381
add actual chicken deps to the list of deps
2025-08-05 01:42:11 +03:00
466be8ef6e
remove all garbage when make clean
2025-08-05 01:41:56 +03:00
41c3f3bd98
make fmt-c a unit
2025-08-03 21:44:43 +03:00
3ad25b3788
make return explicit
...
Required pulling in fmt-c.scm file though :(
2025-08-03 19:01:19 +03:00
a0f1f5cc17
fix sex-tests
...
;-P
2025-08-03 13:49:35 +03:00
401857e04b
remove hello-world.sex from the root directory
2025-08-02 10:49:38 +03:00
d4e1471f44
remove unused function
2025-08-02 10:49:38 +03:00
4b6a7d5209
add sex-tests
2025-08-02 10:49:38 +03:00
3e535c9517
update example and Readme.org
2025-08-02 10:49:38 +03:00
bc54ae6a05
modularize Sex compiler
2025-08-02 10:49:38 +03:00
4be0d3f5ac
prettify --help output and add it to Readme.org
2025-08-02 10:49:38 +03:00
d2998f79ff
update Readme.org
...
Add info about compilation and modules.
2025-08-02 10:49:38 +03:00
44a352849a
implement modules
2025-08-02 10:49:38 +03:00
93a4d181d0
add hello-world example
2025-08-02 10:49:38 +03:00
6fc1688e41
call C compiler from Sex directly
...
Also rework options printing, add some cmdline options, rework others,
all in all, the logic is now looking like this:
* -E to emit C code
* -m to emit macro-expanded Sex code
* -c to emit object file instead of executable
* --c-compiler to set C compiler. If not provided, check SEX_CC
enviroment variable, if it's empty, default to `cc'
* options after -- are passed to C compiler
* default mode is to compile Sex module to executable
2025-08-02 10:49:38 +03:00
7967a75313
remove some stray variable
2025-08-02 10:49:38 +03:00
5c714d8c36
fix hello-world.sex
2025-07-30 12:48:29 +03:00
0cc324e11d
fix pub wrong indent
2025-07-17 11:50:04 +03:00
76ca609ea6
Make Sex templates more pleasant syntactically
...
No more unquotes to instantiate templates.
Also no need to pass quoted substitution lists, just use them as
regular lisp macros.
2025-07-11 18:27:50 +03:00
c084eaa397
add info about Emacs sex-mode to Readme.org
2025-06-19 12:31:43 +03:00
7e8f9197fb
update Readme.org
...
a bit of spellchecking, add some examples for templates
2025-06-16 15:18:21 +03:00