Home > Web Front-end > JS Tutorial > How to use PEGjs in Node.js

How to use PEGjs in Node.js

php中世界最好的语言
Release: 2018-03-07 11:41:35
Original
2459 people have browsed it

This time I will bring you how to use PEGjs in Node.js, what are the precautions when using PEGjs in Node.js, the following is a practical case, let’s go together take a look.

(1)Install pegjs

npm install pegjs
Copy after login

(2)grammer.pegjs

start
  = additive
additive
  = left:multiplicative "+" right:additive { return left + right; }
  / multiplicative
multiplicative
  = left:primary "*" right:multiplicative { return left * right; }
  / primary
primary
  = integer
  / "(" additive:additive ")" { return additive; }integer "integer"
  = digits:[0-9]+ { return parseInt(digits.join(""), 10); }
Copy after login

(3)main.js

var fs=require('fs');var PEG=require("pegjs");
fs.readFile('./grammer.pegjs','utf8',function(err,data){  var parser=PEG.buildParser(data);  var result=parser.parse('1+2*3');  
  console.log(result);    // 7});
Copy after login

Note:
If The pegjs command line tool is required, and pegjs needs to be installed both in the project and globally.

npm install pegjs -g
npm install pegjs
pegjs grammer.pegjs parser.js
Copy after login

can generate a parser, parser.js

var parser=require('./parser.js');
parser.parse('1+2*3');    // 7
Copy after login

I believe you have mastered the method after reading the case in this article, and there will be more exciting things. Please pay attention to php Chinese websiteOther related articles!

Related reading:

How to interact with js in Android development

How to make bottom navigation on the vue homepage TabBar

The above is the detailed content of How to use PEGjs in Node.js. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template