aboutsummaryrefslogtreecommitdiffstats
path: root/tests/query/highlights/t32/keywords.cmm
blob: d1516eb298acec69aba0a768fceb21b30cfc402a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
PRIVATE &password
; <- @keyword
;        ^ @variable.builtin
ENTRY &password
; <- @keyword
;        ^ @variable.parameter

ENTRY %LINE &salt
; <- @keyword
;      ^ @constant.builtin
;            ^ @variable.parameter

IF "&password"==""
; <- @keyword.conditional
;  ^ @string
;    ^ @variable.builtin
;             ^ @operator
(
    ECHO "Failed to provide password."
    ENDDO
;   ^ @keyword.return
)
ELSE
; <- @keyword.conditional
(
    PRIVATE &pass

    &pass=FALSE()
;          ^ @function.builtin
    WHILE !&pass
;         ^ @operator
    (
        GOSUB verify_password "&password"
;             ^ @function.call
        RETURNVALUES &pass
;                     ^ @variable.parameter
        WAIT 10.ms
;            ^ @number.float
    )

    IF !&pass
        GOTO fail
;            ^ @label
    ELSE IF &debug
;   ^ @keyword.conditional
;        ^ @keyword.conditional
    (
        GOSUB start_debug
;             ^ @function.call
    )
)

LOCAL &num
;      ^ @variable.builtin

&num = 2.
;      ^ @number

RePeaT &num PRINT "Password: &password"
;       ^ @variable.builtin
;                             ^ @variable.builtin

WinCLEAR
FramePOS ,,,,Maximized
;        ^ @punctuation.delimiter
;            ^ @constant.builtin
WinPOS 0% 50% 100% 35%
;      ^ @number.float
COVerage.ListFunc

ENDDO


fail:
; <- @label
    PRINT %ERROR "Password verification failed."
    END
;   ^ @keyword.return


verify_password:
; <- @function
(
    PARAMETERS &password
;               ^ @variable.parameter

    SYStem.Option.KEYCODE "&password"
    SYStem.JtagClock  1kHz
;                     ^ @number.float
    SYStem.Mode.Attach

    Data.Set N: EAXI:0x34000000 %Long 0x34000100 0x34000021 /verify
;            ^ @constant.builtin
;               ^ @constant.builtin
;                    ^ @number
;                                ^ @constant.builtin
;                                     ^ @number
;                                                            ^ @constant.builtin

    RETURN TRUE()
;   ^ @keyword.return
)


SUBROUTINE start_debug
; <- @keyword.function
;          ^ @function
(
    COVerage.ListModule %MULTI.OBC \sieve
;    ^ @keyword
;                        ^ @constant.builtin
;                                  ^ @string.special.symbol

    Var.DRAW flags[0..16] /Alternate 3
;    ^ @keyword
;             ^ @variable
;                          ^ @constant.builtin
;                                    ^ @number

    Go main
    RETURN
;   ^ @keyword.return
)

// vim: set ft=t32: