parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Не могу исправить ошибки

Janek 22.09.2009 13:15 / 22.09.2009 13:26

Здравствуйте!

Уже два часа испытываю сделать пойск в хеше на новом парсере. На стором роботало. На новом - нет. Всю связано с
Каждый метод должен будет или возвращать результат через $result во всех вариантах своего выполнения или не использовать $result вовсе
Я добавил $result перед вызовом метода find как сказал Sumo http://www.parser.ru/forum/?id=70380. Добавил его тоже в начяле метода как посоветовал moko
http://www.parser.ru/forum/?id=70382
http://www.parser.ru/forum/?id=70385

Подскажите пожауйста дорогие мастеры что мне ещё делать...
Это исходник:
$tree[
	$.[/fullpath][/_admin/]
	$.index[
		$.[/fullpath][/_admin/index/]
		$.content[$.[/fullpath][/_admin/index/content/]]
		$.test[$.[/fullpath][/_admin/index/test/]]
	]
	$.help[$.[/fullpath][/_admin/help/]]
]

$found[^find[/_admin/index/content/;$tree]]
<h2>$found.[/fullpath]</h2>
<p>$sLog</p>

^XMLTree.foreach[key;value]{
	^if($key ne "/fullpath"){
		^log[$level пойск в $key]
		^if($value.[/fullpath] eq $fullpath){
			$result[
				$.key[$key]
				^value.foreach[this_key;this_value]{
					^if(^this_key.match[^^/[.]*]){
						$.[$this_key][$this_value]
					}
				}
			]
			^log[$level нейдёться в $key, определаем result]
			^break[]
		}{
			^log[$level пойск глубее]
			$result[^find[$fullpath;$value;${level}.]]
			^log[$level определаем result]
		}
	}
}
^log[$level конец пойска]


@log[string]
$sLog[${sLog}$string<br/>]
Вот это возвращает парсер:
Not found

начинаем пойск
пойск в index
пойск глубее
. начинаем пойск
. пойск в content
. нейдёться в content, определаем result
. конец пойска ***тепер хочю сделать мега супер break, но не знаю как***
определаем result
пойск в help
пойск глубее
. начинаем пойск
. конец пойска
определаем result
конец пойска