TXL 编程与 TIL 语言处理入门
1. TXL 基础功能
在 TXL 编程中,搜索函数是一项重要的功能。搜索函数用 “replace *” 表示,它会在其作用域内查找并转换模式的首次出现,但不会重复执行。当只期望匹配一个结果,或者只需要转换第一个匹配项时,就会使用搜索函数。
以下是一个搜索函数的示例:
function resolveFirstAdditionExpression
replace * [expression]
N1 [number] + N2 [number]
by
N1 [+ N2]
end function
这个函数会在表达式中查找第一个由两个数字相加的模式,并将其转换为 N1 [+ N2] 的形式。
规则和函数还可以传递参数。参数的作用是将应用规则中变量的值绑定到子规则的形式参数上。参数可以用于从多个部分构建转换结果,或者将全局上下文传递到转换规则或函数中。
下面是一个使用参数的规则示例:
rule resolveConstants
replace [statement*]
const C [id] = V [primary];
RestOfScope [statement*]
by
RestOfScope [replaceByValue C V]
end rule
rule replaceByValue ConstName [id] Value [primary]
replace
超级会员免费看
订阅专栏 解锁全文
697

被折叠的 条评论
为什么被折叠?



