A2osX/BIN/CC.S.DECL.txt

83 lines
1.4 KiB
Plaintext
Raw Normal View History

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
jsr CC.GetNextCharNB skip '='
2022-08-20 14:37:37 +00:00
bcs .99
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-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
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