aboutsummaryrefslogtreecommitdiffstats
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/kernel/tools/cpp.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/libc/kernel/tools/cpp.py b/libc/kernel/tools/cpp.py
index 4b4bd3826..8828a5d23 100644
--- a/libc/kernel/tools/cpp.py
+++ b/libc/kernel/tools/cpp.py
@@ -1863,6 +1863,16 @@ class BlockList:
tokens = tokens[:-1] # remove trailing tokLN
self.blocks = [ Block(tokens) ] + self.blocks
+ def replaceTokens(self,replacements=dict()):
+ """replace tokens according to the given dict
+ """
+ for b in self.blocks:
+ if not b.isDirective():
+ for tok in b.tokens:
+ if tok.id == tokIDENT:
+ if tok.value in replacements:
+ tok.value = replacements[tok.value]
+
class BlockParser:
"""a class used to convert an input source file into a BlockList object"""