| Data

06728: THE SYNTAX TABLES

Used by the routine at STMT_LOOP. i. The offset table. There is an offset value for each of the fifty BASIC commands.
SYNTAX | 06728 | DEFB 177 | P_DEF_FN
| 06729 | DEFB 203 | P_CAT
| 06730 | DEFB 188 | P_FORMAT
| 06731 | DEFB 191 | P_MOVE
| 06732 | DEFB 196 | P_ERASE
| 06733 | DEFB 175 | P_OPEN
| 06734 | DEFB 180 | P_CLOSE
| 06735 | DEFB 147 | P_MERGE
| 06736 | DEFB 145 | P_VERIFY
| 06737 | DEFB 146 | P_BEEP
| 06738 | DEFB 149 | P_CIRCLE
| 06739 | DEFB 152 | P_INK
| 06740 | DEFB 152 | P_PAPER
| 06741 | DEFB 152 | P_FLASH
| 06742 | DEFB 152 | P_BRIGHT
| 06743 | DEFB 152 | P_INVERSE
| 06744 | DEFB 152 | P_OVER
| 06745 | DEFB 152 | P_OUT
| 06746 | DEFB 127 | P_LPRINT
| 06747 | DEFB 129 | P_LLIST
| 06748 | DEFB 46 | P_STOP
| 06749 | DEFB 108 | P_READ
| 06750 | DEFB 110 | P_DATA
| 06751 | DEFB 112 | P_RESTORE
| 06752 | DEFB 72 | P_NEW
| 06753 | DEFB 148 | P_BORDER
| 06754 | DEFB 86 | P_CONT
| 06755 | DEFB 63 | P_DIM
| 06756 | DEFB 65 | P_REM
| 06757 | DEFB 43 | P_FOR
| 06758 | DEFB 23 | P_GO_TO
| 06759 | DEFB 31 | P_GO_SUB
| 06760 | DEFB 55 | P_INPUT
| 06761 | DEFB 119 | P_LOAD
| 06762 | DEFB 68 | P_LIST
| 06763 | DEFB 15 | P_LET
| 06764 | DEFB 89 | P_PAUSE
| 06765 | DEFB 43 | P_NEXT
| 06766 | DEFB 67 | P_POKE
| 06767 | DEFB 45 | P_PRINT
| 06768 | DEFB 81 | P_PLOT
| 06769 | DEFB 58 | P_RUN
| 06770 | DEFB 109 | P_SAVE
| 06771 | DEFB 66 | P_RANDOM
| 06772 | DEFB 13 | P_IF
| 06773 | DEFB 73 | P_CLS
| 06774 | DEFB 92 | P_DRAW
| 06775 | DEFB 68 | P_CLEAR
| 06776 | DEFB 21 | P_RETURN
| 06777 | DEFB 93 | P_COPY
ii. The parameter table. For each of the fifty BASIC commands there are up to eight entries in the parameter table. These entries comprise command class details, required separators and, where appropriate, command routine addresses.
P_LET | 06778 | DEFB 1 | CLASS_01
| 06779 | DEFB "=" |
| 06780 | DEFB 2 | CLASS_02
P_GO_TO | 06781 | DEFB 6 | CLASS_06
| 06782 | DEFB 0 | CLASS_00
| 06783 | DEFW GO_TO |
P_IF | 06785 | DEFB 6 | CLASS_06
| 06786 | DEFB 203 | THEN
| 06787 | DEFB 5 | CLASS_05
| 06788 | DEFW IF_CMD |
P_GO_SUB | 06790 | DEFB 6 | CLASS_06
| 06791 | DEFB 0 | CLASS_00
| 06792 | DEFW GO_SUB |
P_STOP | 06794 | DEFB 0 | CLASS_00
| 06795 | DEFW STOP |
P_RETURN | 06797 | DEFB 0 | CLASS_00
| 06798 | DEFW RETURN |
P_FOR | 06800 | DEFB 4 | CLASS_04
| 06801 | DEFB "=" |
| 06802 | DEFB 6 | CLASS_06
| 06803 | DEFB 204 | TO
| 06804 | DEFB 6 | CLASS_06
| 06805 | DEFB 5 | CLASS_05
| 06806 | DEFW FOR |
P_NEXT | 06808 | DEFB 4 | CLASS_04
| 06809 | DEFB 0 | CLASS_00
| 06810 | DEFW NEXT |
P_PRINT | 06812 | DEFB 5 | CLASS_05
| 06813 | DEFW PRINT |
P_INPUT | 06815 | DEFB 5 | CLASS_05
| 06816 | DEFW INPUT |
P_DIM | 06818 | DEFB 5 | CLASS_05
| 06819 | DEFW DIM |
P_REM | 06821 | DEFB 5 | CLASS_05
| 06822 | DEFW REM |
P_NEW | 06824 | DEFB 0 | CLASS_00
| 06825 | DEFW NEW |
P_RUN | 06827 | DEFB 3 | CLASS_03
| 06828 | DEFW RUN |
P_LIST | 06830 | DEFB 5 | CLASS_05
| 06831 | DEFW LIST |
P_POKE | 06833 | DEFB 8 | CLASS_08
| 06834 | DEFB 0 | CLASS_00
| 06835 | DEFW POKE |
P_RANDOM | 06837 | DEFB 3 | CLASS_03
| 06838 | DEFW RANDOMIZE |
P_CONT | 06840 | DEFB 0 | CLASS_00
| 06841 | DEFW CONTINUE |
P_CLEAR | 06843 | DEFB 3 | CLASS_03
| 06844 | DEFW CLEAR |
P_CLS | 06846 | DEFB 0 | CLASS_00
| 06847 | DEFW CLS |
P_PLOT | 06849 | DEFB 9 | CLASS_09
| 06850 | DEFB 0 | CLASS_00
| 06851 | DEFW PLOT |
P_PAUSE | 06853 | DEFB 6 | CLASS_06
| 06854 | DEFB 0 | CLASS_00
| 06855 | DEFW PAUSE |
P_READ | 06857 | DEFB 5 | CLASS_05
| 06858 | DEFW READ |
P_DATA | 06860 | DEFB 5 | CLASS_05
| 06861 | DEFW DATA |
P_RESTORE | 06863 | DEFB 3 | CLASS_03
| 06864 | DEFW RESTORE |
P_DRAW | 06866 | DEFB 9 | CLASS_09
| 06867 | DEFB 5 | CLASS_05
| 06868 | DEFW DRAW |
P_COPY | 06870 | DEFB 0 | CLASS_00
| 06871 | DEFW COPY |
P_LPRINT | 06873 | DEFB 5 | CLASS_05
| 06874 | DEFW LPRINT |
P_LLIST | 06876 | DEFB 5 | CLASS_05
| 06877 | DEFW LLIST |
P_SAVE | 06879 | DEFB 11 | CLASS_0B
P_LOAD | 06880 | DEFB 11 | CLASS_0B
P_VERIFY | 06881 | DEFB 11 | CLASS_0B
P_MERGE | 06882 | DEFB 11 | CLASS_0B
P_BEEP | 06883 | DEFB 8 | CLASS_08
| 06884 | DEFB 0 | CLASS_00
| 06885 | DEFW BEEP |
P_CIRCLE | 06887 | DEFB 9 | CLASS_09
| 06888 | DEFB 5 | CLASS_05
| 06889 | DEFW CIRCLE |
P_INK | 06891 | DEFB 7 | CLASS_07
P_PAPER | 06892 | DEFB 7 | CLASS_07
P_FLASH | 06893 | DEFB 7 | CLASS_07
P_BRIGHT | 06894 | DEFB 7 | CLASS_07
P_INVERSE | 06895 | DEFB 7 | CLASS_07
P_OVER | 06896 | DEFB 7 | CLASS_07
P_OUT | 06897 | DEFB 8 | CLASS_08
| 06898 | DEFB 0 | CLASS_00
| 06899 | DEFW OUT_CMD |
P_BORDER | 06901 | DEFB 6 | CLASS_06
| 06902 | DEFB 0 | CLASS_00
| 06903 | DEFW BORDER |
P_DEF_FN | 06905 | DEFB 5 | CLASS_05
| 06906 | DEFW DEF_FN |
P_OPEN | 06908 | DEFB 6 | CLASS_06
| 06909 | DEFB "," |
| 06910 | DEFB 10 | CLASS_0A
| 06911 | DEFB 0 | CLASS_00
| 06912 | DEFW OPEN |
P_CLOSE | 06914 | DEFB 6 | CLASS_06
| 06915 | DEFB 0 | CLASS_00
| 06916 | DEFW CLOSE |
P_FORMAT | 06918 | DEFB 10 | CLASS_0A
| 06919 | DEFB 0 | CLASS_00
| 06920 | DEFW CAT_ETC |
P_MOVE | 06922 | DEFB 10 | CLASS_0A
| 06923 | DEFB "," |
| 06924 | DEFB 10 | CLASS_0A
| 06925 | DEFB 0 | CLASS_00
| 06926 | DEFW CAT_ETC |
P_ERASE | 06928 | DEFB 10 | CLASS_0A
| 06929 | DEFB 0 | CLASS_00
| 06930 | DEFW CAT_ETC |
P_CAT | 06932 | DEFB 0 | CLASS_00
| 06933 | DEFW CAT_ETC |
Note: the requirements for the different command classes are as follows: CLASS_00 - No further operands. CLASS_01 - Used in LET. A variable is required. CLASS_02 - Used in LET. An expression, numeric or string, must follow. CLASS_03 - A numeric expression may follow. Zero to be used in case of default. CLASS_04 - A single character variable must follow. CLASS_05 - A set of items may be given. CLASS_06 - A numeric expression must follow. CLASS_07 - Handles colour items. CLASS_08 - Two numeric expressions, separated by a comma, must follow. CLASS_09 - As for CLASS_08 but colour items may precede the expressions. CLASS_0A - A string expression must follow. CLASS_0B - Handles cassette routines.