/**
  * Initialize some static variables (called at the end of this file).
  */
 static function init()
 {
     if (self::$initialized) {
         return;
     }
     self::$initialized = TRUE;
     self::$COFFEE_KEYWORDS = array_merge(self::$COFFEE_KEYWORDS, array_keys(self::$COFFEE_ALIASES));
     self::$COFFEE_RESERVED = array_merge(self::$JS_RESERVED, self::$JS_KEYWORDS, self::$COFFEE_KEYWORDS, self::$STRICT_PROSCRIBED);
     self::$JS_FORBIDDEN = array_merge(self::$JS_KEYWORDS, self::$JS_RESERVED, self::$STRICT_PROSCRIBED);
     self::$INDEXABLE = array_merge(self::$CALLABLE, self::$INDEXABLE);
     self::$NOT_SPACED_REGEX = array_merge(self::$NOT_REGEX, self::$NOT_SPACED_REGEX);
     Rewriter::init();
     self::$INVERSES = Rewriter::$INVERSES;
 }
            $i += $block($this->tokens[$i], $i, $this->tokens);
        }
        return TRUE;
    }
    function tag($i)
    {
        return isset($this->tokens[$i]) ? $this->tokens[$i][0] : NULL;
    }
    function tag_postfix_conditionals()
    {
        $condition = function ($token, $i) {
            return in_array($token[0], t('TERMINATOR', 'INDENT'));
        };
        $self = $this;
        $this->scan_tokens(function (&$token, $i) use(&$condition, &$self) {
            if (!($token[0] === t('IF'))) {
                return 1;
            }
            $original =& $token;
            $self->detect_end($i + 1, $condition, function ($token, $i) use(&$original) {
                if ($token[0] !== t('INDENT')) {
                    $original[0] = t('POST_IF');
                    // 'POST_'.$original[0];
                }
            });
            return 1;
        });
    }
}
Rewriter::init();