diff options
| author | Joel Martin <github@martintribe.org> | 2014-11-02 21:32:33 -0600 |
|---|---|---|
| committer | Joel Martin <github@martintribe.org> | 2015-01-09 16:16:43 -0600 |
| commit | 01feedfe22a381c6b6ca79bdf0db798aa08c4104 (patch) | |
| tree | acee75da927f3d4234f7433801584ca750502a9f /r/reader.r | |
| parent | 4d1456b98f34bfa74aea912469aa246b56273d76 (diff) | |
| download | mal-01feedfe22a381c6b6ca79bdf0db798aa08c4104.tar.gz mal-01feedfe22a381c6b6ca79bdf0db798aa08c4104.zip | |
R: add step4_if_fn_do and step5_tco.
Switch nil from NULL to special class.
Diffstat (limited to 'r/reader.r')
| -rw-r--r-- | r/reader.r | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -41,9 +41,11 @@ read_atom <- function(rdr) { if (re_match("^-?[0-9][0-9.]*$", token)) { as.numeric(token) } else if (substr(token,1,1) == "\"") { - substr(token, 2, nchar(token)-1) + gsub("\\\\n", "\\n", + gsub("\\\\\"", "\"", + substr(token, 2, nchar(token)-1))) } else if (token == "nil") { - NULL + nil } else if (token == "true") { TRUE } else if (token == "false") { @@ -88,7 +90,7 @@ read_form <- function(rdr) { read_str <- function(str) { tokens <- tokenize(str) - if (length(tokens) == 0) return(NULL) + if (length(tokens) == 0) return(nil) return(read_form(new.Reader(tokens))) } |
