我在 PHP 中构建了一个基本的标记器,现在它解析类似于 javascript 的东西,尽管不需要分号来分隔语句。
a = 1
b = a + 1
echo b
T_IDENTIFIER a
T_EQUAL =
T_NUMBER 1
T_IDENTIFIER b
T_EQUAL =
T_IDENTIFIER a
T_NUMBER 1
T_IDENTIFIER echo
T_IDENTIFIER b
这是我的第一个编译器,所以我不确定我是否准备好继续解析。我忽略了词法分析器上的换行符,因此语句之间没有分隔符,但在我的 DSL 中,换行符可以用作分号的替代方案。
我的问题是,我应该开始担心在词法分析器上分离语句还是应该修改我的标记器以包含换行符?