Commit 145834ffd115143724efe6ebdeabb6dbda57dcb4

Authored by Michał Lenart
1 parent 28d7348f

dodana obsługa #else

git-svn-id: svn://svn.nlp.ipipan.waw.pl/morfeusz/morfeusz@160 ff4e3ee1-f430-4e82-ade0-24591c43f1fd
fsabuilder/morfeuszbuilder/segrules/preprocessor.py
... ... @@ -94,14 +94,12 @@ def preprocess(inputLines, defs, filename):
94 94 elif line.startswith('#else'):
95 95 name, isActive = ifdefsStack[-1]
96 96 assert isActive
97   - ifdefsStack[-1] = name, False
  97 + ifdefsStack[-1] = (name, False)
98 98 # ifdefsStack.pop()
99 99 elif line.startswith('#endif'):
100 100 ifdefsStack.pop()
101 101 elif line.startswith('#'):
102 102 yield lineNum, line
103   - elif len(ifdefsStack) == 0 or \
104   - (all(map(lambda (name, isActive): name in defs and isActive, ifdefsStack))
105   - and not any(map(lambda (name, isActive): name in defs and not isActive, ifdefsStack))):
  103 + elif len(ifdefsStack) == 0 or all(map(lambda (name, isActive): (name in defs and isActive) or (name not in defs and not isActive), ifdefsStack)):
106 104 yield lineNum, _processLine(lineNum, line, defines, filename)
107 105  
108 106 \ No newline at end of file
... ...