Поиск полного синтаксиса Delphi (объектный паскаль) - PullRequest
28 голосов
/ 05 октября 2008

Мне нужен полный синтаксис Object Pascal (желательно Delphi 2009). Часть синтаксиса дается файлами справки, но предоставляется не вся информация. Поэтому я начал собирать бесполезную информацию. Недавно я добавил их в более или менее полное описание синтаксиса (например, EBNF).

Хотя это выглядит обширно, все еще есть ошибки, и я уверен, что части отсутствуют (особенно в синтаксисе .NET). Поэтому я спрашиваю сообщество SO Delphi. У вас есть какая-либо информация или вы можете исправить ошибки? Взамен я предоставляю полный синтаксис сообществу. Это, вероятно, экономит ваше время ;-). В будущем я хотел бы сделать то же самое для других языков (например, C # / C ++ / Java).

У меня уже есть описание синтаксиса: Мой синтаксис Софар . Или, если вам нравится Текстовая версия . (XHTML генерируется из текстовой версии).

Обратите внимание, что синтаксис фокусируется на синтаксической части, потому что лексическая часть на самом деле не является проблемой.

Обновление

У меня новая версия синтаксиса Delphi. HTML-версия . Он включает все версии, включая 2009. Расширения Prism все еще находятся в списке задач. И я не уверен, что собираюсь держать их вместе.

Для настоящих пуристов он также содержит полный ассемблерный код (который не поддерживает все 100% набора Intel, но пропущены только несколько инструкций.)

Ответы [ 6 ]

16 голосов
/ 05 октября 2008

Попробуйте: DGrok - грамматика Delphi

3 голосов
/ 05 октября 2008

Полный опубликованный синтаксис для Delphi отсутствует. Помните, что .net и win32 delphi имеют разные синтаксисы.

Этот проект содержит парсер Delphi, созданный вручную. И множество тестовых примеров кода, который компилируется, но расширяет границы синтаксиса.

2 голосов
/ 04 января 2009

Это может быть хорошей помощью. Это парсер , используемый в TwoDesk's Castalia .

1 голос
/ 08 октября 2008

Грамматика Delphi 7 находится в конце книги Object Pascal.

Ты имеешь в виду, что за несколько тысяч долларов они тебе даже не пришли? Они даже посылают вам плакат размером 6 на 6 дюймов?

1 голос
/ 05 октября 2008

Какие именно ошибки и функциональность вам не хватает?

При сканировании документа кажется, что вы смешиваете синтаксис и семантику. Я не понимаю, почему нужно различать SimpleTypeFloat и SimpleTypeOrdinal на синтаксическом уровне или приоритет оператора кода как синтаксическую особенность в AddOp и MulOp. true, false, nil - идентификаторы, как и любое имя переменной, которое вы выберете.

0 голосов
/ 05 октября 2008

Вы всегда можете прочитать исходный код Free Pascal Compiler . Поддерживает Object Pascal.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...