Fixing up old stuff, cleaning up and standardizing AST.
This commit is contained in:
parent
d969661b33
commit
666d611e95
4 changed files with 645 additions and 399 deletions
|
@ -103,27 +103,28 @@ function functionToLatex(f, args) {
|
||||||
* @param {string} vari - variable to convert
|
* @param {string} vari - variable to convert
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
function variable(vari) {
|
|
||||||
let unicodechars = ["α","β","γ","δ","ε","ζ","η",
|
let unicodechars = ["α","β","γ","δ","ε","ζ","η",
|
||||||
"π","θ","κ","λ","μ","ξ","ρ",
|
"π","θ","κ","λ","μ","ξ","ρ",
|
||||||
"ς","σ","τ","φ","χ","ψ","ω",
|
"ς","σ","τ","φ","χ","ψ","ω",
|
||||||
"Γ","Δ","Θ","Λ","Ξ","Π","Σ",
|
"Γ","Δ","Θ","Λ","Ξ","Π","Σ",
|
||||||
"Φ","Ψ","Ω","ₐ","ₑ","ₒ","ₓ",
|
"Φ","Ψ","Ω","ₐ","ₑ","ₒ","ₓ",
|
||||||
"ₕ","ₖ","ₗ","ₘ","ₙ","ₚ","ₛ",
|
"ₕ","ₖ","ₗ","ₘ","ₙ","ₚ","ₛ",
|
||||||
"ₜ","¹","²","³","⁴","⁵","⁶",
|
"ₜ","¹","²","³","⁴","⁵","⁶",
|
||||||
"⁷","⁸","⁹","⁰","₁","₂","₃",
|
"⁷","⁸","⁹","⁰","₁","₂","₃",
|
||||||
"₄","₅","₆","₇","₈","₉","₀",
|
"₄","₅","₆","₇","₈","₉","₀",
|
||||||
"pi"]
|
"pi"]
|
||||||
let equivalchars = ["\\alpha","\\beta","\\gamma","\\delta","\\epsilon","\\zeta","\\eta",
|
let equivalchars = ["\\alpha","\\beta","\\gamma","\\delta","\\epsilon","\\zeta","\\eta",
|
||||||
"\\pi","\\theta","\\kappa","\\lambda","\\mu","\\xi","\\rho",
|
"\\pi","\\theta","\\kappa","\\lambda","\\mu","\\xi","\\rho",
|
||||||
"\\sigma","\\sigma","\\tau","\\phi","\\chi","\\psi","\\omega",
|
"\\sigma","\\sigma","\\tau","\\phi","\\chi","\\psi","\\omega",
|
||||||
"\\Gamma","\\Delta","\\Theta","\\Lambda","\\Xi","\\Pi","\\Sigma",
|
"\\Gamma","\\Delta","\\Theta","\\Lambda","\\Xi","\\Pi","\\Sigma",
|
||||||
"\\Phy","\\Psi","\\Omega","{}_{a}","{}_{e}","{}_{o}","{}_{x}",
|
"\\Phy","\\Psi","\\Omega","{}_{a}","{}_{e}","{}_{o}","{}_{x}",
|
||||||
"{}_{h}","{}_{k}","{}_{l}","{}_{m}","{}_{n}","{}_{p}","{}_{s}",
|
"{}_{h}","{}_{k}","{}_{l}","{}_{m}","{}_{n}","{}_{p}","{}_{s}",
|
||||||
"{}_{t}","{}^{1}","{}^{2}","{}^{3}","{}^{4}","{}^{5}","{}^{6}",
|
"{}_{t}","{}^{1}","{}^{2}","{}^{3}","{}^{4}","{}^{5}","{}^{6}",
|
||||||
"{}^{7}","{}^{8}","{}^{9}","{}^{0}","{}_{1}","{}_{2}","{}_{3}",
|
"{}^{7}","{}^{8}","{}^{9}","{}^{0}","{}_{1}","{}_{2}","{}_{3}",
|
||||||
"{}_{4}","{}_{5}","{}_{6}","{}_{7}","{}_{8}","{}_{9}","{}_{0}",
|
"{}_{4}","{}_{5}","{}_{6}","{}_{7}","{}_{8}","{}_{9}","{}_{0}",
|
||||||
"\\pi"]
|
"\\pi"]
|
||||||
|
function variable(vari) {
|
||||||
for(let i = 0; i < unicodechars.length; i++) {
|
for(let i = 0; i < unicodechars.length; i++) {
|
||||||
//console.log(vari, unicodechars[i], equivalchars[i]);
|
//console.log(vari, unicodechars[i], equivalchars[i]);
|
||||||
if(vari.includes(unicodechars[i]))
|
if(vari.includes(unicodechars[i]))
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -25,6 +25,7 @@
|
||||||
class ExpressionBuilder {
|
class ExpressionBuilder {
|
||||||
constructor(tokenizer) {
|
constructor(tokenizer) {
|
||||||
this.tokenizer = tokenizer;
|
this.tokenizer = tokenizer;
|
||||||
|
this.stack = []
|
||||||
}
|
}
|
||||||
|
|
||||||
parseExpression(delimitors = '') {
|
parseExpression(delimitors = '') {
|
||||||
|
|
|
@ -71,15 +71,15 @@ const FUNCTIONS_LIST = Object.keys(FUNCTIONS);
|
||||||
// TODO: Complete
|
// TODO: Complete
|
||||||
const DERIVATIVES = {
|
const DERIVATIVES = {
|
||||||
"abs": "abs(<1>)/<1>",
|
"abs": "abs(<1>)/<1>",
|
||||||
"acos": "-derivate(<1>)/sqrt(1-(<1>)^2)",
|
"acos": "-derivative(<1>)/sqrt(1-(<1>)^2)",
|
||||||
"acosh": "derivate(<1>)/sqrt((<1>)^2-1)",
|
"acosh": "derivative(<1>)/sqrt((<1>)^2-1)",
|
||||||
"asin": "derivate(<1>)/sqrt(1-(<1>)^2)",
|
"asin": "derivative(<1>)/sqrt(1-(<1>)^2)",
|
||||||
"asinh": "derivate(<1>)/sqrt((<1>)^2+1)",
|
"asinh": "derivative(<1>)/sqrt((<1>)^2+1)",
|
||||||
"atan": "derivate(<1>)/(1+(<1>)^2)",
|
"atan": "derivative(<1>)/(1+(<1>)^2)",
|
||||||
"atan2": "",
|
"atan2": "",
|
||||||
}
|
}
|
||||||
const INTEGRALS = {
|
const INTEGRALS = {
|
||||||
"abs": "integrate(<1>)*sign(<1>)",
|
"abs": "integral(<1>)*sign(<1>)",
|
||||||
"acos": "",
|
"acos": "",
|
||||||
"acosh": "",
|
"acosh": "",
|
||||||
"asin": "",
|
"asin": "",
|
||||||
|
|
Loading…
Reference in a new issue