假设我正在分析 Ruby 的方法定义:
def print_greeting(greeting = "hi")
end
词法分析器的职责是维护状态并发出相关令牌,还是应该相对简单?请注意,在上面的示例中,greeting
参数具有默认值 "hi"
。在不同的上下文中,greeting = "hi"
是变量赋值,它将 greeting
设置为 "hi"
。词法分析器是否应该发出通用标记,例如 IDENTIFIER EQUALS STRING
,还是应该具有上下文感知能力,并发出像 PARAM_NAME EQUALS STRING
这样的标记?
new Map<String, Array<String>>()
? - Flosculus