*
* //#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
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);