#!/usr/bin/php <?php require_once __DIR__ . '/core/SplClassLoader.php'; $autoloader = new SplClassLoader('vendor', __DIR__ . '/src'); $autoloader->register(); use vendor\TokenParser\Scanner; use vendor\Utility\Console; use vendor\Exception\CompilerException; use vendor\SyntaxParser\Nodes\Program; use vendor\Visualisator\TreeViewer; $params = Console::parseArgs(); $scanner = new Scanner(file_get_contents($params['filename'])); $tokens = []; if ($params['lex']) { try { while ($scanner->next()) { $tokens[] = $scanner->get(); } } catch (CompilerException $e) { Console::write($e); Console::closeStream(); exit; } foreach ($tokens as &$token) { Console::write($token->getStr()); } } else { if ($params['syntax-only']) { try { $program = new Program($scanner); } catch (CompilerException $e) {