2022-01-30 22:47:08 +01:00
|
|
|
|
NEW
|
|
|
|
|
AUTO 3,1
|
|
|
|
|
.LIST OFF
|
|
|
|
|
*--------------------------------------
|
2022-02-06 18:14:18 +01:00
|
|
|
|
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
|
|
|
|
|
*--------------------------------------
|
2022-01-30 22:47:08 +01:00
|
|
|
|
* 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
|