mirror of
https://github.com/irmen/prog8.git
synced 2025-07-24 20:24:09 +00:00
+/- #23 add test file and screenshot; fix: remove if/else as "Folding in code 2", just keywords
This commit is contained in:
54
syntax-files/NotepadPlusPlus/syntax-test.p8
Normal file
54
syntax-files/NotepadPlusPlus/syntax-test.p8
Normal file
@@ -0,0 +1,54 @@
|
||||
%target cx16
|
||||
%import textio
|
||||
%zeropage basicsafe
|
||||
%option no_sysinit
|
||||
; simple line comment; consecutive lines can be folded
|
||||
; TODO: something
|
||||
; FIXME #31
|
||||
main {
|
||||
str input = "string literal"
|
||||
ubyte c = 'x' ; character literal in bold
|
||||
ubyte decimal = 0 + 1 - 2 * 3
|
||||
float pi = 3.1415
|
||||
ubyte boolean = true or false and true xor not false
|
||||
str temp = "?"
|
||||
word[] numbers = [$80ea, %0101011, 23]
|
||||
inline asmsub foo(ubyte char @A) clobbers(Y) {
|
||||
asm {{
|
||||
a_label:
|
||||
nop
|
||||
bcc _done
|
||||
sec
|
||||
_done: rts
|
||||
}}
|
||||
}
|
||||
inline sub start(ubyte char @A) -> void {
|
||||
ubyte @zp ch = min(max, n, (x, 5))
|
||||
if (true) {
|
||||
goto nirvana
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
repeat {
|
||||
ch = input[index+5]
|
||||
when ch {
|
||||
0 -> {
|
||||
break
|
||||
}
|
||||
else -> {
|
||||
temp[0] = ch
|
||||
txt.print(temp) ; wrongly optimized to
|
||||
; lda #$3f
|
||||
; jsr txt.chrout
|
||||
|
||||
; with -noopt the above line is correctly turned into
|
||||
; ldy #>temp
|
||||
; ldy #<temp
|
||||
; jsr txt.print
|
||||
}
|
||||
}
|
||||
index++
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user