1: <?php
2:
3: namespace BN\Compiler\Scanner\Converter;
4:
5: use BN\Compiler\Token\Token;
6: use BN\Compiler\Token\TokenType;
7: use BN\Compiler\Scanner\LexemeConverter;
8:
9: class LexemeToVariable implements LexemeConverter
10: {
11: public function canConvertLexeme($lexeme)
12: {
13: $startsWithDollar = $lexeme[0] == '$';
14: $alphaCharacters = ctype_alpha(substr($lexeme, 1));
15: return $startsWithDollar && $alphaCharacters;
16: }
17:
18: public function convertLexeme($lexeme)
19: {
20: return new Token(TokenType::VARIABLE, $lexeme);
21: }
22: }
23: