Exemplo n.º 1
0
Arquivo: s.php Projeto: rigidus/ea
 function build()
 {
     self::$code = self::getTmpl(self::$tpl);
     for ($i = 0; $i < self::$iteration; $i++) {
         self::testVars();
         /*
         	Подключаем инклюды
         */
         self::$code = self::parseInclude(self::$code);
     }
     // код шаблона сформирован из переменных и инклюдов
     /*
     	Resolver
     */
     if (self::$resolver) {
         self::$code = resolver::getHandlers(self::$code);
     }
     /*
     	Вырезание кода и переменных, которые не должны быть обработаны
     */
     self::$code = self::clearParseSet(self::$code, self::$regex_n_vars, &self::$n_buffer);
     self::$code = self::clearParseSet(self::$code, self::$regex_s_vars, &self::$s_buffer);
     /*
     	Parsing rolls
     */
     self::$code = self::parseRolls(self::$code);
     /*
     	Parsing tree
     */
     self::$code = self::parseTree(self::$code);
     /*
     	Parsing sections
     */
     self::$code = self::parseSections(self::$code);
     /*
     	Parsing vars
     */
     self::$code = self::parseVars(self::$code);
     /*
     	Non parse
     */
     self::$code = self::clearParseSet(self::$code, self::$regex_non, &self::$non_buffer);
     /*
     	Parsing lang vars
     */
     self::$code = self::parseLangVars(self::$code);
     /*
     	Clear
     */
     self::$code = self::clearUnusedVars(self::$code);
     /*
     	Возвращение кода и перемнных, которые не должны быть обработаны
     */
     self::$code = self::clearParseGet(self::$code, &self::$non_buffer, false);
     self::$code = self::clearParseGet(self::$code, &self::$n_buffer, '{', '}');
     self::$code = self::clearParseGet(self::$code, &self::$s_buffer, '{ ', '}');
     f::collect();
     return self::$code;
 }