mirror of
https://github.com/open-simh/simtools.git
synced 2026-01-25 19:56:30 +00:00
Attempt bracketing checking.
Too bad we can't issue a diagnostic here now; we just return failure and the caller will probably next try a whitespace delimited string next.
This commit is contained in:
@@ -1,28 +1,55 @@
|
||||
1 .macro tstarg a1,a2,a3,a4
|
||||
2 .narg label
|
||||
3 .endm
|
||||
4
|
||||
5 000000 start: tstarg ; 0 args
|
||||
1 ;;;;;
|
||||
2 ;
|
||||
3 ; Test that commas create empty macro arguments.
|
||||
4 ;
|
||||
5 .macro tstarg a1,a2,a3,a4
|
||||
6 .narg label
|
||||
7 .endm
|
||||
8
|
||||
9 000000 start: tstarg ; 0 args
|
||||
1 000000 .narg label
|
||||
6 000000 tstarg 123 ; 1 arg
|
||||
10 000000 tstarg 123 ; 1 arg
|
||||
1 000001 .narg label
|
||||
7 000000 tstarg 1, ; 2 args
|
||||
11 000000 tstarg 1, ; 2 args
|
||||
1 000002 .narg label
|
||||
8 000000 tstarg ,2 ; 2 args
|
||||
12 000000 tstarg ,2 ; 2 args
|
||||
1 000002 .narg label
|
||||
9 000000 tstarg , ; 2 args
|
||||
13 000000 tstarg , ; 2 args
|
||||
1 000002 .narg label
|
||||
10 000000 tstarg ,, ; 3 args
|
||||
14 000000 tstarg ,, ; 3 args
|
||||
1 000003 .narg label
|
||||
11 000000 tstarg 1,, ; 3 args
|
||||
15 000000 tstarg 1,, ; 3 args
|
||||
1 000003 .narg label
|
||||
12 000000 tstarg ,,3 ; 3 args
|
||||
16 000000 tstarg ,,3 ; 3 args
|
||||
1 000003 .narg label
|
||||
13 000000 tstarg 1,,3 ; 3 args
|
||||
17 000000 tstarg 1,,3 ; 3 args
|
||||
1 000003 .narg label
|
||||
14 000000 tstarg 1,2,3 ; 3 args
|
||||
18 000000 tstarg 1,2,3 ; 3 args
|
||||
1 000003 .narg label
|
||||
14
|
||||
19
|
||||
20 ;;;;;
|
||||
21 ;
|
||||
22 ; Test what happens if we have invalid bracketed strings.
|
||||
23 ; For now we fall back to treating them like unbracketed strings,
|
||||
24 ; that will hopefully alert the user the best.
|
||||
25 ;
|
||||
26 .macro braket arg
|
||||
27 ; arg
|
||||
28 .endm
|
||||
29
|
||||
30 000000 braket <plain>
|
||||
1 ; plain
|
||||
31 000000 braket ^/simple/
|
||||
1 ; simple
|
||||
32 000000 braket <broken
|
||||
1 ; <broken
|
||||
33 000000 braket ^/broken
|
||||
1 ; ^/broken
|
||||
34 000000 braket <bro<ken>
|
||||
1 ; <bro<ken>
|
||||
35 000000 braket <bro<ken> string
|
||||
1 ; <bro<ken>
|
||||
35
|
||||
|
||||
|
||||
Symbol table
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
;;;;;
|
||||
;
|
||||
; Test that commas create empty macro arguments.
|
||||
;
|
||||
.macro tstarg a1,a2,a3,a4
|
||||
.narg label
|
||||
.endm
|
||||
@@ -12,3 +16,20 @@ start: tstarg ; 0 args
|
||||
tstarg ,,3 ; 3 args
|
||||
tstarg 1,,3 ; 3 args
|
||||
tstarg 1,2,3 ; 3 args
|
||||
|
||||
;;;;;
|
||||
;
|
||||
; Test what happens if we have invalid bracketed strings.
|
||||
; For now we fall back to treating them like unbracketed strings,
|
||||
; that will hopefully alert the user the best.
|
||||
;
|
||||
.macro braket arg
|
||||
; arg
|
||||
.endm
|
||||
|
||||
braket <plain>
|
||||
braket ^/simple/
|
||||
braket <broken
|
||||
braket ^/broken
|
||||
braket <bro<ken>
|
||||
braket <bro<ken> string
|
||||
|
||||
Reference in New Issue
Block a user