Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Lex and Yacc   Найти похожие ветки 

 
Тимохов ©   (2004-03-24 16:47) [0]

Уважаемые, мастера.

Скажите знает ли кто, где можно скачать указанные в subj"e продукты для генерации лексического и синтаксического анализаторов для дельфи?

Скаченный Torbo Pascal Lex and Yacc убили убогостью результирующего кода. Может есть еще что-то?


 
Defunct ©   (2004-03-24 16:58) [1]

> Скаченный Torbo Pascal Lex and Yacc
Неудивительно, убогость для Torbo Pascal обычное дело ;)

Попробуйте скачать для Turbo Pascal ;)

Дмитрий, простите за невежество, но мне из вашего вопроса непонятно, что значит: "генерация лексического и синтаксического анализаторов для дельфи"


 
Digitman ©   (2004-03-24 17:01) [2]

я качал и "имел" L&Y for Delphi .. то что нашел, разумеется .. а нашел всего одного разработчика ..

не надейся, что там ты увидишь иное ... обычная адаптация к синтаксису и неким особенностям ОР ..

ручной работы по приведению всей этой бодяги к удобоприемлемому виду и к ООП-концепции - дофига и больше, смею заверить ...

но ... глаза боятся - руки делают .. я сделал ... желаю и тебе чтоб ..


 
Тимохов ©   (2004-03-24 17:02) [3]

невежество прощаю :)

с процессе компиляции есть много стадий. Две интересующие меня - это лексический анализ и синтаксический анализ. Именно для этого и служат указанные программы - построение по рег. выражениям и по грамматике анализаторов. Их реализаций полно. Пока хорошую не нашел.


 
Digitman ©   (2004-03-24 17:05) [4]


> Тимохов ©   (24.03.04 17:02) [3]


я ж тебе говорю  - ручками править придется то, что имеешь для практически любой из известных реализаций ТР L&Y

поверь - нюхал не одну из них ... все - на одно лицо ..


 
Defunct ©   (2004-03-24 17:15) [5]

Тимохов ©   (24.03.04 17:02) [3]

но хм.. как оно вяжется со словом "генерация"?
Немного непонятно, это что такие программы, которые позволяют задавать правила языка? Что получется в результате их работы?

Она встраивается в Delphi или вы пишите свой интерпретатор?

Почему спрашиваю, просто сталкивался с разработкой компиляторов, но не использовал чужих компонент, программ, библиотек.


 
Тимохов ©   (2004-03-24 17:17) [6]


> Defunct ©   (24.03.04 17:15) [5]

сам компиляторов не писал, писал интерпретаторы.
в конец задолбался писать токенайзеры, построения деревьев разбора и все такое. вернее писать не сложно, сложно модернизировать.

на это все наука целая есть. вот и решил воспользоваться.


 
Defunct ©   (2004-03-24 17:41) [7]

эввв, так значит Lex и Yacc генерирует дерево разбора с языка Pascal? или формирует таблицы псевдокода/данных? Ну честно скажу непонятно, как можно взять чужую программу и строить на ней интерпретатор.. Это ж гораздо сложнее разбираться в формате чужой промежуточной программы, чем написать собственный анализатор.

>  вернее писать не сложно, сложно модернизировать

Старайтесь писать так, чтобы правила языка можно было задать текстовым файлом.


 
Тимохов ©   (2004-03-24 17:49) [8]


> Старайтесь писать так, чтобы правила языка можно было задать
> текстовым файлом.

для того и служат грамматики:)))))))


> эввв, так значит Lex и Yacc генерирует дерево разбора с
> языка Pascal

нет, генерирует на языке паскаль программу, которая строит дерево разбора по любой контекстно-свободной (или не по любой, не помню) грамматике.

если интересно можете посмотреть кс грамматику самого дельфи.
есть в хелпе в разделе object pascal reference.


 
Игорь Шевченко ©   (2004-03-24 18:14) [9]

Тимохов ©   (24.03.04 17:49)

А вроде на torry был какой-то софт на эту тему. Я года три назад даже что-то скачивал, и оно было получше, чем Lex и Yacc для turbo pascal.


 
Тимохов ©   (2004-03-24 18:16) [10]


> Игорь Шевченко ©   (24.03.04 18:14) [9]

да вроде облазили его.
с него tply и качали.

пойду еще посмотрю.
но почему-то очень верю Digitman ©   (24.03.04 17:05) - верю опыту.


 
Игорь Шевченко ©   (2004-03-24 18:28) [11]

Тимохов ©   (24.03.04 18:16)

Мне, если честно, всегда сишного бизона хватало. И при серьезной задаче я бы написал бы сишную DLL с разборщиком.


 
Defunct ©   (2004-03-24 18:34) [12]

нет, генерирует на языке паскаль программу, которая строит дерево разбора по любой контекстно-свободной (или не по любой, не помню) грамматике.

И вы хотите довериться автописателю?..
Чур их, эти все Lex и Yacc ;)
Ни одна программа код лучше вас не напишет.


 
Тимохов ©   (2004-03-24 18:37) [13]


> Ни одна программа код лучше вас не напишет.

lex в unix существует немеряно лет.
знаю, что им активно пользуются(лись). И ничего, прокатывает.
Задолбаешься сам по грамматике конечные автоматы строить. Все это очень хорошо поддается автописанию.
Для сей такого до фига.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.029 c
8-1062744130
danja12
2003-09-05 10:42
2004.04.11
JPEG большого размера


8-1076758014
iudjen
2004-02-14 14:26
2004.04.11
проиграть файл задним ходом


1-1080116378
TransparentGhost
2004-03-24 11:19
2004.04.11
новый компонент: тип не видно в обект инспекторе


1-1079963769
Layner
2004-03-22 16:56
2004.04.11
Как после инсталяции сервиса, сразу же запустить его?


6-1079105001
moor38
2004-03-12 18:23
2004.04.11
Как в сети по IP адресу узнать имя машины?