private function getStatementLexingMethods() : array
    {
        $statements = [
            $this->directiveDelimiters[0] => 'lexDirectiveStatement',
            $this->sanitizedTagDelimiters[0] => 'lexSanitizedTagStatement',
            $this->unsanitizedTagDelimiters[0] => 'lexUnsanitizedTagStatement',
            $this->commentDelimiters[0] => 'lexCommentStatement',
            '<?php' => 'lexPhpStatement',
            '<?' => 'lexPhpStatement'
        ];

        /**
         * In case one delimiter is a substring of the other ("{{" and "{{!"), we want to sort the delimiters
         * so that the longest delimiters come first
         */
        uksort($statements, function ($a, $b) {
            if (strlen($a) > strlen($b)) {
                return -1;
            } else {
                return 1;
            }
        });

        return $statements;
    }