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