1: <?php
2:
3: namespace BN\Compiler\Scanner\Converter;
4:
5: use BN\Compiler\Token\Token;
6: use BN\Compiler\Scanner\LexemeConverter;
7:
8: class LexemeToKeyword implements LexemeConverter
9: {
10: private $keywords;
11:
12: public function __construct(array $keywords)
13: {
14: $this->keywords = $keywords;
15: }
16:
17: public function canConvertLexeme($lexeme)
18: {
19: return array_key_exists($lexeme, $this->keywords);
20: }
21:
22: public function convertLexeme($lexeme)
23: {
24: return new Token($this->keywords[$lexeme], $lexeme);
25: }
26: }
27: