如何匹配一个函数声明?

问题描述 投票:0回答:1

为了匹配一个变量绑定,你用这个。

    /* Rules for keywords */
val             { return VAL; }

所以你把val这个词放在关键字的规则下,那怎么办?

fun f x = 5 + x;

你如何匹配函数f?

parsing bison flex
1个回答
0
投票

给定一个变量声明 val x = 42你所引用的规则将符合 val 关键字,并将其识别为类型为 VAL. 声明的其余部分将由其他规则匹配。 x 例如,会被标识符的规则所匹配。

所以为了匹配 fun 关键词中 fun f x = 5 + x,你会同样定义一个规则 fun { return FUN; } (并加上 FUN 到您的代币列表中(如果它还没有在那里)。) 列表中的 fx 会被匹配的同一标识符规则所匹配。xval x = 42.

© www.soinside.com 2019 - 2024. All rights reserved.