5 require_once __DIR__ . '/../vendor/autoload.php';
8 echo "SQL file name missing\n";
13 echo "SQL file name empty\n";
16 if (!file_exists($file)) {
17 echo "SQL file does not exist\n";
21 $sql = file_get_contents($file);
22 if (trim($sql) == '') {
23 echo "SQL file empty\n";
27 $parser = new Parser($sql);
29 if (count($parser->errors) == 0) {
30 echo "No syntax errors detected\n";
34 $lines = array(1 => 0);
37 while (false !== $pos = strpos($sql, "\n", ++$pos)) {
38 $lines[++$line] = $pos;
41 echo "Syntax errors found\n";
42 foreach ($parser->errors as $error) {
45 while (next($lines) && $error->token->position >= current($lines)) {
48 $col = $error->token->position - $lines[$line];
50 /** @var SqlParser\Exceptions\ParserException $error) */
53 //FIXME: ->token or ->value?
54 . ' at "' . niceToken($error->token->token) . '":'
55 . ' ' . $error->getMessage()
57 //var_dump($error->token);
60 function niceToken($str)