技术控

    今日:0| 主题:63445
收藏本版 (1)
最新软件应用技术尽在掌握

[其他] Esprima port to C#

[复制链接]
紅顔只爲君笑 发表于 2016-10-1 14:49:28
155 1
Esprima .NET(BSD license) is a .NET port of the    esprima.orgproject. It is a standard-compliant    ECMAScriptparser (also popularly known as    JavaScript).  
  Features

  
       
  • Full support for ECMAScript 2016 (      ECMA-262 7th Edition)   
  • Sensiblesyntax tree format as standardized byESTree project   
  • Optional tracking of syntax node location (index-based and line-column)   
  • Heavily tested  
  API

  Esprima can be used to perform    lexical analysis(tokenization) or    syntactic analysis(parsing) of a JavaScript program.  
  A simple C# example:
  1. var parser = new JavaScriptParser("const answer = 42");
  2. var program = parser.ParseProgram();
复制代码
Will return this when serialized in json:
  1. {
  2.     "type": "Program",
  3.     "body": [
  4.         {
  5.             "type": "VariableDeclaration",
  6.             "declarations": [
  7.                 {
  8.                     "type": "VariableDeclarator",
  9.                     "id": {
  10.                         "type": "Identifier",
  11.                         "name": "answer"
  12.                     },
  13.                     "init": {
  14.                         "type": "Literal",
  15.                         "value": 42,
  16.                         "raw": "42"
  17.                     }
  18.                 }
  19.             ],
  20.             "kind": "const"
  21.         }
  22.     ],
  23.     "sourceType": "script"
  24. }
复制代码
Benchmarks

  Here is a list of common JavaScript libraries and the time it takes to parse them, compared to the time it took for the same script using the original Esprima in Chrome.
                    Script        Size        Esprima .NET        Esprima (Chrome)                            underscore-1.5.2        43 KB        3.9 ms        6.6 ms                    backbone-1.1.0        60 KB        4.4 ms        6.1 ms                    mootools-1.4.5        163 KB        33.2 ms        29.8 ms                    jquery-1.9.1        271 KB        44.2 ms        36.2 ms                    yui-3.12.0        341 KB        27.6 ms        33.4 ms                    jquery.mobile-1.4.2        456 K        65.4 ms        159.1 ms                    angular-1.2.5        721 KB        56.6 ms        98.4 ms
问筠 发表于 2016-10-2 04:04:16
无图无真相!
回复 支持 反对

使用道具 举报

我要投稿

推荐阅读


回页顶回复上一篇下一篇回列表
手机版/c.CoLaBug.com ( 粤ICP备05003221号 | 粤公网安备 44010402000842号 )

© 2001-2017 Comsenz Inc.

返回顶部 返回列表