2016-03-03 04:59:07 -05:00
|
|
|
#include "picrin.h"
|
|
|
|
#include "picrin/extra.h"
|
|
|
|
|
2017-04-04 06:00:37 -04:00
|
|
|
#if PIC_USE_EVAL
|
2017-04-04 01:54:58 -04:00
|
|
|
static const char boot_compile_rom[][80] = {
|
2017-04-05 03:18:00 -04:00
|
|
|
"(core#begin (core#begin (core#define make-identifier #undefined) (core#begin (co",
|
|
|
|
"re#define identifier? #undefined) (core#begin (core#define identifier=? #undefin",
|
|
|
|
"ed) (core#begin (core#define identifier-name #undefined) (core#begin (core#defin",
|
|
|
|
"e identifier-environment #undefined) (core#begin (core#define make-environment #",
|
|
|
|
"undefined) (core#begin (core#define default-environment #undefined) (core#begin ",
|
|
|
|
"(core#define environment? #undefined) (core#begin (core#define find-identifier #",
|
|
|
|
"undefined) (core#begin (core#define add-identifier! #undefined) (core#begin (cor",
|
|
|
|
"e#define set-identifier! #undefined) (core#begin (core#define macro-objects #und",
|
|
|
|
"efined) (core#begin (core#define expand #undefined) (call-with-values (core#lamb",
|
|
|
|
"da () ((core#lambda () (core#begin (core#begin (core#define .make-identifier.214",
|
|
|
|
"9 (core#lambda (.name.2173 .env.2174) (make-record (core#quote identifier) (vect",
|
|
|
|
"or .name.2173 .env.2174)))) (core#begin (core#define .%identifier?.2150 (core#la",
|
|
|
|
"mbda (.obj.2175) (core#if (record? .obj.2175) (eq? (record-type .obj.2175) (core",
|
|
|
|
"#quote identifier)) #f))) (core#begin (core#define .identifier-environment.2151 ",
|
|
|
|
"(core#lambda (.obj.2176) (core#if (.%identifier?.2150 .obj.2176) (vector-ref (re",
|
|
|
|
"cord-datum .obj.2176) 1) (error \"record type mismatch\" .obj.2176 (core#quote ide",
|
|
|
|
"ntifier))))) (core#define .identifier-name.2152 (core#lambda (.obj.2177) (core#i",
|
|
|
|
"f (.%identifier?.2150 .obj.2177) (vector-ref (record-datum .obj.2177) 0) (error ",
|
|
|
|
"\"record type mismatch\" .obj.2177 (core#quote identifier)))))))) (core#begin (cor",
|
|
|
|
"e#define .identifier?.2153 (core#lambda (.obj.2178) ((core#lambda (.it.2179) (co",
|
|
|
|
"re#if .it.2179 .it.2179 ((core#lambda (.it.2180) (core#if .it.2180 .it.2180 #f))",
|
|
|
|
" (.%identifier?.2150 .obj.2178)))) (symbol? .obj.2178)))) (core#begin (core#defi",
|
|
|
|
"ne .identifier=?.2154 (core#lambda (.id1.2181 .id2.2182) (core#if (core#if (symb",
|
|
|
|
"ol? .id1.2181) (symbol? .id2.2182) #f) (eq? .id1.2181 .id2.2182) (core#if (core#",
|
|
|
|
"if (.%identifier?.2150 .id1.2181) (.%identifier?.2150 .id2.2182) #f) (eq? (.find",
|
|
|
|
"-identifier.2161 (.identifier-name.2152 .id1.2181) (.identifier-environment.2151",
|
|
|
|
" .id1.2181)) (.find-identifier.2161 (.identifier-name.2152 .id2.2182) (.identifi",
|
|
|
|
"er-environment.2151 .id2.2182))) #f)))) (core#begin (core#set! equal? ((core#lam",
|
|
|
|
"bda (.e?.2183) (core#lambda (.x.2184 .y.2185) (core#if (.%identifier?.2150 .x.21",
|
|
|
|
"84) (.identifier=?.2154 .x.2184 .y.2185) (.e?.2183 .x.2184 .y.2185)))) equal?)) ",
|
|
|
|
"(core#begin (core#begin (core#define .%make-environment.2155 (core#lambda (.pare",
|
|
|
|
"nt.2186 .prefix.2187 .binding.2188) (make-record (core#quote environment) (vecto",
|
|
|
|
"r .parent.2186 .prefix.2187 .binding.2188)))) (core#begin (core#define .environm",
|
|
|
|
"ent?.2156 (core#lambda (.obj.2189) (core#if (record? .obj.2189) (eq? (record-typ",
|
|
|
|
"e .obj.2189) (core#quote environment)) #f))) (core#begin (core#define .environme",
|
|
|
|
"nt-binding.2157 (core#lambda (.obj.2190) (core#if (.environment?.2156 .obj.2190)",
|
|
|
|
" (vector-ref (record-datum .obj.2190) 2) (error \"record type mismatch\" .obj.2190",
|
|
|
|
" (core#quote environment))))) (core#begin (core#define .environment-prefix.2158 ",
|
|
|
|
"(core#lambda (.obj.2191) (core#if (.environment?.2156 .obj.2191) (vector-ref (re",
|
|
|
|
"cord-datum .obj.2191) 1) (error \"record type mismatch\" .obj.2191 (core#quote env",
|
|
|
|
"ironment))))) (core#define .environment-parent.2159 (core#lambda (.obj.2192) (co",
|
|
|
|
"re#if (.environment?.2156 .obj.2192) (vector-ref (record-datum .obj.2192) 0) (er",
|
|
|
|
"ror \"record type mismatch\" .obj.2192 (core#quote environment))))))))) (core#begi",
|
|
|
|
"n (core#define .search-scope.2160 (core#lambda (.id.2193 .env.2194) ((.environme",
|
|
|
|
"nt-binding.2157 .env.2194) .id.2193))) (core#begin (core#define .find-identifier",
|
|
|
|
".2161 (core#lambda (.id.2195 .env.2196) ((core#lambda (.it.2197) (core#if .it.21",
|
|
|
|
"97 .it.2197 ((core#lambda (.it.2198) (core#if .it.2198 .it.2198 #f)) ((core#lamb",
|
|
|
|
"da (.parent.2199) (core#if .parent.2199 (.find-identifier.2161 .id.2195 .parent.",
|
|
|
|
"2199) (core#if (symbol? .id.2195) (.add-identifier!.2162 .id.2195 .env.2196) (.f",
|
|
|
|
"ind-identifier.2161 (.identifier-name.2152 .id.2195) (.identifier-environment.21",
|
|
|
|
"51 .id.2195))))) (.environment-parent.2159 .env.2196))))) (.search-scope.2160 .i",
|
|
|
|
"d.2195 .env.2196)))) (core#begin (core#define .add-identifier!.2162 ((core#lambd",
|
|
|
|
"a (.uniq.2200) (core#lambda (.id.2201 .env.2202) ((core#lambda (.it.2203) (core#",
|
|
|
|
"if .it.2203 .it.2203 ((core#lambda (.it.2204) (core#if .it.2204 .it.2204 #f)) (c",
|
|
|
|
"ore#if (core#if (not (.environment-parent.2159 .env.2202)) (symbol? .id.2201) #f",
|
|
|
|
") (string->symbol (string-append (.environment-prefix.2158 .env.2202) (symbol->s",
|
|
|
|
"tring .id.2201))) ((core#lambda (.uid.2205) (core#begin (.set-identifier!.2163 .",
|
|
|
|
"id.2201 .uid.2205 .env.2202) .uid.2205)) (.uniq.2200 .id.2201)))))) (.search-sco",
|
|
|
|
"pe.2160 .id.2201 .env.2202)))) ((core#lambda (.n.2206) (core#lambda (.id.2207) (",
|
|
|
|
"(core#lambda (.m.2208) (core#begin (core#set! .n.2206 (+ .n.2206 1)) (string->sy",
|
|
|
|
"mbol (string-append \".\" (symbol->string ((core#lambda () (core#begin (core#defin",
|
|
|
|
"e .loop.2209 (core#lambda (.id.2210) (core#if (symbol? .id.2210) .id.2210 (.loop",
|
|
|
|
".2209 (.identifier-name.2152 .id.2210))))) (.loop.2209 .id.2207))))) \".\" (number",
|
|
|
|
"->string .m.2208))))) .n.2206))) 0))) (core#begin (core#define .set-identifier!.",
|
|
|
|
"2163 (core#lambda (.id.2211 .uid.2212 .env.2213) ((.environment-binding.2157 .en",
|
|
|
|
"v.2213) .id.2211 .uid.2212))) (core#begin (core#define .make-environment.2164 (c",
|
|
|
|
"ore#lambda (.prefix.2214) (.%make-environment.2155 #f (symbol->string .prefix.22",
|
|
|
|
"14) (make-ephemeron-table)))) (core#begin (core#define .default-environment.2165",
|
|
|
|
" ((core#lambda (.env.2215) (core#begin (for-each (core#lambda (.x.2216) (.set-id",
|
|
|
|
"entifier!.2163 .x.2216 .x.2216 .env.2215)) (core#quote (core#define core#set! co",
|
|
|
|
"re#quote core#lambda core#if core#begin core#define-macro))) .env.2215)) (.make-",
|
|
|
|
"environment.2164 (string->symbol \"\")))) (core#begin (core#define .extend-environ",
|
|
|
|
"ment.2166 (core#lambda (.parent.2217) (.%make-environment.2155 .parent.2217 #f (",
|
|
|
|
"make-ephemeron-table)))) (core#begin (core#define .global-macro-table.2167 (make",
|
|
|
|
"-dictionary)) (core#begin (core#define .find-macro.2168 (core#lambda (.uid.2218)",
|
|
|
|
" (core#if (dictionary-has? .global-macro-table.2167 .uid.2218) (dictionary-ref .",
|
|
|
|
"global-macro-table.2167 .uid.2218) #f))) (core#begin (core#define .add-macro!.21",
|
|
|
|
"69 (core#lambda (.uid.2219 .expander.2220) (dictionary-set! .global-macro-table.",
|
|
|
|
"2167 .uid.2219 .expander.2220))) (core#begin (core#define .shadow-macro!.2170 (c",
|
|
|
|
"ore#lambda (.uid.2221) (core#if (dictionary-has? .global-macro-table.2167 .uid.2",
|
|
|
|
"221) (dictionary-delete! .global-macro-table.2167 .uid.2221) #undefined))) (core",
|
|
|
|
"#begin (core#define .macro-objects.2171 (core#lambda () .global-macro-table.2167",
|
|
|
|
")) (core#begin (core#define .expand.2172 ((core#lambda (.task-queue.2222) (core#",
|
|
|
|
"begin (core#define .queue.2223 (core#lambda (.task.2236) ((core#lambda (.tmp.223",
|
|
|
|
"7) (core#begin (.task-queue.2222 (cons (cons .tmp.2237 .task.2236) (.task-queue.",
|
|
|
|
"2222))) .tmp.2237)) (cons #f #f)))) (core#begin (core#define .run-all.2224 (core",
|
|
|
|
"#lambda () (for-each (core#lambda (.x.2238) ((core#lambda (.task.2239 .skelton.2",
|
|
|
|
"240) ((core#lambda (.x.2241) (core#begin (set-car! .skelton.2240 (car .x.2241)) ",
|
|
|
|
"(set-cdr! .skelton.2240 (cdr .x.2241)))) (.task.2239))) (cdr .x.2238) (car .x.22",
|
|
|
|
"38))) (reverse (.task-queue.2222))))) (core#begin (core#define .caddr.2225 (core",
|
|
|
|
"#lambda (.x.2242) (car (cddr .x.2242)))) (core#begin (core#define .map*.2226 (co",
|
|
|
|
"re#lambda (.proc.2243 .list*.2244) (core#if (null? .list*.2244) .list*.2244 (cor",
|
|
|
|
"e#if (pair? .list*.2244) (cons (.proc.2243 (car .list*.2244)) (.map*.2226 .proc.",
|
|
|
|
"2243 (cdr .list*.2244))) (.proc.2243 .list*.2244))))) (core#begin (core#define .",
|
|
|
|
"literal?.2227 (core#lambda (.x.2245) (not ((core#lambda (.it.2246) (core#if .it.",
|
|
|
|
"2246 .it.2246 ((core#lambda (.it.2247) (core#if .it.2247 .it.2247 #f)) (pair? .x",
|
|
|
|
".2245)))) (.identifier?.2153 .x.2245))))) (core#begin (core#define .call?.2228 (",
|
|
|
|
"core#lambda (.x.2248) (core#if (list? .x.2248) (core#if (not (null? .x.2248)) (.",
|
|
|
|
"identifier?.2153 (car .x.2248)) #f) #f))) (core#begin (core#define .expand-varia",
|
|
|
|
"ble.2229 (core#lambda (.var.2249 .env.2250) ((core#lambda (.x.2251) ((core#lambd",
|
|
|
|
"a (.m.2252) (core#if .m.2252 (.expand-node.2234 (.m.2252 .var.2249 .env.2250) .e",
|
|
|
|
"nv.2250) .x.2251)) (.find-macro.2168 .x.2251))) (.find-identifier.2161 .var.2249",
|
|
|
|
" .env.2250)))) (core#begin (core#define .expand-quote.2230 (core#lambda (.obj.22",
|
|
|
|
"53) (cons (core#quote core#quote) (cons .obj.2253 (core#quote ()))))) (core#begi",
|
|
|
|
"n (core#define .expand-define.2231 (core#lambda (.var.2254 .form.2255 .env.2256)",
|
|
|
|
" ((core#lambda (.uid.2257) (core#begin (.shadow-macro!.2170 .uid.2257) (cons (co",
|
|
|
|
"re#quote core#define) (cons .uid.2257 (cons (.expand-node.2234 .form.2255 .env.2",
|
|
|
|
"256) (core#quote ())))))) (.add-identifier!.2162 .var.2254 .env.2256)))) (core#b",
|
|
|
|
"egin (core#define .expand-lambda.2232 (core#lambda (.args.2258 .body.2259 .env.2",
|
|
|
|
"260) ((core#lambda (.env.2261) ((core#lambda (.args.2262) (with-dynamic-environm",
|
|
|
|
"ent (list (cons .task-queue.2222 (core#quote ()))) (core#lambda () ((core#lambda",
|
|
|
|
" (.body.2263) (core#begin (.run-all.2224) (cons (core#quote core#lambda) (cons .",
|
|
|
|
"args.2262 (cons .body.2263 (core#quote ())))))) (.expand-node.2234 .body.2259 .e",
|
|
|
|
"nv.2261))))) (.map*.2226 (core#lambda (.var.2264) (.add-identifier!.2162 .var.22",
|
|
|
|
"64 .env.2261)) .args.2258))) (.extend-environment.2166 .env.2260)))) (core#begin",
|
|
|
|
" (core#define .expand-define-macro.2233 (core#lambda (.var.2265 .transformer.226",
|
|
|
|
"6 .env.2267) ((core#lambda (.uid.2268) ((core#lambda (.expander.2269) (core#begi",
|
|
|
|
"n (.add-macro!.2169 .uid.2268 .expander.2269) #undefined)) (load (.expand.2235 .",
|
|
|
|
"transformer.2266 .env.2267)))) (.add-identifier!.2162 .var.2265 .env.2267)))) (c",
|
|
|
|
"ore#begin (core#define .expand-node.2234 (core#lambda (.expr.2270 .env.2271) (co",
|
|
|
|
"re#if (.literal?.2227 .expr.2270) .expr.2270 (core#if (.identifier?.2153 .expr.2",
|
|
|
|
"270) (.expand-variable.2229 .expr.2270 .env.2271) (core#if (.call?.2228 .expr.22",
|
|
|
|
"70) ((core#lambda (.functor.2272) ((core#lambda (.key.2273) (core#if ((core#lamb",
|
|
|
|
"da (.it.2274) (core#if .it.2274 .it.2274 #f)) (eqv? .key.2273 (core#quote core#q",
|
|
|
|
"uote))) (.expand-quote.2230 (cadr .expr.2270)) (core#if ((core#lambda (.it.2275)",
|
|
|
|
" (core#if .it.2275 .it.2275 #f)) (eqv? .key.2273 (core#quote core#define))) (.ex",
|
|
|
|
"pand-define.2231 (cadr .expr.2270) (.caddr.2225 .expr.2270) .env.2271) (core#if ",
|
|
|
|
"((core#lambda (.it.2276) (core#if .it.2276 .it.2276 #f)) (eqv? .key.2273 (core#q",
|
|
|
|
"uote core#lambda))) (.queue.2223 (core#lambda () (.expand-lambda.2232 (cadr .exp",
|
|
|
|
"r.2270) (.caddr.2225 .expr.2270) .env.2271))) (core#if ((core#lambda (.it.2277) ",
|
|
|
|
"(core#if .it.2277 .it.2277 #f)) (eqv? .key.2273 (core#quote core#define-macro)))",
|
|
|
|
" (.expand-define-macro.2233 (cadr .expr.2270) (.caddr.2225 .expr.2270) .env.2271",
|
|
|
|
") (core#if #t ((core#lambda (.m.2278) (core#if .m.2278 (.expand-node.2234 (.m.22",
|
|
|
|
"78 .expr.2270 .env.2271) .env.2271) (map (core#lambda (.x.2279) (.expand-node.22",
|
|
|
|
"34 .x.2279 .env.2271)) .expr.2270))) (.find-macro.2168 .functor.2272)) #undefine",
|
|
|
|
"d)))))) .functor.2272)) (.find-identifier.2161 (car .expr.2270) .env.2271)) (cor",
|
|
|
|
"e#if (list? .expr.2270) (map (core#lambda (.x.2280) (.expand-node.2234 .x.2280 .",
|
|
|
|
"env.2271)) .expr.2270) (error \"invalid expression\" .expr.2270))))))) (core#begin",
|
|
|
|
" (core#define .expand.2235 (core#lambda (.expr.2281 .env.2282) ((core#lambda (.x",
|
|
|
|
".2283) (core#begin (.run-all.2224) .x.2283)) (.expand-node.2234 .expr.2281 .env.",
|
|
|
|
"2282)))) .expand.2235)))))))))))))) (make-parameter (core#quote ())))) (values .",
|
|
|
|
"make-identifier.2149 .identifier?.2153 .identifier=?.2154 .identifier-name.2152 ",
|
|
|
|
".identifier-environment.2151 .make-environment.2164 .default-environment.2165 .e",
|
|
|
|
"nvironment?.2156 .find-identifier.2161 .add-identifier!.2162 .set-identifier!.21",
|
|
|
|
"63 .macro-objects.2171 .expand.2172)))))))))))))))))))))) (core#lambda (.make-id",
|
|
|
|
"entifier.2284 .identifier?.2285 .identifier=?.2286 .identifier-name.2287 .identi",
|
|
|
|
"fier-environment.2288 .make-environment.2289 .default-environment.2290 .environm",
|
|
|
|
"ent?.2291 .find-identifier.2292 .add-identifier!.2293 .set-identifier!.2294 .mac",
|
|
|
|
"ro-objects.2295 .expand.2296) (core#begin (core#set! make-identifier .make-ident",
|
|
|
|
"ifier.2284) (core#begin (core#set! identifier? .identifier?.2285) (core#begin (c",
|
|
|
|
"ore#set! identifier=? .identifier=?.2286) (core#begin (core#set! identifier-name",
|
|
|
|
" .identifier-name.2287) (core#begin (core#set! identifier-environment .identifie",
|
|
|
|
"r-environment.2288) (core#begin (core#set! make-environment .make-environment.22",
|
|
|
|
"89) (core#begin (core#set! default-environment .default-environment.2290) (core#",
|
|
|
|
"begin (core#set! environment? .environment?.2291) (core#begin (core#set! find-id",
|
|
|
|
"entifier .find-identifier.2292) (core#begin (core#set! add-identifier! .add-iden",
|
|
|
|
"tifier!.2293) (core#begin (core#set! set-identifier! .set-identifier!.2294) (cor",
|
|
|
|
"e#begin (core#set! macro-objects .macro-objects.2295) (core#set! expand .expand.",
|
|
|
|
"2296)))))))))))))))))))))))))))) (core#begin ((core#lambda () (core#begin (core#",
|
|
|
|
"define .define-transformer.2297 (core#lambda (.name.2299 .transformer.2300) (dic",
|
|
|
|
"tionary-set! (macro-objects) .name.2299 .transformer.2300))) (core#begin (core#d",
|
|
|
|
"efine .the.2298 (core#lambda (.var.2301) (make-identifier .var.2301 default-envi",
|
|
|
|
"ronment))) ((core#lambda (.the-core-define.2302 .the-core-lambda.2303 .the-core-",
|
|
|
|
"begin.2304 .the-core-quote.2305 .the-core-set!.2306 .the-core-if.2307 .the-core-",
|
|
|
|
"define-macro.2308 .the-define.2309 .the-lambda.2310 .the-begin.2311 .the-quote.2",
|
|
|
|
"312 .the-set!.2313 .the-if.2314 .the-define-macro.2315) (core#begin (.define-tra",
|
|
|
|
"nsformer.2297 (core#quote quote) (core#lambda (.form.2320 .env.2321) (core#if (=",
|
2017-04-06 07:34:13 -04:00
|
|
|
" (length .form.2320) 2) ((core#lambda (.obj.2322) (core#if (pair? .obj.2322) (co",
|
|
|
|
"ns (.the.2298 (core#quote cons)) (cons (cons .the-quote.2312 (cons (car .obj.232",
|
|
|
|
"2) (core#quote ()))) (cons (cons .the-quote.2312 (cons (cdr .obj.2322) (core#quo",
|
|
|
|
"te ()))) (core#quote ())))) (core#if (vector? .obj.2322) (cons (.the.2298 (core#",
|
|
|
|
"quote vector)) (vector->list (vector-map (core#lambda (.obj.2323) (cons .the-quo",
|
|
|
|
"te.2312 (cons .obj.2323 (core#quote ())))) .obj.2322))) (cons .the-core-quote.23",
|
|
|
|
"05 (cons .obj.2322 (core#quote ())))))) (cadr .form.2320)) (error \"malformed quo",
|
|
|
|
"te\" .form.2320)))) (core#begin (.define-transformer.2297 (core#quote if) (core#l",
|
|
|
|
"ambda (.form.2324 .env.2325) ((core#lambda (.len.2326) (core#if (= .len.2326 3) ",
|
|
|
|
"(append .form.2324 (cons (core#quote #undefined) (core#quote ()))) (core#if (= .",
|
|
|
|
"len.2326 4) (cons .the-core-if.2307 (cdr .form.2324)) (error \"malformed if\" .for",
|
|
|
|
"m.2324)))) (length .form.2324)))) (core#begin (.define-transformer.2297 (core#qu",
|
|
|
|
"ote begin) (core#lambda (.form.2327 .env.2328) ((core#lambda (.len.2329) (core#i",
|
|
|
|
"f (= .len.2329 1) #undefined (core#if (= .len.2329 2) (cadr .form.2327) (core#if",
|
|
|
|
" (= .len.2329 3) (cons .the-core-begin.2304 (cdr .form.2327)) (cons .the-core-be",
|
|
|
|
"gin.2304 (cons (cadr .form.2327) (cons (cons .the-begin.2311 (cddr .form.2327)) ",
|
|
|
|
"(core#quote ())))))))) (length .form.2327)))) (core#begin (.define-transformer.2",
|
|
|
|
"297 (core#quote set!) (core#lambda (.form.2330 .env.2331) (core#if (core#if (= (",
|
|
|
|
"length .form.2330) 3) (identifier? (cadr .form.2330)) #f) (cons .the-core-set!.2",
|
|
|
|
"306 (cdr .form.2330)) (error \"malformed set!\" .form.2330)))) (core#begin (core#d",
|
|
|
|
"efine .check-formal.2316 (core#lambda (.formal.2332) ((core#lambda (.it.2333) (c",
|
|
|
|
"ore#if .it.2333 .it.2333 ((core#lambda (.it.2334) (core#if .it.2334 .it.2334 ((c",
|
|
|
|
"ore#lambda (.it.2335) (core#if .it.2335 .it.2335 #f)) (core#if (pair? .formal.23",
|
|
|
|
"32) (core#if (identifier? (car .formal.2332)) (.check-formal.2316 (cdr .formal.2",
|
|
|
|
"332)) #f) #f)))) (identifier? .formal.2332)))) (null? .formal.2332)))) (core#beg",
|
|
|
|
"in (.define-transformer.2297 (core#quote lambda) (core#lambda (.form.2336 .env.2",
|
|
|
|
"337) (core#if (= (length .form.2336) 1) (error \"malformed lambda\" .form.2336) (c",
|
|
|
|
"ore#if (.check-formal.2316 (cadr .form.2336)) (cons .the-core-lambda.2303 (cons ",
|
|
|
|
"(cadr .form.2336) (cons (cons .the-begin.2311 (cddr .form.2336)) (core#quote ())",
|
|
|
|
"))) (error \"malformed lambda\" .form.2336))))) (core#begin (.define-transformer.2",
|
|
|
|
"297 (core#quote define) (core#lambda (.form.2338 .env.2339) ((core#lambda (.len.",
|
|
|
|
"2340) (core#if (= .len.2340 1) (error \"malformed define\" .form.2338) ((core#lamb",
|
|
|
|
"da (.formal.2341) (core#if (identifier? .formal.2341) (core#if (= .len.2340 3) (",
|
|
|
|
"cons .the-core-define.2302 (cdr .form.2338)) (error \"malformed define\" .form.233",
|
|
|
|
"8)) (core#if (pair? .formal.2341) (cons .the-define.2309 (cons (car .formal.2341",
|
|
|
|
") (cons (cons .the-lambda.2310 (cons (cdr .formal.2341) (cddr .form.2338))) (cor",
|
|
|
|
"e#quote ())))) (error \"define: binding to non-varaible object\" .form.2338)))) (c",
|
|
|
|
"adr .form.2338)))) (length .form.2338)))) (core#begin (.define-transformer.2297 ",
|
|
|
|
"(core#quote define-macro) (core#lambda (.form.2342 .env.2343) (core#if (= (lengt",
|
|
|
|
"h .form.2342) 3) (core#if (identifier? (cadr .form.2342)) (cons .the-core-define",
|
|
|
|
"-macro.2308 (cdr .form.2342)) (error \"define-macro: binding to non-variable obje",
|
|
|
|
"ct\" .form.2342)) (error \"malformed define-macro\" .form.2342)))) (core#begin #und",
|
|
|
|
"efined (core#begin (.define-transformer.2297 (core#quote else) (core#lambda ._.2",
|
|
|
|
"344 (error \"invalid use of auxiliary syntax\" (core#quote else)))) (core#begin (.",
|
|
|
|
"define-transformer.2297 (core#quote =>) (core#lambda ._.2345 (error \"invalid use",
|
|
|
|
" of auxiliary syntax\" (core#quote =>)))) (core#begin (.define-transformer.2297 (",
|
|
|
|
"core#quote unquote) (core#lambda ._.2346 (error \"invalid use of auxiliary syntax",
|
|
|
|
"\" (core#quote unquote)))) (core#begin (.define-transformer.2297 (core#quote unqu",
|
|
|
|
"ote-splicing) (core#lambda ._.2347 (error \"invalid use of auxiliary syntax\" (cor",
|
|
|
|
"e#quote unquote-splicing)))) (core#begin (.define-transformer.2297 (core#quote l",
|
|
|
|
"et) (core#lambda (.form.2348 .env.2349) (core#if (identifier? (cadr .form.2348))",
|
|
|
|
" ((core#lambda (.name.2350 .formal.2351 .body.2352) (cons (cons .the-lambda.2310",
|
|
|
|
" (cons (core#quote ()) (cons (cons .the-define.2309 (cons (cons .name.2350 (map ",
|
|
|
|
"car .formal.2351)) .body.2352)) (cons (cons .name.2350 (map cadr .formal.2351)) ",
|
|
|
|
"(core#quote ()))))) (core#quote ()))) (car (cdr .form.2348)) (car (cdr (cdr .for",
|
|
|
|
"m.2348))) (cdr (cdr (cdr .form.2348)))) ((core#lambda (.formal.2353 .body.2354) ",
|
|
|
|
"(cons (cons .the-lambda.2310 (cons (map car .formal.2353) .body.2354)) (map cadr",
|
|
|
|
" .formal.2353))) (car (cdr .form.2348)) (cdr (cdr .form.2348)))))) (core#begin (",
|
|
|
|
".define-transformer.2297 (core#quote and) (core#lambda (.form.2355 .env.2356) (c",
|
|
|
|
"ore#if (null? (cdr .form.2355)) #t (core#if (null? (cddr .form.2355)) (cadr .for",
|
|
|
|
"m.2355) (cons .the-if.2314 (cons (cadr .form.2355) (cons (cons (.the.2298 (core#",
|
|
|
|
"quote and)) (cddr .form.2355)) (cons (core#quote #f) (core#quote ()))))))))) (co",
|
|
|
|
"re#begin (.define-transformer.2297 (core#quote or) (core#lambda (.form.2357 .env",
|
|
|
|
".2358) (core#if (null? (cdr .form.2357)) #f ((core#lambda (.tmp.2359) (cons (.th",
|
|
|
|
"e.2298 (core#quote let)) (cons (cons (cons .tmp.2359 (cons (cadr .form.2357) (co",
|
|
|
|
"re#quote ()))) (core#quote ())) (cons (cons .the-if.2314 (cons .tmp.2359 (cons .",
|
|
|
|
"tmp.2359 (cons (cons (.the.2298 (core#quote or)) (cddr .form.2357)) (core#quote ",
|
|
|
|
"()))))) (core#quote ()))))) (make-identifier (core#quote it) .env.2358))))) (cor",
|
|
|
|
"e#begin (.define-transformer.2297 (core#quote cond) (core#lambda (.form.2360 .en",
|
|
|
|
"v.2361) ((core#lambda (.clauses.2362) (core#if (null? .clauses.2362) #undefined ",
|
|
|
|
"((core#lambda (.clause.2363) (core#if (core#if (identifier? (car .clause.2363)) ",
|
|
|
|
"(identifier=? (.the.2298 (core#quote else)) (make-identifier (car .clause.2363) ",
|
|
|
|
".env.2361)) #f) (cons .the-begin.2311 (cdr .clause.2363)) (core#if (null? (cdr .",
|
|
|
|
"clause.2363)) (cons (.the.2298 (core#quote or)) (cons (car .clause.2363) (cons (",
|
|
|
|
"cons (.the.2298 (core#quote cond)) (cdr .clauses.2362)) (core#quote ())))) (core",
|
|
|
|
"#if (core#if (identifier? (cadr .clause.2363)) (identifier=? (.the.2298 (core#qu",
|
|
|
|
"ote =>)) (make-identifier (cadr .clause.2363) .env.2361)) #f) ((core#lambda (.tm",
|
|
|
|
"p.2364) (cons (.the.2298 (core#quote let)) (cons (cons (cons .tmp.2364 (cons (ca",
|
|
|
|
"r .clause.2363) (core#quote ()))) (core#quote ())) (cons (cons .the-if.2314 (con",
|
|
|
|
"s .tmp.2364 (cons (cons (cadr (cdr .clause.2363)) (cons .tmp.2364 (core#quote ()",
|
|
|
|
"))) (cons (cons (.the.2298 (core#quote cond)) (cddr .form.2360)) (core#quote ())",
|
|
|
|
")))) (core#quote ()))))) (make-identifier (core#quote tmp) .env.2361)) (cons .th",
|
|
|
|
"e-if.2314 (cons (car .clause.2363) (cons (cons .the-begin.2311 (cdr .clause.2363",
|
|
|
|
")) (cons (cons (.the.2298 (core#quote cond)) (cdr .clauses.2362)) (core#quote ()",
|
|
|
|
"))))))))) (car .clauses.2362)))) (cdr .form.2360)))) (core#begin (.define-transf",
|
|
|
|
"ormer.2297 (core#quote quasiquote) (core#lambda (.form.2365 .env.2366) (core#beg",
|
|
|
|
"in (core#define .quasiquote?.2367 (core#lambda (.form.2371) (core#if (pair? .for",
|
|
|
|
"m.2371) (core#if (identifier? (car .form.2371)) (identifier=? (.the.2298 (core#q",
|
|
|
|
"uote quasiquote)) (make-identifier (car .form.2371) .env.2366)) #f) #f))) (core#",
|
|
|
|
"begin (core#define .unquote?.2368 (core#lambda (.form.2372) (core#if (pair? .for",
|
|
|
|
"m.2372) (core#if (identifier? (car .form.2372)) (identifier=? (.the.2298 (core#q",
|
|
|
|
"uote unquote)) (make-identifier (car .form.2372) .env.2366)) #f) #f))) (core#beg",
|
|
|
|
"in (core#define .unquote-splicing?.2369 (core#lambda (.form.2373) (core#if (pair",
|
|
|
|
"? .form.2373) (core#if (pair? (car .form.2373)) (core#if (identifier? (caar .for",
|
|
|
|
"m.2373)) (identifier=? (.the.2298 (core#quote unquote-splicing)) (make-identifie",
|
|
|
|
"r (caar .form.2373) .env.2366)) #f) #f) #f))) (core#begin (core#define .qq.2370 ",
|
|
|
|
"(core#lambda (.depth.2374 .expr.2375) (core#if (.unquote?.2368 .expr.2375) (core",
|
|
|
|
"#if (= .depth.2374 1) (cadr .expr.2375) (list (.the.2298 (core#quote list)) (lis",
|
|
|
|
"t (.the.2298 (core#quote quote)) (.the.2298 (core#quote unquote))) (.qq.2370 (- ",
|
|
|
|
".depth.2374 1) (car (cdr .expr.2375))))) (core#if (.unquote-splicing?.2369 .expr",
|
|
|
|
".2375) (core#if (= .depth.2374 1) (list (.the.2298 (core#quote append)) (car (cd",
|
|
|
|
"r (car .expr.2375))) (.qq.2370 .depth.2374 (cdr .expr.2375))) (list (.the.2298 (",
|
|
|
|
"core#quote cons)) (list (.the.2298 (core#quote list)) (list (.the.2298 (core#quo",
|
|
|
|
"te quote)) (.the.2298 (core#quote unquote-splicing))) (.qq.2370 (- .depth.2374 1",
|
|
|
|
") (car (cdr (car .expr.2375))))) (.qq.2370 .depth.2374 (cdr .expr.2375)))) (core",
|
|
|
|
"#if (.quasiquote?.2367 .expr.2375) (list (.the.2298 (core#quote list)) (list (.t",
|
|
|
|
"he.2298 (core#quote quote)) (.the.2298 (core#quote quasiquote))) (.qq.2370 (+ .d",
|
|
|
|
"epth.2374 1) (car (cdr .expr.2375)))) (core#if (pair? .expr.2375) (list (.the.22",
|
|
|
|
"98 (core#quote cons)) (.qq.2370 .depth.2374 (car .expr.2375)) (.qq.2370 .depth.2",
|
|
|
|
"374 (cdr .expr.2375))) (core#if (vector? .expr.2375) (list (.the.2298 (core#quot",
|
|
|
|
"e list->vector)) (.qq.2370 .depth.2374 (vector->list .expr.2375))) (list (.the.2",
|
|
|
|
"298 (core#quote quote)) .expr.2375)))))))) ((core#lambda (.x.2376) (.qq.2370 1 .",
|
|
|
|
"x.2376)) (cadr .form.2365)))))))) (core#begin (.define-transformer.2297 (core#qu",
|
|
|
|
"ote let*) (core#lambda (.form.2377 .env.2378) ((core#lambda (.bindings.2379 .bod",
|
|
|
|
"y.2380) (core#if (null? .bindings.2379) (cons (.the.2298 (core#quote let)) (cons",
|
|
|
|
" (core#quote ()) .body.2380)) (cons (.the.2298 (core#quote let)) (cons (cons (co",
|
|
|
|
"ns (car (car .bindings.2379)) (cdr (car .bindings.2379))) (core#quote ())) (cons",
|
|
|
|
" (cons (.the.2298 (core#quote let*)) (cons (cdr .bindings.2379) .body.2380)) (co",
|
|
|
|
"re#quote ())))))) (car (cdr .form.2377)) (cdr (cdr .form.2377))))) (core#begin (",
|
|
|
|
".define-transformer.2297 (core#quote letrec) (core#lambda (.form.2381 .env.2382)",
|
|
|
|
" (cons (.the.2298 (core#quote letrec*)) (cdr .form.2381)))) (core#begin (.define",
|
|
|
|
"-transformer.2297 (core#quote letrec*) (core#lambda (.form.2383 .env.2384) ((cor",
|
|
|
|
"e#lambda (.bindings.2385 .body.2386) ((core#lambda (.variables.2387 .initials.23",
|
|
|
|
"88) (cons (.the.2298 (core#quote let)) (cons .variables.2387 (append .initials.2",
|
|
|
|
"388 (append .body.2386 (core#quote ())))))) (map (core#lambda (.v.2389) (cons .v",
|
|
|
|
".2389 (cons (core#quote #undefined) (core#quote ())))) (map car .bindings.2385))",
|
|
|
|
" (map (core#lambda (.v.2390) (cons (.the.2298 (core#quote set!)) (append .v.2390",
|
|
|
|
" (core#quote ())))) .bindings.2385))) (car (cdr .form.2383)) (cdr (cdr .form.238",
|
|
|
|
"3))))) (core#begin (.define-transformer.2297 (core#quote let-values) (core#lambd",
|
|
|
|
"a (.form.2391 .env.2392) (cons (.the.2298 (core#quote let*-values)) (append (cdr",
|
|
|
|
" .form.2391) (core#quote ()))))) (core#begin (.define-transformer.2297 (core#quo",
|
|
|
|
"te let*-values) (core#lambda (.form.2393 .env.2394) ((core#lambda (.formals.2395",
|
|
|
|
" .body.2396) (core#if (null? .formals.2395) (cons (.the.2298 (core#quote let)) (",
|
|
|
|
"cons (core#quote ()) (append .body.2396 (core#quote ())))) ((core#lambda (.forma",
|
|
|
|
"l.2397) (cons (.the.2298 (core#quote call-with-values)) (cons (cons .the-lambda.",
|
|
|
|
"2310 (cons (core#quote ()) (cdr .formal.2397))) (cons (cons (.the.2298 (core#quo",
|
|
|
|
"te lambda)) (cons (car .formal.2397) (cons (cons (.the.2298 (core#quote let*-val",
|
|
|
|
"ues)) (cons (cdr .formals.2395) .body.2396)) (core#quote ())))) (core#quote ()))",
|
|
|
|
"))) (car .formals.2395)))) (cadr .form.2393) (cddr .form.2393)))) (core#begin (.",
|
|
|
|
"define-transformer.2297 (core#quote define-values) (core#lambda (.form.2398 .env",
|
|
|
|
".2399) ((core#lambda (.formal.2400 .body.2401) ((core#lambda (.tmps.2402) (cons ",
|
|
|
|
".the-begin.2311 (append ((core#lambda () (core#begin (core#define .loop.2403 (co",
|
|
|
|
"re#lambda (.formal.2404) (core#if (identifier? .formal.2404) (cons (cons .the-de",
|
|
|
|
"fine.2309 (cons .formal.2404 (cons (core#quote #undefined) (core#quote ())))) (c",
|
|
|
|
"ore#quote ())) (core#if (pair? .formal.2404) (cons (cons .the-define.2309 (cons ",
|
|
|
|
"(car .formal.2404) (cons (core#quote #undefined) (core#quote ())))) (.loop.2403 ",
|
|
|
|
"(cdr .formal.2404))) (core#quote ()))))) (.loop.2403 .formal.2400)))) (cons (con",
|
|
|
|
"s (.the.2298 (core#quote call-with-values)) (cons (cons .the-lambda.2310 (cons (",
|
|
|
|
"core#quote ()) .body.2401)) (cons (cons .the-lambda.2310 (cons .tmps.2402 ((core",
|
|
|
|
"#lambda () (core#begin (core#define .loop.2405 (core#lambda (.formal.2406 .tmps.",
|
|
|
|
"2407) (core#if (identifier? .formal.2406) (cons (cons .the-set!.2313 (cons .form",
|
|
|
|
"al.2406 (cons .tmps.2407 (core#quote ())))) (core#quote ())) (core#if (pair? .fo",
|
|
|
|
"rmal.2406) (cons (cons .the-set!.2313 (cons (car .formal.2406) (cons (car .tmps.",
|
|
|
|
"2407) (core#quote ())))) (.loop.2405 (cdr .formal.2406) (cdr .tmps.2407))) (core",
|
|
|
|
"#quote ()))))) (.loop.2405 .formal.2400 .tmps.2402)))))) (core#quote ())))) (cor",
|
|
|
|
"e#quote ()))))) ((core#lambda () (core#begin (core#define .loop.2408 (core#lambd",
|
|
|
|
"a (.formal.2409) (core#if (identifier? .formal.2409) (make-identifier .formal.24",
|
|
|
|
"09 .env.2399) (core#if (pair? .formal.2409) (cons (make-identifier (car .formal.",
|
|
|
|
"2409) .env.2399) (.loop.2408 (cdr .formal.2409))) (core#quote ()))))) (.loop.240",
|
|
|
|
"8 .formal.2400)))))) (cadr .form.2398) (cddr .form.2398)))) (core#begin (.define",
|
|
|
|
"-transformer.2297 (core#quote do) (core#lambda (.form.2410 .env.2411) ((core#lam",
|
|
|
|
"bda (.bindings.2412 .test.2413 .cleanup.2414 .body.2415) ((core#lambda (.loop.24",
|
|
|
|
"16) (cons (.the.2298 (core#quote let)) (cons .loop.2416 (cons (map (core#lambda ",
|
|
|
|
"(.x.2417) (cons (car .x.2417) (cons (cadr .x.2417) (core#quote ())))) .bindings.",
|
|
|
|
"2412) (cons (cons .the-if.2314 (cons .test.2413 (cons (cons .the-begin.2311 .cle",
|
|
|
|
"anup.2414) (cons (cons .the-begin.2311 (append .body.2415 (cons (cons .loop.2416",
|
|
|
|
" (map (core#lambda (.x.2418) (core#if (null? (cdr (cdr .x.2418))) (car .x.2418) ",
|
|
|
|
"(car (cdr (cdr .x.2418))))) .bindings.2412)) (core#quote ())))) (core#quote ()))",
|
|
|
|
"))) (core#quote ())))))) (make-identifier (core#quote loop) .env.2411))) (car (c",
|
|
|
|
"dr .form.2410)) (car (car (cdr (cdr .form.2410)))) (cdr (car (cdr (cdr .form.241",
|
|
|
|
"0)))) (cdr (cdr (cdr .form.2410)))))) (core#begin (.define-transformer.2297 (cor",
|
|
|
|
"e#quote when) (core#lambda (.form.2419 .env.2420) ((core#lambda (.test.2421 .bod",
|
|
|
|
"y.2422) (cons .the-if.2314 (cons .test.2421 (cons (cons .the-begin.2311 (append ",
|
|
|
|
".body.2422 (core#quote ()))) (cons (core#quote #undefined) (core#quote ())))))) ",
|
|
|
|
"(car (cdr .form.2419)) (cdr (cdr .form.2419))))) (core#begin (.define-transforme",
|
|
|
|
"r.2297 (core#quote unless) (core#lambda (.form.2423 .env.2424) ((core#lambda (.t",
|
|
|
|
"est.2425 .body.2426) (cons .the-if.2314 (cons .test.2425 (cons (core#quote #unde",
|
|
|
|
"fined) (cons (cons .the-begin.2311 (append .body.2426 (core#quote ()))) (core#qu",
|
|
|
|
"ote ())))))) (car (cdr .form.2423)) (cdr (cdr .form.2423))))) (core#begin (.defi",
|
|
|
|
"ne-transformer.2297 (core#quote case) (core#lambda (.form.2427 .env.2428) ((core",
|
|
|
|
"#lambda (.key.2429 .clauses.2430) ((core#lambda (.the-key.2431) (cons (.the.2298",
|
|
|
|
" (core#quote let)) (cons (cons (cons .the-key.2431 (cons .key.2429 (core#quote (",
|
|
|
|
")))) (core#quote ())) (cons ((core#lambda () (core#begin (core#define .loop.2432",
|
|
|
|
" (core#lambda (.clauses.2433) (core#if (null? .clauses.2433) #undefined ((core#l",
|
|
|
|
"ambda (.clause.2434) (cons .the-if.2314 (cons (core#if (core#if (identifier? (ca",
|
|
|
|
"r .clause.2434)) (identifier=? (.the.2298 (core#quote else)) (make-identifier (c",
|
|
|
|
"ar .clause.2434) .env.2428)) #f) #t (cons (.the.2298 (core#quote or)) (append (m",
|
|
|
|
"ap (core#lambda (.x.2435) (cons (.the.2298 (core#quote eqv?)) (cons .the-key.243",
|
|
|
|
"1 (cons (cons .the-quote.2312 (cons .x.2435 (core#quote ()))) (core#quote ()))))",
|
|
|
|
") (car .clause.2434)) (core#quote ())))) (cons (core#if (core#if (identifier? (c",
|
|
|
|
"adr .clause.2434)) (identifier=? (.the.2298 (core#quote =>)) (make-identifier (c",
|
|
|
|
"adr .clause.2434) .env.2428)) #f) (cons (car (cdr (cdr .clause.2434))) (cons .th",
|
|
|
|
"e-key.2431 (core#quote ()))) (cons .the-begin.2311 (append (cdr .clause.2434) (c",
|
|
|
|
"ore#quote ())))) (cons (.loop.2432 (cdr .clauses.2433)) (core#quote ())))))) (ca",
|
|
|
|
"r .clauses.2433))))) (.loop.2432 .clauses.2430)))) (core#quote ()))))) (make-ide",
|
|
|
|
"ntifier (core#quote key) .env.2428))) (car (cdr .form.2427)) (cdr (cdr .form.242",
|
|
|
|
"7))))) (core#begin (.define-transformer.2297 (core#quote parameterize) (core#lam",
|
|
|
|
"bda (.form.2436 .env.2437) ((core#lambda (.formal.2438 .body.2439) (cons (.the.2",
|
|
|
|
"298 (core#quote with-dynamic-environment)) (cons (cons (.the.2298 (core#quote li",
|
|
|
|
"st)) (append (map (core#lambda (.x.2440) (cons (.the.2298 (core#quote cons)) (co",
|
|
|
|
"ns (car .x.2440) (cons (cadr .x.2440) (core#quote ()))))) .formal.2438) (core#qu",
|
|
|
|
"ote ()))) (cons (cons .the-lambda.2310 (cons (core#quote ()) (append .body.2439 ",
|
|
|
|
"(core#quote ())))) (core#quote ()))))) (car (cdr .form.2436)) (cdr (cdr .form.24",
|
|
|
|
"36))))) (.define-transformer.2297 (core#quote define-record-type) (core#lambda (",
|
|
|
|
".form.2441 .env.2442) ((core#lambda (.type.2443 .ctor.2444 .pred.2445 .fields.24",
|
|
|
|
"46) (cons .the-begin.2311 (cons (cons .the-define.2309 (cons .ctor.2444 (cons (c",
|
|
|
|
"ons (.the.2298 (core#quote make-record)) (cons (cons (core#quote quote) (cons .t",
|
|
|
|
"ype.2443 (core#quote ()))) (cons (cons (.the.2298 (core#quote vector)) (map (cor",
|
|
|
|
"e#lambda (.field.2447) (core#if (memq (car .field.2447) (cdr .ctor.2444)) (car .",
|
|
|
|
"field.2447) #undefined)) .fields.2446)) (core#quote ())))) (core#quote ())))) (c",
|
|
|
|
"ons (cons .the-define.2309 (cons .pred.2445 (cons (cons (.the.2298 (core#quote l",
|
|
|
|
"ambda)) (cons (cons (core#quote obj) (core#quote ())) (cons (cons (.the.2298 (co",
|
|
|
|
"re#quote and)) (cons (cons (.the.2298 (core#quote record?)) (cons (core#quote ob",
|
|
|
|
"j) (core#quote ()))) (cons (cons (.the.2298 (core#quote eq?)) (cons (cons (.the.",
|
|
|
|
"2298 (core#quote record-type)) (cons (core#quote obj) (core#quote ()))) (cons (c",
|
|
|
|
"ons (core#quote quote) (cons .type.2443 (core#quote ()))) (core#quote ())))) (co",
|
|
|
|
"re#quote ())))) (core#quote ())))) (core#quote ())))) ((core#lambda () (core#beg",
|
|
|
|
"in (core#define .loop.2448 (core#lambda (.fields.2449 .pos.2450 .acc.2451) (core",
|
|
|
|
"#if (null? .fields.2449) .acc.2451 ((core#lambda (.field.2452) ((core#lambda (.d",
|
|
|
|
"efs.2453) (.loop.2448 (cdr .fields.2449) (+ .pos.2450 1) (append .defs.2453 .acc",
|
|
|
|
".2451))) (cons (cons .the-define.2309 (cons (cons (cadr .field.2452) (cons (core",
|
|
|
|
"#quote obj) (core#quote ()))) (cons (cons .the-if.2314 (cons (cons .pred.2445 (c",
|
|
|
|
"ons (core#quote obj) (core#quote ()))) (cons (cons (.the.2298 (core#quote vector",
|
|
|
|
"-ref)) (cons (cons (.the.2298 (core#quote record-datum)) (cons (core#quote obj) ",
|
|
|
|
"(core#quote ()))) (cons .pos.2450 (core#quote ())))) (cons (cons (.the.2298 (cor",
|
|
|
|
"e#quote error)) (cons (core#quote \"record type mismatch\") (cons (core#quote obj)",
|
|
|
|
" (cons (cons (core#quote quote) (cons .type.2443 (core#quote ()))) (core#quote (",
|
|
|
|
")))))) (core#quote ()))))) (core#quote ())))) (core#if (null? (cddr .field.2452)",
|
|
|
|
") (core#quote ()) (cons (cons .the-define.2309 (cons (cons (car (cddr .field.245",
|
|
|
|
"2)) (cons (core#quote obj) (cons (core#quote value) (core#quote ())))) (cons (co",
|
|
|
|
"ns .the-if.2314 (cons (cons .pred.2445 (cons (core#quote obj) (core#quote ()))) ",
|
|
|
|
"(cons (cons (.the.2298 (core#quote vector-set!)) (cons (cons (.the.2298 (core#qu",
|
|
|
|
"ote record-datum)) (cons (core#quote obj) (core#quote ()))) (cons .pos.2450 (con",
|
|
|
|
"s (core#quote value) (core#quote ()))))) (cons (cons (.the.2298 (core#quote erro",
|
|
|
|
"r)) (cons (core#quote \"record type mismatch\") (cons (core#quote obj) (cons (cons",
|
|
|
|
" (core#quote quote) (cons .type.2443 (core#quote ()))) (core#quote ()))))) (core",
|
|
|
|
"#quote ()))))) (core#quote ())))) (core#quote ())))))) (car .fields.2449))))) (.",
|
|
|
|
"loop.2448 .fields.2446 0 (core#quote ()))))))))) (car (cdr .form.2441)) (car (cd",
|
|
|
|
"r (cdr .form.2441))) (car (cdr (cdr (cdr .form.2441)))) (cdr (cdr (cdr (cdr .for",
|
|
|
|
"m.2441))))))))))))))))))))))))))))))))))))) (.the.2298 (core#quote core#define))",
|
|
|
|
" (.the.2298 (core#quote core#lambda)) (.the.2298 (core#quote core#begin)) (.the.",
|
|
|
|
"2298 (core#quote core#quote)) (.the.2298 (core#quote core#set!)) (.the.2298 (cor",
|
|
|
|
"e#quote core#if)) (.the.2298 (core#quote core#define-macro)) (.the.2298 (core#qu",
|
|
|
|
"ote define)) (.the.2298 (core#quote lambda)) (.the.2298 (core#quote begin)) (.th",
|
|
|
|
"e.2298 (core#quote quote)) (.the.2298 (core#quote set!)) (.the.2298 (core#quote ",
|
|
|
|
"if)) (.the.2298 (core#quote define-macro))))))) (core#begin (core#begin (core#de",
|
|
|
|
"fine compile #undefined) (call-with-values (core#lambda () ((core#lambda () (cor",
|
|
|
|
"e#begin (core#define .caddr.2454 (core#lambda (.x.2461) (car (cddr .x.2461)))) (",
|
|
|
|
"core#begin (core#define .cadddr.2455 (core#lambda (.x.2462) (cadr (cddr .x.2462)",
|
|
|
|
"))) (core#begin (core#define .max.2456 (core#lambda (.a.2463 .b.2464) (core#if (",
|
|
|
|
"< .a.2463 .b.2464) .b.2464 .a.2463))) (core#begin (core#define .integer?.2457 (c",
|
|
|
|
"ore#lambda (.n.2465) (core#if (number? .n.2465) (exact? .n.2465) #f))) (core#beg",
|
|
|
|
"in (core#define .normalize.2458 ((core#lambda (.defs.2466) (core#begin (core#def",
|
|
|
|
"ine .normalize.2467 (core#lambda (.e.2468) (core#if (symbol? .e.2468) (cons (cor",
|
|
|
|
"e#quote ref) (cons .e.2468 (core#quote ()))) (core#if (not (pair? .e.2468)) (con",
|
|
|
|
"s (core#quote quote) (cons .e.2468 (core#quote ()))) ((core#lambda (.key.2469) (",
|
|
|
|
"core#if ((core#lambda (.it.2470) (core#if .it.2470 .it.2470 #f)) (eqv? .key.2469",
|
|
|
|
" (core#quote core#quote))) (cons (core#quote quote) (cdr .e.2468)) (core#if ((co",
|
|
|
|
"re#lambda (.it.2471) (core#if .it.2471 .it.2471 #f)) (eqv? .key.2469 (core#quote",
|
|
|
|
" core#define))) ((core#lambda (.var.2472 .val.2473) (core#begin (.defs.2466 (con",
|
|
|
|
"s .var.2472 (.defs.2466))) (cons (core#quote set!) (cons .var.2472 (cons (.norma",
|
|
|
|
"lize.2467 .val.2473) (core#quote ())))))) (cadr .e.2468) (.caddr.2454 .e.2468)) ",
|
|
|
|
"(core#if ((core#lambda (.it.2474) (core#if .it.2474 .it.2474 #f)) (eqv? .key.246",
|
|
|
|
"9 (core#quote core#lambda))) ((core#lambda (.args.2475 .body.2476) (with-dynamic",
|
|
|
|
"-environment (list (cons .defs.2466 (core#quote ()))) (core#lambda () ((core#lam",
|
|
|
|
"bda (.body.2477) (core#if (null? (.defs.2466)) (cons (core#quote lambda) (cons .",
|
|
|
|
"args.2475 (cons .body.2477 (core#quote ())))) (cons (core#quote lambda) (cons .a",
|
|
|
|
"rgs.2475 (cons (cons (cons (core#quote lambda) (cons (.defs.2466) (cons .body.24",
|
2017-04-12 11:02:25 -04:00
|
|
|
"77 (core#quote ())))) (append (map (core#lambda (._.2478) (core#quote '#f)) (.de",
|
|
|
|
"fs.2466)) (core#quote ()))) (core#quote ())))))) (.normalize.2467 .body.2476))))",
|
|
|
|
") (cadr .e.2468) (.caddr.2454 .e.2468)) (core#if ((core#lambda (.it.2479) (core#",
|
|
|
|
"if .it.2479 .it.2479 #f)) (eqv? .key.2469 (core#quote core#set!))) (cons (core#q",
|
|
|
|
"uote set!) (cons (cadr .e.2468) (cons (.normalize.2467 (.caddr.2454 .e.2468)) (c",
|
|
|
|
"ore#quote ())))) (core#if ((core#lambda (.it.2480) (core#if .it.2480 .it.2480 #f",
|
|
|
|
")) (eqv? .key.2469 (core#quote core#if))) (cons (core#quote if) (map .normalize.",
|
|
|
|
"2467 (cdr .e.2468))) (core#if ((core#lambda (.it.2481) (core#if .it.2481 .it.248",
|
|
|
|
"1 #f)) (eqv? .key.2469 (core#quote core#begin))) (cons (core#quote begin) (map .",
|
|
|
|
"normalize.2467 (cdr .e.2468))) (core#if #t (map .normalize.2467 .e.2468) #undefi",
|
|
|
|
"ned)))))))) (car .e.2468)))))) .normalize.2467)) (make-parameter (core#quote ())",
|
|
|
|
"))) (core#begin (core#define .transform.2459 ((core#lambda () (core#begin (core#",
|
|
|
|
"define .uniq.2482 ((core#lambda (.n.2487) (core#lambda () (core#begin (core#set!",
|
|
|
|
" .n.2487 (+ .n.2487 1)) (string->symbol (string-append \"$\" (number->string .n.24",
|
|
|
|
"87)))))) 0)) (core#begin (core#define .transform-k.2483 (core#lambda (.e.2488 .k",
|
|
|
|
".2489) ((core#lambda (.key.2490) (core#if ((core#lambda (.it.2491) (core#if .it.",
|
|
|
|
"2491 .it.2491 ((core#lambda (.it.2492) (core#if .it.2492 .it.2492 ((core#lambda ",
|
|
|
|
"(.it.2493) (core#if .it.2493 .it.2493 #f)) (eqv? .key.2490 (core#quote quote))))",
|
|
|
|
") (eqv? .key.2490 (core#quote lambda))))) (eqv? .key.2490 (core#quote ref))) (.k",
|
|
|
|
".2489 (.transform-v.2486 .e.2488)) (core#if ((core#lambda (.it.2494) (core#if .i",
|
|
|
|
"t.2494 .it.2494 #f)) (eqv? .key.2490 (core#quote begin))) (.transform-k.2483 (ca",
|
|
|
|
"dr .e.2488) (core#lambda (._.2495) (.transform-k.2483 (.caddr.2454 .e.2488) .k.2",
|
|
|
|
"489))) (core#if ((core#lambda (.it.2496) (core#if .it.2496 .it.2496 #f)) (eqv? .",
|
|
|
|
"key.2490 (core#quote set!))) (.transform-k.2483 (.caddr.2454 .e.2488) (core#lamb",
|
|
|
|
"da (.v.2497) (cons (core#quote set!) (cons (cadr .e.2488) (cons .v.2497 (cons (.",
|
|
|
|
"k.2489 (core#quote (undefined))) (core#quote ()))))))) (core#if ((core#lambda (.",
|
|
|
|
"it.2498) (core#if .it.2498 .it.2498 #f)) (eqv? .key.2490 (core#quote if))) ((cor",
|
|
|
|
"e#lambda (.v.2499 .c.2500) (cons (cons (core#quote lambda) (cons (cons .c.2500 (",
|
|
|
|
"core#quote ())) (cons (.transform-k.2483 (cadr .e.2488) (core#lambda (.x.2501) (",
|
|
|
|
"cons (core#quote if) (cons .x.2501 (cons (.transform-c.2485 (.caddr.2454 .e.2488",
|
|
|
|
") (cons (core#quote ref) (cons .c.2500 (core#quote ())))) (cons (.transform-c.24",
|
|
|
|
"85 (.cadddr.2455 .e.2488) (cons (core#quote ref) (cons .c.2500 (core#quote ())))",
|
|
|
|
") (core#quote ()))))))) (core#quote ())))) (cons (cons (core#quote lambda) (cons",
|
|
|
|
" (cons .v.2499 (core#quote ())) (cons (.k.2489 (cons (core#quote ref) (cons .v.2",
|
|
|
|
"499 (core#quote ())))) (core#quote ())))) (core#quote ())))) (.uniq.2482) (.uniq",
|
|
|
|
".2482)) (core#if #t ((core#lambda (.v.2502) ((core#lambda (.c.2503) ((core#lambd",
|
|
|
|
"a () (.transform-k.2483 (car .e.2488) (core#lambda (.f.2504) (.transform*-k.2484",
|
|
|
|
" (cdr .e.2488) (core#lambda (.args.2505) (cons .f.2504 (cons .c.2503 (append .ar",
|
|
|
|
"gs.2505 (core#quote ()))))))))))) (cons (core#quote lambda) (cons (cons .v.2502 ",
|
|
|
|
"(core#quote ())) (cons (.k.2489 (cons (core#quote ref) (cons .v.2502 (core#quote",
|
|
|
|
" ())))) (core#quote ())))))) (.uniq.2482)) #undefined)))))) (car .e.2488)))) (co",
|
|
|
|
"re#begin (core#define .transform*-k.2484 (core#lambda (.es.2506 .k.2507) (core#i",
|
|
|
|
"f (null? .es.2506) (.k.2507 (core#quote ())) (.transform-k.2483 (car .es.2506) (",
|
|
|
|
"core#lambda (.x.2508) (.transform*-k.2484 (cdr .es.2506) (core#lambda (.xs.2509)",
|
|
|
|
" (.k.2507 (cons .x.2508 .xs.2509))))))))) (core#begin (core#define .transform-c.",
|
|
|
|
"2485 (core#lambda (.e.2510 .c.2511) ((core#lambda (.key.2512) (core#if ((core#la",
|
|
|
|
"mbda (.it.2513) (core#if .it.2513 .it.2513 ((core#lambda (.it.2514) (core#if .it",
|
|
|
|
".2514 .it.2514 ((core#lambda (.it.2515) (core#if .it.2515 .it.2515 #f)) (eqv? .k",
|
|
|
|
"ey.2512 (core#quote quote))))) (eqv? .key.2512 (core#quote lambda))))) (eqv? .ke",
|
|
|
|
"y.2512 (core#quote ref))) (cons .c.2511 (cons (.transform-v.2486 .e.2510) (core#",
|
|
|
|
"quote ()))) (core#if ((core#lambda (.it.2516) (core#if .it.2516 .it.2516 #f)) (e",
|
|
|
|
"qv? .key.2512 (core#quote begin))) (.transform-k.2483 (cadr .e.2510) (core#lambd",
|
|
|
|
"a (._.2517) (.transform-c.2485 (.caddr.2454 .e.2510) .c.2511))) (core#if ((core#",
|
|
|
|
"lambda (.it.2518) (core#if .it.2518 .it.2518 #f)) (eqv? .key.2512 (core#quote se",
|
|
|
|
"t!))) (.transform-k.2483 (.caddr.2454 .e.2510) (core#lambda (.v.2519) (cons (cor",
|
|
|
|
"e#quote set!) (cons (cadr .e.2510) (cons .v.2519 (cons (cons .c.2511 (cons (cons",
|
|
|
|
" (core#quote undefined) (core#quote ())) (core#quote ()))) (core#quote ())))))))",
|
|
|
|
" (core#if ((core#lambda (.it.2520) (core#if .it.2520 .it.2520 #f)) (eqv? .key.25",
|
|
|
|
"12 (core#quote if))) (core#if (core#if (pair? .c.2511) (eq? (core#quote lambda) ",
|
|
|
|
"(car .c.2511)) #f) ((core#lambda (.k.2521) (cons (cons (core#quote lambda) (cons",
|
|
|
|
" (cons .k.2521 (core#quote ())) (cons (.transform-k.2483 (cadr .e.2510) (core#la",
|
|
|
|
"mbda (.x.2522) (cons (core#quote if) (cons .x.2522 (cons (.transform-c.2485 (.ca",
|
|
|
|
"ddr.2454 .e.2510) (cons (core#quote ref) (cons .k.2521 (core#quote ())))) (cons ",
|
|
|
|
"(.transform-c.2485 (.cadddr.2455 .e.2510) (cons (core#quote ref) (cons .k.2521 (",
|
|
|
|
"core#quote ())))) (core#quote ()))))))) (core#quote ())))) (cons .c.2511 (core#q",
|
|
|
|
"uote ())))) (.uniq.2482)) (.transform-k.2483 (cadr .e.2510) (core#lambda (.x.252",
|
|
|
|
"3) (cons (core#quote if) (cons .x.2523 (cons (.transform-c.2485 (.caddr.2454 .e.",
|
|
|
|
"2510) .c.2511) (cons (.transform-c.2485 (.cadddr.2455 .e.2510) .c.2511) (core#qu",
|
|
|
|
"ote ())))))))) (core#if #t (.transform-k.2483 (car .e.2510) (core#lambda (.f.252",
|
|
|
|
"4) (.transform*-k.2484 (cdr .e.2510) (core#lambda (.args.2525) (cons .f.2524 (co",
|
|
|
|
"ns .c.2511 (append .args.2525 (core#quote ())))))))) #undefined)))))) (car .e.25",
|
|
|
|
"10)))) (core#begin (core#define .transform-v.2486 (core#lambda (.e.2526) ((core#",
|
|
|
|
"lambda (.key.2527) (core#if ((core#lambda (.it.2528) (core#if .it.2528 .it.2528 ",
|
|
|
|
"((core#lambda (.it.2529) (core#if .it.2529 .it.2529 #f)) (eqv? .key.2527 (core#q",
|
|
|
|
"uote quote))))) (eqv? .key.2527 (core#quote ref))) .e.2526 (core#if ((core#lambd",
|
|
|
|
"a (.it.2530) (core#if .it.2530 .it.2530 #f)) (eqv? .key.2527 (core#quote lambda)",
|
|
|
|
")) ((core#lambda (.k.2531) (cons (core#quote lambda) (cons (cons .k.2531 (cadr .",
|
|
|
|
"e.2526)) (cons (.transform-c.2485 (.caddr.2454 .e.2526) (cons (core#quote ref) (",
|
|
|
|
"cons .k.2531 (core#quote ())))) (core#quote ()))))) (.uniq.2482)) #undefined))) ",
|
|
|
|
"(car .e.2526)))) (core#lambda (.e.2532) ((core#lambda (.k.2533) (cons (core#quot",
|
|
|
|
"e lambda) (cons (cons .k.2533 (core#quote ())) (cons (.transform-c.2485 .e.2532 ",
|
|
|
|
"(cons (core#quote ref) (cons .k.2533 (core#quote ())))) (core#quote ()))))) (.un",
|
|
|
|
"iq.2482))))))))))) (core#begin (core#define .codegen.2460 ((core#lambda () (core",
|
|
|
|
"#begin (core#define .lookup.2534 (core#lambda (.var.2546 .env.2547) ((core#lambd",
|
|
|
|
"a () (core#begin (core#define .up.2548 (core#lambda (.depth.2549 .env.2550) (cor",
|
|
|
|
"e#if (null? .env.2550) (cons (core#quote global) (cons .var.2546 (core#quote ())",
|
|
|
|
")) ((core#lambda () (core#begin (core#define .loop.2551 (core#lambda (.index.255",
|
|
|
|
"2 .binding.2553) (core#if (symbol? .binding.2553) (core#if (eq? .var.2546 .bindi",
|
|
|
|
"ng.2553) (cons (core#quote local) (cons .depth.2549 (cons .index.2552 (core#quot",
|
|
|
|
"e ())))) (.up.2548 (+ .depth.2549 1) (cdr .env.2550))) (core#if (null? .binding.",
|
|
|
|
"2553) (.up.2548 (+ .depth.2549 1) (cdr .env.2550)) (core#if (eq? .var.2546 (car ",
|
|
|
|
".binding.2553)) (cons (core#quote local) (cons .depth.2549 (cons .index.2552 (co",
|
|
|
|
"re#quote ())))) (.loop.2551 (+ .index.2552 1) (cdr .binding.2553))))))) (.loop.2",
|
|
|
|
"551 1 (car .env.2550)))))))) (.up.2548 0 .env.2547)))))) (core#begin (core#defin",
|
|
|
|
"e .env.2535 (make-parameter (core#quote ()))) (core#begin (core#define .code.253",
|
|
|
|
"6 (make-parameter (core#quote ()))) (core#begin (core#define .reps.2537 (make-pa",
|
|
|
|
"rameter (core#quote ()))) (core#begin (core#define .objs.2538 (make-parameter (c",
|
|
|
|
"ore#quote ()))) (core#begin (core#define .emit.2539 (core#lambda (.inst.2554) (.",
|
|
|
|
"code.2536 (cons .inst.2554 (.code.2536))))) (core#begin (core#define .emit-irep.",
|
|
|
|
"2540 (core#lambda (.irep.2555) ((core#lambda (.n.2556) (core#begin (.reps.2537 (",
|
|
|
|
"cons .irep.2555 (.reps.2537))) .n.2556)) (length (.reps.2537))))) (core#begin (c",
|
|
|
|
"ore#define .emit-obj.2541 (core#lambda (.obj.2557) ((core#lambda (.n.2558) (core",
|
|
|
|
"#begin (.objs.2538 (cons .obj.2557 (.objs.2538))) .n.2558)) (length (.objs.2538)",
|
|
|
|
")))) (core#begin (core#define .make-label.2542 ((core#lambda (.n.2559) (core#lam",
|
|
|
|
"bda () ((core#lambda (.m.2560) (core#begin (core#set! .n.2559 (+ .n.2559 1)) .m.",
|
|
|
|
"2560)) .n.2559))) 0)) (core#begin (core#define .emit-label.2543 (core#lambda (.l",
|
|
|
|
"abel.2561) (.code.2536 (cons .label.2561 (.code.2536))))) (core#begin (core#defi",
|
|
|
|
"ne .codegen-e.2544 (core#lambda (.e.2562) ((core#lambda (.key.2563) (core#if ((c",
|
|
|
|
"ore#lambda (.it.2564) (core#if .it.2564 .it.2564 ((core#lambda (.it.2565) (core#",
|
|
|
|
"if .it.2565 .it.2565 ((core#lambda (.it.2566) (core#if .it.2566 .it.2566 ((core#",
|
|
|
|
"lambda (.it.2567) (core#if .it.2567 .it.2567 #f)) (eqv? .key.2563 (core#quote un",
|
|
|
|
"defined))))) (eqv? .key.2563 (core#quote quote))))) (eqv? .key.2563 (core#quote ",
|
|
|
|
"lambda))))) (eqv? .key.2563 (core#quote ref))) (.codegen-a.2545 .e.2562 0) (core",
|
|
|
|
"#if ((core#lambda (.it.2568) (core#if .it.2568 .it.2568 #f)) (eqv? .key.2563 (co",
|
|
|
|
"re#quote set!))) (core#begin (.codegen-a.2545 (.caddr.2454 .e.2562) 0) (core#beg",
|
|
|
|
"in ((core#lambda (.x.2569) (core#if (eq? (core#quote global) (car .x.2569)) ((co",
|
|
|
|
"re#lambda (.i.2570) (.emit.2539 (cons (core#quote GSET) (cons (core#quote 0) (co",
|
|
|
|
"ns .i.2570 (core#quote ())))))) (.emit-obj.2541 (cadr .x.2569))) (.emit.2539 (co",
|
|
|
|
"ns (core#quote LSET) (cons (core#quote 0) (cdr .x.2569)))))) (.lookup.2534 (cadr",
|
|
|
|
" .e.2562) (.env.2535))) (.codegen-e.2544 (.cadddr.2455 .e.2562)))) (core#if ((co",
|
|
|
|
"re#lambda (.it.2571) (core#if .it.2571 .it.2571 #f)) (eqv? .key.2563 (core#quote",
|
|
|
|
" if))) (core#begin (.codegen-a.2545 (cadr .e.2562) 0) ((core#lambda (.label.2572",
|
|
|
|
") (core#begin (.emit.2539 (cons (core#quote COND) (cons (core#quote 0) (cons .la",
|
|
|
|
"bel.2572 (core#quote ()))))) (core#begin (.codegen-e.2544 (.caddr.2454 .e.2562))",
|
|
|
|
" (core#begin (.emit-label.2543 .label.2572) (.codegen-e.2544 (.cadddr.2455 .e.25",
|
|
|
|
"62)))))) (.make-label.2542))) (core#if #t (core#begin ((core#lambda () (core#beg",
|
|
|
|
"in (core#define .loop.2573 (core#lambda (.i.2574 .e.2575) (core#if (null? .e.257",
|
|
|
|
"5) #undefined (core#begin (.codegen-a.2545 (car .e.2575) .i.2574) (.loop.2573 (+",
|
|
|
|
" .i.2574 1) (cdr .e.2575)))))) (.loop.2573 0 .e.2562)))) (.emit.2539 (cons (core",
|
|
|
|
"#quote CALL) (cons (- (length .e.2562) 1) (core#quote ()))))) #undefined))))) (c",
|
|
|
|
"ar .e.2562)))) (core#begin (core#define .codegen-a.2545 (core#lambda (.e.2576 .i",
|
|
|
|
".2577) ((core#lambda (.key.2578) (core#if ((core#lambda (.it.2579) (core#if .it.",
|
|
|
|
"2579 .it.2579 #f)) (eqv? .key.2578 (core#quote ref))) ((core#lambda (.x.2580) (c",
|
|
|
|
"ore#if (eq? (core#quote global) (car .x.2580)) ((core#lambda (.n.2581) (.emit.25",
|
|
|
|
"39 (cons (core#quote GREF) (cons .i.2577 (cons .n.2581 (core#quote ())))))) (.em",
|
|
|
|
"it-obj.2541 (cadr .x.2580))) (.emit.2539 (cons (core#quote LREF) (cons .i.2577 (",
|
|
|
|
"cdr .x.2580)))))) (.lookup.2534 (cadr .e.2576) (.env.2535))) (core#if ((core#lam",
|
|
|
|
"bda (.it.2582) (core#if .it.2582 .it.2582 #f)) (eqv? .key.2578 (core#quote quote",
|
|
|
|
"))) ((core#lambda (.obj.2583) (core#if (eq? #t .obj.2583) (.emit.2539 (cons (cor",
|
|
|
|
"e#quote LOADT) (cons .i.2577 (core#quote ())))) (core#if (eq? #f .obj.2583) (.em",
|
|
|
|
"it.2539 (cons (core#quote LOADF) (cons .i.2577 (core#quote ())))) (core#if (null",
|
|
|
|
"? .obj.2583) (.emit.2539 (cons (core#quote LOADN) (cons .i.2577 (core#quote ()))",
|
|
|
|
")) (core#if (eq? #undefined .obj.2583) (.emit.2539 (cons (core#quote LOADU) (con",
|
|
|
|
"s .i.2577 (core#quote ())))) (core#if (core#if (.integer?.2457 .obj.2583) (<= -1",
|
|
|
|
"27 .obj.2583 127) #f) (.emit.2539 (cons (core#quote LOADI) (cons .i.2577 (cons .",
|
|
|
|
"obj.2583 (core#quote ()))))) ((core#lambda (.n.2584) (.emit.2539 (cons (core#quo",
|
|
|
|
"te LOAD) (cons .i.2577 (cons .n.2584 (core#quote ())))))) (.emit-obj.2541 .obj.2",
|
|
|
|
"583)))))))) (cadr .e.2576)) (core#if ((core#lambda (.it.2585) (core#if .it.2585 ",
|
|
|
|
".it.2585 #f)) (eqv? .key.2578 (core#quote undefined))) (.emit.2539 (cons (core#q",
|
|
|
|
"uote LOADU) (cons .i.2577 (core#quote ())))) (core#if ((core#lambda (.it.2586) (",
|
|
|
|
"core#if .it.2586 .it.2586 #f)) (eqv? .key.2578 (core#quote lambda))) ((core#lamb",
|
|
|
|
"da (.frame-size.2587 .argc-varg.2588) ((core#lambda (.irep.2589) ((core#lambda (",
|
|
|
|
".n.2590) (.emit.2539 (cons (core#quote PROC) (cons .i.2577 (cons .n.2590 (core#q",
|
|
|
|
"uote ())))))) (.emit-irep.2540 .irep.2589))) (with-dynamic-environment (list (co",
|
|
|
|
"ns .code.2536 (core#quote ())) (cons .env.2535 (cons (cadr .e.2576) (.env.2535))",
|
|
|
|
") (cons .reps.2537 (core#quote ())) (cons .objs.2538 (core#quote ()))) (core#lam",
|
|
|
|
"bda () (core#begin (.codegen-e.2544 (.caddr.2454 .e.2576)) (list (reverse (.code",
|
|
|
|
".2536)) (reverse (.reps.2537)) (reverse (.objs.2538)) .argc-varg.2588 .frame-siz",
|
|
|
|
"e.2587)))))) ((core#lambda () (core#begin (core#define .loop.2591 (core#lambda (",
|
|
|
|
".e.2592) ((core#lambda (.key.2593) (core#if ((core#lambda (.it.2594) (core#if .i",
|
|
|
|
"t.2594 .it.2594 ((core#lambda (.it.2595) (core#if .it.2595 .it.2595 ((core#lambd",
|
|
|
|
"a (.it.2596) (core#if .it.2596 .it.2596 ((core#lambda (.it.2597) (core#if .it.25",
|
|
|
|
"97 .it.2597 #f)) (eqv? .key.2593 (core#quote undefined))))) (eqv? .key.2593 (cor",
|
|
|
|
"e#quote quote))))) (eqv? .key.2593 (core#quote lambda))))) (eqv? .key.2593 (core",
|
|
|
|
"#quote ref))) 1 (core#if ((core#lambda (.it.2598) (core#if .it.2598 .it.2598 #f)",
|
|
|
|
") (eqv? .key.2593 (core#quote if))) (.max.2456 (.loop.2591 (.caddr.2454 .e.2592)",
|
|
|
|
") (.loop.2591 (.cadddr.2455 .e.2592))) (core#if ((core#lambda (.it.2599) (core#i",
|
|
|
|
"f .it.2599 .it.2599 #f)) (eqv? .key.2593 (core#quote set!))) (.loop.2591 (.caddd",
|
|
|
|
"r.2455 .e.2592)) (core#if #t (+ 1 (length .e.2592)) #undefined))))) (car .e.2592",
|
|
|
|
")))) (.loop.2591 (.caddr.2454 .e.2576))))) ((core#lambda () (core#begin (core#de",
|
|
|
|
"fine .loop.2600 (core#lambda (.args.2601 .c.2602) (core#if (symbol? .args.2601) ",
|
|
|
|
"(cons .c.2602 #t) (core#if (null? .args.2601) (cons .c.2602 #f) (.loop.2600 (cdr",
|
|
|
|
" .args.2601) (+ 1 .c.2602)))))) (.loop.2600 (cadr .e.2576) 0))))) #undefined))))",
|
|
|
|
") (car .e.2576)))) (core#lambda (.e.2603) (with-dynamic-environment (list (cons ",
|
|
|
|
".code.2536 (core#quote ())) (cons .env.2535 (core#quote ())) (cons .reps.2537 (c",
|
|
|
|
"ore#quote ())) (cons .objs.2538 (core#quote ()))) (core#lambda () (core#begin (.",
|
|
|
|
"codegen-e.2544 .e.2603) (car (.reps.2537))))))))))))))))))))) (core#lambda (.e.2",
|
|
|
|
"604) (.codegen.2460 (.transform.2459 (.normalize.2458 .e.2604)))))))))))))) (cor",
|
|
|
|
"e#lambda (.compile.2605) (core#set! compile .compile.2605)))) (core#define eval ",
|
|
|
|
"(core#lambda (.expr.2606 . .env.2607) (load (expand .expr.2606 (core#if (null? .",
|
|
|
|
"env.2607) default-environment (car .env.2607)))))))))",
|
2017-04-03 09:09:19 -04:00
|
|
|
};
|
2017-04-04 06:00:37 -04:00
|
|
|
#endif
|
2017-04-03 09:09:19 -04:00
|
|
|
|
|
|
|
#if PIC_USE_LIBRARY
|
|
|
|
static const char boot_library_rom[][80] = {
|
2017-04-03 14:55:23 -04:00
|
|
|
"(core#begin (core#define current-library #undefined) (core#begin (core#define fi",
|
|
|
|
"nd-library #undefined) (core#begin (core#define make-library #undefined) (core#b",
|
|
|
|
"egin (core#define library-environment #undefined) (core#begin (core#define libra",
|
|
|
|
"ry-exports #undefined) (core#begin (core#define library-import #undefined) (core",
|
|
|
|
"#begin (core#define library-export #undefined) (call-with-values (core#lambda ()",
|
2017-04-06 07:34:13 -04:00
|
|
|
" ((core#lambda () (core#begin (core#define .mangle.2608 (core#lambda (.name.2617",
|
|
|
|
") (core#begin (core#if (null? .name.2617) (error \"library name should be a list ",
|
|
|
|
"of at least one symbols\" .name.2617) #undefined) (core#begin (core#define .->str",
|
|
|
|
"ing.2618 (core#lambda (.n.2620) (core#if (symbol? .n.2620) ((core#lambda (.str.2",
|
|
|
|
"621) (core#begin (string-for-each (core#lambda (.c.2622) (core#if ((core#lambda ",
|
|
|
|
"(.it.2623) (core#if .it.2623 .it.2623 ((core#lambda (.it.2624) (core#if .it.2624",
|
|
|
|
" .it.2624 #f)) (char=? .c.2622 #\\:)))) (char=? .c.2622 #\\.)) (error \"elements of",
|
|
|
|
" library name may not contain '.' or ':'\" .n.2620) #undefined)) .str.2621) .str.",
|
|
|
|
"2621)) (symbol->string .n.2620)) (core#if (core#if (number? .n.2620) (core#if (e",
|
|
|
|
"xact? .n.2620) (<= 0 .n.2620) #f) #f) (number->string .n.2620) (error \"symbol or",
|
|
|
|
" non-negative integer is required\" .n.2620))))) (core#begin (core#define .join.2",
|
|
|
|
"619 (core#lambda (.strs.2625 .delim.2626) ((core#lambda () (core#begin (core#def",
|
|
|
|
"ine .loop.2627 (core#lambda (.res.2628 .strs.2629) (core#if (null? .strs.2629) .",
|
|
|
|
"res.2628 (.loop.2627 (string-append .res.2628 .delim.2626 (car .strs.2629)) (cdr",
|
|
|
|
" .strs.2629))))) (.loop.2627 (car .strs.2625) (cdr .strs.2625))))))) (core#if (s",
|
|
|
|
"ymbol? .name.2617) .name.2617 (string->symbol (.join.2619 (map .->string.2618 .n",
|
|
|
|
"ame.2617) \".\")))))))) (core#begin (core#define .current-library.2609 (make-param",
|
|
|
|
"eter (core#quote (picrin user)) .mangle.2608)) (core#begin (core#define .*librar",
|
|
|
|
"ies*.2610 (make-dictionary)) (core#begin (core#define .find-library.2611 (core#l",
|
|
|
|
"ambda (.name.2630) (dictionary-has? .*libraries*.2610 (.mangle.2608 .name.2630))",
|
|
|
|
")) (core#begin (core#define .make-library.2612 (core#lambda (.name.2631) ((core#",
|
|
|
|
"lambda (.name.2632) ((core#lambda (.env.2633 .exports.2634) (core#begin (set-ide",
|
|
|
|
"ntifier! (core#quote define-library) (core#quote define-library) .env.2633) (cor",
|
|
|
|
"e#begin (set-identifier! (core#quote import) (core#quote import) .env.2633) (cor",
|
|
|
|
"e#begin (set-identifier! (core#quote export) (core#quote export) .env.2633) (cor",
|
2017-04-03 14:55:23 -04:00
|
|
|
"e#begin (set-identifier! (core#quote cond-expand) (core#quote cond-expand) .env.",
|
2017-04-06 07:34:13 -04:00
|
|
|
"2633) (dictionary-set! .*libraries*.2610 .name.2632 (cons .env.2633 .exports.263",
|
|
|
|
"4))))))) (make-environment (string->symbol (string-append (symbol->string .name.",
|
|
|
|
"2632) \":\"))) (make-dictionary))) (.mangle.2608 .name.2631)))) (core#begin (core#",
|
|
|
|
"define .library-environment.2613 (core#lambda (.name.2635) (car (dictionary-ref ",
|
|
|
|
".*libraries*.2610 (.mangle.2608 .name.2635))))) (core#begin (core#define .librar",
|
|
|
|
"y-exports.2614 (core#lambda (.name.2636) (cdr (dictionary-ref .*libraries*.2610 ",
|
|
|
|
"(.mangle.2608 .name.2636))))) (core#begin (core#define .library-import.2615 (cor",
|
|
|
|
"e#lambda (.name.2637 .sym.2638 .alias.2639) ((core#lambda (.uid.2640) ((core#lam",
|
|
|
|
"bda (.env.2641) (set-identifier! .alias.2639 .uid.2640 .env.2641)) (.library-env",
|
|
|
|
"ironment.2613 (.current-library.2609)))) (dictionary-ref (.library-exports.2614 ",
|
|
|
|
".name.2637) .sym.2638)))) (core#begin (core#define .library-export.2616 (core#la",
|
|
|
|
"mbda (.sym.2642 .alias.2643) ((core#lambda (.env.2644 .exports.2645) (dictionary",
|
|
|
|
"-set! .exports.2645 .alias.2643 (find-identifier .sym.2642 .env.2644))) (.librar",
|
|
|
|
"y-environment.2613 (.current-library.2609)) (.library-exports.2614 (.current-lib",
|
|
|
|
"rary.2609))))) (core#begin ((core#lambda (.define-transformer.2646) (core#begin ",
|
|
|
|
"(.define-transformer.2646 (core#quote define-library) (core#lambda (.form.2647 .",
|
|
|
|
"_.2648) ((core#lambda (.name.2649 .body.2650) (core#begin ((core#lambda (.it.265",
|
|
|
|
"1) (core#if .it.2651 .it.2651 ((core#lambda (.it.2652) (core#if .it.2652 .it.265",
|
|
|
|
"2 #f)) (.make-library.2612 .name.2649)))) (.find-library.2611 .name.2649)) (with",
|
|
|
|
"-dynamic-environment (list (cons .current-library.2609 .name.2649)) (core#lambda",
|
2017-04-12 01:17:52 -04:00
|
|
|
" () (for-each (core#lambda (.expr.2653) ((core#lambda (.exprs.2654) (for-each (c",
|
|
|
|
"ore#lambda (.e.2655) (eval .e.2655 .name.2649)) .exprs.2654)) (core#if (core#if ",
|
|
|
|
"(pair? .expr.2653) (eq? (car .expr.2653) (core#quote begin)) #f) (cdr .expr.2653",
|
|
|
|
") (list .expr.2653)))) .body.2650))))) (cadr .form.2647) (cddr .form.2647)))) (c",
|
|
|
|
"ore#begin (.define-transformer.2646 (core#quote cond-expand) (core#lambda (.form",
|
|
|
|
".2656 ._.2657) ((core#lambda (.test.2658) (core#begin (core#set! .test.2658 (cor",
|
|
|
|
"e#lambda (.form.2659) ((core#lambda (.it.2660) (core#if .it.2660 .it.2660 ((core",
|
|
|
|
"#lambda (.it.2661) (core#if .it.2661 .it.2661 ((core#lambda (.it.2662) (core#if ",
|
|
|
|
".it.2662 .it.2662 #f)) (core#if (pair? .form.2659) ((core#lambda (.key.2663) (co",
|
|
|
|
"re#if ((core#lambda (.it.2664) (core#if .it.2664 .it.2664 #f)) (eqv? .key.2663 (",
|
|
|
|
"core#quote library))) (.find-library.2611 (cadr .form.2659)) (core#if ((core#lam",
|
|
|
|
"bda (.it.2665) (core#if .it.2665 .it.2665 #f)) (eqv? .key.2663 (core#quote not))",
|
|
|
|
") (not (.test.2658 (cadr .form.2659))) (core#if ((core#lambda (.it.2666) (core#i",
|
|
|
|
"f .it.2666 .it.2666 #f)) (eqv? .key.2663 (core#quote and))) ((core#lambda () (co",
|
|
|
|
"re#begin (core#define .loop.2667 (core#lambda (.form.2668) ((core#lambda (.it.26",
|
|
|
|
"69) (core#if .it.2669 .it.2669 ((core#lambda (.it.2670) (core#if .it.2670 .it.26",
|
|
|
|
"70 #f)) (core#if (.test.2658 (car .form.2668)) (.loop.2667 (cdr .form.2668)) #f)",
|
|
|
|
"))) (null? .form.2668)))) (.loop.2667 (cdr .form.2659))))) (core#if ((core#lambd",
|
|
|
|
"a (.it.2671) (core#if .it.2671 .it.2671 #f)) (eqv? .key.2663 (core#quote or))) (",
|
|
|
|
"(core#lambda () (core#begin (core#define .loop.2672 (core#lambda (.form.2673) (c",
|
|
|
|
"ore#if (pair? .form.2673) ((core#lambda (.it.2674) (core#if .it.2674 .it.2674 ((",
|
|
|
|
"core#lambda (.it.2675) (core#if .it.2675 .it.2675 #f)) (.loop.2672 (cdr .form.26",
|
|
|
|
"73))))) (.test.2658 (car .form.2673))) #f))) (.loop.2672 (cdr .form.2659))))) (c",
|
|
|
|
"ore#if #t #f #undefined)))))) (car .form.2659)) #f)))) (core#if (symbol? .form.2",
|
|
|
|
"659) (memq .form.2659 (features)) #f)))) (eq? .form.2659 (core#quote else))))) (",
|
|
|
|
"(core#lambda () (core#begin (core#define .loop.2676 (core#lambda (.clauses.2677)",
|
|
|
|
" (core#if (null? .clauses.2677) #undefined (core#if (.test.2658 (caar .clauses.2",
|
|
|
|
"677)) (cons (make-identifier (core#quote begin) default-environment) (append (cd",
|
|
|
|
"ar .clauses.2677) (core#quote ()))) (.loop.2676 (cdr .clauses.2677)))))) (.loop.",
|
|
|
|
"2676 (cdr .form.2656))))))) #undefined))) (core#begin (.define-transformer.2646 ",
|
|
|
|
"(core#quote import) (core#lambda (.form.2678 ._.2679) ((core#lambda (.caddr.2680",
|
|
|
|
" .prefix.2681 .getlib.2682) ((core#lambda (.extract.2683 .collect.2684) (core#be",
|
|
|
|
"gin (core#set! .extract.2683 (core#lambda (.spec.2685) ((core#lambda (.key.2686)",
|
|
|
|
" (core#if ((core#lambda (.it.2687) (core#if .it.2687 .it.2687 ((core#lambda (.it",
|
|
|
|
".2688) (core#if .it.2688 .it.2688 ((core#lambda (.it.2689) (core#if .it.2689 .it",
|
|
|
|
".2689 ((core#lambda (.it.2690) (core#if .it.2690 .it.2690 #f)) (eqv? .key.2686 (",
|
|
|
|
"core#quote except))))) (eqv? .key.2686 (core#quote prefix))))) (eqv? .key.2686 (",
|
|
|
|
"core#quote rename))))) (eqv? .key.2686 (core#quote only))) (.extract.2683 (cadr ",
|
|
|
|
".spec.2685)) (core#if #t (.getlib.2682 .spec.2685) #undefined))) (car .spec.2685",
|
|
|
|
")))) (core#begin (core#set! .collect.2684 (core#lambda (.spec.2691) ((core#lambd",
|
|
|
|
"a (.key.2692) (core#if ((core#lambda (.it.2693) (core#if .it.2693 .it.2693 #f)) ",
|
|
|
|
"(eqv? .key.2692 (core#quote only))) ((core#lambda (.alist.2694) (map (core#lambd",
|
|
|
|
"a (.var.2695) (assq .var.2695 .alist.2694)) (cddr .spec.2691))) (.collect.2684 (",
|
|
|
|
"cadr .spec.2691))) (core#if ((core#lambda (.it.2696) (core#if .it.2696 .it.2696 ",
|
|
|
|
"#f)) (eqv? .key.2692 (core#quote rename))) ((core#lambda (.alist.2697 .renames.2",
|
|
|
|
"698) (map (core#lambda (.s.2699) ((core#lambda (.it.2700) (core#if .it.2700 .it.",
|
|
|
|
"2700 ((core#lambda (.it.2701) (core#if .it.2701 .it.2701 #f)) .s.2699))) (assq (",
|
|
|
|
"car .s.2699) .renames.2698))) .alist.2697)) (.collect.2684 (cadr .spec.2691)) (m",
|
|
|
|
"ap (core#lambda (.x.2702) (cons (car .x.2702) (cadr .x.2702))) (cddr .spec.2691)",
|
|
|
|
")) (core#if ((core#lambda (.it.2703) (core#if .it.2703 .it.2703 #f)) (eqv? .key.",
|
|
|
|
"2692 (core#quote prefix))) ((core#lambda (.alist.2704) (map (core#lambda (.s.270",
|
|
|
|
"5) (cons (.prefix.2681 (.caddr.2680 .spec.2691) (car .s.2705)) (cdr .s.2705))) .",
|
|
|
|
"alist.2704)) (.collect.2684 (cadr .spec.2691))) (core#if ((core#lambda (.it.2706",
|
|
|
|
") (core#if .it.2706 .it.2706 #f)) (eqv? .key.2692 (core#quote except))) ((core#l",
|
|
|
|
"ambda (.alist.2707) ((core#lambda () (core#begin (core#define .loop.2708 (core#l",
|
|
|
|
"ambda (.alist.2709) (core#if (null? .alist.2709) (core#quote ()) (core#if (memq ",
|
|
|
|
"(caar .alist.2709) (cddr .spec.2691)) (.loop.2708 (cdr .alist.2709)) (cons (car ",
|
|
|
|
".alist.2709) (.loop.2708 (cdr .alist.2709))))))) (.loop.2708 .alist.2707))))) (.",
|
|
|
|
"collect.2684 (cadr .spec.2691))) (core#if #t (dictionary-map (core#lambda (.x.27",
|
|
|
|
"10) (cons .x.2710 .x.2710)) (.library-exports.2614 (.getlib.2682 .spec.2691))) #",
|
|
|
|
"undefined)))))) (car .spec.2691)))) ((core#lambda (.import.2711) (core#begin (co",
|
|
|
|
"re#set! .import.2711 (core#lambda (.spec.2712) ((core#lambda (.lib.2713 .alist.2",
|
|
|
|
"714) (for-each (core#lambda (.slot.2715) (.library-import.2615 .lib.2713 (cdr .s",
|
|
|
|
"lot.2715) (car .slot.2715))) .alist.2714)) (.extract.2683 .spec.2712) (.collect.",
|
|
|
|
"2684 .spec.2712)))) (for-each .import.2711 (cdr .form.2678)))) #undefined)))) #u",
|
|
|
|
"ndefined #undefined)) (core#lambda (.x.2716) (car (cdr (cdr .x.2716)))) (core#la",
|
|
|
|
"mbda (.prefix.2717 .symbol.2718) (string->symbol (string-append (symbol->string ",
|
|
|
|
".prefix.2717) (symbol->string .symbol.2718)))) (core#lambda (.name.2719) (core#i",
|
|
|
|
"f (.find-library.2611 .name.2719) .name.2719 (error \"library not found\" .name.27",
|
|
|
|
"19)))))) (.define-transformer.2646 (core#quote export) (core#lambda (.form.2720 ",
|
|
|
|
"._.2721) ((core#lambda (.collect.2722 .export.2723) (core#begin (core#set! .coll",
|
|
|
|
"ect.2722 (core#lambda (.spec.2724) (core#if (symbol? .spec.2724) (cons .spec.272",
|
|
|
|
"4 .spec.2724) (core#if (core#if (list? .spec.2724) (core#if (= (length .spec.272",
|
|
|
|
"4) 3) (eq? (car .spec.2724) (core#quote rename)) #f) #f) (cons (list-ref .spec.2",
|
|
|
|
"724 1) (list-ref .spec.2724 2)) (error \"malformed export\"))))) (core#begin (core",
|
|
|
|
"#set! .export.2723 (core#lambda (.spec.2725) ((core#lambda (.slot.2726) (.librar",
|
|
|
|
"y-export.2616 (car .slot.2726) (cdr .slot.2726))) (.collect.2722 .spec.2725)))) ",
|
|
|
|
"(for-each .export.2723 (cdr .form.2720))))) #undefined #undefined))))))) (core#l",
|
|
|
|
"ambda (.name.2727 .macro.2728) (dictionary-set! (macro-objects) .name.2727 .macr",
|
|
|
|
"o.2728))) (core#begin ((core#lambda () (core#begin (.make-library.2612 (core#quo",
|
|
|
|
"te (picrin base))) (core#begin (set-car! (dictionary-ref .*libraries*.2610 (.man",
|
|
|
|
"gle.2608 (core#quote (picrin base)))) default-environment) (core#begin ((core#la",
|
|
|
|
"mbda (.exports.2729) ((core#lambda (.export-keyword.2730) ((core#lambda () (core",
|
|
|
|
"#begin (for-each .export-keyword.2730 (core#quote (define lambda quote set! if b",
|
|
|
|
"egin define-macro let let* letrec letrec* let-values let*-values define-values q",
|
|
|
|
"uasiquote unquote unquote-splicing and or cond case else => do when unless param",
|
|
|
|
"eterize define-record-type))) (core#begin (.export-keyword.2730 (core#quote bool",
|
|
|
|
"ean?)) (dictionary-for-each .export-keyword.2730 (global-objects))))))) (core#la",
|
|
|
|
"mbda (.keyword.2731) (dictionary-set! .exports.2729 .keyword.2731 .keyword.2731)",
|
|
|
|
"))) (.library-exports.2614 (core#quote (picrin base)))) (core#begin (core#set! e",
|
|
|
|
"val ((core#lambda (.e.2732) (core#lambda (.expr.2733 . .lib.2734) ((core#lambda ",
|
|
|
|
"(.lib.2735) (with-dynamic-environment (list (cons .current-library.2609 .lib.273",
|
|
|
|
"5)) (core#lambda () (.e.2732 .expr.2733 (.library-environment.2613 .lib.2735))))",
|
|
|
|
") (core#if (null? .lib.2734) (.current-library.2609) (car .lib.2734))))) eval)) ",
|
|
|
|
"(.make-library.2612 (core#quote (picrin user))))))))) (values .current-library.2",
|
|
|
|
"609 .find-library.2611 .make-library.2612 .library-environment.2613 .library-exp",
|
|
|
|
"orts.2614 .library-import.2615 .library-export.2616))))))))))))))) (core#lambda ",
|
|
|
|
"(.current-library.2736 .find-library.2737 .make-library.2738 .library-environmen",
|
|
|
|
"t.2739 .library-exports.2740 .library-import.2741 .library-export.2742) (core#be",
|
|
|
|
"gin (core#set! current-library .current-library.2736) (core#begin (core#set! fin",
|
|
|
|
"d-library .find-library.2737) (core#begin (core#set! make-library .make-library.",
|
|
|
|
"2738) (core#begin (core#set! library-environment .library-environment.2739) (cor",
|
|
|
|
"e#begin (core#set! library-exports .library-exports.2740) (core#begin (core#set!",
|
|
|
|
" library-import .library-import.2741) (core#set! library-export .library-export.",
|
|
|
|
"2742))))))))))))))))",
|
2015-01-31 07:14:14 -05:00
|
|
|
};
|
2017-04-03 09:09:19 -04:00
|
|
|
#endif
|
2014-09-08 10:31:04 -04:00
|
|
|
|
2016-03-03 04:59:07 -05:00
|
|
|
void
|
2017-04-04 06:00:37 -04:00
|
|
|
pic_boot(pic_state *PIC_UNUSED(pic))
|
2016-03-03 04:59:07 -05:00
|
|
|
{
|
2017-04-04 06:00:37 -04:00
|
|
|
#if PIC_USE_EVAL
|
2017-04-04 01:54:58 -04:00
|
|
|
pic_load_native(pic, &boot_compile_rom[0][0]);
|
2017-04-04 06:00:37 -04:00
|
|
|
#endif
|
2017-04-03 09:09:19 -04:00
|
|
|
#if PIC_USE_LIBRARY
|
2017-04-03 11:52:59 -04:00
|
|
|
pic_load_native(pic, &boot_library_rom[0][0]);
|
2017-04-03 09:09:19 -04:00
|
|
|
#endif
|
2016-03-03 04:59:07 -05:00
|
|
|
}
|