diff options
author | Raymaekers Luca <luca@spacehb.net> | 2025-03-18 11:26:40 +0100 |
---|---|---|
committer | Raymaekers Luca <luca@spacehb.net> | 2025-03-18 11:26:40 +0100 |
commit | fee81a2dbda7791f462adc70e080e4bb6e96365f (patch) | |
tree | 22eeb8e39ecf018bbad00a7e327d47bf8e389c14 /examples | |
parent | c1cbf799aef1393fecd707b6121c8a3d94d0a773 (diff) |
Bug fixes
Fixed not outputting '@' if no keyword follows
Fixed not outputting newline after @expand expression
Diffstat (limited to 'examples')
-rw-r--r-- | examples/table.c | 27 | ||||
-rwxr-xr-x | examples/table.meta | bin | 0 -> 15488 bytes | |||
-rw-r--r-- | examples/table.meta.c | 21 |
3 files changed, 48 insertions, 0 deletions
diff --git a/examples/table.c b/examples/table.c new file mode 100644 index 0000000..63edb16 --- /dev/null +++ b/examples/table.c @@ -0,0 +1,27 @@ +#include <stdio.h> + +@table(name, str) MyEnumTable +{ + { A "A" } + { B "Beau Gosse" } + { C "C" } +} + +typedef enum { +@expand(MyEnumTable a) +` MyEnum_$(a.name),` + MyEnum_Count +} MyEnum; + +char *StringTable[MyEnum_Count] = { +@expand(MyEnumTable a) +` $(a.str),` +}; + +int +main(int Argc, char *Args[]) +{ + printf("@: %s\n", StringTable[MyEnum_B]); + + return 0; +} diff --git a/examples/table.meta b/examples/table.meta Binary files differnew file mode 100755 index 0000000..2976f54 --- /dev/null +++ b/examples/table.meta diff --git a/examples/table.meta.c b/examples/table.meta.c new file mode 100644 index 0000000..5534457 --- /dev/null +++ b/examples/table.meta.c @@ -0,0 +1,21 @@ +#include <stdio.h> + + + +typedef enum { + MyEnum_A, // "A" MyEnum_B, // "Beau Gosse" MyEnum_C, // "C" MyEnum_Count +} MyEnum; + +char *StringTable[MyEnum_Count] = { + "A", + "Beau Gosse", + "C", +}; + +int +main(int Argc, char *Args[]) +{ + printf("%s\n", StringTable[MyEnum_B]); + + return 0; +} |