• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript parser.F类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中@masala/parser.F的典型用法代码示例。如果您正苦于以下问题:TypeScript F类的具体用法?TypeScript F怎么用?TypeScript F使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了F类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: combinator

function combinator() {
    return C.letters()
        .then(C.char(' '))
        .then(C.lowerCase().rep())
        .then(C.char(' '))
        .then(C.notString('romane').rep())
        .then(F.eos());
}
开发者ID:d-plaindoux,项目名称:parsec,代码行数:8,代码来源:letter-letterAs.ts


示例2: combinator

function combinator() {
    return F.any().then(day()).then(F.nop()).then(F.any()).thenEos();
}
开发者ID:d-plaindoux,项目名称:parsec,代码行数:3,代码来源:nop-any-eos.ts


示例3: combinator

function combinator() {
    return F.not(day()).then(F.not(a())).then(F.not(day()));
}
开发者ID:d-plaindoux,项目名称:parsec,代码行数:3,代码来源:not.ts


示例4: combinator

function combinator() {
    return F.startWith('hello: ')
        .then(F.moveUntil('brown'))
        .then(C.string('brown'))
        .then(F.dropTo('dog'))
}
开发者ID:d-plaindoux,项目名称:parsec,代码行数:6,代码来源:startWith-moveUntil-dropTo.ts


示例5: emptyTry

function emptyTry() {
    return F.try(C.string('xyz'));
}
开发者ID:d-plaindoux,项目名称:parsec,代码行数:3,代码来源:try-with-no-or.ts


示例6:

import {Streams, F, C, N} from '@masala/parser'
import {assertEquals, assertArrayEquals, assertTrue} from '../../assert';

// Parsec needs a stream of characters
const document = '12';
const s = Streams.ofString(document);

// numberLitteral defines any int or float number
// We expect a number, then eos: End Of Stream
// We use drop() because we don't need the value of F.eos, we only want 12
const numberParser = N.numberLiteral().then(F.eos().drop());
const parsing = numberParser.parse(s);

// If the parser reached the end of stream (F.eos) without rejection, parsing is accepted
assertTrue(parsing.isAccepted());
// The parser has a 12 value inside the monoid
assertEquals (12, parsing.value);

开发者ID:d-plaindoux,项目名称:parsec,代码行数:17,代码来源:number.ts


示例7:

import {Streams, F, C, N} from '@masala/parser'
import {assertEquals} from '../../assert';


/**
 * Created by Nicolas Zozol on 05/11/2017.
 */
const stream = Streams.ofString('abc');
const charsParser = C.char('a')
    .then(C.char('b'))
    .then(C.char('c'))
    .then(F.eos().drop()); // End Of Stream ; droping its value, just checking it's here
let charsParsing = charsParser.parse(stream);
assertEquals('abc', charsParsing.value.join(''), 'Chars parsing');

开发者ID:d-plaindoux,项目名称:parsec,代码行数:14,代码来源:chars.ts


示例8: multExpr

function multExpr() {
    return andOperation().drop().then(terminal())
        .then(F.lazy(optionalMultExpr))
        .map(([left,right]) => left * right.orElse(1));
}
开发者ID:d-plaindoux,项目名称:parsec,代码行数:5,代码来源:plus-minus.ts


示例9: 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']));
}
开发者ID:d-plaindoux,项目名称:parsec,代码行数:7,代码来源:transmission.ts


示例10: plusExpr

function plusExpr() {
    return plusOperation().drop().then(subExpr())
        .then(F.lazy(optionalPlusExpr))
        .map(([left,right])=>left+right.orElse(0));
}
开发者ID:d-plaindoux,项目名称:parsec,代码行数:5,代码来源:plus-minus.ts



注:本文中的@masala/parser.F类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript parser.Streams类代码示例发布时间:2022-05-28
下一篇:
TypeScript parser.C类代码示例发布时间:2022-05-28
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap