From 1b0496ea67a7788962831aa482d281a3080409a1 Mon Sep 17 00:00:00 2001 From: PaddiM8 Date: Fri, 1 Oct 2021 09:21:11 +0200 Subject: [PATCH] v1.0.1 --- cli/Cargo.toml | 4 ++-- kalk/Cargo.toml | 2 +- kalk/src/interpreter.rs | 7 ++----- kalk/src/lexer.rs | 21 ++++++++++++--------- kalk/src/prelude/mod.rs | 12 ------------ mobile/package.json | 4 ++-- web/package.json | 6 +++--- 7 files changed, 22 insertions(+), 34 deletions(-) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index d38d669..782af0c 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -9,11 +9,11 @@ license = "MIT" name = "kalker" readme = "../README.md" repository = "https://github.com/PaddiM8/kalker" -version = "1.0.0" +version = "1.0.1" [dependencies] ansi_term = "0.12.1" -kalk = { path = "../kalk", version = "^2.1.0" } +kalk = { path = "../kalk", version = "^2.1.2" } lazy_static = "1.4.0" regex = "1" rustyline = "7.1.0" diff --git a/kalk/Cargo.toml b/kalk/Cargo.toml index 1b6c0e5..744bb07 100644 --- a/kalk/Cargo.toml +++ b/kalk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "kalk" -version = "2.1.1" +version = "2.1.2" authors = ["PaddiM8"] edition = "2018" readme = "README.md" diff --git a/kalk/src/interpreter.rs b/kalk/src/interpreter.rs index e6a479b..736a559 100644 --- a/kalk/src/interpreter.rs +++ b/kalk/src/interpreter.rs @@ -309,7 +309,7 @@ pub(crate) fn eval_fn_call_expr( // Special functions match identifier.full_name.as_ref() { - "sum" | "Σ" | "∑" | "prod" | "∏" => { + "sum" | "prod" => { // Make sure exactly 3 arguments were supplied. if expressions.len() != 3 { return Err(CalcError::IncorrectAmountOfArguments( @@ -323,10 +323,7 @@ pub(crate) fn eval_fn_call_expr( let end = eval_expr(context, &expressions[1], "")?.to_f64() as i128; let sum_else_prod = match identifier.full_name.as_ref() { "sum" => true, - "Σ" => true, - "∑" => true, "prod" => false, - "∏" => false, _ => unreachable!(), }; let mut sum = if sum_else_prod { @@ -352,7 +349,7 @@ pub(crate) fn eval_fn_call_expr( return Ok(sum); } - "integrate" | "integral" | "∫" => { + "integrate" => { // Make sure either 3 or 4 arguments were supplied. if expressions.len() < 3 || expressions.len() > 4 {} diff --git a/kalk/src/lexer.rs b/kalk/src/lexer.rs index e5eff4e..2baa48f 100644 --- a/kalk/src/lexer.rs +++ b/kalk/src/lexer.rs @@ -138,12 +138,12 @@ impl<'a> Lexer<'a> { '≤' => build(TokenKind::LessOrEquals, "", span), // Some of the special symbols will be lexed here, // so that they don't merge with other symbols. - 'π' => build(TokenKind::Identifier, "π", span), - '√' => build(TokenKind::Identifier, "√", span), - 'τ' => build(TokenKind::Identifier, "τ", span), - 'ϕ' => build(TokenKind::Identifier, "ϕ", span), - 'Γ' => build(TokenKind::Identifier, "Γ", span), - '∏' => build(TokenKind::Identifier, "Γ", span), + 'π' => build(TokenKind::Identifier, "pi", span), + '√' => build(TokenKind::Identifier, "sqrt", span), + 'τ' => build(TokenKind::Identifier, "tau", span), + 'ϕ' => build(TokenKind::Identifier, "phi", span), + 'Γ' => build(TokenKind::Identifier, "gamma", span), + '∏' => build(TokenKind::Identifier, "prod", span), _ => build(TokenKind::Unknown, "", span), }; @@ -234,9 +234,12 @@ impl<'a> Lexer<'a> { _ => TokenKind::Identifier, }; - if &value == "°" { - value = String::from("deg"); - } + let value = match value.as_ref() { + "Σ" | "∑" => String::from("sum"), + "∫" => String::from("integrate"), + "°" => String::from("deg"), + _ => value, + }; build(kind, &value, (start, end)) } diff --git a/kalk/src/prelude/mod.rs b/kalk/src/prelude/mod.rs index 5271c22..aeea7ab 100644 --- a/kalk/src/prelude/mod.rs +++ b/kalk/src/prelude/mod.rs @@ -31,10 +31,6 @@ lazy_static! { "pi", 3.1415926535897932384626433832795028841971693993751058209749445923, ); - m.insert( - "π", - 3.1415926535897932384626433832795028841971693993751058209749445923, - ); m.insert( "e", 2.7182818284590452353602874713526624977572470936999595749669676277, @@ -43,18 +39,10 @@ lazy_static! { "tau", 6.2831853071795864769252867665590057683943387987502116419498891846, ); - m.insert( - "τ", - 6.2831853071795864769252867665590057683943387987502116419498891846, - ); m.insert( "phi", 1.6180339887498948482045868343656381177203091798057628621354486227, ); - m.insert( - "ϕ", - 1.6180339887498948482045868343656381177203091798057628621354486227, - ); m }; pub static ref UNARY_FUNCS: HashMap<&'static str, (UnaryFuncInfo, &'static str)> = { diff --git a/mobile/package.json b/mobile/package.json index cd03fc3..387704e 100644 --- a/mobile/package.json +++ b/mobile/package.json @@ -1,6 +1,6 @@ { "name": "kalk_mobile", - "version": "1.0.1", + "version": "1.0.2", "description": "kalk mobile", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", @@ -16,7 +16,7 @@ "@capacitor/android": "^2.4.5", "@capacitor/cli": "^2.4.5", "@capacitor/core": "^2.4.5", - "@paddim8/kalk-component": "^1.3.0" + "@paddim8/kalk-component": "^1.3.2" }, "devDependencies": { "@capacitor-community/electron": "^1.3.2", diff --git a/web/package.json b/web/package.json index bf01033..0e67ff0 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "@paddim8/kalk-component", - "version": "1.3.1", + "version": "1.3.2", "description": "A Svelte component for kalk, a calculator that supports user-defined functions and variables.", "svelte": "src/main.ts", "main": "public/build/bundle.js", @@ -55,10 +55,10 @@ "webpack-dev-server": "^3.11.0" }, "dependencies": { - "@paddim8/kalk": "^2.1.0", + "@paddim8/kalk": "^2.1.2", "shadow-selection-polyfill": "^1.1.0" }, "browserslist": [ "defaults" ] -} \ No newline at end of file +}