Here is an example of a PL1TAX source program with errors. Note here that PL1TAX uses the $ symbol as a pointer to the position it can no longer interperate the source statement. Note also that sometimes errors cause other valid statements to be interperated as errors.
@XQT PP.PP
PL1TAX VER 2 05/28/99 15:00:35
** PL1TAX PREPROCESSOR **
# STATEMENT
1. *
2. * PP.DEMOERRS - SAMPLE OF PL1TAX SYNTAX ERRORS
3. *
4. * TABLES - SIMPLE
5. *
6. *FILES
7. OLD FILE PL1TAXDATA 80
8. OLD FILE DUPE
$
*ERROR ONLY ONE INPUT/OLD ALLOWED
9.
10. *UNKNOWN
$
*ERROR CARDS IGNORED UNTIL VALID *CARD
11.
12. *RECORDS
13. V1
$
*ERROR / EXPECTED
14. V2//
$
*ERROR NUMBER EXPECTED
15. V3//PIC
$
*ERROR NUMBER EXPECTED
16. V4//1-Z
$
*ERROR NUMBER EXPECTED
17. LASTNAME/LAST NAME/1-12
18. FIRSTNAME/FIRST NAME/13-20
19. AGE//21-22
20. RACE//23
21. SEX//24
22. SEX//24
$
*ERROR DUPLICATE VARIABLE
23. COUNTY//25-26
24. COMPANY//27-36
25. PHONE//37-46
26. AREACODE/AREA CODE/37-39
27. SSN//47-55
28. SALARY//56-60
29.
30. *TABLES
31. TABLE
32. STAB SEX CODES M,F
$
*ERROR INVALID *TABLES COMMAND
33. STUB SEX CODES M,F
34. SPREAD AGE GROUPS 00-20,21-65,66-99
35.
36. TABLE ='SEX VRS AGE',/,='BREAKDOWN',/
37. STUB SEX LABELS MALE,FEMALE
38. STUB SEX KODES M,F
$
*ERROR INVALID EXPRESSION
39. SPREAD AGE LABELS KIDS,ADULTS,RETIRIES
40. SPREAD AGE GROUPS 00-20,21-65,66-99
41.
42. TABLE ='COMPANY FREQUENCY LIST'
43. STUB COMPANY 100 CODES
44.
45. TABLE ='COUNTY BY COMPANY',/
46. STUB COUNTY CODES 01-60
47. SPREAD KOMPANY 10 CODES
$
*ERROR UNDEFINED VARIABLE
48.
49. TABLE ='COMPANY BY AREA CODE',/
50. STUB COMPANY 10 CODES
51. SPREAD AREACODE CODES 222,333,444,555,666,777,888,999
52.
53. TABLE ='COMPANY BY AREA CODE',/,
54. ='FOR COUNTIES 50-55'
55. SELECT COUNTY EQ 50-55
56. STUB COMPANY 10 CODES
57. SPREAD AREACODE CODES 222,333,444,555,666,777,888,999
58.
59. TABLE ='3 DIMENTIONAL TABLE',/,
60. ='COMPANY, SEX, BY AGE GROUPS'
61. STUB COMPANY 10 CODES
62. STUB SEX LABELS MALE,FEMALE
63. STUB SEX CODES MM,FF
$
*ERROR TOO LONG
64. SPREAD AGE LABELS TWENTIES,THIRTIES,FOURTIES,FIFTIES
65. SPREAD AGE GROUPS 20-29,30-39,40-49,50-59
66.
67. *REPORTS
68. REPORT
69. SELEKT AGE = 22
$
*ERROR INVALID *REPORT COMMAND
70. LIST COMPANY,2X,LASTNAME,2X,FIRSTNAME
71. SORT COMPANY,LASTNAME,FIRSTNAME
72.
73. REPORT
74. SELECT AGE = 22
75. COMMAND DO NOTHING
$
*ERROR INVALID *REPORT COMMAND
76. LISTAH COMPANY,2X,LASTNAME,2X,FIRSTNAME
77. SORT COMPANY,LASTNAME,FIRSTNAME
78.
79. REPORT ='IBM EMPLOYEE LIST'
80. SELECT COMPANY EQ IBM
81. IMAGES 3
82. LIST LASTNAME,2X,FIRSTNAME,2X,PHONE
83. SORT LLASTNAME,FIRSTNAME
$
*ERROR UNDEFINED VARIABLE
84.
85. REPORT ='CDC PHONE LIST'
86. SELECT COMPANY EQ CDC
$
*ERROR CARD IGNORED
87. IMAGES 3
$
*ERROR CARD IGNORED
88. LISTAH LASTNAME, FIRSTNAME, PHONE
$
*ERROR CARD IGNORED
89. SORT LASTNAME, FIRSTNAME
$
*ERROR CARD IGNORED
90.
91. REPORT ='HIGHEST PAID EMPLOYEES'
92. SELECT SALARY GT 90000
93. IMAGES 2
94. LISTAH COMPANY, LASTNAME, FIRSTNAME, SALARY
95. SORT -SALARY, LASTNAME
96. *
** PL1TAX FINIS ** 18 ERRORS
@BK2,E