| 176 | } |
| 177 | |
| 178 | TokenType matchSingleCharOp(char c) |
| 179 | { |
| 180 | switch(c) |
| 181 | { |
| 182 | case '+': |
| 183 | return TokenType::Plus; |
| 184 | case '-': |
| 185 | return TokenType::Minus; |
| 186 | case '*': |
| 187 | return TokenType::Star; |
| 188 | case '/': |
| 189 | return TokenType::Slash; |
| 190 | case '&': |
| 191 | return TokenType::Ampersand; |
| 192 | case '|': |
| 193 | return TokenType::Pipe; |
| 194 | case '^': |
| 195 | return TokenType::Caret; |
| 196 | case '~': |
| 197 | return TokenType::Tilde; |
| 198 | case '!': |
| 199 | return TokenType::Bang; |
| 200 | case '<': |
| 201 | return TokenType::Less; |
| 202 | case '>': |
| 203 | return TokenType::Greater; |
| 204 | case '=': |
| 205 | return TokenType::Equal; |
| 206 | case '?': |
| 207 | return TokenType::Question; |
| 208 | case ':': |
| 209 | return TokenType::Colon; |
| 210 | case '(': |
| 211 | return TokenType::LeftParen; |
| 212 | case ')': |
| 213 | return TokenType::RightParen; |
| 214 | case ';': |
| 215 | return TokenType::Semicolon; |
| 216 | default: |
| 217 | return TokenType::Error; |
| 218 | } |
| 219 | } |
| 220 | |
| 221 | } // namespace |
| 222 | |