NEW AUTO 3,1 *-------------------------------------- CC.STMT jsr CC.GetCharNB jsr CC.IsLetter ldx #$ff bcc .20 >LDYA L.CC.PREOPS ++var ? jsr CC.LookupOP bcs .9 .20 stx StmtPreOp jsr CC.SYM.Lookup var or func() ? bcs .99 ldy #SYM.Q lda (ZPLookupSymPtr),y bit #SYM.Q.FUNC beq .60 bit StmtPreOp bpl .9 ++func ???????? jsr CC.F.CallNoRetV func( ... ); bcs .99 jmp CC.SYM.LookupFree .60 jsr CC.CORE.SetVar bcs .99 jmp CC.SYM.LookupFree .9 lda #E.CSYN sec .99 rts *-------------------------------------- * X = KW.ID *-------------------------------------- CC.STMT.CPStmt.NEW >LDA.G CC.CPSID+1 jsr CC.Push bcs .99 >LDA.G CC.CPSID jsr CC.Push bcs .99 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.Stmt.END jsr CC.Get bcs .8 cmp #'}' beq .8 cmp #';' must be ';' on stack.... bra CC.STMT.CPStmt.POP .8 clc CC.STMT.Stmt.RTS rts *-------------------------------------- CC.STMT.CPStmt.END jsr CC.Get bcs CC.STMT.Stmt.RTS cmp #'}' must be '}' on stack.... CC.STMT.CPStmt.POP bne .98 iny lda (ZPCCStack),y jsr .7 bcs .99 bvs .1 DONT POP reused context (ELSE....) lda CStackPtr * clc adc #5 sta CStackPtr jsr CC.Pop Locals sta LocalPtr .1 clc rts *-------------------------------------- .7 tax bmi .8 jmp (J.CC.KW.END,x) .8 jmp CC.F.Def.END .98 lda #E.CSYN sec .99 rts *-------------------------------------- MAN SAVE usr/src/bin/cc.s.stmt LOAD usr/src/bin/cc.s ASM