From 2af8b8c95f49027d4ebb3946747f01a6dc0131ca Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Wed, 2 Nov 2022 20:47:22 +0000 Subject: [PATCH] #value macro --- kiss/src/kiss/Macros.hx | 6 ++++++ kiss/src/kiss/Reader.hx | 1 + 2 files changed, 7 insertions(+) diff --git a/kiss/src/kiss/Macros.hx b/kiss/src/kiss/Macros.hx index 53311416..02c5e1be 100644 --- a/kiss/src/kiss/Macros.hx +++ b/kiss/src/kiss/Macros.hx @@ -268,6 +268,12 @@ class Macros { addCond(k, macros, "cond", "if"); addCond(k, macros, "#cond", "#if"); + k.doc("#value", 1, 1, '(#value "")'); + macros["#value"] = (wholeExp:ReaderExp, args:Array, 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 )"); function _or(wholeExp:ReaderExp, args:Array, k) { var b = wholeExp.expBuilder(); diff --git a/kiss/src/kiss/Reader.hx b/kiss/src/kiss/Reader.hx index e3962ebe..96b6992f 100644 --- a/kiss/src/kiss/Reader.hx +++ b/kiss/src/kiss/Reader.hx @@ -54,6 +54,7 @@ class Reader { forceSymbol("#cond"); forceSymbol("#case"); forceSymbol("#extern"); + forceSymbol("#value"); readTable["/*"] = (stream:Stream, k) -> { stream.takeUntilAndDrop("*/");