mirror of https://git.sr.ht/~rabbits/left
Made stdlib of some functions
This commit is contained in:
parent
fc2eea9869
commit
ac50e330fb
50
src/left.tal
50
src/left.tal
|
@ -1040,7 +1040,7 @@
|
|||
|
||||
@file-reopen ( -- )
|
||||
;text <sclr>
|
||||
;filepath DUP2 file-is-bin? ?file-open-binary
|
||||
;filepath DUP2 fbin? ?file-open-binary
|
||||
.File/name DEO2
|
||||
#fff0 ;text SUB2 .File/length DEO2
|
||||
;text .File/read DEO2
|
||||
|
@ -1082,16 +1082,9 @@
|
|||
#0a18 DEO
|
||||
JMP2r
|
||||
|
||||
@file-size ( path* -- size* )
|
||||
.File/name DEO2
|
||||
#0100 .File/length DEO2
|
||||
#ff00 .File/stat DEO2
|
||||
#00 #ff04 STA
|
||||
#ff00 !shex
|
||||
|
||||
@file-inject ( name* -- )
|
||||
DUP2 file-is-bin? ?file-inject-binary
|
||||
DUP2 file-size ORAk ?{ POP2 POP2 JMP2r }
|
||||
DUP2 fbin? ?file-inject-binary
|
||||
DUP2 flen ORAk ?{ POP2 POP2 JMP2r }
|
||||
STH2k .File/length DEO2
|
||||
.File/name DEO2
|
||||
( | erase when selection length )
|
||||
|
@ -1102,7 +1095,7 @@
|
|||
get-from STH2r ADD2 !<select-a>
|
||||
|
||||
@file-inject-binary ( name* -- )
|
||||
get-from STH2k OVR2 file-size DUP2 ADD2 DUP2 #02 SFT2 ADD2 <msfr>
|
||||
get-from STH2k OVR2 flen DUP2 ADD2 DUP2 #02 SFT2 ADD2 <msfr>
|
||||
.File/name DEO2
|
||||
#0001 .File/length DEO2
|
||||
STH2r inject-binary DUP2 get-from SUB2 <mod-length> !<select-a>
|
||||
|
@ -1132,20 +1125,6 @@
|
|||
|
||||
&tal-ext ".tal $1
|
||||
|
||||
@file-is-bin? ( path* -- bool )
|
||||
.File/name DEO2
|
||||
#0001 .File/length DEO2
|
||||
&s ( -- )
|
||||
;&b feof? ?{
|
||||
[ LIT &b $1 ] ?&s
|
||||
#01 JMP2r
|
||||
!&s }
|
||||
#00 JMP2r
|
||||
|
||||
@feof? ( buf* -- eof )
|
||||
.File/read DEO2
|
||||
.File/success DEI2 #0000 EQU2 JMP2r
|
||||
|
||||
@inject-binary ( addr* -- addr* )
|
||||
STH2
|
||||
#0000
|
||||
|
@ -1596,6 +1575,27 @@
|
|||
SUB [ LIT "a ] ADD JMP2r }
|
||||
POP [ LIT "0 ] ADD JMP2r
|
||||
|
||||
@flen ( path* -- size* )
|
||||
.File/name DEO2
|
||||
#0100 .File/length DEO2
|
||||
#ff00 .File/stat DEO2
|
||||
#00 #ff04 STA
|
||||
#ff00 !shex
|
||||
|
||||
@fbin? ( path* -- bool )
|
||||
.File/name DEO2
|
||||
#0001 .File/length DEO2
|
||||
&s ( -- )
|
||||
;&b feof? ?{
|
||||
[ LIT &b $1 ] ?&s
|
||||
#01 JMP2r
|
||||
!&s }
|
||||
#00 JMP2r
|
||||
|
||||
@feof? ( buf* -- eof )
|
||||
.File/read DEO2
|
||||
.File/success DEI2 #0000 EQU2 JMP2r
|
||||
|
||||
@clab? ( c -- bool )
|
||||
DUP LIT "0 SUB #0a LTH ?&ok
|
||||
DUP LIT "a SUB #1a LTH ?&ok
|
||||
|
|
Loading…
Reference in New Issue