From 41984b0083730b102d13d8b3ae25dc122c85aae6 Mon Sep 17 00:00:00 2001 From: MadMaurice Date: Mon, 5 Apr 2021 03:50:33 +0200 Subject: [PATCH] Float support --- lib/Minilisp.pm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/Minilisp.pm b/lib/Minilisp.pm index 41be544..bcce925 100644 --- a/lib/Minilisp.pm +++ b/lib/Minilisp.pm @@ -80,8 +80,17 @@ sub tokenize { elsif($str =~ s/^([^\s()"]+)//) { my $ident = $1; - if($ident =~ /^[0-9]+$/) + if($ident eq ".") { + die "short cons not supported" + } + elsif($ident =~ /^-?([0-9]+|[0-9]*\.[0-9]*)$/) + { + if($ident =~ s/^-//) + { + $ident = 0 - $ident; + } + push @tokens, { type => NUMBER, value => 0+ $ident,