2022-01-30 21:47:08 +00:00
|
|
|
|
NEW
|
|
|
|
|
AUTO 3,1
|
|
|
|
|
*--------------------------------------
|
2022-08-20 14:37:37 +00:00
|
|
|
|
* X = type qual
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
CC.DECL jsr CC.TYPE.Decl
|
|
|
|
|
bcs .9
|
2022-02-04 14:57:17 +00:00
|
|
|
|
|
|
|
|
|
ldx #SYM.SC.STATIC Y,A = Type/Qual
|
2022-06-22 06:26:44 +00:00
|
|
|
|
bit bLocalScope
|
2022-08-20 14:37:37 +00:00
|
|
|
|
bpl .25
|
2022-02-04 14:57:17 +00:00
|
|
|
|
|
|
|
|
|
bit #SYM.Q.FUNC someone wants to add a local f() ?
|
2022-08-20 14:37:37 +00:00
|
|
|
|
sec
|
|
|
|
|
bne .29
|
2022-02-04 14:57:17 +00:00
|
|
|
|
|
|
|
|
|
ldx #SYM.SC.AUTO
|
|
|
|
|
|
2022-08-20 14:37:37 +00:00
|
|
|
|
.25 jsr CC.SYM.New Y,A=T/Q, add with undef value...
|
|
|
|
|
bcs .29 OOM or DUP
|
|
|
|
|
|
|
|
|
|
.22 jsr CC.GetCharNB
|
2022-02-04 14:57:17 +00:00
|
|
|
|
bcs .99
|
|
|
|
|
|
2022-08-20 14:37:37 +00:00
|
|
|
|
cmp #';'
|
|
|
|
|
beq .28
|
2022-02-04 14:57:17 +00:00
|
|
|
|
|
2022-08-20 14:37:37 +00:00
|
|
|
|
cmp #'{'
|
|
|
|
|
bne .26
|
|
|
|
|
|
|
|
|
|
jsr CC.GetNextCharNB skip '{'
|
|
|
|
|
bcs .99
|
|
|
|
|
|
|
|
|
|
jmp CC.SYM.StoreF
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
* Initializer
|
|
|
|
|
*--------------------------------------
|
|
|
|
|
.26 cmp #'=' type var = value ?
|
|
|
|
|
bne .99
|
2022-02-04 14:57:17 +00:00
|
|
|
|
|
2022-02-06 17:14:18 +00:00
|
|
|
|
jsr CC.GetNextCharNB skip '='
|
2022-08-20 14:37:37 +00:00
|
|
|
|
bcs .99
|
|
|
|
|
|
2022-02-06 17:14:18 +00:00
|
|
|
|
jsr CC.SYM.GetTypeInYA expected T/Q
|
|
|
|
|
jsr CC.EXP.Eval
|
2022-08-20 14:37:37 +00:00
|
|
|
|
bcs .9
|
2022-02-04 14:57:17 +00:00
|
|
|
|
|
2022-08-20 14:37:37 +00:00
|
|
|
|
jsr CC.SYM.GetAddr1
|
|
|
|
|
bcs .9
|
|
|
|
|
|
|
|
|
|
jsr CC.SYM.SetValue Y,A = T/Q, Set value to this var
|
|
|
|
|
.29 bcs .9
|
2022-02-06 17:14:18 +00:00
|
|
|
|
|
2022-08-20 14:37:37 +00:00
|
|
|
|
.28 jsr CC.SYM.Store
|
|
|
|
|
bcs .9
|
2022-06-22 06:26:44 +00:00
|
|
|
|
|
2022-08-20 14:37:37 +00:00
|
|
|
|
jsr CC.GetCharNB
|
|
|
|
|
cmp #';'
|
|
|
|
|
bne .99
|
2022-02-06 17:14:18 +00:00
|
|
|
|
|
|
|
|
|
clc
|
|
|
|
|
rts
|
2022-08-20 14:37:37 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
.99 lda #E.CSYN
|
2022-02-04 14:57:17 +00:00
|
|
|
|
sec
|
2022-08-20 14:37:37 +00:00
|
|
|
|
.9 rts
|
2022-02-04 14:57:17 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
CC.SCSPEC.AUTO
|
|
|
|
|
CC.SCSPEC.REGISTER
|
|
|
|
|
CC.SCSPEC.STATIC
|
|
|
|
|
CC.SCSPEC.EXTERN
|
|
|
|
|
CC.SCSPEC.TYPEDEF
|
|
|
|
|
|
|
|
|
|
|
2022-08-20 14:37:37 +00:00
|
|
|
|
.98 lda #E.CSYN
|
2022-02-04 14:57:17 +00:00
|
|
|
|
sec
|
2022-08-20 14:37:37 +00:00
|
|
|
|
.99 rts
|
2022-01-30 21:47:08 +00:00
|
|
|
|
*--------------------------------------
|
|
|
|
|
MAN
|
|
|
|
|
SAVE usr/src/bin/cc.s.decl
|
|
|
|
|
LOAD usr/src/bin/cc.s
|
|
|
|
|
ASM
|