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

TypeScript decaffeinate-parser.parse函数代码示例

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

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



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

示例1: statement

function statement(code: string): Node {
  let body = parse(code).body;
  if (!body) {
    throw new Error('Expected non-null body.');
  }
  return body.statements[0];
}
开发者ID:alangpierce,项目名称:decaffeinate,代码行数:7,代码来源:Scope_test.ts


示例2: it

 it('does simple counting within a program', () => {
   let ast = parse(`
     x = 1
     for x in y
       console.log x
   `);
   strictEqual(countVariableUsages(ast, 'x'), 3);
   strictEqual(countVariableUsages(ast, 'y'), 1);
   strictEqual(countVariableUsages(ast, 'z'), 0);
 });
开发者ID:alangpierce,项目名称:decaffeinate,代码行数:10,代码来源:countVariableUsages_test.ts


示例3: it

 it('formats an AST for normal CoffeeScript code', () => {
   let source = stripSharedIndent(`
     loop
       x = a()
       break
   `);
   let formattedTokens = formatDecaffeinateParserAst(parse(source), new CodeContext(source));
   strictEqual(
     formattedTokens,
     stripSharedIndent(`
     Program [1:1(0)-3:8(22)] {
       body: Block [1:1(0)-3:8(22)] {
         inline: false
         statements: [
           Loop [1:1(0)-3:8(22)] {
             body: Block [2:3(7)-3:8(22)] {
               inline: false
               statements: [
                 AssignOp [2:3(7)-2:10(14)] {
                   assignee: Identifier [2:3(7)-2:4(8)] {
                     data: "x"
                   }
                   expression: FunctionApplication [2:7(11)-2:10(14)] {
                     function: Identifier [2:7(11)-2:8(12)] {
                       data: "a"
                     }
                     arguments: []
                   }
                 }
                 Break [3:3(17)-3:8(22)] {
                 }
               ]
             }
           }
         ]
       }
     }
   `) + '\n'
   );
 });
开发者ID:alangpierce,项目名称:decaffeinate,代码行数:40,代码来源:formatDecaffeinateParserAst_test.ts


示例4: convertCustomStage

function convertCustomStage(source: string, stageName: string, useCS2: boolean): ConversionResult {
  let context = new CodeContext(source);
  if (stageName === 'coffeescript-lexer') {
    let tokens = useCS2 ? getCoffee2Tokens(source) : getCoffee1Tokens(source);
    return {
      code: formatCoffeeScriptLexerTokens(tokens, context)
    };
  } else if (stageName === 'coffeescript-parser') {
    let nodes = useCS2 ? getCoffee2Nodes(source) : getCoffee1Nodes(source);
    return {
      code: formatCoffeeScriptAst(nodes, context)
    };
  } else if (stageName === 'coffee-lex') {
    return {
      code: formatCoffeeLexTokens(lex(source, { useCS2 }), context)
    };
  } else if (stageName === 'decaffeinate-parser') {
    return {
      code: formatDecaffeinateParserAst(decaffeinateParse(source, { useCS2 }), context)
    };
  } else {
    throw new Error(`Unrecognized stage name: ${stageName}`);
  }
}
开发者ID:alangpierce,项目名称:decaffeinate,代码行数:24,代码来源:index.ts


示例5: create

 static create(source: string, useCS2: boolean): DecaffeinateContext {
   let program = decaffeinateParse(source, { useCS2 });
   return new DecaffeinateContext(
     program,
     source,
     program.context.sourceTokens,
     program.context.ast,
     program.context.linesAndColumns,
     computeParentMap(program),
     computeScopeMap(program)
   );
 }
开发者ID:alangpierce,项目名称:decaffeinate,代码行数:12,代码来源:DecaffeinateContext.ts



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
TypeScript decentraland-commons.Log类代码示例发布时间:2022-05-25
下一篇:
TypeScript Debug.enable函数代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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