equal
deleted
inserted
replaced
56 switch = do |
56 switch = do |
57 try $ string "{$" |
57 try $ string "{$" |
58 s <- choice [ |
58 s <- choice [ |
59 include |
59 include |
60 , ifdef |
60 , ifdef |
|
61 , if' |
61 , elseSwitch |
62 , elseSwitch |
62 , endIf |
63 , endIf |
63 , define |
64 , define |
64 , unknown |
65 , unknown |
65 ] |
66 ] |
87 spaces |
88 spaces |
88 char '}' |
89 char '}' |
89 |
90 |
90 updateState $ \(m, b) -> |
91 updateState $ \(m, b) -> |
91 (m, (f $ d `Map.member` m) : b) |
92 (m, (f $ d `Map.member` m) : b) |
92 |
|
93 |
93 |
94 return "" |
94 return "" |
|
95 |
|
96 if' = do |
|
97 s <- try (string "IF" >> notFollowedBy alphaNum) |
95 |
98 |
|
99 manyTill anyChar (char '}') |
|
100 --char '}' |
|
101 |
|
102 updateState $ \(m, b) -> |
|
103 (m, False : b) |
|
104 |
|
105 return "" |
|
106 |
96 elseSwitch = do |
107 elseSwitch = do |
97 try $ string "ELSE}" |
108 try $ string "ELSE}" |
98 updateState $ \(m, b:bs) -> (m, (not b):bs) |
109 updateState $ \(m, b:bs) -> (m, (not b):bs) |
99 return "" |
110 return "" |
100 endIf = do |
111 endIf = do |