Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/math-expression-evaluator/src/ |
Upload File : |
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;