From 80e9cc66a506caf274e9ca9280e6f7e34baab16e Mon Sep 17 00:00:00 2001 From: crawshaw Date: Tue, 16 Nov 2004 16:08:19 +0000 Subject: [PATCH] add #else support to #ifdef darcs-hash:20041116160819-2eb37-2cee6252dbbce500a710c992fb44ebc5091b14fe.gz --- src/java/ibex/tool/Preprocessor.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/java/ibex/tool/Preprocessor.java b/src/java/ibex/tool/Preprocessor.java index 1639829..c8307da 100644 --- a/src/java/ibex/tool/Preprocessor.java +++ b/src/java/ibex/tool/Preprocessor.java @@ -19,6 +19,8 @@ import java.io.*; * * //#ifdef FOO -- includes contents if FOO passed as define to preprocessor * [code] + * //#else + * [code run if !FOO] * //#endif * * Replacements are done on a token basis. Tokens are defined as a @@ -215,7 +217,8 @@ PROCESS: out.println(trimmed); boolean useCode = defs.contains(expr); for (trimmed = in.readLine().trim(); !trimmed.startsWith("//#endif"); trimmed = in.readLine().trim()) { - if (!useCode) out.print("// "); + if (trimmed.startsWith("//#else")) useCode = !useCode; + else if (!useCode) out.print("// "); out.print(processLine(trimmed, false)); } out.println("//#endif "+expr); -- 1.7.10.4