commit 06b224de9347a530209448d01d2874104dae2797
parent 66924562f41cf6ddc5f628b7849d8a3690a92511
Author: Commit-Bot <unknown>
Date: Fri, 12 Nov 2010 07:41:17 +0000
Automatic commit from picoLisp.tgz, From: Fri, 12 Nov 2010 07:41:17 GMT
Diffstat:
4 files changed, 1059 insertions(+), 925 deletions(-)
diff --git a/doc/refM.html b/doc/refM.html
@@ -416,7 +416,7 @@ href="refD.html#delq">delq</a></code> and <a href="ref.html#cmp">Comparing</a>.
of the classes and superclasses of <code>obj</code>, or the classes in
<code>typ</code>, for the property key <code>sym</code>, and by applying the
<code><a href="refG.html#get">get</a></code> algorithm to the following optional
-arguments.
+arguments. See also <code><a href="refV.html#var:">var:</a></code>.
<pre><code>
: (setq A '(B)) # Be 'A' an object of class 'B'
diff --git a/ersatz/PicoLisp.java b/ersatz/PicoLisp.java
@@ -65,314 +65,316 @@ public class PicoLisp {
public static void main(String[] argv) {
Argv = argv;
- mkSymbol(new Number("2"), "quit", Intern);
- mkSymbol(new Number("3"), "public", Intern);
- mkSymbol(new Number("4"), "java", Intern);
- mkSymbol(new Number("5"), "byte:", Intern);
- mkSymbol(new Number("6"), "char:", Intern);
- mkSymbol(new Number("7"), "int:", Intern);
- mkSymbol(new Number("8"), "long:", Intern);
- mkSymbol(new Number("9"), "double:", Intern);
- mkSymbol(new Number("10"), "big:", Intern);
- mkSymbol(new Number("11"), "data", Intern);
- mkSymbol(new Number("12"), "args", Intern);
- mkSymbol(new Number("13"), "next", Intern);
- mkSymbol(new Number("14"), "arg", Intern);
- mkSymbol(new Number("15"), "rest", Intern);
- mkSymbol(new Number("16"), "date", Intern);
- mkSymbol(new Number("17"), "time", Intern);
- mkSymbol(new Number("18"), "usec", Intern);
- mkSymbol(new Number("19"), "pwd", Intern);
- mkSymbol(new Number("20"), "info", Intern);
- mkSymbol(new Number("21"), "file", Intern);
- mkSymbol(new Number("22"), "dir", Intern);
- mkSymbol(new Number("23"), "argv", Intern);
- mkSymbol(new Number("24"), "opt", Intern);
- mkSymbol(new Number("25"), "version", Intern);
- mkSymbol(new Number("26"), "apply", Intern);
- mkSymbol(new Number("27"), "pass", Intern);
- mkSymbol(new Number("28"), "maps", Intern);
- mkSymbol(new Number("29"), "map", Intern);
- mkSymbol(new Number("30"), "mapc", Intern);
- mkSymbol(new Number("31"), "maplist", Intern);
- mkSymbol(new Number("32"), "mapcar", Intern);
- mkSymbol(new Number("33"), "mapcon", Intern);
- mkSymbol(new Number("34"), "mapcan", Intern);
- mkSymbol(new Number("35"), "filter", Intern);
- mkSymbol(new Number("36"), "extract", Intern);
- mkSymbol(new Number("37"), "seek", Intern);
- mkSymbol(new Number("38"), "find", Intern);
- mkSymbol(new Number("39"), "pick", Intern);
- mkSymbol(new Number("40"), "cnt", Intern);
- mkSymbol(new Number("41"), "sum", Intern);
- mkSymbol(new Number("42"), "maxi", Intern);
- mkSymbol(new Number("43"), "mini", Intern);
- mkSymbol(new Number("44"), "fish", Intern);
- mkSymbol(new Number("45"), "by", Intern);
- mkSymbol(new Number("46"), "as", Intern);
- mkSymbol(new Number("47"), "lit", Intern);
- mkSymbol(new Number("48"), "eval", Intern);
- mkSymbol(new Number("49"), "run", Intern);
- mkSymbol(new Number("50"), "def", Intern);
- mkSymbol(new Number("51"), "de", Intern);
- mkSymbol(new Number("52"), "dm", Intern);
- mkSymbol(new Number("53"), "box", Intern);
- mkSymbol(new Number("54"), "new", Intern);
- mkSymbol(new Number("55"), "type", Intern);
- mkSymbol(new Number("56"), "isa", Intern);
- mkSymbol(new Number("57"), "method", Intern);
- mkSymbol(new Number("58"), "send", Intern);
- mkSymbol(new Number("59"), "try", Intern);
- mkSymbol(new Number("60"), "super", Intern);
- mkSymbol(new Number("61"), "extra", Intern);
- mkSymbol(new Number("62"), "with", Intern);
- mkSymbol(new Number("63"), "bind", Intern);
- mkSymbol(new Number("64"), "job", Intern);
- mkSymbol(new Number("65"), "let", Intern);
- mkSymbol(new Number("66"), "let?", Intern);
- mkSymbol(new Number("67"), "use", Intern);
- mkSymbol(new Number("68"), "and", Intern);
- mkSymbol(new Number("69"), "or", Intern);
- mkSymbol(new Number("70"), "nand", Intern);
- mkSymbol(new Number("71"), "nor", Intern);
- mkSymbol(new Number("72"), "xor", Intern);
- mkSymbol(new Number("73"), "bool", Intern);
- mkSymbol(new Number("74"), "not", Intern);
- mkSymbol(new Number("75"), "nil", Intern);
- mkSymbol(new Number("76"), "t", Intern);
- mkSymbol(new Number("77"), "prog", Intern);
- mkSymbol(new Number("78"), "prog1", Intern);
- mkSymbol(new Number("79"), "prog2", Intern);
- mkSymbol(new Number("80"), "if", Intern);
- mkSymbol(new Number("81"), "if2", Intern);
- mkSymbol(new Number("82"), "ifn", Intern);
- mkSymbol(new Number("83"), "when", Intern);
- mkSymbol(new Number("84"), "unless", Intern);
- mkSymbol(new Number("85"), "cond", Intern);
- mkSymbol(new Number("86"), "nond", Intern);
- mkSymbol(new Number("87"), "case", Intern);
- mkSymbol(new Number("88"), "state", Intern);
- mkSymbol(new Number("89"), "while", Intern);
- mkSymbol(new Number("90"), "until", Intern);
- mkSymbol(new Number("91"), "do", Intern);
- mkSymbol(new Number("92"), "loop", Intern);
- mkSymbol(new Number("93"), "at", Intern);
- mkSymbol(new Number("94"), "for", Intern);
- mkSymbol(new Number("95"), "catch", Intern);
- mkSymbol(new Number("96"), "throw", Intern);
- mkSymbol(new Number("97"), "finally", Intern);
- mkSymbol(new Number("98"), "!", Intern);
- mkSymbol(new Number("99"), "e", Intern);
- mkSymbol(new Number("100"), "$", Intern);
- mkSymbol(new Number("101"), "sys", Intern);
- mkSymbol(new Number("102"), "call", Intern);
- mkSymbol(new Number("103"), "ipid", Intern);
- mkSymbol(new Number("104"), "opid", Intern);
- mkSymbol(new Number("105"), "kill", Intern);
- mkSymbol(new Number("106"), "bye", Intern);
- mkSymbol(new Number("107"), "name", Intern);
- mkSymbol(new Number("108"), "sp?", Intern);
- mkSymbol(new Number("109"), "pat?", Intern);
- mkSymbol(new Number("110"), "fun?", Intern);
- mkSymbol(new Number("111"), "getd", Intern);
- mkSymbol(new Number("112"), "all", Intern);
- mkSymbol(new Number("113"), "intern", Intern);
- mkSymbol(new Number("114"), "====", Intern);
- mkSymbol(new Number("115"), "box?", Intern);
- mkSymbol(new Number("116"), "str?", Intern);
- mkSymbol(new Number("117"), "zap", Intern);
- mkSymbol(new Number("118"), "chop", Intern);
- mkSymbol(new Number("119"), "pack", Intern);
- mkSymbol(new Number("120"), "glue", Intern);
- mkSymbol(new Number("121"), "text", Intern);
- mkSymbol(new Number("122"), "pre?", Intern);
- mkSymbol(new Number("123"), "sub?", Intern);
- mkSymbol(new Number("124"), "val", Intern);
- mkSymbol(new Number("125"), "set", Intern);
- mkSymbol(new Number("126"), "setq", Intern);
- mkSymbol(new Number("127"), "xchg", Intern);
- mkSymbol(new Number("128"), "on", Intern);
- mkSymbol(new Number("129"), "off", Intern);
- mkSymbol(new Number("130"), "onOff", Intern);
- mkSymbol(new Number("131"), "zero", Intern);
- mkSymbol(new Number("132"), "one", Intern);
- mkSymbol(new Number("133"), "default", Intern);
- mkSymbol(new Number("134"), "push", Intern);
- mkSymbol(new Number("135"), "push1", Intern);
- mkSymbol(new Number("136"), "pop", Intern);
- mkSymbol(new Number("137"), "cut", Intern);
- mkSymbol(new Number("138"), "del", Intern);
- mkSymbol(new Number("139"), "queue", Intern);
- mkSymbol(new Number("140"), "fifo", Intern);
- mkSymbol(new Number("141"), "idx", Intern);
- mkSymbol(new Number("142"), "lup", Intern);
- mkSymbol(new Number("143"), "put", Intern);
- mkSymbol(new Number("144"), "get", Intern);
- mkSymbol(new Number("145"), "prop", Intern);
- mkSymbol(new Number("146"), ";", Intern);
- mkSymbol(new Number("147"), "=:", Intern);
- mkSymbol(new Number("148"), ":", Intern);
- mkSymbol(new Number("149"), "::", Intern);
- mkSymbol(new Number("150"), "putl", Intern);
- mkSymbol(new Number("151"), "getl", Intern);
- mkSymbol(new Number("152"), "meta", Intern);
- mkSymbol(new Number("153"), "low?", Intern);
- mkSymbol(new Number("154"), "upp?", Intern);
- mkSymbol(new Number("155"), "lowc", Intern);
- mkSymbol(new Number("156"), "uppc", Intern);
- mkSymbol(new Number("157"), "fold", Intern);
- mkSymbol(new Number("158"), "car", Intern);
- mkSymbol(new Number("159"), "cdr", Intern);
- mkSymbol(new Number("160"), "caar", Intern);
- mkSymbol(new Number("161"), "cadr", Intern);
- mkSymbol(new Number("162"), "cdar", Intern);
- mkSymbol(new Number("163"), "cddr", Intern);
- mkSymbol(new Number("164"), "caaar", Intern);
- mkSymbol(new Number("165"), "caadr", Intern);
- mkSymbol(new Number("166"), "cadar", Intern);
- mkSymbol(new Number("167"), "caddr", Intern);
- mkSymbol(new Number("168"), "cdaar", Intern);
- mkSymbol(new Number("169"), "cdadr", Intern);
- mkSymbol(new Number("170"), "cddar", Intern);
- mkSymbol(new Number("171"), "cdddr", Intern);
- mkSymbol(new Number("172"), "caaaar", Intern);
- mkSymbol(new Number("173"), "caaadr", Intern);
- mkSymbol(new Number("174"), "caadar", Intern);
- mkSymbol(new Number("175"), "caaddr", Intern);
- mkSymbol(new Number("176"), "cadaar", Intern);
- mkSymbol(new Number("177"), "cadadr", Intern);
- mkSymbol(new Number("178"), "caddar", Intern);
- mkSymbol(new Number("179"), "cadddr", Intern);
- mkSymbol(new Number("180"), "cdaaar", Intern);
- mkSymbol(new Number("181"), "cdaadr", Intern);
- mkSymbol(new Number("182"), "cdadar", Intern);
- mkSymbol(new Number("183"), "cdaddr", Intern);
- mkSymbol(new Number("184"), "cddaar", Intern);
- mkSymbol(new Number("185"), "cddadr", Intern);
- mkSymbol(new Number("186"), "cdddar", Intern);
- mkSymbol(new Number("187"), "cddddr", Intern);
- mkSymbol(new Number("188"), "nth", Intern);
- mkSymbol(new Number("189"), "con", Intern);
- mkSymbol(new Number("190"), "cons", Intern);
- mkSymbol(new Number("191"), "conc", Intern);
- mkSymbol(new Number("192"), "circ", Intern);
- mkSymbol(new Number("193"), "rot", Intern);
- mkSymbol(new Number("194"), "list", Intern);
- mkSymbol(new Number("195"), "need", Intern);
- mkSymbol(new Number("196"), "range", Intern);
- mkSymbol(new Number("197"), "full", Intern);
- mkSymbol(new Number("198"), "make", Intern);
- mkSymbol(new Number("199"), "made", Intern);
- mkSymbol(new Number("200"), "chain", Intern);
- mkSymbol(new Number("201"), "link", Intern);
- mkSymbol(new Number("202"), "yoke", Intern);
- mkSymbol(new Number("203"), "copy", Intern);
- mkSymbol(new Number("204"), "mix", Intern);
- mkSymbol(new Number("205"), "append", Intern);
- mkSymbol(new Number("206"), "delete", Intern);
- mkSymbol(new Number("207"), "delq", Intern);
- mkSymbol(new Number("208"), "replace", Intern);
- mkSymbol(new Number("209"), "strip", Intern);
- mkSymbol(new Number("210"), "split", Intern);
- mkSymbol(new Number("211"), "reverse", Intern);
- mkSymbol(new Number("212"), "flip", Intern);
- mkSymbol(new Number("213"), "trim", Intern);
- mkSymbol(new Number("214"), "clip", Intern);
- mkSymbol(new Number("215"), "head", Intern);
- mkSymbol(new Number("216"), "tail", Intern);
- mkSymbol(new Number("217"), "stem", Intern);
- mkSymbol(new Number("218"), "fin", Intern);
- mkSymbol(new Number("219"), "last", Intern);
- mkSymbol(new Number("220"), "==", Intern);
- mkSymbol(new Number("221"), "n==", Intern);
- mkSymbol(new Number("222"), "=", Intern);
- mkSymbol(new Number("223"), "<>", Intern);
- mkSymbol(new Number("224"), "=0", Intern);
- mkSymbol(new Number("225"), "=T", Intern);
- mkSymbol(new Number("226"), "n0", Intern);
- mkSymbol(new Number("227"), "nT", Intern);
- mkSymbol(new Number("228"), "<", Intern);
- mkSymbol(new Number("229"), "<=", Intern);
- mkSymbol(new Number("230"), ">", Intern);
- mkSymbol(new Number("231"), ">=", Intern);
- mkSymbol(new Number("232"), "max", Intern);
- mkSymbol(new Number("233"), "min", Intern);
- mkSymbol(new Number("234"), "atom", Intern);
- mkSymbol(new Number("235"), "pair", Intern);
- mkSymbol(new Number("236"), "lst?", Intern);
- mkSymbol(new Number("237"), "num?", Intern);
- mkSymbol(new Number("238"), "sym?", Intern);
- mkSymbol(new Number("239"), "flg?", Intern);
- mkSymbol(new Number("240"), "member", Intern);
- mkSymbol(new Number("241"), "memq", Intern);
- mkSymbol(new Number("242"), "mmeq", Intern);
- mkSymbol(new Number("243"), "sect", Intern);
- mkSymbol(new Number("244"), "diff", Intern);
- mkSymbol(new Number("245"), "index", Intern);
- mkSymbol(new Number("246"), "offset", Intern);
- mkSymbol(new Number("247"), "length", Intern);
- mkSymbol(new Number("248"), "size", Intern);
- mkSymbol(new Number("249"), "assoc", Intern);
- mkSymbol(new Number("250"), "asoq", Intern);
- mkSymbol(new Number("251"), "rank", Intern);
- mkSymbol(new Number("252"), "match", Intern);
- mkSymbol(new Number("253"), "fill", Intern);
- mkSymbol(new Number("254"), "prove", Intern);
- mkSymbol(new Number("255"), "->", Intern);
- mkSymbol(new Number("256"), "unify", Intern);
- mkSymbol(new Number("257"), "sort", Intern);
- mkSymbol(new Number("258"), "format", Intern);
- mkSymbol(new Number("259"), "+", Intern);
- mkSymbol(new Number("260"), "-", Intern);
- mkSymbol(new Number("261"), "inc", Intern);
- mkSymbol(new Number("262"), "dec", Intern);
- mkSymbol(new Number("263"), "*", Intern);
- mkSymbol(new Number("264"), "*/", Intern);
- mkSymbol(new Number("265"), "/", Intern);
- mkSymbol(new Number("266"), "%", Intern);
- mkSymbol(new Number("267"), ">>", Intern);
- mkSymbol(new Number("268"), "lt0", Intern);
- mkSymbol(new Number("269"), "ge0", Intern);
- mkSymbol(new Number("270"), "gt0", Intern);
- mkSymbol(new Number("271"), "abs", Intern);
- mkSymbol(new Number("272"), "bit?", Intern);
- mkSymbol(new Number("273"), "&", Intern);
- mkSymbol(new Number("274"), "|", Intern);
- mkSymbol(new Number("275"), "x|", Intern);
- mkSymbol(new Number("276"), "seed", Intern);
- mkSymbol(new Number("277"), "rand", Intern);
- mkSymbol(new Number("278"), "path", Intern);
- mkSymbol(new Number("279"), "read", Intern);
- mkSymbol(new Number("280"), "wait", Intern);
- mkSymbol(new Number("281"), "poll", Intern);
- mkSymbol(new Number("282"), "peek", Intern);
- mkSymbol(new Number("283"), "char", Intern);
- mkSymbol(new Number("284"), "skip", Intern);
- mkSymbol(new Number("285"), "eol", Intern);
- mkSymbol(new Number("286"), "eof", Intern);
- mkSymbol(new Number("287"), "from", Intern);
- mkSymbol(new Number("288"), "till", Intern);
- mkSymbol(new Number("289"), "line", Intern);
- mkSymbol(new Number("290"), "any", Intern);
- mkSymbol(new Number("291"), "sym", Intern);
- mkSymbol(new Number("292"), "str", Intern);
- mkSymbol(new Number("293"), "load", Intern);
- mkSymbol(new Number("294"), "in", Intern);
- mkSymbol(new Number("295"), "out", Intern);
- mkSymbol(new Number("296"), "open", Intern);
- mkSymbol(new Number("297"), "close", Intern);
- mkSymbol(new Number("298"), "echo", Intern);
- mkSymbol(new Number("299"), "prin", Intern);
- mkSymbol(new Number("300"), "prinl", Intern);
- mkSymbol(new Number("301"), "space", Intern);
- mkSymbol(new Number("302"), "print", Intern);
- mkSymbol(new Number("303"), "printsp", Intern);
- mkSymbol(new Number("304"), "println", Intern);
- mkSymbol(new Number("305"), "flush", Intern);
- mkSymbol(new Number("306"), "port", Intern);
- mkSymbol(new Number("307"), "accept", Intern);
- mkSymbol(new Number("308"), "connect", Intern);
- MaxFun = 308;
+ mkSymbol(new Number("2"), "env", Intern);
+ mkSymbol(new Number("3"), "up", Intern);
+ mkSymbol(new Number("4"), "quit", Intern);
+ mkSymbol(new Number("5"), "public", Intern);
+ mkSymbol(new Number("6"), "java", Intern);
+ mkSymbol(new Number("7"), "byte:", Intern);
+ mkSymbol(new Number("8"), "char:", Intern);
+ mkSymbol(new Number("9"), "int:", Intern);
+ mkSymbol(new Number("10"), "long:", Intern);
+ mkSymbol(new Number("11"), "double:", Intern);
+ mkSymbol(new Number("12"), "big:", Intern);
+ mkSymbol(new Number("13"), "data", Intern);
+ mkSymbol(new Number("14"), "args", Intern);
+ mkSymbol(new Number("15"), "next", Intern);
+ mkSymbol(new Number("16"), "arg", Intern);
+ mkSymbol(new Number("17"), "rest", Intern);
+ mkSymbol(new Number("18"), "date", Intern);
+ mkSymbol(new Number("19"), "time", Intern);
+ mkSymbol(new Number("20"), "usec", Intern);
+ mkSymbol(new Number("21"), "pwd", Intern);
+ mkSymbol(new Number("22"), "info", Intern);
+ mkSymbol(new Number("23"), "file", Intern);
+ mkSymbol(new Number("24"), "dir", Intern);
+ mkSymbol(new Number("25"), "argv", Intern);
+ mkSymbol(new Number("26"), "opt", Intern);
+ mkSymbol(new Number("27"), "version", Intern);
+ mkSymbol(new Number("28"), "apply", Intern);
+ mkSymbol(new Number("29"), "pass", Intern);
+ mkSymbol(new Number("30"), "maps", Intern);
+ mkSymbol(new Number("31"), "map", Intern);
+ mkSymbol(new Number("32"), "mapc", Intern);
+ mkSymbol(new Number("33"), "maplist", Intern);
+ mkSymbol(new Number("34"), "mapcar", Intern);
+ mkSymbol(new Number("35"), "mapcon", Intern);
+ mkSymbol(new Number("36"), "mapcan", Intern);
+ mkSymbol(new Number("37"), "filter", Intern);
+ mkSymbol(new Number("38"), "extract", Intern);
+ mkSymbol(new Number("39"), "seek", Intern);
+ mkSymbol(new Number("40"), "find", Intern);
+ mkSymbol(new Number("41"), "pick", Intern);
+ mkSymbol(new Number("42"), "cnt", Intern);
+ mkSymbol(new Number("43"), "sum", Intern);
+ mkSymbol(new Number("44"), "maxi", Intern);
+ mkSymbol(new Number("45"), "mini", Intern);
+ mkSymbol(new Number("46"), "fish", Intern);
+ mkSymbol(new Number("47"), "by", Intern);
+ mkSymbol(new Number("48"), "as", Intern);
+ mkSymbol(new Number("49"), "lit", Intern);
+ mkSymbol(new Number("50"), "eval", Intern);
+ mkSymbol(new Number("51"), "run", Intern);
+ mkSymbol(new Number("52"), "def", Intern);
+ mkSymbol(new Number("53"), "de", Intern);
+ mkSymbol(new Number("54"), "dm", Intern);
+ mkSymbol(new Number("55"), "box", Intern);
+ mkSymbol(new Number("56"), "new", Intern);
+ mkSymbol(new Number("57"), "type", Intern);
+ mkSymbol(new Number("58"), "isa", Intern);
+ mkSymbol(new Number("59"), "method", Intern);
+ mkSymbol(new Number("60"), "send", Intern);
+ mkSymbol(new Number("61"), "try", Intern);
+ mkSymbol(new Number("62"), "super", Intern);
+ mkSymbol(new Number("63"), "extra", Intern);
+ mkSymbol(new Number("64"), "with", Intern);
+ mkSymbol(new Number("65"), "bind", Intern);
+ mkSymbol(new Number("66"), "job", Intern);
+ mkSymbol(new Number("67"), "let", Intern);
+ mkSymbol(new Number("68"), "let?", Intern);
+ mkSymbol(new Number("69"), "use", Intern);
+ mkSymbol(new Number("70"), "and", Intern);
+ mkSymbol(new Number("71"), "or", Intern);
+ mkSymbol(new Number("72"), "nand", Intern);
+ mkSymbol(new Number("73"), "nor", Intern);
+ mkSymbol(new Number("74"), "xor", Intern);
+ mkSymbol(new Number("75"), "bool", Intern);
+ mkSymbol(new Number("76"), "not", Intern);
+ mkSymbol(new Number("77"), "nil", Intern);
+ mkSymbol(new Number("78"), "t", Intern);
+ mkSymbol(new Number("79"), "prog", Intern);
+ mkSymbol(new Number("80"), "prog1", Intern);
+ mkSymbol(new Number("81"), "prog2", Intern);
+ mkSymbol(new Number("82"), "if", Intern);
+ mkSymbol(new Number("83"), "if2", Intern);
+ mkSymbol(new Number("84"), "ifn", Intern);
+ mkSymbol(new Number("85"), "when", Intern);
+ mkSymbol(new Number("86"), "unless", Intern);
+ mkSymbol(new Number("87"), "cond", Intern);
+ mkSymbol(new Number("88"), "nond", Intern);
+ mkSymbol(new Number("89"), "case", Intern);
+ mkSymbol(new Number("90"), "state", Intern);
+ mkSymbol(new Number("91"), "while", Intern);
+ mkSymbol(new Number("92"), "until", Intern);
+ mkSymbol(new Number("93"), "do", Intern);
+ mkSymbol(new Number("94"), "loop", Intern);
+ mkSymbol(new Number("95"), "at", Intern);
+ mkSymbol(new Number("96"), "for", Intern);
+ mkSymbol(new Number("97"), "catch", Intern);
+ mkSymbol(new Number("98"), "throw", Intern);
+ mkSymbol(new Number("99"), "finally", Intern);
+ mkSymbol(new Number("100"), "!", Intern);
+ mkSymbol(new Number("101"), "e", Intern);
+ mkSymbol(new Number("102"), "$", Intern);
+ mkSymbol(new Number("103"), "sys", Intern);
+ mkSymbol(new Number("104"), "call", Intern);
+ mkSymbol(new Number("105"), "ipid", Intern);
+ mkSymbol(new Number("106"), "opid", Intern);
+ mkSymbol(new Number("107"), "kill", Intern);
+ mkSymbol(new Number("108"), "bye", Intern);
+ mkSymbol(new Number("109"), "name", Intern);
+ mkSymbol(new Number("110"), "sp?", Intern);
+ mkSymbol(new Number("111"), "pat?", Intern);
+ mkSymbol(new Number("112"), "fun?", Intern);
+ mkSymbol(new Number("113"), "getd", Intern);
+ mkSymbol(new Number("114"), "all", Intern);
+ mkSymbol(new Number("115"), "intern", Intern);
+ mkSymbol(new Number("116"), "====", Intern);
+ mkSymbol(new Number("117"), "box?", Intern);
+ mkSymbol(new Number("118"), "str?", Intern);
+ mkSymbol(new Number("119"), "zap", Intern);
+ mkSymbol(new Number("120"), "chop", Intern);
+ mkSymbol(new Number("121"), "pack", Intern);
+ mkSymbol(new Number("122"), "glue", Intern);
+ mkSymbol(new Number("123"), "text", Intern);
+ mkSymbol(new Number("124"), "pre?", Intern);
+ mkSymbol(new Number("125"), "sub?", Intern);
+ mkSymbol(new Number("126"), "val", Intern);
+ mkSymbol(new Number("127"), "set", Intern);
+ mkSymbol(new Number("128"), "setq", Intern);
+ mkSymbol(new Number("129"), "xchg", Intern);
+ mkSymbol(new Number("130"), "on", Intern);
+ mkSymbol(new Number("131"), "off", Intern);
+ mkSymbol(new Number("132"), "onOff", Intern);
+ mkSymbol(new Number("133"), "zero", Intern);
+ mkSymbol(new Number("134"), "one", Intern);
+ mkSymbol(new Number("135"), "default", Intern);
+ mkSymbol(new Number("136"), "push", Intern);
+ mkSymbol(new Number("137"), "push1", Intern);
+ mkSymbol(new Number("138"), "pop", Intern);
+ mkSymbol(new Number("139"), "cut", Intern);
+ mkSymbol(new Number("140"), "del", Intern);
+ mkSymbol(new Number("141"), "queue", Intern);
+ mkSymbol(new Number("142"), "fifo", Intern);
+ mkSymbol(new Number("143"), "idx", Intern);
+ mkSymbol(new Number("144"), "lup", Intern);
+ mkSymbol(new Number("145"), "put", Intern);
+ mkSymbol(new Number("146"), "get", Intern);
+ mkSymbol(new Number("147"), "prop", Intern);
+ mkSymbol(new Number("148"), ";", Intern);
+ mkSymbol(new Number("149"), "=:", Intern);
+ mkSymbol(new Number("150"), ":", Intern);
+ mkSymbol(new Number("151"), "::", Intern);
+ mkSymbol(new Number("152"), "putl", Intern);
+ mkSymbol(new Number("153"), "getl", Intern);
+ mkSymbol(new Number("154"), "meta", Intern);
+ mkSymbol(new Number("155"), "low?", Intern);
+ mkSymbol(new Number("156"), "upp?", Intern);
+ mkSymbol(new Number("157"), "lowc", Intern);
+ mkSymbol(new Number("158"), "uppc", Intern);
+ mkSymbol(new Number("159"), "fold", Intern);
+ mkSymbol(new Number("160"), "car", Intern);
+ mkSymbol(new Number("161"), "cdr", Intern);
+ mkSymbol(new Number("162"), "caar", Intern);
+ mkSymbol(new Number("163"), "cadr", Intern);
+ mkSymbol(new Number("164"), "cdar", Intern);
+ mkSymbol(new Number("165"), "cddr", Intern);
+ mkSymbol(new Number("166"), "caaar", Intern);
+ mkSymbol(new Number("167"), "caadr", Intern);
+ mkSymbol(new Number("168"), "cadar", Intern);
+ mkSymbol(new Number("169"), "caddr", Intern);
+ mkSymbol(new Number("170"), "cdaar", Intern);
+ mkSymbol(new Number("171"), "cdadr", Intern);
+ mkSymbol(new Number("172"), "cddar", Intern);
+ mkSymbol(new Number("173"), "cdddr", Intern);
+ mkSymbol(new Number("174"), "caaaar", Intern);
+ mkSymbol(new Number("175"), "caaadr", Intern);
+ mkSymbol(new Number("176"), "caadar", Intern);
+ mkSymbol(new Number("177"), "caaddr", Intern);
+ mkSymbol(new Number("178"), "cadaar", Intern);
+ mkSymbol(new Number("179"), "cadadr", Intern);
+ mkSymbol(new Number("180"), "caddar", Intern);
+ mkSymbol(new Number("181"), "cadddr", Intern);
+ mkSymbol(new Number("182"), "cdaaar", Intern);
+ mkSymbol(new Number("183"), "cdaadr", Intern);
+ mkSymbol(new Number("184"), "cdadar", Intern);
+ mkSymbol(new Number("185"), "cdaddr", Intern);
+ mkSymbol(new Number("186"), "cddaar", Intern);
+ mkSymbol(new Number("187"), "cddadr", Intern);
+ mkSymbol(new Number("188"), "cdddar", Intern);
+ mkSymbol(new Number("189"), "cddddr", Intern);
+ mkSymbol(new Number("190"), "nth", Intern);
+ mkSymbol(new Number("191"), "con", Intern);
+ mkSymbol(new Number("192"), "cons", Intern);
+ mkSymbol(new Number("193"), "conc", Intern);
+ mkSymbol(new Number("194"), "circ", Intern);
+ mkSymbol(new Number("195"), "rot", Intern);
+ mkSymbol(new Number("196"), "list", Intern);
+ mkSymbol(new Number("197"), "need", Intern);
+ mkSymbol(new Number("198"), "range", Intern);
+ mkSymbol(new Number("199"), "full", Intern);
+ mkSymbol(new Number("200"), "make", Intern);
+ mkSymbol(new Number("201"), "made", Intern);
+ mkSymbol(new Number("202"), "chain", Intern);
+ mkSymbol(new Number("203"), "link", Intern);
+ mkSymbol(new Number("204"), "yoke", Intern);
+ mkSymbol(new Number("205"), "copy", Intern);
+ mkSymbol(new Number("206"), "mix", Intern);
+ mkSymbol(new Number("207"), "append", Intern);
+ mkSymbol(new Number("208"), "delete", Intern);
+ mkSymbol(new Number("209"), "delq", Intern);
+ mkSymbol(new Number("210"), "replace", Intern);
+ mkSymbol(new Number("211"), "strip", Intern);
+ mkSymbol(new Number("212"), "split", Intern);
+ mkSymbol(new Number("213"), "reverse", Intern);
+ mkSymbol(new Number("214"), "flip", Intern);
+ mkSymbol(new Number("215"), "trim", Intern);
+ mkSymbol(new Number("216"), "clip", Intern);
+ mkSymbol(new Number("217"), "head", Intern);
+ mkSymbol(new Number("218"), "tail", Intern);
+ mkSymbol(new Number("219"), "stem", Intern);
+ mkSymbol(new Number("220"), "fin", Intern);
+ mkSymbol(new Number("221"), "last", Intern);
+ mkSymbol(new Number("222"), "==", Intern);
+ mkSymbol(new Number("223"), "n==", Intern);
+ mkSymbol(new Number("224"), "=", Intern);
+ mkSymbol(new Number("225"), "<>", Intern);
+ mkSymbol(new Number("226"), "=0", Intern);
+ mkSymbol(new Number("227"), "=T", Intern);
+ mkSymbol(new Number("228"), "n0", Intern);
+ mkSymbol(new Number("229"), "nT", Intern);
+ mkSymbol(new Number("230"), "<", Intern);
+ mkSymbol(new Number("231"), "<=", Intern);
+ mkSymbol(new Number("232"), ">", Intern);
+ mkSymbol(new Number("233"), ">=", Intern);
+ mkSymbol(new Number("234"), "max", Intern);
+ mkSymbol(new Number("235"), "min", Intern);
+ mkSymbol(new Number("236"), "atom", Intern);
+ mkSymbol(new Number("237"), "pair", Intern);
+ mkSymbol(new Number("238"), "lst?", Intern);
+ mkSymbol(new Number("239"), "num?", Intern);
+ mkSymbol(new Number("240"), "sym?", Intern);
+ mkSymbol(new Number("241"), "flg?", Intern);
+ mkSymbol(new Number("242"), "member", Intern);
+ mkSymbol(new Number("243"), "memq", Intern);
+ mkSymbol(new Number("244"), "mmeq", Intern);
+ mkSymbol(new Number("245"), "sect", Intern);
+ mkSymbol(new Number("246"), "diff", Intern);
+ mkSymbol(new Number("247"), "index", Intern);
+ mkSymbol(new Number("248"), "offset", Intern);
+ mkSymbol(new Number("249"), "length", Intern);
+ mkSymbol(new Number("250"), "size", Intern);
+ mkSymbol(new Number("251"), "assoc", Intern);
+ mkSymbol(new Number("252"), "asoq", Intern);
+ mkSymbol(new Number("253"), "rank", Intern);
+ mkSymbol(new Number("254"), "match", Intern);
+ mkSymbol(new Number("255"), "fill", Intern);
+ mkSymbol(new Number("256"), "prove", Intern);
+ mkSymbol(new Number("257"), "->", Intern);
+ mkSymbol(new Number("258"), "unify", Intern);
+ mkSymbol(new Number("259"), "sort", Intern);
+ mkSymbol(new Number("260"), "format", Intern);
+ mkSymbol(new Number("261"), "+", Intern);
+ mkSymbol(new Number("262"), "-", Intern);
+ mkSymbol(new Number("263"), "inc", Intern);
+ mkSymbol(new Number("264"), "dec", Intern);
+ mkSymbol(new Number("265"), "*", Intern);
+ mkSymbol(new Number("266"), "*/", Intern);
+ mkSymbol(new Number("267"), "/", Intern);
+ mkSymbol(new Number("268"), "%", Intern);
+ mkSymbol(new Number("269"), ">>", Intern);
+ mkSymbol(new Number("270"), "lt0", Intern);
+ mkSymbol(new Number("271"), "ge0", Intern);
+ mkSymbol(new Number("272"), "gt0", Intern);
+ mkSymbol(new Number("273"), "abs", Intern);
+ mkSymbol(new Number("274"), "bit?", Intern);
+ mkSymbol(new Number("275"), "&", Intern);
+ mkSymbol(new Number("276"), "|", Intern);
+ mkSymbol(new Number("277"), "x|", Intern);
+ mkSymbol(new Number("278"), "seed", Intern);
+ mkSymbol(new Number("279"), "rand", Intern);
+ mkSymbol(new Number("280"), "path", Intern);
+ mkSymbol(new Number("281"), "read", Intern);
+ mkSymbol(new Number("282"), "wait", Intern);
+ mkSymbol(new Number("283"), "poll", Intern);
+ mkSymbol(new Number("284"), "peek", Intern);
+ mkSymbol(new Number("285"), "char", Intern);
+ mkSymbol(new Number("286"), "skip", Intern);
+ mkSymbol(new Number("287"), "eol", Intern);
+ mkSymbol(new Number("288"), "eof", Intern);
+ mkSymbol(new Number("289"), "from", Intern);
+ mkSymbol(new Number("290"), "till", Intern);
+ mkSymbol(new Number("291"), "line", Intern);
+ mkSymbol(new Number("292"), "any", Intern);
+ mkSymbol(new Number("293"), "sym", Intern);
+ mkSymbol(new Number("294"), "str", Intern);
+ mkSymbol(new Number("295"), "load", Intern);
+ mkSymbol(new Number("296"), "in", Intern);
+ mkSymbol(new Number("297"), "out", Intern);
+ mkSymbol(new Number("298"), "open", Intern);
+ mkSymbol(new Number("299"), "close", Intern);
+ mkSymbol(new Number("300"), "echo", Intern);
+ mkSymbol(new Number("301"), "prin", Intern);
+ mkSymbol(new Number("302"), "prinl", Intern);
+ mkSymbol(new Number("303"), "space", Intern);
+ mkSymbol(new Number("304"), "print", Intern);
+ mkSymbol(new Number("305"), "printsp", Intern);
+ mkSymbol(new Number("306"), "println", Intern);
+ mkSymbol(new Number("307"), "flush", Intern);
+ mkSymbol(new Number("308"), "port", Intern);
+ mkSymbol(new Number("309"), "accept", Intern);
+ mkSymbol(new Number("310"), "connect", Intern);
+ MaxFun = 310;
init();
for (boolean first = true; ; first = false) {
try {
@@ -2093,620 +2095,624 @@ public class PicoLisp {
return ex.Cdr;
case 1: // (meth 'obj ['any ..]) -> any
return doMeth(ex);
- case 2: // quit
+ case 2: // env
return do2(ex);
- case 3: // public
+ case 3: // up
return do3(ex);
- case 4: // java
+ case 4: // quit
return do4(ex);
- case 5: // byte:
+ case 5: // public
return do5(ex);
- case 6: // char:
+ case 6: // java
return do6(ex);
- case 7: // int:
+ case 7: // byte:
return do7(ex);
- case 8: // long:
+ case 8: // char:
return do8(ex);
- case 9: // double:
+ case 9: // int:
return do9(ex);
- case 10: // big:
+ case 10: // long:
return do10(ex);
- case 11: // data
+ case 11: // double:
return do11(ex);
- case 12: // args
- return Env.Next < Env.ArgC? T : Nil;
- case 13: // next
+ case 12: // big:
+ return do12(ex);
+ case 13: // data
return do13(ex);
- case 14: // arg
- return do14(ex);
- case 15: // rest
+ case 14: // args
+ return Env.Next < Env.ArgC? T : Nil;
+ case 15: // next
return do15(ex);
- case 16: // date
+ case 16: // arg
return do16(ex);
- case 17: // time
+ case 17: // rest
return do17(ex);
- case 18: // usec
+ case 18: // date
return do18(ex);
- case 19: // pwd
- return mkStr(System.getProperty("user.dir"));
- case 20: // info
+ case 19: // time
+ return do19(ex);
+ case 20: // usec
return do20(ex);
- case 21: // file
- return do21(ex);
- case 22: // dir
+ case 21: // pwd
+ return mkStr(System.getProperty("user.dir"));
+ case 22: // info
return do22(ex);
- case 23: // argv
+ case 23: // file
return do23(ex);
- case 24: // opt
+ case 24: // dir
return do24(ex);
- case 25: // version
+ case 25: // argv
return do25(ex);
- case 26: // apply
+ case 26: // opt
return do26(ex);
- case 27: // pass
+ case 27: // version
return do27(ex);
- case 28: // maps
+ case 28: // apply
return do28(ex);
- case 29: // map
+ case 29: // pass
return do29(ex);
- case 30: // mapc
+ case 30: // maps
return do30(ex);
- case 31: // maplist
+ case 31: // map
return do31(ex);
- case 32: // mapcar
+ case 32: // mapc
return do32(ex);
- case 33: // mapcon
+ case 33: // maplist
return do33(ex);
- case 34: // mapcan
+ case 34: // mapcar
return do34(ex);
- case 35: // filter
+ case 35: // mapcon
return do35(ex);
- case 36: // extract
+ case 36: // mapcan
return do36(ex);
- case 37: // seek
+ case 37: // filter
return do37(ex);
- case 38: // find
+ case 38: // extract
return do38(ex);
- case 39: // pick
+ case 39: // seek
return do39(ex);
- case 40: // cnt
+ case 40: // find
return do40(ex);
- case 41: // sum
+ case 41: // pick
return do41(ex);
- case 42: // maxi
+ case 42: // cnt
return do42(ex);
- case 43: // mini
+ case 43: // sum
return do43(ex);
- case 44: // fish
+ case 44: // maxi
return do44(ex);
- case 45: // by
+ case 45: // mini
return do45(ex);
- case 46: // as
+ case 46: // fish
return do46(ex);
- case 47: // lit
+ case 47: // by
return do47(ex);
- case 48: // eval
+ case 48: // as
return do48(ex);
- case 49: // run
+ case 49: // lit
return do49(ex);
- case 50: // def
+ case 50: // eval
return do50(ex);
- case 51: // de
+ case 51: // run
return do51(ex);
- case 52: // dm
+ case 52: // def
return do52(ex);
- case 53: // box
+ case 53: // de
return do53(ex);
- case 54: // new
+ case 54: // dm
return do54(ex);
- case 55: // type
+ case 55: // box
return do55(ex);
- case 56: // isa
+ case 56: // new
return do56(ex);
- case 57: // method
+ case 57: // type
return do57(ex);
- case 58: // send
+ case 58: // isa
return do58(ex);
- case 59: // try
+ case 59: // method
return do59(ex);
- case 60: // super
+ case 60: // send
return do60(ex);
- case 61: // extra
+ case 61: // try
return do61(ex);
- case 62: // with
+ case 62: // super
return do62(ex);
- case 63: // bind
+ case 63: // extra
return do63(ex);
- case 64: // job
+ case 64: // with
return do64(ex);
- case 65: // let
+ case 65: // bind
return do65(ex);
- case 66: // let?
+ case 66: // job
return do66(ex);
- case 67: // use
+ case 67: // let
return do67(ex);
- case 68: // and
+ case 68: // let?
return do68(ex);
- case 69: // or
+ case 69: // use
return do69(ex);
- case 70: // nand
+ case 70: // and
return do70(ex);
- case 71: // nor
+ case 71: // or
return do71(ex);
- case 72: // xor
+ case 72: // nand
return do72(ex);
- case 73: // bool
+ case 73: // nor
return do73(ex);
- case 74: // not
+ case 74: // xor
return do74(ex);
- case 75: // nil
+ case 75: // bool
return do75(ex);
- case 76: // t
+ case 76: // not
return do76(ex);
- case 77: // prog
- return ex.Cdr.prog();
- case 78: // prog1
+ case 77: // nil
+ return do77(ex);
+ case 78: // t
return do78(ex);
- case 79: // prog2
- return do79(ex);
- case 80: // if
+ case 79: // prog
+ return ex.Cdr.prog();
+ case 80: // prog1
return do80(ex);
- case 81: // if2
+ case 81: // prog2
return do81(ex);
- case 82: // ifn
+ case 82: // if
return do82(ex);
- case 83: // when
+ case 83: // if2
return do83(ex);
- case 84: // unless
+ case 84: // ifn
return do84(ex);
- case 85: // cond
+ case 85: // when
return do85(ex);
- case 86: // nond
+ case 86: // unless
return do86(ex);
- case 87: // case
+ case 87: // cond
return do87(ex);
- case 88: // state
+ case 88: // nond
return do88(ex);
- case 89: // while
+ case 89: // case
return do89(ex);
- case 90: // until
+ case 90: // state
return do90(ex);
- case 91: // do
+ case 91: // while
return do91(ex);
- case 92: // loop
- return loop(ex.Cdr);
- case 93: // at
+ case 92: // until
+ return do92(ex);
+ case 93: // do
return do93(ex);
- case 94: // for
- return do94(ex);
- case 95: // catch
+ case 94: // loop
+ return loop(ex.Cdr);
+ case 95: // at
return do95(ex);
- case 96: // throw
+ case 96: // for
return do96(ex);
- case 97: // finally
+ case 97: // catch
return do97(ex);
- case 98: // !
+ case 98: // throw
return do98(ex);
- case 99: // e
+ case 99: // finally
return do99(ex);
- case 100: // $
+ case 100: // !
return do100(ex);
- case 101: // sys
+ case 101: // e
return do101(ex);
- case 102: // call
+ case 102: // $
return do102(ex);
- case 103: // ipid
+ case 103: // sys
return do103(ex);
- case 104: // opid
+ case 104: // call
return do104(ex);
- case 105: // kill
+ case 105: // ipid
return do105(ex);
- case 106: // bye
+ case 106: // opid
return do106(ex);
- case 107: // name
+ case 107: // kill
return do107(ex);
- case 108: // sp?
+ case 108: // bye
return do108(ex);
- case 109: // pat?
+ case 109: // name
return do109(ex);
- case 110: // fun?
+ case 110: // sp?
return do110(ex);
- case 111: // getd
+ case 111: // pat?
return do111(ex);
- case 112: // all
+ case 112: // fun?
return do112(ex);
- case 113: // intern
+ case 113: // getd
return do113(ex);
- case 114: // ====
+ case 114: // all
return do114(ex);
- case 115: // box?
+ case 115: // intern
return do115(ex);
- case 116: // str?
+ case 116: // ====
return do116(ex);
- case 117: // zap
+ case 117: // box?
return do117(ex);
- case 118: // chop
+ case 118: // str?
return do118(ex);
- case 119: // pack
+ case 119: // zap
return do119(ex);
- case 120: // glue
+ case 120: // chop
return do120(ex);
- case 121: // text
+ case 121: // pack
return do121(ex);
- case 122: // pre?
+ case 122: // glue
return do122(ex);
- case 123: // sub?
+ case 123: // text
return do123(ex);
- case 124: // val
- return ex.Cdr.Car.eval().Car;
- case 125: // set
+ case 124: // pre?
+ return do124(ex);
+ case 125: // sub?
return do125(ex);
- case 126: // setq
- return do126(ex);
- case 127: // xchg
+ case 126: // val
+ return ex.Cdr.Car.eval().Car;
+ case 127: // set
return do127(ex);
- case 128: // on
+ case 128: // setq
return do128(ex);
- case 129: // off
+ case 129: // xchg
return do129(ex);
- case 130: // onOff
+ case 130: // on
return do130(ex);
- case 131: // zero
+ case 131: // off
return do131(ex);
- case 132: // one
+ case 132: // onOff
return do132(ex);
- case 133: // default
+ case 133: // zero
return do133(ex);
- case 134: // push
+ case 134: // one
return do134(ex);
- case 135: // push1
+ case 135: // default
return do135(ex);
- case 136: // pop
+ case 136: // push
return do136(ex);
- case 137: // cut
+ case 137: // push1
return do137(ex);
- case 138: // del
+ case 138: // pop
return do138(ex);
- case 139: // queue
+ case 139: // cut
return do139(ex);
- case 140: // fifo
+ case 140: // del
return do140(ex);
- case 141: // idx
+ case 141: // queue
return do141(ex);
- case 142: // lup
+ case 142: // fifo
return do142(ex);
- case 143: // put
+ case 143: // idx
return do143(ex);
- case 144: // get
+ case 144: // lup
return do144(ex);
- case 145: // prop
+ case 145: // put
return do145(ex);
- case 146: // ;
+ case 146: // get
return do146(ex);
- case 147: // =:
+ case 147: // prop
return do147(ex);
- case 148: // :
+ case 148: // ;
return do148(ex);
- case 149: // ::
+ case 149: // =:
return do149(ex);
- case 150: // putl
+ case 150: // :
return do150(ex);
- case 151: // getl
+ case 151: // ::
return do151(ex);
- case 152: // meta
+ case 152: // putl
return do152(ex);
- case 153: // low?
+ case 153: // getl
return do153(ex);
- case 154: // upp?
+ case 154: // meta
return do154(ex);
- case 155: // lowc
+ case 155: // low?
return do155(ex);
- case 156: // uppc
+ case 156: // upp?
return do156(ex);
- case 157: // fold
+ case 157: // lowc
return do157(ex);
- case 158: // car
+ case 158: // uppc
+ return do158(ex);
+ case 159: // fold
+ return do159(ex);
+ case 160: // car
return ex.Cdr.Car.eval().Car;
- case 159: // cdr
+ case 161: // cdr
return ex.Cdr.Car.eval().Cdr;
- case 160: // caar
+ case 162: // caar
return ex.Cdr.Car.eval().Car.Car;
- case 161: // cadr
+ case 163: // cadr
return ex.Cdr.Car.eval().Cdr.Car;
- case 162: // cdar
+ case 164: // cdar
return ex.Cdr.Car.eval().Car.Cdr;
- case 163: // cddr
+ case 165: // cddr
return ex.Cdr.Car.eval().Cdr.Cdr;
- case 164: // caaar
- return do164(ex);
- case 165: // caadr
- return do165(ex);
- case 166: // cadar
+ case 166: // caaar
return do166(ex);
- case 167: // caddr
+ case 167: // caadr
return do167(ex);
- case 168: // cdaar
+ case 168: // cadar
return do168(ex);
- case 169: // cdadr
+ case 169: // caddr
return do169(ex);
- case 170: // cddar
+ case 170: // cdaar
return do170(ex);
- case 171: // cdddr
+ case 171: // cdadr
return do171(ex);
- case 172: // caaaar
+ case 172: // cddar
return do172(ex);
- case 173: // caaadr
+ case 173: // cdddr
return do173(ex);
- case 174: // caadar
+ case 174: // caaaar
return do174(ex);
- case 175: // caaddr
+ case 175: // caaadr
return do175(ex);
- case 176: // cadaar
+ case 176: // caadar
return do176(ex);
- case 177: // cadadr
+ case 177: // caaddr
return do177(ex);
- case 178: // caddar
+ case 178: // cadaar
return do178(ex);
- case 179: // cadddr
+ case 179: // cadadr
return do179(ex);
- case 180: // cdaaar
+ case 180: // caddar
return do180(ex);
- case 181: // cdaadr
+ case 181: // cadddr
return do181(ex);
- case 182: // cdadar
+ case 182: // cdaaar
return do182(ex);
- case 183: // cdaddr
+ case 183: // cdaadr
return do183(ex);
- case 184: // cddaar
+ case 184: // cdadar
return do184(ex);
- case 185: // cddadr
+ case 185: // cdaddr
return do185(ex);
- case 186: // cdddar
+ case 186: // cddaar
return do186(ex);
- case 187: // cddddr
+ case 187: // cddadr
return do187(ex);
- case 188: // nth
+ case 188: // cdddar
return do188(ex);
- case 189: // con
+ case 189: // cddddr
return do189(ex);
- case 190: // cons
+ case 190: // nth
return do190(ex);
- case 191: // conc
+ case 191: // con
return do191(ex);
- case 192: // circ
+ case 192: // cons
return do192(ex);
- case 193: // rot
+ case 193: // conc
return do193(ex);
- case 194: // list
+ case 194: // circ
return do194(ex);
- case 195: // need
+ case 195: // rot
return do195(ex);
- case 196: // range
+ case 196: // list
return do196(ex);
- case 197: // full
+ case 197: // need
return do197(ex);
- case 198: // make
+ case 198: // range
return do198(ex);
- case 199: // made
+ case 199: // full
return do199(ex);
- case 200: // chain
+ case 200: // make
return do200(ex);
- case 201: // link
+ case 201: // made
return do201(ex);
- case 202: // yoke
+ case 202: // chain
return do202(ex);
- case 203: // copy
+ case 203: // link
return do203(ex);
- case 204: // mix
+ case 204: // yoke
return do204(ex);
- case 205: // append
+ case 205: // copy
return do205(ex);
- case 206: // delete
+ case 206: // mix
return do206(ex);
- case 207: // delq
+ case 207: // append
return do207(ex);
- case 208: // replace
+ case 208: // delete
return do208(ex);
- case 209: // strip
+ case 209: // delq
return do209(ex);
- case 210: // split
+ case 210: // replace
return do210(ex);
- case 211: // reverse
+ case 211: // strip
return do211(ex);
- case 212: // flip
+ case 212: // split
return do212(ex);
- case 213: // trim
+ case 213: // reverse
return do213(ex);
- case 214: // clip
+ case 214: // flip
return do214(ex);
- case 215: // head
+ case 215: // trim
return do215(ex);
- case 216: // tail
+ case 216: // clip
return do216(ex);
- case 217: // stem
+ case 217: // head
return do217(ex);
- case 218: // fin
+ case 218: // tail
return do218(ex);
- case 219: // last
+ case 219: // stem
return do219(ex);
- case 220: // ==
+ case 220: // fin
return do220(ex);
- case 221: // n==
+ case 221: // last
return do221(ex);
- case 222: // =
+ case 222: // ==
return do222(ex);
- case 223: // <>
+ case 223: // n==
return do223(ex);
- case 224: // =0
+ case 224: // =
return do224(ex);
- case 225: // =T
+ case 225: // <>
return do225(ex);
- case 226: // n0
+ case 226: // =0
return do226(ex);
- case 227: // nT
+ case 227: // =T
return do227(ex);
- case 228: // <
+ case 228: // n0
return do228(ex);
- case 229: // <=
+ case 229: // nT
return do229(ex);
- case 230: // >
+ case 230: // <
return do230(ex);
- case 231: // >=
+ case 231: // <=
return do231(ex);
- case 232: // max
+ case 232: // >
return do232(ex);
- case 233: // min
+ case 233: // >=
return do233(ex);
- case 234: // atom
+ case 234: // max
return do234(ex);
- case 235: // pair
+ case 235: // min
return do235(ex);
- case 236: // lst?
+ case 236: // atom
return do236(ex);
- case 237: // num?
+ case 237: // pair
return do237(ex);
- case 238: // sym?
+ case 238: // lst?
return do238(ex);
- case 239: // flg?
+ case 239: // num?
return do239(ex);
- case 240: // member
+ case 240: // sym?
return do240(ex);
- case 241: // memq
+ case 241: // flg?
return do241(ex);
- case 242: // mmeq
+ case 242: // member
return do242(ex);
- case 243: // sect
+ case 243: // memq
return do243(ex);
- case 244: // diff
+ case 244: // mmeq
return do244(ex);
- case 245: // index
+ case 245: // sect
return do245(ex);
- case 246: // offset
+ case 246: // diff
return do246(ex);
- case 247: // length
+ case 247: // index
return do247(ex);
- case 248: // size
+ case 248: // offset
return do248(ex);
- case 249: // assoc
+ case 249: // length
return do249(ex);
- case 250: // asoq
+ case 250: // size
return do250(ex);
- case 251: // rank
+ case 251: // assoc
return do251(ex);
- case 252: // match
+ case 252: // asoq
return do252(ex);
- case 253: // fill
+ case 253: // rank
return do253(ex);
- case 254: // prove
+ case 254: // match
return do254(ex);
- case 255: // ->
+ case 255: // fill
return do255(ex);
- case 256: // unify
+ case 256: // prove
return do256(ex);
- case 257: // sort
+ case 257: // ->
return do257(ex);
- case 258: // format
+ case 258: // unify
return do258(ex);
- case 259: // +
+ case 259: // sort
return do259(ex);
- case 260: // -
+ case 260: // format
return do260(ex);
- case 261: // inc
+ case 261: // +
return do261(ex);
- case 262: // dec
+ case 262: // -
return do262(ex);
- case 263: // *
+ case 263: // inc
return do263(ex);
- case 264: // */
+ case 264: // dec
return do264(ex);
- case 265: // /
+ case 265: // *
return do265(ex);
- case 266: // %
+ case 266: // */
return do266(ex);
- case 267: // >>
+ case 267: // /
return do267(ex);
- case 268: // lt0
+ case 268: // %
return do268(ex);
- case 269: // ge0
+ case 269: // >>
return do269(ex);
- case 270: // gt0
+ case 270: // lt0
return do270(ex);
- case 271: // abs
+ case 271: // ge0
return do271(ex);
- case 272: // bit?
+ case 272: // gt0
return do272(ex);
- case 273: // &
+ case 273: // abs
return do273(ex);
- case 274: // |
+ case 274: // bit?
return do274(ex);
- case 275: // x|
+ case 275: // &
return do275(ex);
- case 276: // seed
+ case 276: // |
return do276(ex);
- case 277: // rand
+ case 277: // x|
return do277(ex);
- case 278: // path
+ case 278: // seed
return do278(ex);
- case 279: // read
+ case 279: // rand
return do279(ex);
- case 280: // wait
+ case 280: // path
return do280(ex);
- case 281: // poll
+ case 281: // read
return do281(ex);
- case 282: // peek
+ case 282: // wait
return do282(ex);
- case 283: // char
+ case 283: // poll
return do283(ex);
- case 284: // skip
+ case 284: // peek
return do284(ex);
- case 285: // eol
+ case 285: // char
return do285(ex);
- case 286: // eof
+ case 286: // skip
return do286(ex);
- case 287: // from
+ case 287: // eol
return do287(ex);
- case 288: // till
+ case 288: // eof
return do288(ex);
- case 289: // line
+ case 289: // from
return do289(ex);
- case 290: // any
+ case 290: // till
return do290(ex);
- case 291: // sym
+ case 291: // line
return do291(ex);
- case 292: // str
+ case 292: // any
return do292(ex);
- case 293: // load
+ case 293: // sym
return do293(ex);
- case 294: // in
+ case 294: // str
return do294(ex);
- case 295: // out
+ case 295: // load
return do295(ex);
- case 296: // open
+ case 296: // in
return do296(ex);
- case 297: // close
+ case 297: // out
return do297(ex);
- case 298: // echo
+ case 298: // open
return do298(ex);
- case 299: // prin
+ case 299: // close
return do299(ex);
- case 300: // prinl
+ case 300: // echo
return do300(ex);
- case 301: // space
+ case 301: // prin
return do301(ex);
- case 302: // print
+ case 302: // prinl
return do302(ex);
- case 303: // printsp
+ case 303: // space
return do303(ex);
- case 304: // println
+ case 304: // print
return do304(ex);
- case 305: // flush
+ case 305: // printsp
return do305(ex);
- case 306: // port
+ case 306: // println
return do306(ex);
- case 307: // accept
+ case 307: // flush
return do307(ex);
- case 308: // connect
+ case 308: // port
return do308(ex);
+ case 309: // accept
+ return do309(ex);
+ case 310: // connect
+ return do310(ex);
default:
return undefined(this, ex);
}
@@ -2730,13 +2736,81 @@ public class PicoLisp {
}
}
- final static Any do2(Any ex) { // quit
+ final static Any do2(Any ex) { // env
+ int i;
+ Any x, y;
+ y = Nil;
+ if (!((ex = ex.Cdr) instanceof Cell)) {
+ for (Bind p = Env.Bind; p != null; p = p.Link) {
+ if (p.Eswp == 0) {
+ for (i = p.Cnt; --i > 0; --i) {
+ for (x = y; ; x = x.Cdr) {
+ if (!(x instanceof Cell)) {
+ y = new Cell(new Cell(p.Data[i], p.Data[i].Car), y);
+ break;
+ }
+ if (x.Car.Car == p.Data[i])
+ break;
+ }
+ }
+ }
+ }
+ }
+ else {
+ do {
+ if ((x = ex.Car.eval()) instanceof Cell) {
+ do
+ y = new Cell(new Cell(x.Car, x.Car.Car), y);
+ while ((x = x.Cdr) instanceof Cell);
+ }
+ else if (x != Nil) {
+ ex = ex.Cdr;
+ y = new Cell(new Cell(x, ex.Car.eval()), y);
+ }
+ }
+ while ((ex = ex.Cdr) instanceof Cell);
+ }
+ return y;
+ }
+
+ final static Any do3(Any ex) { // up
+ int i, j, k;
+ Any x;
+ if (!((x = (ex = ex.Cdr).Car) instanceof Number))
+ k = 1;
+ else {
+ k = ((Number)x).Cnt;
+ ex = ex.Cdr;
+ x = ex.Car;
+ }
+ j = 0;
+ Bind q = null;
+ for (Bind p = Env.Bind; p != null; p = p.Link) {
+ for (i = 0; i < p.Cnt; i += 2) {
+ if (p.Data[i+1] == x) {
+ if (--k == 0) {
+ if ((ex = ex.Cdr) instanceof Cell)
+ return p.Data[i] = ex.Car.eval();
+ return p.Data[i];
+ }
+ }
+ }
+ }
+ if ((ex = ex.Cdr) instanceof Cell)
+ if (q == null)
+ x.Car = ex.Car.eval();
+ else
+ q.Data[j] = ex.Car.eval();
+ return q == null? x.Car : q.Data[j];
+ }
+
+ final static Any do4(Any ex) { // quit
String str;
str = evString(ex = ex.Cdr);
return err(null, (ex = ex.Cdr) instanceof Cell? ex.Car.eval() : null, str);
}
- final static Any do3(Any ex) { // public
+ final static Any do5(Any ex) { // public
Any x, y, z;
Symbol s;
Object o;
@@ -2754,7 +2828,7 @@ public class PicoLisp {
catch (Exception e) {return err(ex, null, e.toString());}
}
- final static Any do4(Any ex) { // java
+ final static Any do6(Any ex) { // java
int i, j, k;
Any x, y, z;
Symbol s;
@@ -2836,40 +2910,40 @@ public class PicoLisp {
catch (Exception e) {return err(ex, null, e.toString());}
}
- final static Any do5(Any ex) { // byte:
+ final static Any do7(Any ex) { // byte:
Any x;
x = ex.Cdr.Car.eval();
return new Symbol(new Byte(x instanceof Number? (byte)((Number)x).Cnt : (byte)x.name().charAt(0)));
}
- final static Any do6(Any ex) { // char:
+ final static Any do8(Any ex) { // char:
Any x;
x = ex.Cdr.Car.eval();
return new Symbol(new Character(x instanceof Number? (char)((Number)x).Cnt : x.name().charAt(0)));
}
- final static Any do7(Any ex) { // int:
+ final static Any do9(Any ex) { // int:
return new Symbol(new Integer(evInt(ex.Cdr)));
}
- final static Any do8(Any ex) { // long:
+ final static Any do10(Any ex) { // long:
return new Symbol(new Long(evLong(ex.Cdr)));
}
- final static Any do9(Any ex) { // double:
+ final static Any do11(Any ex) { // double:
Any x;
if ((x = (ex = ex.Cdr).Car.eval()) instanceof Number)
return new Symbol(new Double(((Number)x).toString(evInt(ex.Cdr), '.', '\0')));
return new Symbol(new Double(x.name()));
}
- final static Any do10(Any ex) { // big:
+ final static Any do12(Any ex) { // big:
Number num;
num = (Number)(ex.Cdr.Car.eval());
return new Symbol(num.Big == null? big(num.Cnt) : num.Big);
}
- final static Any do11(Any ex) { // data
+ final static Any do13(Any ex) { // data
int i, j;
Any x, y;
Symbol s;
@@ -2919,18 +2993,18 @@ public class PicoLisp {
return x;
}
- final static Any do13(Any ex) { // next
+ final static Any do15(Any ex) { // next
return Env.Next < Env.ArgC? (Env.Arg = Env.Args[Env.Next++]) : Nil;
}
- final static Any do14(Any ex) { // arg
+ final static Any do16(Any ex) { // arg
int i;
if (ex.Cdr instanceof Cell)
return (i = evInt(ex.Cdr)+Env.Next-1) >= 0 && i < Env.ArgC? Env.Args[i] : Nil;
return Env.Arg;
}
- final static Any do15(Any ex) { // rest
+ final static Any do17(Any ex) { // rest
int i;
Any x;
for (x = Nil, i = Env.ArgC; --i >= Env.Next;)
@@ -2938,7 +3012,7 @@ public class PicoLisp {
return x;
}
- final static Any do16(Any ex) { // date
+ final static Any do18(Any ex) { // date
int i, j;
Any x, z;
if (!((x = ex.Cdr) instanceof Cell)) {
@@ -2960,7 +3034,7 @@ public class PicoLisp {
return date(i, j, evInt(x.Cdr));
}
- final static Any do17(Any ex) { // time
+ final static Any do19(Any ex) { // time
int i, j;
Any x, z;
if (!((x = ex.Cdr) instanceof Cell))
@@ -2978,11 +3052,11 @@ public class PicoLisp {
return time(i, j, x.Cdr instanceof Cell? evInt(x.Cdr) : 0);
}
- final static Any do18(Any ex) { // usec
+ final static Any do20(Any ex) { // usec
return new Number(System.nanoTime()/1000 - USec);
}
- final static Any do20(Any ex) { // info
+ final static Any do22(Any ex) { // info
File f = new File(path(evString(ex.Cdr)));
if (!f.exists())
return Nil;
@@ -2996,7 +3070,7 @@ public class PicoLisp {
time(c) ) );
}
- final static Any do21(Any ex) { // file
+ final static Any do23(Any ex) { // file
int i;
Any x;
if (InFile.Name == null)
@@ -3007,7 +3081,7 @@ public class PicoLisp {
return new Cell(mkStr("./"), new Cell(mkStr(InFile.Name), x));
}
- final static Any do22(Any ex) { // dir
+ final static Any do24(Any ex) { // dir
int i;
Any x, y;
String str;
@@ -3021,7 +3095,7 @@ public class PicoLisp {
return y;
}
- final static Any do23(Any ex) { // argv
+ final static Any do25(Any ex) { // argv
int i, j;
Any x, y;
i = Argv.length > 0 && Argv[0].equals("-")? 1 : 0;
@@ -3045,12 +3119,12 @@ public class PicoLisp {
return y.Car;
}
- final static Any do24(Any ex) { // opt
+ final static Any do26(Any ex) { // opt
String str;
return (str = opt()) == null? Nil : mkStr(str);
}
- final static Any do25(Any ex) { // version
+ final static Any do27(Any ex) { // version
int i;
Any x;
if (ex.Cdr.Car.eval() == Nil) {
@@ -3064,7 +3138,7 @@ public class PicoLisp {
return x;
}
- final static Any do26(Any ex) { // apply
+ final static Any do28(Any ex) { // apply
int i;
Any w, x, y;
Any[] v;
@@ -3079,7 +3153,7 @@ public class PicoLisp {
return w.apply(ex, false, v, i);
}
- final static Any do27(Any ex) { // pass
+ final static Any do29(Any ex) { // pass
int i, j;
Any w, x;
Any[] v;
@@ -3091,7 +3165,7 @@ public class PicoLisp {
return w.apply(ex, false, v, i);
}
- final static Any do28(Any ex) { // maps
+ final static Any do30(Any ex) { // maps
int i, j, k;
Any w, x, y;
Symbol s;
@@ -3116,7 +3190,7 @@ public class PicoLisp {
return x;
}
- final static Any do29(Any ex) { // map
+ final static Any do31(Any ex) { // map
int i, j;
Any w, x, y;
Any[] v;
@@ -3136,7 +3210,7 @@ public class PicoLisp {
return x;
}
- final static Any do30(Any ex) { // mapc
+ final static Any do32(Any ex) { // mapc
int i, j;
Any w, x, y;
Any[] v;
@@ -3156,7 +3230,7 @@ public class PicoLisp {
return x;
}
- final static Any do31(Any ex) { // maplist
+ final static Any do33(Any ex) { // maplist
int i, j;
Any w, x, z;
Any[] v;
@@ -3180,7 +3254,7 @@ public class PicoLisp {
return z;
}
- final static Any do32(Any ex) { // mapcar
+ final static Any do34(Any ex) { // mapcar
int i, j;
Any w, x, z;
Any[] v;
@@ -3204,7 +3278,7 @@ public class PicoLisp {
return z;
}
- final static Any do33(Any ex) { // mapcon
+ final static Any do35(Any ex) { // mapcon
int i, j;
Any w, x, z;
Any[] v;
@@ -3236,7 +3310,7 @@ public class PicoLisp {
return z;
}
- final static Any do34(Any ex) { // mapcan
+ final static Any do36(Any ex) { // mapcan
int i, j;
Any w, x, z;
Any[] v;
@@ -3268,7 +3342,7 @@ public class PicoLisp {
return z;
}
- final static Any do35(Any ex) { // filter
+ final static Any do37(Any ex) { // filter
int i, j;
Any w, x, z;
Any[] v;
@@ -3299,7 +3373,7 @@ public class PicoLisp {
return z;
}
- final static Any do36(Any ex) { // extract
+ final static Any do38(Any ex) { // extract
int i, j;
Any w, x, y, z;
Any[] v;
@@ -3330,7 +3404,7 @@ public class PicoLisp {
return z;
}
- final static Any do37(Any ex) { // seek
+ final static Any do39(Any ex) { // seek
int i, j;
Any w, x;
Any[] v;
@@ -3351,7 +3425,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do38(Any ex) { // find
+ final static Any do40(Any ex) { // find
int i, j;
Any w, x;
Any[] v;
@@ -3372,7 +3446,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do39(Any ex) { // pick
+ final static Any do41(Any ex) { // pick
int i, j;
Any w, x;
Any[] v;
@@ -3393,7 +3467,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do40(Any ex) { // cnt
+ final static Any do42(Any ex) { // cnt
int i, j;
long n;
Any w, x;
@@ -3416,7 +3490,7 @@ public class PicoLisp {
return new Number(n);
}
- final static Any do41(Any ex) { // sum
+ final static Any do43(Any ex) { // sum
int i, j;
Any w, x, y;
Number num;
@@ -3439,7 +3513,7 @@ public class PicoLisp {
return num;
}
- final static Any do42(Any ex) { // maxi
+ final static Any do44(Any ex) { // maxi
int i, j;
Any w, x, y, z;
Any[] v;
@@ -3463,7 +3537,7 @@ public class PicoLisp {
return z;
}
- final static Any do43(Any ex) { // mini
+ final static Any do45(Any ex) { // mini
int i, j;
Any w, x, y, z;
Any[] v;
@@ -3488,7 +3562,7 @@ public class PicoLisp {
return z;
}
- final static Any do44(Any ex) { // fish
+ final static Any do46(Any ex) { // fish
Any w;
Any[] v;
w = ex.Cdr.Car.eval();
@@ -3496,7 +3570,7 @@ public class PicoLisp {
return fish(ex, w, v, Nil);
}
- final static Any do45(Any ex) { // by
+ final static Any do47(Any ex) { // by
int i, j;
Any w, x, y, z;
Any[] v;
@@ -3523,16 +3597,16 @@ public class PicoLisp {
return z;
}
- final static Any do46(Any ex) { // as
+ final static Any do48(Any ex) { // as
return ex.Cdr.Car.eval() == Nil? Nil : ex.Cdr.Cdr;
}
- final static Any do47(Any ex) { // lit
+ final static Any do49(Any ex) { // lit
Any x;
return (x = ex.Cdr.Car.eval()) instanceof Number || x == Nil || x == T || x instanceof Cell && x.Car instanceof Number? x : new Cell(Quote, x);
}
- final static Any do48(Any ex) { // eval
+ final static Any do50(Any ex) { // eval
Any y;
if ((y = (ex = ex.Cdr).Car.eval()) instanceof Number)
return y;
@@ -3541,7 +3615,7 @@ public class PicoLisp {
return evRun(true, y, evInt(ex.Cdr), ex.Cdr.Cdr.Car.eval());
}
- final static Any do49(Any ex) { // run
+ final static Any do51(Any ex) { // run
Any y;
if ((y = (ex = ex.Cdr).Car.eval()) instanceof Number)
return y;
@@ -3550,7 +3624,7 @@ public class PicoLisp {
return evRun(false, y, evInt(ex.Cdr), ex.Cdr.Cdr.Car.eval());
}
- final static Any do50(Any ex) { // def
+ final static Any do52(Any ex) { // def
Any w, x, y;
Symbol s;
s = (Symbol)(ex = ex.Cdr).Car.eval();
@@ -3571,13 +3645,13 @@ public class PicoLisp {
return s;
}
- final static Any do51(Any ex) { // de
+ final static Any do53(Any ex) { // de
ex = ex.Cdr;
redefine((Symbol)ex.Car, ex.Cdr);
return ex.Car;
}
- final static Any do52(Any ex) { // dm
+ final static Any do54(Any ex) { // dm
Any x, y;
Symbol s, t;
if (!((x = ex.Cdr).Car instanceof Cell)) {
@@ -3620,11 +3694,11 @@ public class PicoLisp {
return s;
}
- final static Any do53(Any ex) { // box
+ final static Any do55(Any ex) { // box
return mkSymbol(ex.Cdr.Car.eval());
}
- final static Any do54(Any ex) { // new
+ final static Any do56(Any ex) { // new
Any x;
Symbol s;
s = mkSymbol((ex = ex.Cdr).Car.eval());
@@ -3640,7 +3714,7 @@ public class PicoLisp {
return s;
}
- final static Any do55(Any ex) { // type
+ final static Any do57(Any ex) { // type
Any x, y, z;
if ((x = ex.Cdr.Car.eval()) instanceof Symbol) {
z = x = x.Car;
@@ -3662,7 +3736,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do56(Any ex) { // isa
+ final static Any do58(Any ex) { // isa
Any x, y;
x = (ex = ex.Cdr).Car.eval();
if ((y = ex.Cdr.Car.eval()) instanceof Symbol) {
@@ -3678,7 +3752,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do57(Any ex) { // method
+ final static Any do59(Any ex) { // method
Any x, y;
x = (ex = ex.Cdr).Car.eval();
y = ex.Cdr.Car.eval();
@@ -3686,7 +3760,7 @@ public class PicoLisp {
return (x = method(y)) == null? Nil : x;
}
- final static Any do58(Any ex) { // send
+ final static Any do60(Any ex) { // send
Any x, y, z;
y = (x = ex.Cdr).Car.eval();
z = (x = x.Cdr).Car.eval();
@@ -3696,7 +3770,7 @@ public class PicoLisp {
return evMethod(z, y, x.Cdr);
}
- final static Any do59(Any ex) { // try
+ final static Any do61(Any ex) { // try
Any x, y;
x = (ex = ex.Cdr).Car.eval();
if ((y = (ex = ex.Cdr).Car.eval()) instanceof Symbol) {
@@ -3707,7 +3781,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do60(Any ex) { // super
+ final static Any do62(Any ex) { // super
Any w, x, y, z;
TheKey = Env.Key;
x = Env.Cls == null? This.Car : Env.Cls.Car.Car;
@@ -3727,7 +3801,7 @@ public class PicoLisp {
}
}
- final static Any do61(Any ex) { // extra
+ final static Any do63(Any ex) { // extra
Any x, y, z;
TheKey = Env.Key;
if ((x = extra(This.Car)) == null || x == T)
@@ -3739,7 +3813,7 @@ public class PicoLisp {
return x;
}
- final static Any do62(Any ex) { // with
+ final static Any do64(Any ex) { // with
Any x;
Bind bnd;
if ((x = ex.Cdr.Car.eval()) != Nil) {
@@ -3753,7 +3827,7 @@ public class PicoLisp {
return x;
}
- final static Any do63(Any ex) { // bind
+ final static Any do65(Any ex) { // bind
int i;
Any x, y, z;
Bind bnd;
@@ -3786,7 +3860,7 @@ public class PicoLisp {
return x;
}
- final static Any do64(Any ex) { // job
+ final static Any do66(Any ex) { // job
int i;
Any w, x, y, z;
Bind bnd;
@@ -3808,7 +3882,7 @@ public class PicoLisp {
return x;
}
- final static Any do65(Any ex) { // let
+ final static Any do67(Any ex) { // let
int i;
Any x, y, z;
Bind bnd;
@@ -3834,7 +3908,7 @@ public class PicoLisp {
return x;
}
- final static Any do66(Any ex) { // let?
+ final static Any do68(Any ex) { // let?
Any x, y, z;
Bind bnd;
z = (x = ex.Cdr).Car;
@@ -3849,7 +3923,7 @@ public class PicoLisp {
return y;
}
- final static Any do67(Any ex) { // use
+ final static Any do69(Any ex) { // use
int i;
Any x, y;
Bind bnd;
@@ -3872,7 +3946,7 @@ public class PicoLisp {
return x;
}
- final static Any do68(Any ex) { // and
+ final static Any do70(Any ex) { // and
Any w;
ex = ex.Cdr;
do {
@@ -3883,7 +3957,7 @@ public class PicoLisp {
return w;
}
- final static Any do69(Any ex) { // or
+ final static Any do71(Any ex) { // or
Any w;
ex = ex.Cdr;
do
@@ -3893,7 +3967,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do70(Any ex) { // nand
+ final static Any do72(Any ex) { // nand
Any w;
ex = ex.Cdr;
do {
@@ -3904,7 +3978,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do71(Any ex) { // nor
+ final static Any do73(Any ex) { // nor
Any w;
ex = ex.Cdr;
do
@@ -3916,18 +3990,18 @@ public class PicoLisp {
return T;
}
- final static Any do72(Any ex) { // xor
+ final static Any do74(Any ex) { // xor
Any x, y;
y = (x = ex.Cdr).Car.eval();
x = x.Cdr.Car.eval();
return y == Nil ^ x == Nil? T : Nil;
}
- final static Any do73(Any ex) { // bool
+ final static Any do75(Any ex) { // bool
return ex.Cdr.Car.eval() == Nil? Nil : T;
}
- final static Any do74(Any ex) { // not
+ final static Any do76(Any ex) { // not
Any w;
if ((w = ex.Cdr.Car.eval()) == Nil)
return T;
@@ -3935,24 +4009,24 @@ public class PicoLisp {
return Nil;
}
- final static Any do75(Any ex) { // nil
+ final static Any do77(Any ex) { // nil
ex.Cdr.prog();
return Nil;
}
- final static Any do76(Any ex) { // t
+ final static Any do78(Any ex) { // t
ex.Cdr.prog();
return T;
}
- final static Any do78(Any ex) { // prog1
+ final static Any do80(Any ex) { // prog1
Any w;
w = At.Car = ex.Cdr.Car.eval();
ex.Cdr.Cdr.prog();
return w;
}
- final static Any do79(Any ex) { // prog2
+ final static Any do81(Any ex) { // prog2
Any w;
(ex = ex.Cdr).Car.eval();
w = At.Car = (ex = ex.Cdr).Car.eval();
@@ -3960,7 +4034,7 @@ public class PicoLisp {
return w;
}
- final static Any do80(Any ex) { // if
+ final static Any do82(Any ex) { // if
Any w;
if ((w = (ex = ex.Cdr).Car.eval()) == Nil)
return ex.Cdr.Cdr.prog();
@@ -3968,7 +4042,7 @@ public class PicoLisp {
return ex.Cdr.Car.eval();
}
- final static Any do81(Any ex) { // if2
+ final static Any do83(Any ex) { // if2
Any w;
if ((w = (ex = ex.Cdr).Car.eval()) == Nil) {
if ((w = (ex = ex.Cdr).Car.eval()) == Nil)
@@ -3983,7 +4057,7 @@ public class PicoLisp {
return ex.Cdr.Car.eval();
}
- final static Any do82(Any ex) { // ifn
+ final static Any do84(Any ex) { // ifn
Any w;
if ((w = (ex = ex.Cdr).Car.eval()) != Nil) {
At.Car = w;
@@ -3992,7 +4066,7 @@ public class PicoLisp {
return ex.Cdr.Car.eval();
}
- final static Any do83(Any ex) { // when
+ final static Any do85(Any ex) { // when
Any w;
if ((w = (ex = ex.Cdr).Car.eval()) == Nil)
return Nil;
@@ -4000,7 +4074,7 @@ public class PicoLisp {
return ex.Cdr.prog();
}
- final static Any do84(Any ex) { // unless
+ final static Any do86(Any ex) { // unless
Any w;
if ((w = (ex = ex.Cdr).Car.eval()) != Nil)
return Nil;
@@ -4008,7 +4082,7 @@ public class PicoLisp {
return ex.Cdr.prog();
}
- final static Any do85(Any ex) { // cond
+ final static Any do87(Any ex) { // cond
Any w;
while ((ex = ex.Cdr) instanceof Cell)
if ((w = ex.Car.Car.eval()) != Nil) {
@@ -4018,7 +4092,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do86(Any ex) { // nond
+ final static Any do88(Any ex) { // nond
Any w;
while ((ex = ex.Cdr) instanceof Cell) {
if ((w = ex.Car.Car.eval()) == Nil)
@@ -4028,7 +4102,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do87(Any ex) { // case
+ final static Any do89(Any ex) { // case
Any x, y;
At.Car = (ex = ex.Cdr).Car.eval();
while ((ex = ex.Cdr) instanceof Cell) {
@@ -4045,7 +4119,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do88(Any ex) { // state
+ final static Any do90(Any ex) { // state
Any w, x, y, z;
z = (x = ex.Cdr).Car.eval();
while ((x = x.Cdr) instanceof Cell) {
@@ -4061,7 +4135,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do89(Any ex) { // while
+ final static Any do91(Any ex) { // while
Any w, x, y;
x = (ex = ex.Cdr).Car;
ex = ex.Cdr;
@@ -4073,7 +4147,7 @@ public class PicoLisp {
return y;
}
- final static Any do90(Any ex) { // until
+ final static Any do92(Any ex) { // until
Any w, x, y;
x = (ex = ex.Cdr).Car;
ex = ex.Cdr;
@@ -4084,7 +4158,7 @@ public class PicoLisp {
return y;
}
- final static Any do91(Any ex) { // do
+ final static Any do93(Any ex) { // do
long n;
Any w, x, y;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
@@ -4116,7 +4190,7 @@ public class PicoLisp {
return y;
}
- final static Any do93(Any ex) { // at
+ final static Any do95(Any ex) { // at
Any x;
Number num;
x = (ex = ex.Cdr).Car.eval();
@@ -4128,7 +4202,7 @@ public class PicoLisp {
return ex.Cdr.prog();
}
- final static Any do94(Any ex) { // for
+ final static Any do96(Any ex) { // for
int i;
Any w, x, y, z;
Bind bnd;
@@ -4241,7 +4315,7 @@ public class PicoLisp {
return y;
}
- final static Any do95(Any ex) { // catch
+ final static Any do97(Any ex) { // catch
Any x, y;
new Catch(y = (x = ex.Cdr).Car.eval(), Zero, Env);
try {
@@ -4261,13 +4335,13 @@ public class PicoLisp {
}
}
- final static Any do96(Any ex) { // throw
+ final static Any do98(Any ex) { // throw
Any x, y;
y = (x = ex.Cdr).Car.eval();
throw new Control(ex, y, x.Cdr.Car.eval());
}
- final static Any do97(Any ex) { // finally
+ final static Any do99(Any ex) { // finally
Any x, y;
new Catch(null, y = (x = ex.Cdr).Car, Env);
x = x.Cdr.prog();
@@ -4276,7 +4350,7 @@ public class PicoLisp {
return x;
}
- final static Any do98(Any ex) { // !
+ final static Any do100(Any ex) { // !
Any x;
x = ex.Cdr;
if (Dbg.Car != Nil)
@@ -4284,7 +4358,7 @@ public class PicoLisp {
return x.eval();
}
- final static Any do99(Any ex) { // e
+ final static Any do101(Any ex) { // e
Any w, x, y, z;
if (!Break)
err(ex, null, "No Break");
@@ -4303,7 +4377,7 @@ public class PicoLisp {
return z;
}
- final static Any do100(Any ex) { // $
+ final static Any do102(Any ex) { // $
int i;
Any x;
ex = ex.Cdr;
@@ -4333,11 +4407,11 @@ public class PicoLisp {
return x;
}
- final static Any do101(Any ex) { // sys
+ final static Any do103(Any ex) { // sys
return mkStr(System.getenv(evString(ex.Cdr)));
}
- final static Any do102(Any ex) { // call
+ final static Any do104(Any ex) { // call
int i, j;
Any x;
j = (int)(x = ex.Cdr).length();
@@ -4352,15 +4426,15 @@ public class PicoLisp {
return i == 0? T : Nil;
}
- final static Any do103(Any ex) { // ipid
+ final static Any do105(Any ex) { // ipid
return Env.InFrames != null && Env.InFrames.Pid > 1? new Number(Env.InFrames.Pid) : Nil;
}
- final static Any do104(Any ex) { // opid
+ final static Any do106(Any ex) { // opid
return Env.OutFrames != null && Env.OutFrames.Pid > 1? new Number(Env.OutFrames.Pid) : Nil;
}
- final static Any do105(Any ex) { // kill
+ final static Any do107(Any ex) { // kill
int i;
if (Pids[i = evInt(ex = ex.Cdr)] == null)
return Nil;
@@ -4370,13 +4444,13 @@ public class PicoLisp {
return T;
}
- final static Any do106(Any ex) { // bye
+ final static Any do108(Any ex) { // bye
Any x;
x = ex.Cdr.Car.eval();
return bye(x == Nil? 0 : ((Number)x).Cnt);
}
- final static Any do107(Any ex) { // name
+ final static Any do109(Any ex) { // name
Any x, y;
Symbol s;
y = (x = ex.Cdr).Car.eval();
@@ -4388,31 +4462,31 @@ public class PicoLisp {
return s;
}
- final static Any do108(Any ex) { // sp?
+ final static Any do110(Any ex) { // sp?
return isBlank(ex.Cdr.Car.eval())? T : Nil;
}
- final static Any do109(Any ex) { // pat?
+ final static Any do111(Any ex) { // pat?
Any x;
return ((x = ex.Cdr.Car.eval()) instanceof Symbol) && firstChar(x) == '@'? x : Nil;
}
- final static Any do110(Any ex) { // fun?
+ final static Any do112(Any ex) { // fun?
return funq(ex.Cdr.Car.eval());
}
- final static Any do111(Any ex) { // getd
+ final static Any do113(Any ex) { // getd
Any x;
if (!((x = ex.Cdr.Car.eval()) instanceof Symbol))
return Nil;
return funq(x.Car) != Nil? x.Car : Nil; // ... reflection
}
- final static Any do112(Any ex) { // all
+ final static Any do114(Any ex) { // all
return all(ex.Cdr.Car.eval() == Nil? Intern : Transient);
}
- final static Any do113(Any ex) { // intern
+ final static Any do115(Any ex) { // intern
Symbol s, t;
String str;
s = (Symbol)ex.Cdr.Car.eval();
@@ -4424,7 +4498,7 @@ public class PicoLisp {
return s;
}
- final static Any do114(Any ex) { // ====
+ final static Any do116(Any ex) { // ====
Any x, y;
Transient.clear();
for (x = ex.Cdr; x instanceof Cell; x = x.Cdr) {
@@ -4434,24 +4508,24 @@ public class PicoLisp {
return Nil;
}
- final static Any do115(Any ex) { // box?
+ final static Any do117(Any ex) { // box?
Any x;
return ((x = ex.Cdr.Car.eval()) instanceof Symbol) && x.name().length() == 0? x : Nil;
}
- final static Any do116(Any ex) { // str?
+ final static Any do118(Any ex) { // str?
Any x;
return ((x = ex.Cdr.Car.eval()) instanceof Symbol) && Intern.get(x.name()) == null? x : Nil;
}
- final static Any do117(Any ex) { // zap
+ final static Any do119(Any ex) { // zap
Symbol s;
s = (Symbol)ex.Cdr.Car.eval();
Intern.remove(s.name());
return s;
}
- final static Any do118(Any ex) { // chop
+ final static Any do120(Any ex) { // chop
Any x, y;
String str;
x = ex.Cdr.Car.eval();
@@ -4466,7 +4540,7 @@ public class PicoLisp {
return x;
}
- final static Any do119(Any ex) { // pack
+ final static Any do121(Any ex) { // pack
StringBuilder sb;
sb = new StringBuilder();
for (ex = ex.Cdr; ex instanceof Cell; ex = ex.Cdr)
@@ -4474,7 +4548,7 @@ public class PicoLisp {
return mkStr(sb);
}
- final static Any do120(Any ex) { // glue
+ final static Any do122(Any ex) { // glue
Any x, y;
StringBuilder sb;
x = ex.Cdr.Car.eval();
@@ -4487,7 +4561,7 @@ public class PicoLisp {
return mkStr(sb);
}
- final static Any do121(Any ex) { // text
+ final static Any do123(Any ex) { // text
int i, j, k;
char c;
String str;
@@ -4516,21 +4590,21 @@ public class PicoLisp {
return mkStr(sb);
}
- final static Any do122(Any ex) { // pre?
+ final static Any do124(Any ex) { // pre?
Any x;
String str;
str = evString(ex = ex.Cdr);
return (x = ex.Cdr.Car.eval()).name().startsWith(str)? x : Nil;
}
- final static Any do123(Any ex) { // sub?
+ final static Any do125(Any ex) { // sub?
Any x;
String str;
str = evString(ex = ex.Cdr);
return (x = ex.Cdr.Car.eval()).name().indexOf(str) >= 0? x : Nil;
}
- final static Any do125(Any ex) { // set
+ final static Any do127(Any ex) { // set
Any x, y;
x = ex.Cdr;
do {
@@ -4541,7 +4615,7 @@ public class PicoLisp {
return y.Car;
}
- final static Any do126(Any ex) { // setq
+ final static Any do128(Any ex) { // setq
Any x, y;
x = ex.Cdr;
do {
@@ -4552,7 +4626,7 @@ public class PicoLisp {
return y.Car;
}
- final static Any do127(Any ex) { // xchg
+ final static Any do129(Any ex) { // xchg
Any w, x, y, z;
x = ex.Cdr;
do {
@@ -4563,7 +4637,7 @@ public class PicoLisp {
return w;
}
- final static Any do128(Any ex) { // on
+ final static Any do130(Any ex) { // on
Any x;
x = ex.Cdr;
do
@@ -4572,7 +4646,7 @@ public class PicoLisp {
return T;
}
- final static Any do129(Any ex) { // off
+ final static Any do131(Any ex) { // off
Any x;
x = ex.Cdr;
do
@@ -4581,7 +4655,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do130(Any ex) { // onOff
+ final static Any do132(Any ex) { // onOff
Any x, y;
x = ex.Cdr;
do
@@ -4590,7 +4664,7 @@ public class PicoLisp {
return y;
}
- final static Any do131(Any ex) { // zero
+ final static Any do133(Any ex) { // zero
Any x;
x = ex.Cdr;
do
@@ -4599,7 +4673,7 @@ public class PicoLisp {
return Zero;
}
- final static Any do132(Any ex) { // one
+ final static Any do134(Any ex) { // one
Any x;
x = ex.Cdr;
do
@@ -4608,7 +4682,7 @@ public class PicoLisp {
return One;
}
- final static Any do133(Any ex) { // default
+ final static Any do135(Any ex) { // default
Any x, y;
x = ex.Cdr;
do {
@@ -4621,7 +4695,7 @@ public class PicoLisp {
return y.Car;
}
- final static Any do134(Any ex) { // push
+ final static Any do136(Any ex) { // push
Any x, y, z;
needVar(ex, y = (x = ex.Cdr).Car.eval());
do
@@ -4630,7 +4704,7 @@ public class PicoLisp {
return z;
}
- final static Any do135(Any ex) { // push1
+ final static Any do137(Any ex) { // push1
Any x, y, z;
needVar(ex, y = (x = ex.Cdr).Car.eval());
do
@@ -4640,7 +4714,7 @@ public class PicoLisp {
return z;
}
- final static Any do136(Any ex) { // pop
+ final static Any do138(Any ex) { // pop
Any x, y;
needVar(ex, x = ex.Cdr.Car.eval());
if ((y = x.Car) instanceof Cell) {
@@ -4650,7 +4724,7 @@ public class PicoLisp {
return y;
}
- final static Any do137(Any ex) { // cut
+ final static Any do139(Any ex) { // cut
long n;
Any x, y, z;
if ((n = evLong(ex.Cdr)) <= 0)
@@ -4665,7 +4739,7 @@ public class PicoLisp {
return x.Car;
}
- final static Any do138(Any ex) { // del
+ final static Any do140(Any ex) { // del
Any w, lst, x, y, z;
w = ex.Cdr.Car.eval();
needVar(ex, x = ex.Cdr.Cdr.Car.eval());
@@ -4681,7 +4755,7 @@ public class PicoLisp {
return x.Car;
}
- final static Any do139(Any ex) { // queue
+ final static Any do141(Any ex) { // queue
Any x, y;
needVar(ex, x = ex.Cdr.Car.eval());
y = ex.Cdr.Cdr.Car.eval();
@@ -4694,7 +4768,7 @@ public class PicoLisp {
return y;
}
- final static Any do140(Any ex) { // fifo
+ final static Any do142(Any ex) { // fifo
Any x, y, z, lst;
needVar(ex, y = (x = ex.Cdr).Car.eval());
if ((x = x.Cdr) instanceof Cell) {
@@ -4722,7 +4796,7 @@ public class PicoLisp {
return z;
}
- final static Any do141(Any ex) { // idx
+ final static Any do143(Any ex) { // idx
Any x, y;
needVar(ex, x = (ex = ex.Cdr).Car.eval());
if (!((ex = ex.Cdr) instanceof Cell))
@@ -4731,7 +4805,7 @@ public class PicoLisp {
return idx(x, y, ex.Cdr instanceof Cell? (ex.Cdr.Car.eval() == Nil? -1 : +1) : 0);
}
- final static Any do142(Any ex) { // lup
+ final static Any do144(Any ex) { // lup
int i;
Any x, y, z;
x = (ex = ex.Cdr).Car.eval();
@@ -4751,7 +4825,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do143(Any ex) { // put
+ final static Any do145(Any ex) { // put
Any x, y;
x = (ex = ex.Cdr).Car.eval();
for (;;) {
@@ -4762,7 +4836,7 @@ public class PicoLisp {
}
}
- final static Any do144(Any ex) { // get
+ final static Any do146(Any ex) { // get
Any x;
x = (ex = ex.Cdr).Car.eval();
while ((ex = ex.Cdr) instanceof Cell)
@@ -4770,7 +4844,7 @@ public class PicoLisp {
return x;
}
- final static Any do145(Any ex) { // prop
+ final static Any do147(Any ex) { // prop
Any x;
x = (ex = ex.Cdr).Car.eval();
while ((ex = ex.Cdr).Cdr instanceof Cell)
@@ -4778,7 +4852,7 @@ public class PicoLisp {
return x.prop(ex.Car.eval());
}
- final static Any do146(Any ex) { // ;
+ final static Any do148(Any ex) { // ;
Any x;
x = (ex = ex.Cdr).Car.eval();
while ((ex = ex.Cdr) instanceof Cell)
@@ -4786,7 +4860,7 @@ public class PicoLisp {
return x;
}
- final static Any do147(Any ex) { // =:
+ final static Any do149(Any ex) { // =:
Any x, y;
for (x = This.Car;;) {
y = (ex = ex.Cdr).Car;
@@ -4796,7 +4870,7 @@ public class PicoLisp {
}
}
- final static Any do148(Any ex) { // :
+ final static Any do150(Any ex) { // :
Any x;
x = This.Car;
do
@@ -4805,7 +4879,7 @@ public class PicoLisp {
return x;
}
- final static Any do149(Any ex) { // ::
+ final static Any do151(Any ex) { // ::
Any x;
x = This.Car;
while ((ex = ex.Cdr).Cdr instanceof Cell)
@@ -4813,7 +4887,7 @@ public class PicoLisp {
return x.prop(ex.Car);
}
- final static Any do150(Any ex) { // putl
+ final static Any do152(Any ex) { // putl
Any x;
x = (ex = ex.Cdr).Car.eval();
while ((ex = ex.Cdr).Cdr instanceof Cell)
@@ -4821,7 +4895,7 @@ public class PicoLisp {
return x.putl(ex.Car.eval());
}
- final static Any do151(Any ex) { // getl
+ final static Any do153(Any ex) { // getl
Any x;
x = (ex = ex.Cdr).Car.eval();
while ((ex = ex.Cdr) instanceof Cell)
@@ -4829,7 +4903,7 @@ public class PicoLisp {
return x.getl();
}
- final static Any do152(Any ex) { // meta
+ final static Any do154(Any ex) { // meta
Any x, y;
if ((x = (ex = ex.Cdr).Car.eval()) instanceof Symbol)
x = x.Car;
@@ -4838,17 +4912,17 @@ public class PicoLisp {
return x;
}
- final static Any do153(Any ex) { // low?
+ final static Any do155(Any ex) { // low?
Any x;
return (x = ex.Cdr.Car.eval()) instanceof Symbol && Character.isLowerCase(firstChar(x))? x : Nil;
}
- final static Any do154(Any ex) { // upp?
+ final static Any do156(Any ex) { // upp?
Any x;
return (x = ex.Cdr.Car.eval()) instanceof Symbol && Character.isUpperCase(firstChar(x))? x : Nil;
}
- final static Any do155(Any ex) { // lowc
+ final static Any do157(Any ex) { // lowc
int i, j;
Any x;
String str;
@@ -4861,7 +4935,7 @@ public class PicoLisp {
return mkStr(sb);
}
- final static Any do156(Any ex) { // uppc
+ final static Any do158(Any ex) { // uppc
int i, j;
Any x;
String str;
@@ -4874,7 +4948,7 @@ public class PicoLisp {
return mkStr(sb);
}
- final static Any do157(Any ex) { // fold
+ final static Any do159(Any ex) { // fold
int i, j, k;
char c;
Any x;
@@ -4897,103 +4971,103 @@ public class PicoLisp {
return mkStr(sb);
}
- final static Any do164(Any ex) { // caaar
+ final static Any do166(Any ex) { // caaar
return ex.Cdr.Car.eval().Car.Car.Car;
}
- final static Any do165(Any ex) { // caadr
+ final static Any do167(Any ex) { // caadr
return ex.Cdr.Car.eval().Cdr.Car.Car;
}
- final static Any do166(Any ex) { // cadar
+ final static Any do168(Any ex) { // cadar
return ex.Cdr.Car.eval().Car.Cdr.Car;
}
- final static Any do167(Any ex) { // caddr
+ final static Any do169(Any ex) { // caddr
return ex.Cdr.Car.eval().Cdr.Cdr.Car;
}
- final static Any do168(Any ex) { // cdaar
+ final static Any do170(Any ex) { // cdaar
return ex.Cdr.Car.eval().Car.Car.Cdr;
}
- final static Any do169(Any ex) { // cdadr
+ final static Any do171(Any ex) { // cdadr
return ex.Cdr.Car.eval().Cdr.Car.Cdr;
}
- final static Any do170(Any ex) { // cddar
+ final static Any do172(Any ex) { // cddar
return ex.Cdr.Car.eval().Car.Cdr.Cdr;
}
- final static Any do171(Any ex) { // cdddr
+ final static Any do173(Any ex) { // cdddr
return ex.Cdr.Car.eval().Cdr.Cdr.Cdr;
}
- final static Any do172(Any ex) { // caaaar
+ final static Any do174(Any ex) { // caaaar
return ex.Cdr.Car.eval().Car.Car.Car.Car;
}
- final static Any do173(Any ex) { // caaadr
+ final static Any do175(Any ex) { // caaadr
return ex.Cdr.Car.eval().Cdr.Car.Car.Car;
}
- final static Any do174(Any ex) { // caadar
+ final static Any do176(Any ex) { // caadar
return ex.Cdr.Car.eval().Car.Cdr.Car.Car;
}
- final static Any do175(Any ex) { // caaddr
+ final static Any do177(Any ex) { // caaddr
return ex.Cdr.Car.eval().Cdr.Cdr.Car.Car;
}
- final static Any do176(Any ex) { // cadaar
+ final static Any do178(Any ex) { // cadaar
return ex.Cdr.Car.eval().Car.Car.Cdr.Car;
}
- final static Any do177(Any ex) { // cadadr
+ final static Any do179(Any ex) { // cadadr
return ex.Cdr.Car.eval().Cdr.Car.Cdr.Car;
}
- final static Any do178(Any ex) { // caddar
+ final static Any do180(Any ex) { // caddar
return ex.Cdr.Car.eval().Car.Cdr.Cdr.Car;
}
- final static Any do179(Any ex) { // cadddr
+ final static Any do181(Any ex) { // cadddr
return ex.Cdr.Car.eval().Cdr.Cdr.Cdr.Car;
}
- final static Any do180(Any ex) { // cdaaar
+ final static Any do182(Any ex) { // cdaaar
return ex.Cdr.Car.eval().Car.Car.Car.Cdr;
}
- final static Any do181(Any ex) { // cdaadr
+ final static Any do183(Any ex) { // cdaadr
return ex.Cdr.Car.eval().Cdr.Car.Car.Cdr;
}
- final static Any do182(Any ex) { // cdadar
+ final static Any do184(Any ex) { // cdadar
return ex.Cdr.Car.eval().Car.Cdr.Car.Cdr;
}
- final static Any do183(Any ex) { // cdaddr
+ final static Any do185(Any ex) { // cdaddr
return ex.Cdr.Car.eval().Cdr.Cdr.Car.Cdr;
}
- final static Any do184(Any ex) { // cddaar
+ final static Any do186(Any ex) { // cddaar
return ex.Cdr.Car.eval().Car.Car.Cdr.Cdr;
}
- final static Any do185(Any ex) { // cddadr
+ final static Any do187(Any ex) { // cddadr
return ex.Cdr.Car.eval().Cdr.Car.Cdr.Cdr;
}
- final static Any do186(Any ex) { // cdddar
+ final static Any do188(Any ex) { // cdddar
return ex.Cdr.Car.eval().Car.Cdr.Cdr.Cdr;
}
- final static Any do187(Any ex) { // cddddr
+ final static Any do189(Any ex) { // cddddr
return ex.Cdr.Car.eval().Cdr.Cdr.Cdr.Cdr;
}
- final static Any do188(Any ex) { // nth
+ final static Any do190(Any ex) { // nth
Any x;
x = (ex = ex.Cdr).Car.eval();
for (;;) {
@@ -5006,13 +5080,13 @@ public class PicoLisp {
}
}
- final static Any do189(Any ex) { // con
+ final static Any do191(Any ex) { // con
Any x;
x = ex.Cdr.Car.eval();
return x.Cdr = ex.Cdr.Cdr.Car.eval();
}
- final static Any do190(Any ex) { // cons
+ final static Any do192(Any ex) { // cons
Any x, y;
y = x = new Cell((ex = ex.Cdr).Car.eval(), Nil);
while ((ex = ex.Cdr).Cdr instanceof Cell)
@@ -5021,7 +5095,7 @@ public class PicoLisp {
return y;
}
- final static Any do191(Any ex) { // conc
+ final static Any do193(Any ex) { // conc
Any x, y, z;
z = x = (ex = ex.Cdr).Car.eval();
while ((ex = ex.Cdr) instanceof Cell) {
@@ -5036,7 +5110,7 @@ public class PicoLisp {
return z;
}
- final static Any do192(Any ex) { // circ
+ final static Any do194(Any ex) { // circ
Any x, y;
y = x = new Cell((ex = ex.Cdr).Car.eval(), Nil);
while ((ex = ex.Cdr) instanceof Cell)
@@ -5045,7 +5119,7 @@ public class PicoLisp {
return y;
}
- final static Any do193(Any ex) { // rot
+ final static Any do195(Any ex) { // rot
int i;
Any w, x, y, z;
w = y = (ex = ex.Cdr).Car.eval();
@@ -5060,7 +5134,7 @@ public class PicoLisp {
return w;
}
- final static Any do194(Any ex) { // list
+ final static Any do196(Any ex) { // list
Any x, y;
x = y = new Cell((ex = ex.Cdr).Car.eval(), Nil);
while ((ex = ex.Cdr) instanceof Cell)
@@ -5068,7 +5142,7 @@ public class PicoLisp {
return y;
}
- final static Any do195(Any ex) { // need
+ final static Any do197(Any ex) { // need
long n;
Any x, y, z;
n = evLong(ex = ex.Cdr);
@@ -5091,7 +5165,7 @@ public class PicoLisp {
return z;
}
- final static Any do196(Any ex) { // range
+ final static Any do198(Any ex) { // range
Any x, y;
Number num;
num = (Number)(y = (x = ex.Cdr).Car.eval());
@@ -5107,7 +5181,7 @@ public class PicoLisp {
return y;
}
- final static Any do197(Any ex) { // full
+ final static Any do199(Any ex) { // full
Any x;
for (x = ex.Cdr.Car.eval(); x instanceof Cell; x = x.Cdr)
if (x.Car == Nil)
@@ -5115,7 +5189,7 @@ public class PicoLisp {
return T;
}
- final static Any do198(Any ex) { // make
+ final static Any do200(Any ex) { // make
Any x, y, z;
x = Env.Make; Env.Make = Nil;
y = Env.Yoke; Env.Yoke = Nil;
@@ -5126,7 +5200,7 @@ public class PicoLisp {
return z;
}
- final static Any do199(Any ex) { // made
+ final static Any do201(Any ex) { // made
Any x;
if ((x = ex.Cdr) instanceof Cell) {
Env.Yoke = x.Car.eval();
@@ -5138,7 +5212,7 @@ public class PicoLisp {
return Env.Yoke;
}
- final static Any do200(Any ex) { // chain
+ final static Any do202(Any ex) { // chain
Any x, y;
ex = ex.Cdr;
do {
@@ -5153,7 +5227,7 @@ public class PicoLisp {
return x;
}
- final static Any do201(Any ex) { // link
+ final static Any do203(Any ex) { // link
Any x;
ex = ex.Cdr;
do {
@@ -5166,7 +5240,7 @@ public class PicoLisp {
return x;
}
- final static Any do202(Any ex) { // yoke
+ final static Any do204(Any ex) { // yoke
Any x;
ex = ex.Cdr;
do {
@@ -5178,7 +5252,7 @@ public class PicoLisp {
return x;
}
- final static Any do203(Any ex) { // copy
+ final static Any do205(Any ex) { // copy
Any w, x, y, z;
if (!((x = ex.Cdr.Car.eval()) instanceof Cell))
return x;
@@ -5190,7 +5264,7 @@ public class PicoLisp {
return w;
}
- final static Any do204(Any ex) { // mix
+ final static Any do206(Any ex) { // mix
Any x, y, z;
if (!((y = (ex = ex.Cdr).Car.eval()) instanceof Cell) && y != Nil)
return y;
@@ -5202,7 +5276,7 @@ public class PicoLisp {
return z;
}
- final static Any do205(Any ex) { // append
+ final static Any do207(Any ex) { // append
Any x, y, z;
for (ex = ex.Cdr; (z = ex.Cdr) instanceof Cell; ex = z) {
if ((x = ex.Car.eval()) instanceof Cell) {
@@ -5221,7 +5295,7 @@ public class PicoLisp {
return ex.Car.eval();
}
- final static Any do206(Any ex) { // delete
+ final static Any do208(Any ex) { // delete
Any w, x, y, z;
y = (x = ex.Cdr).Car.eval();
if (!((x = x.Cdr.Car.eval()) instanceof Cell))
@@ -5240,7 +5314,7 @@ public class PicoLisp {
return w;
}
- final static Any do207(Any ex) { // delq
+ final static Any do209(Any ex) { // delq
Any w, x, y, z;
y = (x = ex.Cdr).Car.eval();
if (!((x = x.Cdr.Car.eval()) instanceof Cell))
@@ -5259,7 +5333,7 @@ public class PicoLisp {
return w;
}
- final static Any do208(Any ex) { // replace
+ final static Any do210(Any ex) { // replace
int i, j;
Any w, x, y, z;
Any[] v;
@@ -5282,13 +5356,13 @@ public class PicoLisp {
return w;
}
- final static Any do209(Any ex) { // strip
+ final static Any do211(Any ex) { // strip
Any x;
for (x = ex.Cdr.Car.eval(); x instanceof Cell && x.Car == Quote && x != x.Cdr; x = x.Cdr);
return x;
}
- final static Any do210(Any ex) { // split
+ final static Any do212(Any ex) { // split
int i, j;
Any x, y, z;
Any[] v;
@@ -5322,7 +5396,7 @@ public class PicoLisp {
return res;
}
- final static Any do211(Any ex) { // reverse
+ final static Any do213(Any ex) { // reverse
Any x, y;
x = ex.Cdr.Car.eval();
for (y = Nil; x instanceof Cell; x = x.Cdr)
@@ -5330,7 +5404,7 @@ public class PicoLisp {
return y;
}
- final static Any do212(Any ex) { // flip
+ final static Any do214(Any ex) { // flip
int i;
Any x, y, z;
if (!((y = (ex = ex.Cdr).Car.eval()) instanceof Cell) || !((z = y.Cdr) instanceof Cell))
@@ -5353,17 +5427,17 @@ public class PicoLisp {
return z;
}
- final static Any do213(Any ex) { // trim
+ final static Any do215(Any ex) { // trim
return trim(ex.Cdr.Car.eval());
}
- final static Any do214(Any ex) { // clip
+ final static Any do216(Any ex) { // clip
Any x;
for (x = ex.Cdr.Car.eval(); x instanceof Cell && isBlank(x.Car); x = x.Cdr);
return trim(x);
}
- final static Any do215(Any ex) { // head
+ final static Any do217(Any ex) { // head
int i;
Any x, y, z;
if ((z = (x = ex.Cdr).Car.eval()) == Nil)
@@ -5389,7 +5463,7 @@ public class PicoLisp {
return z;
}
- final static Any do216(Any ex) { // tail
+ final static Any do218(Any ex) { // tail
int i;
Any x, y, z;
if ((z = (x = ex.Cdr).Car.eval()) == Nil)
@@ -5419,7 +5493,7 @@ public class PicoLisp {
return x;
}
- final static Any do217(Any ex) { // stem
+ final static Any do219(Any ex) { // stem
int i, j;
Any x, y;
Any[] v;
@@ -5435,13 +5509,13 @@ public class PicoLisp {
return y;
}
- final static Any do218(Any ex) { // fin
+ final static Any do220(Any ex) { // fin
Any x;
for (x = ex.Cdr.Car.eval(); x instanceof Cell; x = x.Cdr);
return x;
}
- final static Any do219(Any ex) { // last
+ final static Any do221(Any ex) { // last
Any x;
if (!((x = ex.Cdr.Car.eval()) instanceof Cell))
return x;
@@ -5450,7 +5524,7 @@ public class PicoLisp {
return x.Car;
}
- final static Any do220(Any ex) { // ==
+ final static Any do222(Any ex) { // ==
Any x, y;
y = (x = ex.Cdr).Car.eval();
while ((x = x.Cdr) instanceof Cell)
@@ -5459,7 +5533,7 @@ public class PicoLisp {
return T;
}
- final static Any do221(Any ex) { // n==
+ final static Any do223(Any ex) { // n==
Any x, y;
y = (x = ex.Cdr).Car.eval();
while ((x = x.Cdr) instanceof Cell)
@@ -5468,7 +5542,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do222(Any ex) { // =
+ final static Any do224(Any ex) { // =
Any x, y;
y = (x = ex.Cdr).Car.eval();
while ((x = x.Cdr) instanceof Cell)
@@ -5477,7 +5551,7 @@ public class PicoLisp {
return T;
}
- final static Any do223(Any ex) { // <>
+ final static Any do225(Any ex) { // <>
Any x, y;
y = (x = ex.Cdr).Car.eval();
while ((x = x.Cdr) instanceof Cell)
@@ -5486,24 +5560,24 @@ public class PicoLisp {
return Nil;
}
- final static Any do224(Any ex) { // =0
+ final static Any do226(Any ex) { // =0
Any x;
return ex.Cdr.Car.eval().equal(Zero)? Zero : Nil;
}
- final static Any do225(Any ex) { // =T
+ final static Any do227(Any ex) { // =T
return T == ex.Cdr.Car.eval()? T : Nil;
}
- final static Any do226(Any ex) { // n0
+ final static Any do228(Any ex) { // n0
return ex.Cdr.Car.eval().equal(Zero)? Nil : T;
}
- final static Any do227(Any ex) { // nT
+ final static Any do229(Any ex) { // nT
return T == ex.Cdr.Car.eval()? Nil : T;
}
- final static Any do228(Any ex) { // <
+ final static Any do230(Any ex) { // <
Any x, y, z;
y = (x = ex.Cdr).Car.eval();
while ((x = x.Cdr) instanceof Cell) {
@@ -5515,7 +5589,7 @@ public class PicoLisp {
return T;
}
- final static Any do229(Any ex) { // <=
+ final static Any do231(Any ex) { // <=
Any x, y, z;
y = (x = ex.Cdr).Car.eval();
while ((x = x.Cdr) instanceof Cell) {
@@ -5527,7 +5601,7 @@ public class PicoLisp {
return T;
}
- final static Any do230(Any ex) { // >
+ final static Any do232(Any ex) { // >
Any x, y;
x = (ex = ex.Cdr).Car.eval();
while (ex.Cdr instanceof Cell) {
@@ -5539,7 +5613,7 @@ public class PicoLisp {
return T;
}
- final static Any do231(Any ex) { // >=
+ final static Any do233(Any ex) { // >=
Any x, y, z;
y = (x = ex.Cdr).Car.eval();
while ((x = x.Cdr) instanceof Cell) {
@@ -5551,7 +5625,7 @@ public class PicoLisp {
return T;
}
- final static Any do232(Any ex) { // max
+ final static Any do234(Any ex) { // max
Any x, y;
for (y = (ex = ex.Cdr).Car.eval(); (ex = ex.Cdr) instanceof Cell;)
if ((x = ex.Car.eval()).compare(y) > 0)
@@ -5559,7 +5633,7 @@ public class PicoLisp {
return y;
}
- final static Any do233(Any ex) { // min
+ final static Any do235(Any ex) { // min
Any x, y;
for (y = (ex = ex.Cdr).Car.eval(); (ex = ex.Cdr) instanceof Cell;)
if ((x = ex.Car.eval()).compare(y) < 0)
@@ -5567,48 +5641,48 @@ public class PicoLisp {
return y;
}
- final static Any do234(Any ex) { // atom
+ final static Any do236(Any ex) { // atom
return ex.Cdr.Car.eval() instanceof Cell? Nil : T;
}
- final static Any do235(Any ex) { // pair
+ final static Any do237(Any ex) { // pair
Any x;
return (x = ex.Cdr.Car.eval()) instanceof Cell? x : Nil;
}
- final static Any do236(Any ex) { // lst?
+ final static Any do238(Any ex) { // lst?
Any x;
return (x = ex.Cdr.Car.eval()) instanceof Cell || x == Nil? T : Nil;
}
- final static Any do237(Any ex) { // num?
+ final static Any do239(Any ex) { // num?
Any x;
return (x = ex.Cdr.Car.eval()) instanceof Number? x : Nil;
}
- final static Any do238(Any ex) { // sym?
+ final static Any do240(Any ex) { // sym?
Any x;
return (x = ex.Cdr.Car.eval()) instanceof Symbol || x == Nil? T : Nil;
}
- final static Any do239(Any ex) { // flg?
+ final static Any do241(Any ex) { // flg?
Any x;
return (x = ex.Cdr.Car.eval()) == Nil || x == T? T : Nil;
}
- final static Any do240(Any ex) { // member
+ final static Any do242(Any ex) { // member
Any x;
x = (ex = ex.Cdr).Car.eval();
return (x = member(x, ex.Cdr.Car.eval())) == null? Nil : x;
}
- final static Any do241(Any ex) { // memq
+ final static Any do243(Any ex) { // memq
Any x;
x = (ex = ex.Cdr).Car.eval();
return (x = memq(x, ex.Cdr.Car.eval())) == null? Nil : x;
}
- final static Any do242(Any ex) { // mmeq
+ final static Any do244(Any ex) { // mmeq
Any x, y, z;
x = (ex = ex.Cdr).Car.eval();
for (y = (ex = ex.Cdr).Car.eval(); x instanceof Cell; x = x.Cdr)
@@ -5617,7 +5691,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do243(Any ex) { // sect
+ final static Any do245(Any ex) { // sect
Any w, x, y, z;
y = (x = ex.Cdr).Car.eval();
z = x.Cdr.Car.eval();
@@ -5633,7 +5707,7 @@ public class PicoLisp {
return w;
}
- final static Any do244(Any ex) { // diff
+ final static Any do246(Any ex) { // diff
Any w, x, y, z;
y = (x = ex.Cdr).Car.eval();
z = x.Cdr.Car.eval();
@@ -5649,14 +5723,14 @@ public class PicoLisp {
return w;
}
- final static Any do245(Any ex) { // index
+ final static Any do247(Any ex) { // index
int i;
Any x, y;
y = (x = ex.Cdr).Car.eval();
return (i = indx(y, x.Cdr.Car.eval())) == 0? Nil : new Number(i);
}
- final static Any do246(Any ex) { // offset
+ final static Any do248(Any ex) { // offset
int i;
Any x, y;
y = (x = ex.Cdr).Car.eval();
@@ -5667,16 +5741,16 @@ public class PicoLisp {
return Nil;
}
- final static Any do247(Any ex) { // length
+ final static Any do249(Any ex) { // length
long n;
return (n = ex.Cdr.Car.eval().length()) >= 0? new Number(n) : T;
}
- final static Any do248(Any ex) { // size
+ final static Any do250(Any ex) { // size
return new Number(ex.Cdr.Car.eval().size());
}
- final static Any do249(Any ex) { // assoc
+ final static Any do251(Any ex) { // assoc
Any x, y, z;
y = (x = ex.Cdr).Car.eval();
x = x.Cdr.Car.eval();
@@ -5686,7 +5760,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do250(Any ex) { // asoq
+ final static Any do252(Any ex) { // asoq
Any x, y, z;
y = (x = ex.Cdr).Car.eval();
x = x.Cdr.Car.eval();
@@ -5696,7 +5770,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do251(Any ex) { // rank
+ final static Any do253(Any ex) { // rank
Any w, x, y, z;
w = (x = ex.Cdr).Car.eval();
y = (x = x.Cdr).Car.eval();
@@ -5716,19 +5790,19 @@ public class PicoLisp {
return z.Car;
}
- final static Any do252(Any ex) { // match
+ final static Any do254(Any ex) { // match
Any x, y;
y = (x = ex.Cdr).Car.eval();
return match(y, x.Cdr.Car.eval())? T : Nil;
}
- final static Any do253(Any ex) { // fill
+ final static Any do255(Any ex) { // fill
Any x, y;
y = (x = ex.Cdr).Car.eval();
return (x = fill(y, x.Cdr.Car.eval())) == null? y : x;
}
- final static Any do254(Any ex) { // prove
+ final static Any do256(Any ex) { // prove
int i;
Any x, y;
if (!((y = (ex = ex.Cdr).Car.eval()) instanceof Cell))
@@ -5824,7 +5898,7 @@ public class PicoLisp {
return x;
}
- final static Any do255(Any ex) { // ->
+ final static Any do257(Any ex) { // ->
int i;
Any x;
if (!(ex.Cdr.Cdr.Car instanceof Number))
@@ -5834,18 +5908,18 @@ public class PicoLisp {
return lookup((Number)x.Car, ex.Cdr.Car);
}
- final static Any do256(Any ex) { // unify
+ final static Any do258(Any ex) { // unify
Any x;
x = ex.Cdr.Car.eval();
return unify((Number)Pnl.Cdr.Car, x, (Number)Pnl.Car, x)? Penv : Nil;
}
- final static Any do257(Any ex) { // sort
+ final static Any do259(Any ex) { // sort
Any x;
return (x = ex.Cdr.Car.eval()) instanceof Cell && x.Cdr instanceof Cell? sort(ex, x, ex.Cdr.Cdr.Car.eval()) : x;
}
- final static Any do258(Any ex) { // format
+ final static Any do260(Any ex) { // format
int i;
Any x, y;
x = (ex = ex.Cdr).Car.eval();
@@ -5853,7 +5927,7 @@ public class PicoLisp {
return format(x, i, ex.Cdr);
}
- final static Any do259(Any ex) { // +
+ final static Any do261(Any ex) { // +
Any x;
Number num;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
@@ -5864,7 +5938,7 @@ public class PicoLisp {
return num;
}
- final static Any do260(Any ex) { // -
+ final static Any do262(Any ex) { // -
Any x;
Number num;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
@@ -5880,7 +5954,7 @@ public class PicoLisp {
return num;
}
- final static Any do261(Any ex) { // inc
+ final static Any do263(Any ex) { // inc
Any x, y;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
return Nil;
@@ -5900,7 +5974,7 @@ public class PicoLisp {
return y;
}
- final static Any do262(Any ex) { // dec
+ final static Any do264(Any ex) { // dec
Any x, y;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
return Nil;
@@ -5920,7 +5994,7 @@ public class PicoLisp {
return y;
}
- final static Any do263(Any ex) { // *
+ final static Any do265(Any ex) { // *
Any x;
Number num;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
@@ -5931,7 +6005,7 @@ public class PicoLisp {
return num;
}
- final static Any do264(Any ex) { // */
+ final static Any do266(Any ex) { // */
Any x;
Number num;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
@@ -5944,7 +6018,7 @@ public class PicoLisp {
}
}
- final static Any do265(Any ex) { // /
+ final static Any do267(Any ex) { // /
Any x;
Number num;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
@@ -5955,7 +6029,7 @@ public class PicoLisp {
return num;
}
- final static Any do266(Any ex) { // %
+ final static Any do268(Any ex) { // %
Any x;
Number num;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
@@ -5966,7 +6040,7 @@ public class PicoLisp {
return num;
}
- final static Any do267(Any ex) { // >>
+ final static Any do269(Any ex) { // >>
int i;
Any x;
i = evInt(ex = ex.Cdr);
@@ -5975,26 +6049,26 @@ public class PicoLisp {
return ((Number)x).shift(i);
}
- final static Any do268(Any ex) { // lt0
+ final static Any do270(Any ex) { // lt0
Any x;
return (x = ex.Cdr.Car.eval()) instanceof Number && x.compare(Zero) < 0? x : Nil;
}
- final static Any do269(Any ex) { // ge0
+ final static Any do271(Any ex) { // ge0
Any x;
return (x = ex.Cdr.Car.eval()) instanceof Number && x.compare(Zero) >= 0? x : Nil;
}
- final static Any do270(Any ex) { // gt0
+ final static Any do272(Any ex) { // gt0
Any x;
return (x = ex.Cdr.Car.eval()) instanceof Number && x.compare(Zero) > 0? x : Nil;
}
- final static Any do271(Any ex) { // abs
+ final static Any do273(Any ex) { // abs
return ((Number)ex.Cdr.Car.eval()).abs();
}
- final static Any do272(Any ex) { // bit?
+ final static Any do274(Any ex) { // bit?
Any x;
Number num;
num = (Number)(ex = ex.Cdr).Car.eval();
@@ -6004,7 +6078,7 @@ public class PicoLisp {
return num;
}
- final static Any do273(Any ex) { // &
+ final static Any do275(Any ex) { // &
Any x;
Number num;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
@@ -6015,7 +6089,7 @@ public class PicoLisp {
return num;
}
- final static Any do274(Any ex) { // |
+ final static Any do276(Any ex) { // |
Any x;
Number num;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
@@ -6026,7 +6100,7 @@ public class PicoLisp {
return num;
}
- final static Any do275(Any ex) { // x|
+ final static Any do277(Any ex) { // x|
Any x;
Number num;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
@@ -6037,13 +6111,13 @@ public class PicoLisp {
return num;
}
- final static Any do276(Any ex) { // seed
+ final static Any do278(Any ex) { // seed
long n;
n = initSeed(ex.Cdr.Car.eval()) * 6364136223846793005L + 1;
return new Number(Seed = n);
}
- final static Any do277(Any ex) { // rand
+ final static Any do279(Any ex) { // rand
Any x;
Seed = Seed * 6364136223846793005L + 1;
if ((x = (ex = ex.Cdr).Car.eval()) == Nil)
@@ -6053,11 +6127,11 @@ public class PicoLisp {
return new Number(((Number)x).Cnt + (int)(Seed >>> 33) % (evInt(ex.Cdr) + 1 - ((Number)x).Cnt));
}
- final static Any do278(Any ex) { // path
+ final static Any do280(Any ex) { // path
return mkStr(path(evString(ex.Cdr)));
}
- final static Any do279(Any ex) { // read
+ final static Any do281(Any ex) { // read
Any x, y;
if (!((x = ex.Cdr) instanceof Cell))
x = InFile.read('\0');
@@ -6071,7 +6145,7 @@ public class PicoLisp {
return x;
}
- final static Any do280(Any ex) { // wait
+ final static Any do282(Any ex) { // wait
int i;
Any x, y;
i = (y = (x = ex.Cdr).Car.eval()) == Nil? -1 : xInt(y);
@@ -6081,7 +6155,7 @@ public class PicoLisp {
return y;
}
- final static Any do281(Any ex) { // poll
+ final static Any do283(Any ex) { // poll
int i;
Any x;
if ((i = xInt(x = ex.Cdr.Car.eval())) < 0 || i >= InFiles.length)
@@ -6101,13 +6175,13 @@ public class PicoLisp {
return Nil;
}
- final static Any do282(Any ex) { // peek
+ final static Any do284(Any ex) { // peek
if (InFile.Chr == 0)
InFile.get();
return InFile.Chr<0? Nil : mkChar((char)InFile.Chr);
}
- final static Any do283(Any ex) { // char
+ final static Any do285(Any ex) { // char
Any x;
if (!((ex = ex.Cdr) instanceof Cell)) {
if (InFile.Chr == 0)
@@ -6121,17 +6195,17 @@ public class PicoLisp {
return x == T? mkChar((char)0x10000) : new Number(firstChar(x));
}
- final static Any do284(Any ex) { // skip
+ final static Any do286(Any ex) { // skip
char c;
c = firstChar(ex.Cdr.Car.eval());
return InFile.skip(c) < 0? Nil : mkChar(c);
}
- final static Any do285(Any ex) { // eol
+ final static Any do287(Any ex) { // eol
return InFile.Chr=='\n' || InFile.Chr<=0? T : Nil;
}
- final static Any do286(Any ex) { // eof
+ final static Any do288(Any ex) { // eof
if (ex.Cdr.Car.eval() != Nil) {
InFile.Chr = -1;
return T;
@@ -6141,7 +6215,7 @@ public class PicoLisp {
return InFile.Chr < 0? T : Nil;
}
- final static Any do287(Any ex) { // from
+ final static Any do289(Any ex) { // from
int i, j, k;
Any x;
Any[] v;
@@ -6174,7 +6248,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do288(Any ex) { // till
+ final static Any do290(Any ex) { // till
Any x, y;
String str;
StringBuilder sb;
@@ -6196,7 +6270,7 @@ public class PicoLisp {
return mkStr(sb);
}
- final static Any do289(Any ex) { // line
+ final static Any do291(Any ex) { // line
int i;
Any x, y, z;
StringBuilder sb;
@@ -6220,7 +6294,7 @@ public class PicoLisp {
}
}
- final static Any do290(Any ex) { // any
+ final static Any do292(Any ex) { // any
Any x;
if ((x = ex.Cdr.Car.eval()) == Nil)
return Nil;
@@ -6229,14 +6303,14 @@ public class PicoLisp {
return rd.read0(true);
}
- final static Any do291(Any ex) { // sym
+ final static Any do293(Any ex) { // sym
StringWriter sw = new StringWriter();
PrintWriter wr = new PrintWriter(sw);
wr.print(ex.Cdr.Car.eval().toString());
return mkStr(sw.toString());
}
- final static Any do292(Any ex) { // str
+ final static Any do294(Any ex) { // str
Any x, y;
if ((y = (x = ex.Cdr).Car.eval()) == Nil)
return Nil;
@@ -6255,7 +6329,7 @@ public class PicoLisp {
return mkStr(sw.toString());
}
- final static Any do293(Any ex) { // load
+ final static Any do295(Any ex) { // load
Any x, y;
x = ex.Cdr;
do {
@@ -6267,7 +6341,7 @@ public class PicoLisp {
return y;
}
- final static Any do294(Any ex) { // in
+ final static Any do296(Any ex) { // in
Any x;
Env.pushInFile((x = ex.Cdr).Car.eval().rdOpen(ex));
x = x.Cdr.prog();
@@ -6275,7 +6349,7 @@ public class PicoLisp {
return x;
}
- final static Any do295(Any ex) { // out
+ final static Any do297(Any ex) { // out
Any x;
Env.pushOutFile((x = ex.Cdr).Car.eval().wrOpen(ex));
x = x.Cdr.prog();
@@ -6283,7 +6357,7 @@ public class PicoLisp {
return x;
}
- final static Any do296(Any ex) { // open
+ final static Any do298(Any ex) { // open
String str;
str = evString(ex.Cdr);
try {return new Number(new PicoLispReader(new FileReader(str), str, allocFd(), null, 0).Fd);}
@@ -6291,7 +6365,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do297(Any ex) { // close
+ final static Any do299(Any ex) { // close
int i;
Any x;
if ((i = xInt(x = ex.Cdr.Car.eval())) >= 0 && i < InFiles.length) {
@@ -6309,7 +6383,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do298(Any ex) { // echo
+ final static Any do300(Any ex) { // echo
int i, j, k;
long n;
Any x, y;
@@ -6391,20 +6465,20 @@ public class PicoLisp {
return T;
}
- final static Any do299(Any ex) { // prin
+ final static Any do301(Any ex) { // prin
Any x, y;
for (y = Nil; (ex = ex.Cdr) instanceof Cell; OutFile.Wr.print((y = ex.Car.eval()).name()));
return y;
}
- final static Any do300(Any ex) { // prinl
+ final static Any do302(Any ex) { // prinl
Any x, y;
for (y = Nil; (ex = ex.Cdr) instanceof Cell; OutFile.Wr.print((y = ex.Car.eval()).name()));
OutFile.newline();
return y;
}
- final static Any do301(Any ex) { // space
+ final static Any do303(Any ex) { // space
int i;
Any x;
if ((x = ex.Cdr.Car.eval()) == Nil) {
@@ -6416,7 +6490,7 @@ public class PicoLisp {
return x;
}
- final static Any do302(Any ex) { // print
+ final static Any do304(Any ex) { // print
Any x, y;
OutFile.print(y = (x = ex.Cdr).Car.eval());
while ((x = x.Cdr) instanceof Cell) {
@@ -6426,7 +6500,7 @@ public class PicoLisp {
return y;
}
- final static Any do303(Any ex) { // printsp
+ final static Any do305(Any ex) { // printsp
Any x, y;
x = ex.Cdr;
do {
@@ -6436,7 +6510,7 @@ public class PicoLisp {
return y;
}
- final static Any do304(Any ex) { // println
+ final static Any do306(Any ex) { // println
Any x, y;
OutFile.print(y = (x = ex.Cdr).Car.eval());
while ((x = x.Cdr) instanceof Cell) {
@@ -6447,11 +6521,11 @@ public class PicoLisp {
return y;
}
- final static Any do305(Any ex) { // flush
+ final static Any do307(Any ex) { // flush
return OutFile.Wr.checkError()? Nil : T;
}
- final static Any do306(Any ex) { // port
+ final static Any do308(Any ex) { // port
ex = ex.Cdr; // ...
try {
ServerSocketChannel chan = ServerSocketChannel.open();;
@@ -6462,7 +6536,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do307(Any ex) { // accept
+ final static Any do309(Any ex) { // accept
int i;
Any x;
if ((i = xInt(x = ex.Cdr.Car.eval())) < 0 || i >= InFiles.length || InFiles[i] == null || InFiles[i].Chan == null)
@@ -6472,7 +6546,7 @@ public class PicoLisp {
return Nil;
}
- final static Any do308(Any ex) { // connect
+ final static Any do310(Any ex) { // connect
int i;
try {
SocketChannel chan = SocketChannel.open();
diff --git a/ersatz/fun.src b/ersatz/fun.src
@@ -1,12 +1,72 @@
-# 11nov10abu
+# 12nov10abu
# (c) Software Lab. Alexander Burger
# Ersatz PicoLisp Functions
############ main ############
# (env ['lst] | ['sym 'val] ..) -> lst
+env (i x y)
+ y = Nil;
+ if (!((ex = ex.Cdr) instanceof Cell)) {
+ for (Bind p = Env.Bind; p != null; p = p.Link) {
+ if (p.Eswp == 0) {
+ for (i = p.Cnt; --i > 0; --i) {
+ for (x = y; ; x = x.Cdr) {
+ if (!(x instanceof Cell)) {
+ y = new Cell(new Cell(p.Data[i], p.Data[i].Car), y);
+ break;
+ }
+ if (x.Car.Car == p.Data[i])
+ break;
+ }
+ }
+ }
+ }
+ }
+ else {
+ do {
+ if ((x = ex.Car.eval()) instanceof Cell) {
+ do
+ y = new Cell(new Cell(x.Car, x.Car.Car), y);
+ while ((x = x.Cdr) instanceof Cell);
+ }
+ else if (x != Nil) {
+ ex = ex.Cdr;
+ y = new Cell(new Cell(x, ex.Car.eval()), y);
+ }
+ }
+ while ((ex = ex.Cdr) instanceof Cell);
+ }
+ return y;
# (up [cnt] sym ['val]) -> any
+up (i j k x)
+ if (!((x = (ex = ex.Cdr).Car) instanceof Number))
+ k = 1;
+ else {
+ k = ((Number)x).Cnt;
+ ex = ex.Cdr;
+ x = ex.Car;
+ }
+ j = 0;
+ Bind q = null;
+ for (Bind p = Env.Bind; p != null; p = p.Link) {
+ for (i = 0; i < p.Cnt; i += 2) {
+ if (p.Data[i+1] == x) {
+ if (--k == 0) {
+ if ((ex = ex.Cdr) instanceof Cell)
+ return p.Data[i] = ex.Car.eval();
+ return p.Data[i];
+ }
+ }
+ }
+ }
+ if ((ex = ex.Cdr) instanceof Cell)
+ if (q == null)
+ x.Car = ex.Car.eval();
+ else
+ q.Data[j] = ex.Car.eval();
+ return q == null? x.Car : q.Data[j];
# (quit ['any ['any]])
quit (str)
diff --git a/ersatz/picolisp.jar b/ersatz/picolisp.jar
Binary files differ.