Подходит ли Peg парсер для парсинга indent синтаксиса??
От: Jack128  
Дата: 15.12.11 13:28
Оценка:
Сабж ? Если какие нить примеры на эту тему??
Re: Подходит ли Peg парсер для парсинга indent синтаксиса??
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.12.11 13:33
Оценка:
Здравствуйте, Jack128, Вы писали:

J>Сабж ? Если какие нить примеры на эту тему??


Ему по фигу. Он последовательность символов парсит.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Подходит ли Peg парсер для парсинга indent синтаксиса
От: WolfHound  
Дата: 15.12.11 14:08
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Ему по фигу. Он последовательность символов парсит.

На самом деле тут не все так просто.
Чистым ПЕГом синтаксис на отступах распарсить конечно можно, но там все настолько через зад автогеном, что лучше добавить функционал в движок.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[3]: Подходит ли Peg парсер для парсинга indent синтаксиса
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.12.11 14:16
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>На самом деле тут не все так просто.

WH>Чистым ПЕГом синтаксис на отступах распарсить конечно можно, но там все настолько через зад автогеном, что лучше добавить функционал в движок.

А это уже по барабану. Пегом хотя бы можно. Может у него примитивный синтаксис.

Ну, а если что-то сложное, то можно сделать стадию препроцессирвоания.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Подходит ли Peg парсер для парсинга indent синтаксиса
От: Jack128  
Дата: 16.12.11 09:48
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>А это уже по барабану. Пегом хотя бы можно. Может у него примитивный синтаксис.

Да, синтаксис совсем примитивный, его и вручную несложно распарсить, основной вопрос в indent.

VD>Ну, а если что-то сложное, то можно сделать стадию препроцессирвоания.

ну с препроцессингом вообщем то понятно, все а вот без него совсем ничего не понятно.

Ну вот вырожденный случай:

[Record]
public Item
{
   Str: string;
   Childs: list[Item]
}




a1
    b1
    b2
        c3
    b3
a2
a3
    b4



а качестве отступа — строго 4 пробела. Str — ну пусть вся текущая строка, для первого объекта
"a1"

для его первого чайлда:
"    b1"
и так далее.
Может кто из гуру потратит 10 минут, покажет как парсинг такого текста должен выглядить в Peg ?
Re[5]: Подходит ли Peg парсер для парсинга indent синтаксиса
От: WolfHound  
Дата: 16.12.11 11:04
Оценка: 6 (1)
Здравствуйте, Jack128, Вы писали:

J>Может кто из гуру потратит 10 минут, покажет как парсинг такого текста должен выглядить в Peg ?

За 10 минут не получится.
Там гора выносящих мозг правил.
Я точно помню, что видел решение, но не могу найти.
Короче чистый ПЕГ тут плохой вариант.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[6]: Подходит ли Peg парсер для парсинга indent синтаксиса
От: Jack128  
Дата: 16.12.11 11:19
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, Jack128, Вы писали:


J>>Может кто из гуру потратит 10 минут, покажет как парсинг такого текста должен выглядить в Peg ?

WH>За 10 минут не получится.
WH>Там гора выносящих мозг правил.
WH>Я точно помню, что видел решение, но не могу найти.
WH>Короче чистый ПЕГ тут плохой вариант.

Угу, понятно. Сенкс.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.