1#[derive(Debug, Copy, Clone, PartialEq)]
2pub enum Keyword {
3 Rnd,
4 Inkey,
5 Pi,
6 Fn,
7 Point,
8 Screen,
9 Attr,
10 At,
11 Tab,
12 ValStr,
13 Code,
14 Val,
15 Len,
16 Sin,
17 Cos,
18 Tan,
19 Asn,
20 Acs,
21 Atn,
22 Ln,
23 Exp,
24 Int,
25 Sqr,
26 Sgn,
27 Abs,
28 Peek,
29 In,
30 Usr,
31 Str,
32 Chr,
33 Not,
34 Bin,
35 Or,
36 And,
37 LessOrEqual,
38 GreaterOrEqual,
39 NotEqual,
40 Line,
41 Then,
42 To,
43 Step,
44 DefFn,
45 Cat,
46 Format,
47 Move,
48 Erase,
49 Open,
50 Close,
51 Merge,
52 Verify,
53 Beep,
54 Circle,
55 Ink,
56 Paper,
57 Flash,
58 Bright,
59 Inverse,
60 Over,
61 Out,
62 Lprint,
63 Llist,
64 Stop,
65 Read,
66 Data,
67 Restore,
68 New,
69 Border,
70 Continue,
71 Dim,
72 Rem,
73 For,
74 GoTo,
75 GoSub,
76 Input,
77 Load,
78 List,
79 Let,
80 Pause,
81 Next,
82 Poke,
83 Print,
84 Plot,
85 Run,
86 Save,
87 Randomize,
88 If,
89 Cls,
90 Draw,
91 Clear,
92 Return,
93 Copy,
94}
95
96impl Keyword {
97 pub fn to_byte(&self) -> u8 {
98 match self {
99 Self::Rnd => 165,
100 Self::Inkey => 166,
101 Self::Pi => 167,
102 Self::Fn => 168,
103 Self::Point => 169,
104 Self::Screen => 170,
105 Self::Attr => 171,
106 Self::At => 172,
107 Self::Tab => 173,
108 Self::ValStr => 174,
109 Self::Code => 175,
110 Self::Val => 176,
111 Self::Len => 177,
112 Self::Sin => 178,
113 Self::Cos => 179,
114 Self::Tan => 180,
115 Self::Asn => 181,
116 Self::Acs => 182,
117 Self::Atn => 183,
118 Self::Ln => 184,
119 Self::Exp => 185,
120 Self::Int => 186,
121 Self::Sqr => 187,
122 Self::Sgn => 188,
123 Self::Abs => 189,
124 Self::Peek => 190,
125 Self::In => 191,
126 Self::Usr => 192,
127 Self::Str => 193,
128 Self::Chr => 194,
129 Self::Not => 195,
130 Self::Bin => 196,
131 Self::Or => 197,
132 Self::And => 198,
133 Self::LessOrEqual => 199,
134 Self::GreaterOrEqual => 200,
135 Self::NotEqual => 201,
136 Self::Line => 202,
137 Self::Then => 203,
138 Self::To => 204,
139 Self::Step => 205,
140 Self::DefFn => 206,
141 Self::Cat => 207,
142 Self::Format => 208,
143 Self::Move => 209,
144 Self::Erase => 210,
145 Self::Open => 211,
146 Self::Close => 212,
147 Self::Merge => 213,
148 Self::Verify => 214,
149 Self::Beep => 215,
150 Self::Circle => 216,
151 Self::Ink => 217,
152 Self::Paper => 218,
153 Self::Flash => 219,
154 Self::Bright => 220,
155 Self::Inverse => 221,
156 Self::Over => 222,
157 Self::Out => 223,
158 Self::Lprint => 224,
159 Self::Llist => 225,
160 Self::Stop => 226,
161 Self::Read => 227,
162 Self::Data => 228,
163 Self::Restore => 229,
164 Self::New => 230,
165 Self::Border => 231,
166 Self::Continue => 232,
167 Self::Dim => 233,
168 Self::Rem => 234,
169 Self::For => 235,
170 Self::GoTo => 236,
171 Self::GoSub => 237,
172 Self::Input => 238,
173 Self::Load => 239,
174 Self::List => 240,
175 Self::Let => 241,
176 Self::Pause => 242,
177 Self::Next => 243,
178 Self::Poke => 244,
179 Self::Print => 245,
180 Self::Plot => 246,
181 Self::Run => 247,
182 Self::Save => 248,
183 Self::Randomize => 249,
184 Self::If => 250,
185 Self::Cls => 251,
186 Self::Draw => 252,
187 Self::Clear => 253,
188 Self::Return => 254,
189 Self::Copy => 255,
190 }
191 }
192}