commit 5f0fe6f52b583852557a4d267942423a2c7fa97f
parent bc5e989f2366b1b0c3dfdc11ad98f0adf5cb419e
Author: Alexander Burger <abu@software-lab.de>
Date: Wed, 10 Jul 2013 17:04:01 +0200
'read' continued (super parentheses)
Diffstat:
M | src/io.c | | | 8 | ++++---- |
M | src64/io.l | | | 8 | ++++---- |
M | src64/tags | | | 382 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
3 files changed, 201 insertions(+), 197 deletions(-)
diff --git a/src/io.c b/src/io.c
@@ -1,4 +1,4 @@
-/* 05jul13abu
+/* 10jul13abu
* (c) Software Lab. Alexander Burger
*/
@@ -1213,11 +1213,11 @@ static any read0(bool top) {
}
if (Chr == '\'') {
Env.get();
- return cons(Quote, read0(NO));
+ return cons(Quote, read0(top));
}
if (Chr == ',') {
Env.get();
- x = read0(NO);
+ x = read0(top);
if (val(Uni) != T) {
Push(c1, x);
if (isCell(y = idx(Uni, data(c1), 1)))
@@ -1228,7 +1228,7 @@ static any read0(bool top) {
}
if (Chr == '`') {
Env.get();
- Push(c1, read0(NO));
+ Push(c1, read0(top));
x = EVAL(data(c1));
drop(c1);
return x;
diff --git a/src64/io.l b/src64/io.l
@@ -1,4 +1,4 @@
-# 06jul13abu
+# 10jul13abu
# (c) Software Lab. Alexander Burger
# Close file descriptor
@@ -2381,7 +2381,7 @@
cmp B (char "'") # Quote?
if eq # Yes
call (Get_A) # Skip "'"
- ld A 0
+ ld A (S)
call readA_E # Read expression
ld C E
call consC_E # Cons with 'quote'
@@ -2392,7 +2392,7 @@
cmp B (char ",") # Comma?
if eq # Yes
call (Get_A) # Skip ','
- ld A 0
+ ld A (S)
call readA_E # Read expression
ld X Uni # Maintain '*Uni' index
cmp (X) TSym # Disabled?
@@ -2414,7 +2414,7 @@
cmp B (char "`") # Backquote?
if eq # Yes
call (Get_A) # Skip '`'
- ld A 0
+ ld A (S)
call readA_E # Read expression
link
push E # Save it
diff --git a/src64/tags b/src64/tags
@@ -48,119 +48,122 @@
CHAR_LETTER63,1516
CHAR_DIGIT64,1537
-sys/x86-64.linux.defs.l,1959
-ENOENT5,59
-EINTR6,108
-EBADF7,155
-EAGAIN8,194
-EACCES9,227
-EPIPE10,268
-ECONNRESET11,303
-O_RDONLY14,365
-O_WRONLY15,382
-O_RDWR16,399
-O_CREAT17,414
-O_EXCL18,431
-O_TRUNC19,448
-O_APPEND20,466
-F_GETFD21,486
-F_SETFD22,502
-FD_CLOEXEC23,518
-BUFSIZ26,546
-PIPE_BUF27,564
-MAXPATHLEN29,585
-RTLD_LAZY32,613
-RTLD_GLOBAL33,631
-FLOCK36,662
-L_TYPE37,702
-L_WHENCE38,722
-L_START39,744
-L_LEN40,760
-L_PID41,775
-SEEK_SET42,790
-SEEK_CUR43,807
-F_RDLCK44,824
-F_WRLCK45,840
-F_UNLCK46,856
-F_GETFL47,872
-F_SETFL48,888
-F_GETLK49,904
-F_SETLK50,920
-F_SETLKW51,936
-F_SETOWN52,953
-O_NONBLOCK53,970
-O_ASYNC54,992
-STAT57,1019
-ST_MODE58,1061
-ST_SIZE59,1083
-ST_MTIME60,1100
-S_IFMT61,1118
-S_IFDIR62,1144
-TMS65,1180
-TMS_UTIME66,1214
-TMS_STIME67,1232
-TERMIOS70,1261
-C_IFLAG71,1304
-C_LFLAG72,1320
-C_CC73,1337
-ISIG74,1351
-VMIN75,1364
-VTIME76,1377
-TCSADRAIN77,1391
-SIGACTION80,1419
-SIGSET_T81,1462
-SA_HANDLER82,1481
-SA_MASK83,1500
-SA_FLAGS84,1516
-SIG_DFL86,1536
-SIG_IGN87,1552
-SIG_UNBLOCK88,1568
-SIGHUP90,1589
-SIGINT91,1615
-SIGUSR192,1630
-SIGUSR293,1647
-SIGPIPE94,1664
-SIGALRM95,1681
-SIGTERM96,1698
-SIGCHLD97,1715
-SIGCONT98,1732
-SIGSTOP99,1749
-SIGTSTP100,1766
-SIGTTIN101,1783
-SIGTTOU102,1800
-SIGIO103,1817
-SIGNALS104,1832
-WNOHANG107,1894
-WUNTRACED108,1910
-FD_SET111,1938
-TM_SEC114,1975
-TM_MIN115,1990
-TM_HOUR116,2005
-TM_MDAY117,2021
-TM_MON118,2038
-TM_YEAR119,2054
-D_NAME122,2078
-SOCK_STREAM125,2105
-SOCK_DGRAM126,2125
-AF_UNSPEC127,2144
-AF_INET6128,2162
-SOL_SOCKET129,2180
-SO_REUSEADDR130,2199
-IPPROTO_IPV6131,2220
-IPV6_V6ONLY132,2242
-INET6_ADDRSTRLEN133,2263
-NI_MAXHOST135,2290
-NI_NAMEREQD136,2312
-SOCKADDR_IN6138,2333
-SIN6_FAMILY139,2355
-SIN6_PORT140,2375
-SIN6_ADDR141,2393
-ADDRINFO143,2412
-AI_FAMILY144,2430
-AI_SOCKTYPE145,2448
-AI_ADDRLEN146,2468
-AI_ADDR147,2488
-AI_NEXT148,2505
+sys/x86-64.freeBsd.defs.l,1994
+ENOENT5,56
+EINTR6,71
+EBADF7,85
+EAGAIN8,99
+EACCES9,115
+EPIPE10,131
+ECONNRESET11,146
+O_RDONLY14,180
+O_WRONLY15,197
+O_RDWR16,214
+O_CREAT17,229
+O_EXCL18,247
+O_TRUNC19,265
+O_APPEND20,284
+F_GETFD21,301
+F_SETFD22,317
+FD_CLOEXEC23,333
+BUFSIZ26,361
+PIPE_BUF27,379
+MAXPATHLEN28,398
+stdin29,417
+stdout30,442
+stderr31,468
+RTLD_LAZY35,504
+RTLD_GLOBAL36,522
+FLOCK39,553
+L_TYPE40,568
+L_WHENCE41,584
+L_START42,602
+L_LEN43,618
+L_PID44,632
+SEEK_SET45,647
+SEEK_CUR46,664
+F_RDLCK47,681
+F_WRLCK48,697
+F_UNLCK49,713
+F_GETFL50,729
+F_SETFL51,745
+F_GETLK52,761
+F_SETLK53,778
+F_SETLKW54,795
+F_SETOWN55,813
+O_NONBLOCK56,830
+O_ASYNC57,849
+STAT60,874
+ST_MODE61,889
+ST_SIZE62,905
+ST_MTIME63,922
+S_IFMT64,940
+S_IFDIR65,959
+TMS68,988
+TMS_UTIME69,1001
+TMS_STIME70,1019
+TERMIOS73,1048
+C_IFLAG74,1065
+C_LFLAG75,1081
+C_CC76,1098
+ISIG77,1112
+VMIN78,1127
+VTIME79,1141
+TCSADRAIN80,1156
+SIGACTION83,1184
+SIGSET_T84,1203
+SA_HANDLER85,1221
+SA_MASK86,1240
+SA_FLAGS87,1257
+SIG_DFL88,1274
+SIG_IGN89,1290
+SIG_UNBLOCK90,1306
+SIGHUP91,1326
+SIGINT92,1341
+SIGUSR193,1356
+SIGUSR294,1373
+SIGPIPE95,1390
+SIGALRM96,1407
+SIGTERM97,1424
+SIGCHLD98,1441
+SIGCONT99,1458
+SIGSTOP100,1475
+SIGTSTP101,1492
+SIGTTIN102,1509
+SIGTTOU103,1526
+SIGIO104,1543
+SIGNALS105,1558
+WNOHANG108,1583
+WUNTRACED109,1599
+FD_SET112,1627
+TM_SEC115,1652
+TM_MIN116,1667
+TM_HOUR117,1682
+TM_MDAY118,1698
+TM_MON119,1715
+TM_YEAR120,1731
+D_NAME123,1755
+SOCK_STREAM126,1781
+SOCK_DGRAM127,1801
+AF_UNSPEC128,1820
+AF_INET6129,1838
+SOL_SOCKET130,1856
+SO_REUSEADDR131,1879
+IPPROTO_IPV6132,1900
+IPV6_V6ONLY133,1922
+INET6_ADDRSTRLEN134,1943
+NI_MAXHOST135,1969
+NI_NAMEREQD136,1991
+SOCKADDR_IN6137,2011
+SIN6_FAMILY138,2033
+SIN6_PORT139,2053
+SIN6_ADDR140,2071
+ADDRINFO141,2089
+AI_FAMILY142,2107
+AI_SOCKTYPE143,2125
+AI_ADDRLEN144,2145
+AI_ADDR145,2165
+AI_NEXT146,2182
./glob.l,4331
Data4,51
@@ -410,7 +413,7 @@ sys/x86-64.linux.defs.l,1959
UndefErr1247,85443
DlErr1248,85472
-./main.l,2242
+./main.l,2261
Code4,51
Ret8,106
Retc10,127
@@ -509,6 +512,7 @@ sys/x86-64.linux.defs.l,1959
putStringB2538,62459
begString2550,62673
endString_E2561,62899
+msec_A2576,63247
doArgs2590,63556
doNext2597,63670
doArg2614,63986
@@ -656,75 +660,75 @@ sys/x86-64.linux.defs.l,1959
rdList_E2195,56969
readC_E2329,60397
readA_E2341,60634
-tokenCE_E2524,64931
-doRead2670,68468
-inReadyC_F2708,69308
-fdSetCL_X2720,69589
-fdRdSetCZL2732,69823
-fdWrSetCZL2739,69965
-rdSetCL_F2746,70114
-wrSetCL_F2751,70230
-rdSetRdyCL_F2756,70353
-waitFdCEX_A2778,70814
-doWait3180,84240
-doSync3218,84963
-doHear3258,85903
-doTell3290,86597
-fdSetC_Y3339,87685
-doPoll3350,87919
-doKey3406,89290
-doPeek3461,90729
-doChar3477,91007
-doSkip3531,91952
-doEol3545,92299
-doEof3554,92465
-doFrom3573,92822
-doTill3640,94491
-eolA_F3714,96440
-doLine3729,96744
-doLines3882,100784
-parseBCE_E3923,101685
-doAny3995,103340
-doSym4035,104278
-doStr4049,104537
-loadBEX_E4102,105663
-doLoad4212,108386
-doIn4235,108798
-doOut4255,109128
-doErr4275,109462
-doCtl4295,109797
-doPipe4316,110152
-doOpen4379,111698
-doClose4422,112678
-doEcho4453,113269
-putStdoutB4666,118793
-newline4709,119775
-space4713,119817
-outNumE4718,119881
-outWordA4725,120009
-prExtNmX4737,120247
-outOctA4745,120441
-outAoA4758,120709
-outStringS4770,120957
-outStringC4772,121027
-outNameE4782,121166
-prNameX4790,121283
-printE_E4800,121438
-printE4809,121574
-prinE_E5022,127190
-prinE5031,127326
-doPrin5086,128588
-doPrinl5100,128858
-doSpace5104,128926
-doPrint5126,129325
-doPrintsp5142,129620
-doPrintln5157,129909
-doFlush5162,129997
-doRewind5170,130134
-doExt5187,130524
-doRd5204,130863
-doPr5270,132643
-doWr5287,132975
+tokenCE_E2524,64937
+doRead2670,68474
+inReadyC_F2708,69314
+fdSetCL_X2720,69595
+fdRdSetCZL2732,69829
+fdWrSetCZL2739,69971
+rdSetCL_F2746,70120
+wrSetCL_F2751,70236
+rdSetRdyCL_F2756,70359
+waitFdCEX_A2778,70820
+doWait3180,84246
+doSync3218,84969
+doHear3258,85909
+doTell3290,86603
+fdSetC_Y3339,87691
+doPoll3350,87925
+doKey3406,89296
+doPeek3461,90735
+doChar3477,91013
+doSkip3531,91958
+doEol3545,92305
+doEof3554,92471
+doFrom3573,92828
+doTill3640,94497
+eolA_F3714,96446
+doLine3729,96750
+doLines3882,100790
+parseBCE_E3923,101691
+doAny3995,103346
+doSym4035,104284
+doStr4049,104543
+loadBEX_E4102,105669
+doLoad4212,108392
+doIn4235,108804
+doOut4255,109134
+doErr4275,109468
+doCtl4295,109803
+doPipe4316,110158
+doOpen4379,111704
+doClose4422,112684
+doEcho4453,113275
+putStdoutB4666,118799
+newline4709,119781
+space4713,119823
+outNumE4718,119887
+outWordA4725,120015
+prExtNmX4737,120253
+outOctA4745,120447
+outAoA4758,120715
+outStringS4770,120963
+outStringC4772,121033
+outNameE4782,121172
+prNameX4790,121289
+printE_E4800,121444
+printE4809,121580
+prinE_E5022,127196
+prinE5031,127332
+doPrin5086,128594
+doPrinl5100,128864
+doSpace5104,128932
+doPrint5126,129331
+doPrintsp5142,129626
+doPrintln5157,129915
+doFlush5162,130003
+doRewind5170,130140
+doExt5187,130530
+doRd5204,130869
+doPr5270,132649
+doWr5287,132981
./apply.l,445
applyXYZ_E4,51
@@ -1255,9 +1259,9 @@ sys/x86-64.linux.defs.l,1959
getUdpZ_FB373,9872
putUdpBZ380,10017
-sys/x86-64.linux.code.l,94
-errno_A5,67
-errnoC10,169
-wifstoppedS_F16,287
-wifsignaledS_F21,413
-wtermsigS_A28,568
+sys/x86-64.freeBsd.code.l,94
+errno_A5,64
+errnoC10,158
+wifstoppedS_F21,537
+wifsignaledS_F27,688
+wtermsigS_A36,897