From 145834ffd115143724efe6ebdeabb6dbda57dcb4 Mon Sep 17 00:00:00 2001 From: Michał Lenart <michall@ipipan.waw.pl> Date: Tue, 8 Apr 2014 16:43:49 +0000 Subject: [PATCH] dodana obsługa #else --- fsabuilder/morfeuszbuilder/segrules/preprocessor.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fsabuilder/morfeuszbuilder/segrules/preprocessor.py b/fsabuilder/morfeuszbuilder/segrules/preprocessor.py index dd5d8c0..ecd03c6 100644 --- a/fsabuilder/morfeuszbuilder/segrules/preprocessor.py +++ b/fsabuilder/morfeuszbuilder/segrules/preprocessor.py @@ -94,14 +94,12 @@ def preprocess(inputLines, defs, filename): elif line.startswith('#else'): name, isActive = ifdefsStack[-1] assert isActive - ifdefsStack[-1] = name, False + ifdefsStack[-1] = (name, False) # ifdefsStack.pop() elif line.startswith('#endif'): ifdefsStack.pop() elif line.startswith('#'): yield lineNum, line - elif len(ifdefsStack) == 0 or \ - (all(map(lambda (name, isActive): name in defs and isActive, ifdefsStack)) - and not any(map(lambda (name, isActive): name in defs and not isActive, ifdefsStack))): + elif len(ifdefsStack) == 0 or all(map(lambda (name, isActive): (name in defs and isActive) or (name not in defs and not isActive), ifdefsStack)): yield lineNum, _processLine(lineNum, line, defines, filename) \ No newline at end of file -- libgit2 0.22.2