57 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  *  @author          Tassos.gr <info@tassos.gr>
 | |
|  *  @link            https://www.tassos.gr
 | |
|  *  @copyright       Copyright © 2024 Tassos All Rights Reserved
 | |
|  *  @license         GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
 | |
| */
 | |
| 
 | |
| namespace NRFramework\Parser;
 | |
| 
 | |
| defined('_JEXEC') or die;
 | |
| 
 | |
| /**
 | |
|  *  Token
 | |
|  *  Represents a single lexer token
 | |
|  */
 | |
| class Token
 | |
| {
 | |
|     /**
 | |
|      *  Token type
 | |
|      * 
 | |
|      *  @var string
 | |
|      */
 | |
|     public $type;
 | |
| 
 | |
|     /**
 | |
|      *  The token's text 
 | |
|      *
 | |
|      *  @var string
 | |
|      */
 | |
|     public $text;
 | |
| 
 | |
|     /**
 | |
|      *  Token position in the input stream
 | |
|      *  
 | |
|      *  @var integer
 | |
|      */
 | |
|     public $position;
 | |
|     
 | |
|     public function __construct($type, $text, $pos)
 | |
|     {
 | |
|         $this->type     = $type;
 | |
|         $this->text     = $text;
 | |
|         $this->position = $pos;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *  __toString magic method (for debugging)
 | |
|      *
 | |
|      *  @return string
 | |
|      */
 | |
|     public function __toString()
 | |
|     {
 | |
|         return '[' . $this->text .', ' . $this->type . ', ' . $this->position .']';
 | |
|     }
 | |
| } |