projects
/
org.ibex.tool.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
af2cf6f
)
add #else support to #ifdef
author
crawshaw
<crawshaw@ibex.org>
Tue, 16 Nov 2004 16:08:19 +0000
(16:08 +0000)
committer
crawshaw
<crawshaw@ibex.org>
Tue, 16 Nov 2004 16:08:19 +0000
(16:08 +0000)
darcs-hash:
20041116160819
-2eb37-
2cee6252dbbce500a710c992fb44ebc5091b14fe
.gz
src/java/ibex/tool/Preprocessor.java
patch
|
blob
|
history
diff --git
a/src/java/ibex/tool/Preprocessor.java
b/src/java/ibex/tool/Preprocessor.java
index
1639829
..
c8307da
100644
(file)
--- 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]
*
* //#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
* //#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()) {
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);
out.print(processLine(trimmed, false));
}
out.println("//#endif "+expr);