Re[5]: Метапрограммисты надоели
От: Evgeny.Panasyuk Россия  
Дата: 06.10.14 10:17
Оценка: +2
Здравствуйте, kurchatov, Вы писали:

K>Пример тривиальный. И это мы с вами знаем, как оно работает. А придет новичок в вашу команду, и сколько времени ему потребуется врубиться в грамматику посложнее?


Вот посложнее
Автор: Evgeny.Panasyuk
Дата: 03.10.14
:
function   = string("def")   >> +space >> expression >> '(' >> expression >> ')' >> block;
while_     = string("while") >> +space >> expression >> block;
if_        = string("if")    >> +space >> expression >> block >> string("else") >> block;

block      = ':' >> ((eol >> '{' >> statements >> '}') | (+space >> statement));
statement  = (expression >> eol) | while_ | if_ | function;
expression = *alnum;
statements = *statement;
Тут даже не нужно знать Boost.Spirit, чтобы понять что происходит
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.