This repository has been archived by the owner on Nov 19, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
syntax_test_exapunks.exa
120 lines (100 loc) · 3.93 KB
/
syntax_test_exapunks.exa
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
; SYNTAX TEST "Exapunks.sublime-syntax"
NOTE EXAPUNKS
;^^^^^^^^^^^^ comment.line
LINK 800
;^^^ meta.function-call support.function.movement
; ^^^ meta.function-call.arguments constant.numeric.integer
MAKE ;INLINE COMMENT
;^^^ support.function.file-manipulation
; ^^^^^^^^^^^^^^^ comment.line
; ^ punctuation.definition.comment
COPY 10 T
;^^^ support.function.arithmetic
; ^^ constant.numeric.integer
; ^ variable.language.register
MARK LOOP
;^^^ keyword.declaration.label
; ^^^^ meta.label-name entity.name.label
COPY T F
;^^^ support.function.arithmetic
; ^ variable.language.register
; ^ variable.language.register
ADDI T -1 T
;^^^ support.function.arithmetic
; ^ variable.language.register
; ^^ constant.numeric.integer
; ^ variable.language.register
TJMP LOOP
;^^^ keyword.control.flow.goto
; ^^^^ meta.label-name variable.label
TEST EOF
;^^^ support.function.test
; ^^^ support.constant
COPY #NERV X
;^^^ support.function.arithmetic
; ^^^^^ variable.language.hardware-register
; ^ variable.language.register
COPY #USER X
;^^^ support.function.arithmetic
; ^^^^^ variable.other.hardware-register
; ^ variable.language.register
; invalid number with more than 4 digits
ADDI X 12345 T
;^^^ support.function.arithmetic
; ^ variable.language.register
; ^^^^^ invalid.illegal
; ^ variable.language.register
JUMPP LOOP
;^^^^ - keyword
; ^^^^ - variable.label
subi m 20 x
;^^^ support.function.arithmetic
; ^ variable.language.register
; ^^ constant.numeric.integer
; ^ variable.language.register
@REP 4
;<- meta.macro.repeat keyword.control.directive
;^^^ meta.macro.repeat keyword.control.directive
; ^ meta.macro.repeat constant.numeric.integer
COPY F M
;^^^ meta.macro.repeat support.function.arithmetic
; ^ meta.macro.repeat variable.language.register
; ^ meta.macro.repeat variable.language.register
@END
;<- meta.macro.repeat keyword.control.directive
;^^^ meta.macro.repeat keyword.control.directive
TEST MRD
;^^^ support.function.test - meta.macro
; ^^^ support.constant - meta.macro
@REP 5
COPY @{1,1} F
;^^^ meta.macro.repeat support.function.arithmetic
; ^ meta.macro.repeat meta.macro.substitution keyword.control.directive
; ^ meta.macro.repeat meta.macro.substitution punctuation.section.braces.begin
; ^ meta.macro.repeat meta.macro.substitution constant.numeric.integer
; ^ meta.macro.repeat meta.macro.substitution punctuation.separator
; ^ meta.macro.repeat meta.macro.substitution constant.numeric.integer
; ^ meta.macro.repeat meta.macro.substitution punctuation.section.braces.end
; ^ meta.macro.repeat variable.language.register
@END
@REP 3
TEST X = @{0,5}
;^^^ meta.macro.repeat support.function.test
; ^ meta.macro.repeat variable.language.register
; ^ meta.macro.repeat keyword.operator.comparison
; ^ meta.macro.repeat meta.macro.substitution keyword.control.directive
; ^ meta.macro.repeat meta.macro.substitution punctuation.section.braces.begin
; ^ meta.macro.repeat meta.macro.substitution constant.numeric.integer
; ^ meta.macro.repeat meta.macro.substitution punctuation.separator
; ^ meta.macro.repeat meta.macro.substitution constant.numeric.integer
; ^ meta.macro.repeat meta.macro.substitution punctuation.section.braces.end
TJMP CASE@{0,1}
;^^^ meta.macro.repeat keyword.control.flow.goto
; ^^^^ meta.macro.repeat variable.label
; ^ meta.macro.repeat meta.macro.substitution keyword.control.directive
; ^ meta.macro.repeat meta.macro.substitution punctuation.section.braces.begin
; ^ meta.macro.repeat meta.macro.substitution constant.numeric.integer
; ^ meta.macro.repeat meta.macro.substitution punctuation.separator
; ^ meta.macro.repeat meta.macro.substitution constant.numeric.integer
; ^ meta.macro.repeat meta.macro.substitution punctuation.section.braces.end
@END