本文整理匯總了TypeScript中@masala/parser.F.lazy方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript F.lazy方法的具體用法?TypeScript F.lazy怎麽用?TypeScript F.lazy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@masala/parser.F
的用法示例。
在下文中一共展示了F.lazy方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: B
/**
* There is recursion, and we call A with lazy. We send PARAMETERS to A
* within an array
*/
function B(aVal) {
return C.char('B').map(bVal=> aVal.join('')+'-'+bVal).or(F.lazy(A, ['a']));
}
示例2: plusExpr
function plusExpr() {
return plusOperation().drop().then(subExpr())
.then(F.lazy(optionalPlusExpr))
.map(([left,right])=>left+right.orElse(0));
}
示例3: multExpr
function multExpr() {
return andOperation().drop().then(terminal())
.then(F.lazy(optionalMultExpr))
.map(([left,right]) => left * right.orElse(1));
}
示例4: parenthesisExpr
function parenthesisExpr() {
return parenthesis('(').then(blank().opt()).drop()
.then(F.lazy(expr))
.then(parenthesis(')').then(blank().opt()).drop());
}