Overview

Namespaces

  • BN
    • Collections
    • Compiler
      • Grammar
      • Parser
        • Operator
        • Token
      • Postfix
        • Operands
        • Operator
        • Token
      • Scanner
        • Converter
      • Token
  • Demo
  • None

Classes

  • LexemeToAssign
  • LexemeToBNNumber
  • LexemeToConstant
  • LexemeToKeyword
  • LexemeToSignedNumber
  • LexemeToUnknown
  • LexemeToUnsignedNumber
  • LexemeToVariable
  • Overview
  • Namespace
  • Class
  • Tree
 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 LexemeToUnsignedNumber implements LexemeConverter
10: {
11:     public function canConvertLexeme($lexeme)
12:     {
13:         return $this->isStringNumeric($lexeme)
14:             && $this->noUnarySign($lexeme);
15:     }
16: 
17:     private function isStringNumeric($lexeme)
18:     {
19:         return is_string($lexeme) && is_numeric($lexeme);
20:     }
21: 
22:     private function noUnarySign($lexeme)
23:     {
24:         return !in_array($lexeme[0], array('+', '-'), true);
25:     }
26: 
27:     public function convertLexeme($lexeme)
28:     {
29:         return new Token(TokenType::NUMBER, $lexeme);
30:     }
31: }
32: 
BN-PHP - Big Number data type for PHP API documentation generated by ApiGen 2.8.0