keywords.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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_AND 0xa0
  36. #define KEYWORD_OR 0xa1
  37. #define KEYWORD_XOR 0xa2
  38. #define KEYWORD_NOT 0xb0
  39. #define KEYWORD_SCAN 0xc0
  40. #define KEYWORD_WAIT 0xc1
  41. #define KEYWORD_RND 0xc2
  42. #define KEYWORD_ABS 0xc3
  43. #define KEYWORD_TICK 0xc4
  44. #define KEYWORD_VARPTR 0xc5
  45. #define KEYWORD_VARSEG 0xc6
  46. #define KEYWORD_DSEG 0xc7
  47. #define KEYWORD_CSEG 0xc8
  48. #define KEYWORD_SSEG 0xc9
  49. #define KEYWORD_PEEK 0xca
  50. #define KEYWORD_SCAN_A 0xd0
  51. #define KEYWORD_SCAN_B 0xd1
  52. #define KEYWORD_SCAN_X1 0xd2
  53. #define KEYWORD_SCAN_X2 0xd3
  54. #define KEYWORD_SCAN_X3 0xd4
  55. #define KEYWORD_SCAN_X4 0xd5
  56. #define KEYWORD_SCAN_Y1 0xd6
  57. #define KEYWORD_SCAN_Y2 0xd7
  58. #define KEYWORD_SCAN_Y3 0xd8
  59. #define KEYWORD_SCAN_Y4 0xd9
  60. #define KEYWORD_AX 0xe0
  61. #define KEYWORD_BX 0xe1
  62. #define KEYWORD_CX 0xe2
  63. #define KEYWORD_DX 0xe3
  64. #define KEYWORD_SI 0xe4
  65. #define KEYWORD_DI 0xe5
  66. #define KEYWORD_DS 0xe6
  67. #define KEYWORD_ES 0xe7
  68. #define KEYWORD_DEFSEG 0xe8
  69. #define KEYWORD_THEN 0xf0
  70. #define KEYWORD_CHR 0xf1
  71. #define KEYWORD_TO 0xf2
  72. #define KEYWORD_STEP 0xf3
  73. #define KEYWORDS_STATEMENT_FROM 0x80
  74. #define KEYWORDS_STATEMENT_TO 0x9d
  75. #define KEYWORDS_2OP_FROM 0xa0
  76. #define KEYWORDS_2OP_TO 0xa2
  77. /*
  78. WONBE 中間言語フォーマット
  79.  中間言語は1行を単位として構築される
  80.  プログラムの終わりは0x00 0x00でターミネートされる
  81.  1行の構造
  82. WORD 行番号 (1-32767)
  83. 任意の中間コードの列
  84. BYTE 0x0d 行末ターミネータ
  85.  0x01~0x03を除けば0x0dを単純検索するだけで行末が発見できる
  86. 中間コード
  87. 0x00 (予約)
  88. 0x01 次にあるのは10進2バイト整数
  89. 0x02 次にあるのは16進2バイト整数
  90. 0x03 次にあるのは可変長文字列 0x00でターミネート
  91. 0x09 TAB
  92. 0x0d 行末ターミネータ
  93. 0x20~0x2f そのコードの記号
  94. 0x30~0x39 ?
  95. 0x3a~0x3f そのコードの記号
  96. 0x40 @
  97. 0x41~0x5a A~Z その名前の変数を示すシンボル
  98. 0x5b~0x60 ?
  99. 0x61~0x7A a~z その名前の変数を示すシンボル
  100. 0x7b~0x7f ?
  101. 0x80~0xff キーワードの中間言語表現
  102. */
  103. /* end of keywords.h */