aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2020-04-30 15:41:44 +1000
committerNeil <nyamatongwe@gmail.com>2020-04-30 15:41:44 +1000
commitcc7a4b5aa751d50c4fdeae0a1335b3a5bf801ae1 (patch)
tree76d4aa036956d163890e2da1c5a0797bcef5442a
parent3602f83165d97d55d6a0e9f573c6daed325dfc2a (diff)
downloadscintilla-mirror-cc7a4b5aa751d50c4fdeae0a1335b3a5bf801ae1.tar.gz
Add tests for mmixal lexer.
-rw-r--r--lexilla/test/examples/mmixal/AllStyles.mms74
-rw-r--r--lexilla/test/examples/mmixal/AllStyles.mms.styled74
-rw-r--r--lexilla/test/examples/mmixal/SciTE.properties4
-rw-r--r--lexilla/test/examples/mmixal/x.mms12
-rw-r--r--lexilla/test/examples/mmixal/x.mms.styled12
5 files changed, 176 insertions, 0 deletions
diff --git a/lexilla/test/examples/mmixal/AllStyles.mms b/lexilla/test/examples/mmixal/AllStyles.mms
new file mode 100644
index 000000000..3c38bdcde
--- /dev/null
+++ b/lexilla/test/examples/mmixal/AllStyles.mms
@@ -0,0 +1,74 @@
+% Demonstrate each possible style. Does not make sense as code.
+
+% A comment 1
+% Comment
+
+
+% Whitespace 0
+
+
+
+% Label 2
+label
+
+
+% Not Validated Opcode 3 appears to always validate to either 5 or 6
+% so is never seen on screen.
+
+
+% Division between Label and Opcode 4
+la
+
+
+% Valid Opcode 5
+ TRAP
+
+
+% Invalid Opcode 6
+ UNKNOWN
+
+
+% Division between Opcode and Operands 7
+ LOC
+
+
+% Division of Operands 8
+ LOC 0.
+
+
+% Number 9
+ BYTE 0
+
+
+% Reference 10
+ JMP @label
+
+
+% Char 11
+ BYTE 'a'
+
+
+% String 12
+ BYTE "Hello, world!"
+
+
+% Register 13
+ BYTE rA
+
+
+% Hexadecimal Number 14
+ BYTE #FF
+
+
+% Operator 15
+ BYTE +
+
+
+% Symbol 16
+ TRAP Fputs
+
+
+% Preprocessor 17
+@include a.mms
+
+
diff --git a/lexilla/test/examples/mmixal/AllStyles.mms.styled b/lexilla/test/examples/mmixal/AllStyles.mms.styled
new file mode 100644
index 000000000..b3f64d4f7
--- /dev/null
+++ b/lexilla/test/examples/mmixal/AllStyles.mms.styled
@@ -0,0 +1,74 @@
+{1}% Demonstrate each possible style. Does not make sense as code.
+{0}
+{1}% A comment 1
+% Comment
+{0}
+
+{1}% Whitespace 0
+{0}
+
+
+{1}% Label 2
+{2}label{4}
+{0}
+
+{1}% Not Validated Opcode 3 appears to always validate to either 5 or 6
+% so is never seen on screen.
+{0}
+
+{1}% Division between Label and Opcode 4
+{2}la{4}
+{0}
+
+{1}% Valid Opcode 5
+{0} {5}TRAP{7}
+{0}
+
+{1}% Invalid Opcode 6
+{0} {6}UNKNOWN{7}
+{0}
+
+{1}% Division between Opcode and Operands 7
+{0} {5}LOC{7}
+{0}
+
+{1}% Division of Operands 8
+{0} {5}LOC{7} {9}0{8}.{1}
+{0}
+
+{1}% Number 9
+{0} {5}BYTE{7} {9}0{1}
+{0}
+
+{1}% Reference 10
+{0} {5}JMP{7} {10}@label{1}
+{0}
+
+{1}% Char 11
+{0} {5}BYTE{7} {11}'a'{1}
+{0}
+
+{1}% String 12
+{0} {5}BYTE{7} {12}"Hello, world!"{1}
+{0}
+
+{1}% Register 13
+{0} {5}BYTE{7} {13}rA{1}
+{0}
+
+{1}% Hexadecimal Number 14
+{0} {5}BYTE{7} {14}#FF{1}
+{0}
+
+{1}% Operator 15
+{0} {5}BYTE{7} {15}+{1}
+{0}
+
+{1}% Symbol 16
+{0} {5}TRAP{7} {16}Fputs{1}
+{0}
+
+{1}% Preprocessor 17
+{17}@include a.mms
+{0}
+
diff --git a/lexilla/test/examples/mmixal/SciTE.properties b/lexilla/test/examples/mmixal/SciTE.properties
new file mode 100644
index 000000000..d458a19fd
--- /dev/null
+++ b/lexilla/test/examples/mmixal/SciTE.properties
@@ -0,0 +1,4 @@
+lexer.*.mms=mmixal
+keywords.*.mms=BYTE GETA JMP LOC PREFIX TRAP
+keywords2.*.mms=rA
+keywords3.*.mms=Fputs StdOut
diff --git a/lexilla/test/examples/mmixal/x.mms b/lexilla/test/examples/mmixal/x.mms
new file mode 100644
index 000000000..361517cec
--- /dev/null
+++ b/lexilla/test/examples/mmixal/x.mms
@@ -0,0 +1,12 @@
+% Some example code
+
+ % Set the address of the program initially to 0x100.
+ LOC #100
+
+Main GETA $255,string
+
+ TRAP 0,Fputs,StdOut
+
+ TRAP 0,Halt,0
+
+string BYTE "Hello, world!",#a,0
diff --git a/lexilla/test/examples/mmixal/x.mms.styled b/lexilla/test/examples/mmixal/x.mms.styled
new file mode 100644
index 000000000..7221e37f9
--- /dev/null
+++ b/lexilla/test/examples/mmixal/x.mms.styled
@@ -0,0 +1,12 @@
+{1}% Some example code
+{0}
+ {1}% Set the address of the program initially to 0x100.
+{0} {5}LOC{7} {14}#100{1}
+{0}
+{2}Main{4} {5}GETA{7} {13}$255{15},{10}string{1}
+{0}
+ {5}TRAP{7} {9}0{15},{16}Fputs{15},{16}StdOut{1}
+{0}
+ {5}TRAP{7} {9}0{15},{10}Halt{15},{9}0{1}
+{0}
+{2}string{4} {5}BYTE{7} {12}"Hello, world!"{15},{14}#a{15},{9}0{1}