Re: PEG-парсер
От: Мишень-сан  
Дата: 02.03.10 08:46
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>4. Rule.n — variant Rule — можно сказать AST парсера (внутреннее представление правил). Вот как он выглядит:

VD>
VD>  internal variant Rule
VD>  {
VD>    | Choice         { rules : list[Rule]; }
VD>    | Sequence       { rules : list[Rule]; }
VD>    | Call           { name : string; }
VD>    | RepeatMin      { minCount : int; rule : Rule; }
VD>    | RepeatMinMax   { minCount : int; maxCount : int; rule : Rule; }
VD>    | Chars          { chars : list[RangeSet]; }
VD>    | Not            { rule : Rule; }
VD>    | And            { rule : Rule; }
VD>    | Capture        { name : string; argType : RuleType; retType : RuleType; rule : Rule; }
VD>    | ExtensionPoint { name : string; }
VD>  }
VD>


А не подскажете, для чего ноды типа Call и Capture? Первый, похоже, есть ссылка на правило. Второй —

P.S. Не могу ни разу обещать, что займусь, т.к. грамматическим разбором начал интересоваться совсем недавно, а потому туп в этом деле как пробка. Но чем чёрт не шутит...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.