keywords.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. /* WONBE predefined keyword IDs */
  2. /* First Created: Nov.3,2000 by Pie Dey Co.,Ltd. */
  3. /* This source code is distributed under GNU General Public License (GPL) */
  4. /* see http://www.gnu.org/ about GPL */
  5. #define KEYWORD_IF 0x80
  6. #define KEYWORD_PRINT 0x81
  7. #define KEYWORD_LOCATE 0x82
  8. #define KEYWORD_CLS 0x83
  9. #define KEYWORD_GOTO 0x84
  10. #define KEYWORD_GOSUB 0x85
  11. #define KEYWORD_RETURN 0x86
  12. #define KEYWORD_FOR 0x87
  13. #define KEYWORD_NEXT 0x88
  14. #define KEYWORD_END 0x89
  15. #define KEYWORD_BREAK 0x8a
  16. #define KEYWORD_REM 0x8b
  17. #define KEYWORD_NEW 0x8c
  18. #define KEYWORD_LIST 0x8d
  19. #define KEYWORD_RUN 0x8e
  20. #define KEYWORD_CONT 0x8f
  21. #define KEYWORD_SAVE 0x90
  22. #define KEYWORD_LOAD 0x91
  23. #define KEYWORD_MERGE 0x92
  24. #define KEYWORD_RANDOMIZE 0x93
  25. #define KEYWORD_EXIT 0x94
  26. #define KEYWORD_DEBUG 0x95
  27. #define KEYWORD_WAITVB 0x96
  28. #define KEYWORD_FILES 0x97
  29. #define KEYWORD_PLAY 0x98
  30. #define KEYWORD_POKE 0x99
  31. #define KEYWORD_CALL 0x9a
  32. #define KEYWORD_INT 0x9b
  33. #define KEYWORD_TRON 0x9c
  34. #define KEYWORD_TROFF 0x9d
  35. #define KEYWORD_COLORMODE 0x9e
  36. #define KEYWORD_PALETTE 0x9f
  37. #define KEYWORD_COLOR 0xa0
  38. #define KEYWORD_AND 0xb0
  39. #define KEYWORD_OR 0xb1
  40. #define KEYWORD_XOR 0xb2
  41. #define KEYWORD_NOT 0xb8
  42. #define KEYWORD_SCAN 0xc0
  43. #define KEYWORD_WAIT 0xc1
  44. #define KEYWORD_RND 0xc2
  45. #define KEYWORD_ABS 0xc3
  46. #define KEYWORD_TICK 0xc4
  47. #define KEYWORD_VARPTR 0xc5
  48. #define KEYWORD_VARSEG 0xc6
  49. #define KEYWORD_DSEG 0xc7
  50. #define KEYWORD_CSEG 0xc8
  51. #define KEYWORD_SSEG 0xc9
  52. #define KEYWORD_PEEK 0xca
  53. #define KEYWORD_SCAN_A 0xd0
  54. #define KEYWORD_SCAN_B 0xd1
  55. #define KEYWORD_SCAN_X1 0xd2
  56. #define KEYWORD_SCAN_X2 0xd3
  57. #define KEYWORD_SCAN_X3 0xd4
  58. #define KEYWORD_SCAN_X4 0xd5
  59. #define KEYWORD_SCAN_Y1 0xd6
  60. #define KEYWORD_SCAN_Y2 0xd7
  61. #define KEYWORD_SCAN_Y3 0xd8
  62. #define KEYWORD_SCAN_Y4 0xd9
  63. #define KEYWORD_HARDARCH 0xda
  64. #define KEYWORD_AX 0xe0
  65. #define KEYWORD_BX 0xe1
  66. #define KEYWORD_CX 0xe2
  67. #define KEYWORD_DX 0xe3
  68. #define KEYWORD_SI 0xe4
  69. #define KEYWORD_DI 0xe5
  70. #define KEYWORD_DS 0xe6
  71. #define KEYWORD_ES 0xe7
  72. #define KEYWORD_DEFSEG 0xe8
  73. #define KEYWORD_THEN 0xf0
  74. #define KEYWORD_CHR 0xf1
  75. #define KEYWORD_TO 0xf2
  76. #define KEYWORD_STEP 0xf3
  77. #define KEYWORDS_STATEMENT_FROM 0x80
  78. #define KEYWORDS_STATEMENT_TO 0xa0
  79. #define KEYWORDS_2OP_FROM 0xb0
  80. #define KEYWORDS_2OP_TO 0xb2
  81. /*
  82. WONBE 中間言語フォーマット
  83.  中間言語は1行を単位として構築される
  84.  プログラムの終わりは0x00 0x00でターミネートされる
  85.  1行の構造
  86. WORD 行番号 (1-32767)
  87. WORD 行の長さ
  88. 任意の中間コードの列
  89. BYTE 0x0d 行末ターミネータ
  90.  0x01~0x03を除けば0x0dを単純検索するだけで行末が発見できる
  91. 中間コード
  92. 0x00 (予約)
  93. 0x01 次にあるのは10進2バイト整数
  94. 0x02 次にあるのは16進2バイト整数
  95. 0x03 次にあるのは可変長文字列 0x00でターミネート
  96. 0x09 TAB
  97. 0x0d 行末ターミネータ
  98. 0x20~0x2f そのコードの記号
  99. 0x30~0x39 ?
  100. 0x3a~0x3f そのコードの記号
  101. 0x40 @
  102. 0x41~0x5a A~Z その名前の変数を示すシンボル
  103. 0x5b~0x60 ?
  104. 0x61~0x7A a~z その名前の変数を示すシンボル
  105. 0x7b~0x7f ?
  106. 0x80~0xff キーワードの中間言語表現
  107. */
  108. /* end of keywords.h */