Пусть говорят, что я должен разобрать иерархический набор теговParse and Break: почему break нельзя использовать для выхода из «любого» или «некоторого» правила?
<tag>
<subtag1 attr1=value1 attr2=value2>
<subtag1 attr1=value1 attr2=value2>
<subtag1 attr1=value1 attr2=value2>
</tag>
Почему я не могу использовать перерыв внутри некоторых или любой, чтобы выйти из уровня иерархии? Это позволит сделать такой синтаксический анализ вместо того, чтобы иметь головную боль, чтобы сделать это?
Я спрашиваю это потому, что я прочитал здесь http://www.codeconscious.com/rebol/parse-tutorial.html было бы создать бесконечный цикл
Этот случай дает бесконечный цикл. Поскольку BREAK находится в пределах подчиненного правила, которое обрабатывает НЕКОТОРЫЙ. BREAK не влияет на успех статус/отказа или входной указатель - это просто выходит из правила рано:
правило на разрыв: [(печать "Перерыв") перерыв] == [ (печать "перерыв") перерыв] синтаксического анализа "X" [некоторые [правила до разрыва] "X"] перерыв перерыв ... перерыв Перерыв (побег)
Я попытался установить Rebol 3. Дома он работает, в корпоративной клиентской среде это не так. Итак, я попробовал что-то еще, и снова ударился о стену: http://stackoverflow.com/questions/2463412/i-thought-this-parsing-would-be-simple –