aboutsummaryrefslogtreecommitdiff
path: root/node_modules/math-expression-evaluator/src/postfix.js
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2018-11-08 00:43:05 +0800
committerruki <waruqi@gmail.com>2018-11-07 22:18:30 +0800
commit89e95b3f143682ed9a006991bacf45c9dcba4818 (patch)
tree4f44cf41b828577d583890bdd5a1c31e8491a6ba /node_modules/math-expression-evaluator/src/postfix.js
parentaa7f0199255277949790b41c56e8ec97dd4f0da4 (diff)
downloadxmake-docs-vuepress.tar.gz
xmake-docs-vuepress.zip
remove node_modulesvuepress
Diffstat (limited to 'node_modules/math-expression-evaluator/src/postfix.js')
-rwxr-xr-xnode_modules/math-expression-evaluator/src/postfix.js50
1 files changed, 0 insertions, 50 deletions
diff --git a/node_modules/math-expression-evaluator/src/postfix.js b/node_modules/math-expression-evaluator/src/postfix.js
deleted file mode 100755
index 9c8dd424..00000000
--- a/node_modules/math-expression-evaluator/src/postfix.js
+++ /dev/null
@@ -1,50 +0,0 @@
-
- var Mexp=require('./lexer.js');
-
- Mexp.prototype.toPostfix = function () {
- 'use strict';
- var post=[],elem,popped,prep,pre,ele;
- var stack=[{value:"(",type:4,pre:0}];
- var arr=this.value;
- for (var i=1; i < arr.length; i++) {
- if(arr[i].type===1||arr[i].type===3||arr[i].type===13){ //if token is number,constant,or n(which is also a special constant in our case)
- if(arr[i].type===1)
- arr[i].value=Number(arr[i].value);
- post.push(arr[i]);
- }
- else if(arr[i].type===4){
- stack.push(arr[i]);
- }
- else if(arr[i].type===5){
- while((popped=stack.pop()).type!==4){
- post.push(popped);
- }
- }
- else if(arr[i].type===11){
- while((popped=stack.pop()).type!==4){
- post.push(popped);
- }
- stack.push(popped);
- }
- else {
- elem=arr[i];
- pre=elem.pre;
- ele=stack[stack.length-1];
- prep=ele.pre;
- var flag=ele.value=='Math.pow'&&elem.value=='Math.pow';
- if(pre>prep)stack.push(elem);
- else {
- while(prep>=pre&&!flag||flag&&pre<prep){
- popped=stack.pop();
- ele=stack[stack.length-1];
- post.push(popped);
- prep=ele.pre;
- flag=elem.value=='Math.pow'&&ele.value=='Math.pow';
- }
- stack.push(elem);
- }
- }
- }
- return new Mexp(post);
- };
- module.exports=Mexp; \ No newline at end of file