From c3023f2642064bb416bc6b817ab5ea80fec29fce Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Sun, 8 Feb 2015 19:23:49 -0600 Subject: matlab: step7, fix reader bug. --- matlab/reader.m | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'matlab/reader.m') diff --git a/matlab/reader.m b/matlab/reader.m index 7053aef..968e5a1 100644 --- a/matlab/reader.m +++ b/matlab/reader.m @@ -49,7 +49,19 @@ classdef reader function ast = read_form(rdr) %fprintf('in read_form\n'); token = rdr.peek(); - switch token(1) + switch token + case '''' + rdr.next(); + ast = {types.Symbol('quote'), reader.read_form(rdr)}; + case '`' + rdr.next(); + ast = {types.Symbol('quasiquote'), reader.read_form(rdr)}; + case '~' + rdr.next(); + ast = {types.Symbol('unquote'), reader.read_form(rdr)}; + case '~@' + rdr.next(); + ast = {types.Symbol('splice-unquote'), reader.read_form(rdr)}; case ')' error('unexpected '')'''); case '(' -- cgit v1.2.3