Diffstat (limited to 'src/lexer.rs')
-rw-r--r--src/lexer.rs18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/lexer.rs b/src/lexer.rs
index 559a9d7..d4d1476 100644
--- a/src/lexer.rs
+++ b/src/lexer.rs
@@ -22,9 +22,8 @@ macro_rules! tokens {
#[regex(r"'.'", |lex| lex.slice().as_bytes()[1] as char)]
Char(char),
// todo ignore alot
- #[regex(r"[^\s\(\)\[\]\{\}0-9λ'\-←→=🐢🐘🍴🐈↖⤵️+×*√≠<≤>≥⏪⏩\-¯∧∨⊻÷%🔎🚧⬅➡⏭️➡️↘️🐋🐳][^\(\)\[\]\{\}λ←→='🐢🐘🍴🐈↖⤵️+×*√≠<≤>≥⏪⏩¯∧∨⊻÷%🔎🚧⬅➡⏭️➡️↘️🐋🐳\s]*", priority = 7)]
+ #[regex(r"[^\s\(\)\[\]\{\}0-9λ'\-←→=≢≡🐢🦆✊🪣🔓🐘🍴🐈↖⤵️☎️🔭+×*√≠<≤>≥⏪⏩\-¯∧∨⊻÷%🔎🚧⬅➡⏭️➡️↘️🐋🐳][^\(\)\[\]\{\}λ←→=≢≡'🐢🐘🍴✊🐈↖⤵️+🪣×🔓*√🦆≠<≤>≥☎️🔭⏪⏩¯∧∨⊻÷%🔎🚧⬅➡⏭️➡️↘️🐋🐳\s]*", priority = 7)]
Ident(&'strings str),
-
#[token("[", chr::<'['>)]
#[token("(", chr::<'('>)]
#[token("{", chr::<'{'>)]
@@ -58,18 +57,22 @@ tokens! {
"λ" => Lambda,
"←" => Place,
"→" => Ret,
- "=" => Eq,
+ "≡" => Eq,
"🐢" => Dup,
"🐘" => Both,
"🍴" => Fork,
+ "🪣" => Gap,
+ "✊" => Hold,
"🐈" => Flip,
+ "🦆" => Duck,
"↖" => Reverse,
- "⤵️" => Pop,
+ "⤵️" => Zap,
"+" => Add,
+ "-" => Sub,
"×" => Mul,
"*" => Pow,
"√" => Sqrt,
- "≠" => Ne,
+ "≢" => Ne,
"<" => Lt,
"≤" => Le,
">" => Gt,
@@ -79,19 +82,20 @@ tokens! {
"¯" => Neg,
"∧" => And,
"∨" => Or,
- "-" => Sub,
"⊻" => Xor,
"÷" => Div,
"%" => Mod,
- "🔎" => Keep,
+ "🔓" => Keep,
"🚧" => Split,
"⬅" => First,
"➡" => Last,
"⏭️" => Each,
"➡️" => Reduce,
"↘️" => ReduceStack,
+ "⬆️" => Range,
"🐋" => If,
"🐳" => Else,
+ "☎️" => Call,
}