假设我想解析我的新语言,如下所示:
主.mylang
import "tags.mylang"
cat dog bacon
还有另一个文件tags.mylang
看起来像这样:
cat "meow"
dog "woof"
bacon "sizzle"
运行main.mylang
会输出
meow woof sizzle
我遇到的问题是“猫”、“狗”和“培根”是在一个单独的文件中定义的,正如我的mylang
开发人员所实现的那样;即,我不能事先让它们成为语法的一部分。
是否可以在解析时将这些标签动态添加到语法中?我不想添加通配符\w+
或其他东西,因为我希望它在无法识别的标签上出错。