Prev: 06683 Up: Map Next: 06935
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.
Prev: 06683 Up: Map Next: 06935