#value macro

This commit is contained in:
2022-11-02 20:47:22 +00:00
parent 8df2f4ffb3
commit 2af8b8c95f
2 changed files with 7 additions and 0 deletions

View File

@@ -268,6 +268,12 @@ class Macros {
addCond(k, macros, "cond", "if");
addCond(k, macros, "#cond", "#if");
k.doc("#value", 1, 1, '(#value "<name>")');
macros["#value"] = (wholeExp:ReaderExp, args:Array<ReaderExp>, k:KissState) -> {
var b = wholeExp.expBuilder();
b.str(Context.definedValue(compileTimeResolveToString("The only argument to (#value...)", "a compiler flag's name", args[0], k)));
};
k.doc("or", 1, null, "(or <v1> <values...>)");
function _or(wholeExp:ReaderExp, args:Array<ReaderExp>, k) {
var b = wholeExp.expBuilder();

View File

@@ -54,6 +54,7 @@ class Reader {
forceSymbol("#cond");
forceSymbol("#case");
forceSymbol("#extern");
forceSymbol("#value");
readTable["/*"] = (stream:Stream, k) -> {
stream.takeUntilAndDrop("*/");