npm 包 esprima-derby 使用教程

阅读时长 37 分钟读完

什么是 esprima-derby?

esprima-derby 是一个基于 esprima 的解析器,主要用于解析 derby 的模板,可以将 derby 模板转换为 ast。

esprima-derby 的安装

esprima-derby 的安装非常简单,只需要在命令行中输入以下命令即可:

npm install esprima-derby

如何使用 esprima-derby?

将 derby 模板转换为 ast

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

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

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

将 ast 转换为 derby 模板

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

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

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

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

深入学习 esprima-derby

esprima-derby 的基本概念

esprima-derby 的主要概念是 ast,即抽象语法树。ast 是一种基于文本的树状数据结构,用于表示源代码的结构。在 esprima-derby 中,ast 通常用于表示 derby 模板的结构。

esprima-derby 的高级用法

esprima-derby 不仅可以将 derby 模板转换为 ast,还可以将 ast 转换为 derby 模板。这意味着,我们可以在 ast 上进行各种操作,然后再将其转换回 derby 模板。

esprima-derby 的示例代码

以下是一个使用 esprima-derby 将 derby 模板转换为 ast 的示例代码:

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

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

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

以下是一个使用 esprima-derby 将 ast 转换为 derby 模板的示例代码:

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

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

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

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

结论

esprima-derby 是一个非常实用的 npm 包,可以方便地将 derby 模板转换为 ast,并进行各种操作。借助于 esprima-derby,我们可以更加方便地开发 derby 应用程序。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/77763

纠错
反馈