mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-25 05:32:20 +00:00
107 lines
1.5 KiB
Plaintext
107 lines
1.5 KiB
Plaintext
NEW
|
||
AUTO 3,1
|
||
.LIST OFF
|
||
*--------------------------------------
|
||
CC.STMT jsr CC.SYM.Lookup var= or func() ?
|
||
bcs .80
|
||
|
||
ldy #SYM.Q
|
||
lda (ZPSymBufPtr),y
|
||
bit #SYM.Q.FUNC
|
||
bne .20
|
||
|
||
jsr CC.GetCharNB var = ?
|
||
bcs .90
|
||
|
||
* TODO: AOPS
|
||
|
||
cmp #'='
|
||
bne .90
|
||
|
||
jsr CC.GetNextChar Skip =
|
||
bcs .99
|
||
|
||
jsr CC.SYM.GetTypeInYA
|
||
jsr CC.EXP.Eval
|
||
bcs .99
|
||
|
||
jsr CC.SYM.PopValue
|
||
bcs .99
|
||
|
||
jsr CC.SYM.FreeBufPop
|
||
|
||
|
||
clv
|
||
clc
|
||
rts
|
||
|
||
|
||
.20 ldy #0 func( ... );
|
||
lda #0
|
||
jsr CC.F.CallNoRetV
|
||
bcs .9
|
||
|
||
jsr CC.SYM.FreeBufPop
|
||
|
||
clv
|
||
clc
|
||
rts
|
||
|
||
.80 bit #$60
|
||
clc
|
||
rts
|
||
|
||
.90 lda #E.CSYN
|
||
sec
|
||
.99 rts
|
||
*--------------------------------------
|
||
* X = KW.ID
|
||
*--------------------------------------
|
||
CC.STMT.CPStmt lda LocalPtr Locals
|
||
jsr CC.Push
|
||
bcs .99
|
||
|
||
lda #0 bState
|
||
jsr CC.Push
|
||
bcs .99
|
||
|
||
txa
|
||
jsr CC.Push
|
||
bcs .99
|
||
|
||
lda #'}'
|
||
jmp CC.Push
|
||
|
||
.99 rts
|
||
*--------------------------------------
|
||
CC.STMT.CPStmt.END
|
||
jsr CC.Pop
|
||
bcs .9
|
||
|
||
cmp #'}' must be '}' on stack....
|
||
bne .9
|
||
|
||
jsr CC.Pop get stacked KW...
|
||
tax
|
||
|
||
jsr CC.Pop bState
|
||
|
||
jsr CC.Pop Locals
|
||
sta LocalPtr
|
||
|
||
txa
|
||
bmi .5
|
||
|
||
jmp (J.CC.KW.END,x)
|
||
|
||
.5 jmp CC.F.Def.END
|
||
|
||
.9 lda #E.CSYN
|
||
sec
|
||
rts
|
||
*--------------------------------------
|
||
MAN
|
||
SAVE usr/src/bin/cc.s.stmt
|
||
LOAD usr/src/bin/cc.s
|
||
ASM
|