Skip to content

Commit 104b854

Browse files
comment out debug prints, add 1 more GC
1 parent 1e5704e commit 104b854

File tree

1 file changed

+32
-30
lines changed

1 file changed

+32
-30
lines changed

ulisp-esp32.ino

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2225,30 +2225,30 @@ object *reverse_and_flatten (object *expr) {
22252225
#define ATNOTHINGS (object*)-1
22262226

22272227
object *process_quasiquoted (object *expr, int level, object *env) {
2228-
Serial.print("**** Processing quasiquote of : ");
2229-
printobject(expr, pserial);
2230-
Serial.println();
2231-
Serial.print("**** at level ");
2232-
Serial.println(level);
2228+
// Serial.print("**** Processing quasiquote of : ");
2229+
// printobject(expr, pserial);
2230+
// Serial.println();
2231+
// Serial.print("**** at level ");
2232+
// Serial.println(level);
22332233
if (!consp(expr)) return cons(expr, NULL);
22342234

22352235
if (isbuiltin(car(expr), QUASIQUOTE)) {
2236-
Serial.println("nested quasiquote");
2236+
// Serial.println("nested quasiquote");
22372237
push(second(expr),GCStack);
22382238
object *processed = process_quasiquoted(second(expr), level + 1, env);
22392239
pop(GCStack);
22402240
return cons(cons(symbol(QUASIQUOTE), processed), NULL);
22412241
} else if (isbuiltin(car(expr), UNQUOTE)) {
2242-
Serial.println("**** Processing UNQUOTE");
2243-
Serial.print("**** At level ");
2244-
Serial.println(level);
2242+
// Serial.println("**** Processing UNQUOTE");
2243+
// Serial.print("**** At level ");
2244+
// Serial.println(level);
22452245
if (level == 1) {
22462246
push(second(expr),GCStack);
22472247
object *processed = process_quasiquoted(second(expr), level, env);
22482248
object *result = eval(car(processed), env);
2249-
Serial.print("**** Result: ");
2250-
printobject(result, pserial);
2251-
Serial.println();
2249+
// Serial.print("**** Result: ");
2250+
// printobject(result, pserial);
2251+
// Serial.println();
22522252
pop(GCStack);
22532253
return cons(result, NULL);
22542254
} else {
@@ -2258,19 +2258,19 @@ object *process_quasiquoted (object *expr, int level, object *env) {
22582258
return cons(cons(symbol(UNQUOTE), processed), NULL);
22592259
}
22602260
} else if (isbuiltin(car(expr), UNQUOTESPLICING)) {
2261-
Serial.println("**** Processing UNQUOTESPLICING");
2262-
Serial.print("**** At level ");
2263-
Serial.println(level);
2261+
// Serial.println("**** Processing UNQUOTESPLICING");
2262+
// Serial.print("**** At level ");
2263+
// Serial.println(level);
22642264
if (level == 1) {
22652265
push(second(expr),GCStack);
22662266
object *processed = process_quasiquoted(second(expr), level, env);
2267-
Serial.print("**** Processed: ");
2268-
printobject(car(processed), pserial);
2269-
Serial.println();
2267+
// Serial.print("**** Processed: ");
2268+
// printobject(car(processed), pserial);
2269+
// Serial.println();
22702270
object *result = eval(car(processed), env);
2271-
Serial.print("**** Result: ");
2272-
printobject(result, pserial);
2273-
Serial.println();
2271+
// Serial.print("**** Result: ");
2272+
// printobject(result, pserial);
2273+
// Serial.println();
22742274
pop(GCStack);
22752275
if (result == nil) return ATNOTHINGS; // sentinel to signal that @... should insert nothing (i.e. empty list)
22762276
else return result;
@@ -2281,9 +2281,9 @@ object *process_quasiquoted (object *expr, int level, object *env) {
22812281
return cons(cons(symbol(UNQUOTESPLICING), processed), NULL);
22822282
}
22832283
} else {
2284-
Serial.println("Processing something else");
2285-
Serial.print("**** At level ");
2286-
Serial.println(level);
2284+
// Serial.println("Processing something else");
2285+
// Serial.print("**** At level ");
2286+
// Serial.println(level);
22872287
object *parts = NULL;
22882288
push(parts, GCStack);
22892289
for (object *cell = expr; cell != NULL; cell = cdr(cell)) {
@@ -2294,14 +2294,14 @@ object *process_quasiquoted (object *expr, int level, object *env) {
22942294
push(processed, parts);
22952295
}
22962296
}
2297-
Serial.print("**** parts: ");
2298-
printobject(parts, pserial);
2299-
Serial.println();
2297+
// Serial.print("**** parts: ");
2298+
// printobject(parts, pserial);
2299+
// Serial.println();
23002300

23012301
object *result = reverse_and_flatten(parts);
2302-
Serial.print("**** Result: ");
2303-
printobject(result, pserial);
2304-
Serial.println();
2302+
// Serial.print("**** Result: ");
2303+
// printobject(result, pserial);
2304+
// Serial.println();
23052305
pop(GCStack);
23062306
return cons(result, NULL);
23072307
}
@@ -5048,6 +5048,7 @@ object *eval (object *form, object *env) {
50485048
object *definition = cdr(function);
50495049
object *params = car(definition);
50505050
object *body = car(cdr(definition));
5051+
push(unevaled_args,GCStack);
50515052
// Serial.print("Macro: params: ");
50525053
// printobject(params, pserial);
50535054
// Serial.print(" - args: ");
@@ -5072,6 +5073,7 @@ object *eval (object *form, object *env) {
50725073
}
50735074
form = expand(body, newenv);
50745075
pop(GCStack);
5076+
pop(GCStack);
50755077
goto EVAL;
50765078
}
50775079
error(NIL, PSTR("illegal function"), fname); return nil;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy