@@ 8,7 8,7 @@
@src $40
@token $30 &last $30 &last2 $30
@scope $20
- @stats &lines $2 &tokens $2
+ @stats &lines $2 &tokens $2 &warnings $2
(
@|vectors )
@@ 214,6 214,7 @@ JMP2r
@print-warn ( str* -- )
+ .stats/warnings LDZ2k INC2 ROT STZ2
LIT "- #18 DEOk DEO #2018 DEO
;token ;pstr JSR2 #2018 DEO
LIT "" #18 DEO ;pstr JSR2 LIT "" #18 DEO
@@ 223,6 224,7 @@ JMP2
@print-warn2 ( str* -- )
+ .stats/warnings LDZ2k INC2 ROT STZ2
LIT "- #18 DEOk DEO #2018 DEO
;token/last ;pstr JSR2 #2018 DEO
;token ;pstr JSR2 #2018 DEO
@@ 233,6 235,7 @@ JMP2
@print-warn3 ( str* -- )
+ .stats/warnings LDZ2k INC2 ROT STZ2
LIT "- #18 DEOk DEO #2018 DEO
;token/last2 ;pstr JSR2 #2018 DEO
;token/last ;pstr JSR2 #2018 DEO
@@ 257,6 260,8 @@ JMP2r
;dict/with-txt ;pstr JSR2 #2018 DEO
.stats/tokens LDZ2 ;pdec JSR2 #2018 DEO
;dict/tokens-txt ;pstr JSR2 LIT ", #18 DEO #2018 DEO
+ .stats/warnings LDZ2 ;pdec JSR2 #2018 DEO
+ ;dict/warnings-txt ;pstr JSR2
.stats/lines LDZ2 ;pdec JSR2 #2018 DEO
;dict/lines-txt ;pstr JSR2 LIT ". #18 DEO #0a18 DEO
@@ 355,6 360,7 @@ JMP2r
&tokens-txt "tokens $1
&lines-txt "lines $1
&default-scope "@on-reset $1
+ &warnings-txt "warnings 20 "on 20 $1
(
@|hints )
@@ 369,6 375,7 @@ JMP2r
@eagerstack "Eager-stack $1 ( arithmetic performed before stashing )
@tokenlen "Token-length $1 ( token is longer than 24 characters )
@combine "Combine $1 ( sequences of two literal bytes )
+@uncalled "Uncalled $1 ( using JSR when could be calling )
@inc "INC $1 @inc2 "INC2 $1
@inc-twice "INC 20 "INC $1
@@ 439,7 446,6 @@ JMP2r
@ldaksth "LDAk 20 "STH $1
@inc2ora "INC2 20 "ORA $1
-
(
@|rules )
@@ 497,10 503,6 @@ JMP2r
"AND $1 "JMP $1 =unsafe
"ORA $1 "JMP $1 =unsafe
"EOR $1 "JMP $1 =unsafe
- ";__ $1 "STH2 $1 =unstashed
- ".__ $1 "STH $1 =unstashed
- "#__ $1 "STH $1 =unstashed
- "#____ $1 "STH2 $1 =unstashed
"LDZ $1 "STH $1 =latestack
"LDZ2 $1 "STH2 $1 =latestack
"DEIk $1 "STH $1 =latestack
@@ 527,7 529,6 @@ JMP2r
"STH2 $1 "GTHr $1 =eagerstack
"STH2 $1 "LTHr $1 =eagerstack
"STH2 $1 "LDAr $1 =eagerstack
- "#__ $1 "#__ $1 =combine
"DUP $1 "DUP $1 =keep
"DUP2 $1 "DUP2 $1 =keep
"DUP $1 "INC $1 =keep
@@ 610,6 611,17 @@ JMP2r
"STH2k $1 "LDAr $1 =ldaksth
"#ff $1 "NEQ $1 =inc
"DUP2 $1 "NIP $1 =dup
+ "#__ $1 "#__ $1 =combine
+ ";__ $1 "STH2 $1 =unstashed
+ ".__ $1 "STH $1 =unstashed
+ "#__ $1 "STH $1 =unstashed
+ "#____ $1 "STH2 $1 =unstashed
+( ";__ $1 "JMP2 $1 =uncalled
+ ",__ $1 "JMP $1 =uncalled
+ ";__ $1 "JCN2 $1 =uncalled
+ ",__ $1 "JCN $1 =uncalled
+ ";__ $1 "JSR2 $1 =uncalled
+ ",__ $1 "JSR $1 =uncalled )
&end