File: iftoken.pl

package info (click to toggle)
chromium 139.0.7258.127-2
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 6,122,156 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (32 lines) | stat: -rwxr-xr-x 753 bytes parent folder | download | duplicates (19)
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
#!/usr/bin/perl

@list = ('', 'ZMACRO', 'NMACRO', 'TMACRO', '1', '+1', '1 2', '1,2',
	 'foo', 'foo bar', '%', '+foo', '<<');
@tests = ('token', 'empty');

print ";Testname=test; Arguments=-fbin -oiftoken.txt; Files=stdout stderr iftoken.txt"
print "%define ZMACRO\n";
print "%define NMACRO 1\n";
print "%define TMACRO 1 2\n";

foreach $x (@list) {
    print "\tdb 'N \"$x\":'\n";
    foreach $t (@tests) {
	print "%if$t $x\n";
	print "\tdb ' $t'\n";
	print "%else\n";
	print "\tdb ' n$t'\n";
	print "%endif\n";
    }
    print "\tdb 10\n";

    print "\tdb 'C \"$x\":'\n";
    foreach $t (@tests) {
	print "%if$t $x ; With a comment!\n";
	print "\tdb ' $t'\n";
	print "%else\n";
	print "\tdb ' n$t'\n";
	print "%endif\n";
    }
    print "\tdb 10\n";
}