npm 包 @shimaore/jison 使用教程

介绍

@shimaore/jison 是一个处理文本文件的工具包,它使用 Jison 来生成语法分析器。它的功能可以帮助前端开发者处理从文本文件读取的数据,例如字符串格式化、模板解析、编译器开发等等。

安装

你可以通过 npm 来安装 @shimaore/jison:

--- ------- ---------------

或者作为一个项目的依赖,使用 --save 标志:

--- ------- --------------- ------

使用

在这个教程中,我们将使用 @shimaore/jison 来解析包含四则运算的表达式。你可以先创建一个 arithmetic.jison 文件,用来定义语法规则:

-- ------- ------- --
----
--
- -----                   -- ---- ---------- --
---                       ------ ---
---                       ------ ---
---                       ------ ---
---                       ------ ---
---                       ------ ---
---                       ------ ---
---                       ------ ---
------                    ------ --------
-------                   ------ -----
-                         ------ ---------

----

-- -------- ------------ --- ---------- --

----- --- ---
----- --- ---
----- ------

-- ------- ----- --

------ -----------

-- -- -------- ------- --

-----------
    - - ---
        - ------ --- -
    -

-
    - - --- -
        - -- - -- - --- -
    - - --- -
        - -- - -- - --- -
    - - --- -
        - -- - -- - --- -
    - - --- -
        - -- - -- - --- -
    - --- - ----- ------
        - -- - ---- -
    - --- - ---
        - -- - --- -
    - ------
        - -- - ----------- -
    -

表达式的语法规则相当基本,它使用通用的 BNF(巴科斯范式)风格,你不需要过多地关心其中的语法细节。如果你想了解更多关于 Jison 的语法规则和概念,你可以访问 Jison 的官方文档

接下来,我们可以使用 @shimaore/jison 包来生成语法分析器:

----- ----- - --------------------------
----- -- - -------------

----- ------- - ------------------------------------- -------
----- ------ - --- ---------------------

----- ------ - --------------- - - - -- - -- - ---
------------------- -- -- ----

在上面的示例代码中,我们首先读取 arithmetic.jison 文件,然后使用 new jison.Parser(grammar) 来创建一个新的分析器对象。最后,我们使用 parser.parse() 方法来分析表达式,结果输出为 -0.2

总结

在本文中,我们介绍了 @shimaore/jison 包的使用方法,以及如何创建语法规则,并通过一个简单的例子来展示如何利用 @shimaore/jison 包处理文本文件。无论是字符串格式化、模板解析、编译器开发等等,@shimaore/jison 包都可以为你提供方便和效率。希望这篇文章能够对你有所帮助!

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066b5f51ab1864dac6719b


猜你喜欢

  • npm 包 @iota-pico/pow-box 使用教程

    前言 在进行 IOTA 的开发过程中,使用 Pow(证明权重)算法是不可避免的。在 IOTA 中,这个过程需要进行 CPU 计算,如要进行大量的计算时需要消耗大量时间。

    3 年前
  • npm 包 @iotame/builtins 使用教程

    前言 随着前端开发的快速发展,前端工程化已经成为一个趋势。处理前端开发过程中的项目依赖管理,npm 成为了前端开发重要的工具之一。在众多的 npm 包中,@iotame/builtins 这个包提供了...

    3 年前
  • npm 包 @ipfn/cell-cid 使用教程

    前言 在前端开发中,我们经常需要进行数据的存储和传输。CID(Content Identifier)是一个用于唯一标识数据的标准格式。在以太坊应用等场景下,CID 更是扮演着重要的角色。

    3 年前
  • npm 包 @ipfn/cell-codec-pb 使用教程

    简介 在前端开发中,常常需要将数据进行序列化和反序列化。Protobuf 是一种高效的数据传输方式,它可以帮助我们在不同平台和语言之间传输多种复杂的数据类型。而 @ipfn/cell-codec-pb...

    3 年前
  • npm 包 @ipfn/cell-codecs 使用教程

    简介 @ipfn/cell-codecs 是一个 JavaScript 包,为 IPFS 协议提供了数据编码解码的功能。它可以帮助开发者在 IPFS 协议中实现数据的序列化和反序列化,从而在 IPFS...

    3 年前
  • npm 包 @ipfn/cell-pb 使用教程

    简介 @ipfn/cell-pb 是一个用于在 JavaScript 中处理 Protocol Buffers 数据格式的 npm 包。Protocol Buffers 是一种可扩展、语言无关、平台无...

    3 年前
  • npm 包 customer.min.js 使用教程

    简介 customer.min.js 是一个基于 jQuery 的轻量级客户端模板引擎,它可以帮助我们在前端实现模板渲染,十分方便快捷。 安装 首先,你需要确保已经安装了 Node.js。

    3 年前
  • npm 包 @ipfn/cells 使用教程

    前言 @ipfn/cells 是一个 Node.js 中用于高效管理表格数据的 npm 包。使用它可以轻松地创建、修改和删除单元格、行、列,以及整个表格的内容。本教程将详细介绍如何安装和使用 @ipf...

    3 年前
  • npm 包@immutable-array/unshift 使用教程

    在前端开发中,数组是经常使用的数据结构之一。在一些情况下,我们需要保证数组的不可变性,即某些操作不会修改原有的数组,而是返回一个新的数组。这时候,可以使用一个叫做 immutable-array 的 ...

    3 年前
  • npm 包 @ipfn/util 使用教程

    介绍 @ipfn/util 是一个优秀的 npm 包,它提供了一些实用的函数工具,可以让我们更加方便和高效地处理数据和信息。这些工具函数有几乎覆盖了前端开发中的所有操作和需求,因此对于前端开发者来说,...

    3 年前
  • npm 包 @irysius/anguli-components 使用教程

    介绍 @irysius/anguli-components 是一款基于 Angular 开发的 UI 组件库,提供了多种常用组件,例如按钮、输入框、表单、对话框等等。

    3 年前
  • npm 包 @irysius/anguli-cli 使用教程

    前言 在现如今以 Web 这个平台为基础的开发领域,前端的技术发展尤其迅速。Angular 是现代 Web 应用开发技术中一个广泛应用且联想到了许多行业的框架。@irysius 公司的 Anguli-...

    3 年前
  • npm 包 cdn.min.js 的使用教程

    在前端开发中,我们常常会用到各种各样的 JavaScript 库和框架来帮助我们快速开发高质量的网站和应用程序。其中,npm 是最常用且最受欢迎的包管理工具之一,而 cdn.min.js 则是一个非常...

    3 年前
  • NPM 包 @immutable-array/prototype 使用教程

    在前端开发中,数组的操作和处理是非常常见的。而在处理数组时,为了避免出现不必要的错误和副作用,我们需要一个可控、可预测的数组操作方式。这就是 @immutable-array/prototype NP...

    3 年前
  • npm 包 @iota-pico/crypto 使用教程

    什么是 @iota-pico/crypto? @iota-pico/crypto 是一个专门为 IOTA 区块链设计的 JavaScript 库,支持用于加密散列、转换、签名和验证等操作。

    3 年前
  • npm 包 @immutable-array/pop 使用教程

    前言 在开发过程中,我们经常需要对数组进行删除操作。JavaScript 提供了一系列的数组操作方法,其中 Array.pop() 方法用于删除数组的最后一个元素,并返回该元素的值。

    3 年前
  • npm 包 @iota-pico/pal-browser 使用教程

    前言 在 Web 开发中,如何确保代码技术与标准的一致性和可移植性?npm 包作为一种模块化的解决方案,能够提供稳定和可靠的代码和工具库。本篇文章将介绍一个名为 @iota-pico/pal-brow...

    3 年前
  • npm 包 create.min.js 使用教程

    什么是 create.min.js create.min.js 是一个常用的 npm 包,用于在前端开发中快速创建 DOM 元素。使用 create.min.js 可以让前端开发者更加便捷地进行页面构...

    3 年前
  • npm 包 @iota-pico/pow-wasm 使用教程

    前言 随着区块链技术的发展和应用,越来越多的领域开始关注和应用分布式账本技术。而 IOTA 技术作为其中一种开源的分布式账本技术,也开始被越来越多的开发者所关注和使用。

    3 年前
  • npm 包 @iota-pico/pow-webgl 使用教程

    介绍 @iota-pico/pow-webgl 是一个使用 WebGL 实现的 IOTA POW 算法库。它可以在浏览器中加速 IOTA 钱包的 POW 计算,使其更加高效和快速。

    3 年前

相关推荐

    暂无文章