Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.05 c
1-1082720979
WebErr
2004-04-23 15:49
2004.04.11
Father for Basic form


1-1080209466
XmPL
2004-03-25 13:11
2004.04.11
Есть ли в Delphi аналог #pragma once ?


1-1080036364
Alex_777
2004-03-23 13:06
2004.04.11
Печать из TWebBrowser


7-1079620947
1
2004-03-18 17:42
2004.04.11
Как добавить(изменить) новое значение в реестр?


8-1071933751
Ianus
2003-12-20 18:22
2004.04.11
сравнение звуков





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский