我目前正在为我设计的语言编写一个解释器。
lexer/解析器(GLR)是用Flex/Bison编写的,是D中的主要解释器--到目前为止,一切都运行得很完美。
问题是,我还想添加字符串插值,即识别包含特定模式(例如"[some expression]")的字符串文本,并转换包含的表达式。我认为这应该在解析器级别,在相应的语法动作中完成。
我的想法是将插值的字符串转换/处理为简单的级联(就像它现在工作的那样)。
例如。
print "this is the [result]. yay!"
到
print "this is the " + result