SQLRU.net
Разработка приложений баз данных

Начало » Программирование » Delphi » Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern"
Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3598] Thu, 02 November 2023 11:47 Переход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Всем привет!

Это не совсем книга, в смысле она не издана, самиздат автора.

Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern
Jeroen de Haan


гитхаб автора.
там же эта книга в папке Doc
https://github.com/jdehaan2014/GearLanguage/tree/master/inte rpreter

на всякий ссылка на маил-облако для скачивания этой книги отдельно https://cloud.mail.ru/public/1KND/xbMLrR7a4

Аннотация от автора:
This is a no-nonsense book about creating an interpreted programming language, named “Gear”, using an external visitor pattern. Why Gear? No particular reason, I just like the sound of it…
In this book I won’t describe a lot of theory, as there are plenty of good books out there. As a matter of fact, I do recommend reading a few of them, such as:

- Writing Compilers and Interpreters, A software emgineering approach (Ronald Mak)

- Language Implementation Patterns (Terence Parr)

Then, there are hands-on websites/blogs that describe and create an interpreter on-the-go:

- Let’s build a simple interpreter (https://ruslanspivak.com/lsbasi-part1/) (Ruslan Spivak)

- Crafting Interpreters (http://craftinginterpreters.com) (Bob Nystrom)

These books/blogs use Java or Python as programming language.

The code in this book is based on the programming language Object Pascal, a modern pascal version, and the free downloadable IDE ‘Lazarus’. Lazarus/Free Pascal is available for Windows, Linux, OSX, and many other Operatig Systems. It’s slogan is: ‘Write once, compile anywhere’! The website and download links are available at: http://www.lazarus-ide.org/index.php. For this book I use version 2.0.4 (or later) of Lazarus and version 3.04 (or later) of Free Pascal.



В общем, он в книге делает интерпретатор своего скриптового языка на паскале, используя Lazarus.

Я сейчас делаю по этой книге на делфях, с некоторыми изменениями, просто копировать было бы скучно Smile
Книга очень понравилась, рекомендую.

[Обновления: Thu, 02 November 2023 11:48]

Известить модератора

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3599 является ответом на сообщение #3598] Thu, 02 November 2023 14:04 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Ханойские башни на созданном языке.
  • Вложение: Снимок.PNG
    (Размер: 36.21KB, Загружено 227 раз)
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3602 является ответом на сообщение #3599] Thu, 02 November 2023 14:50 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Там единственно, он не очень удобно начинает. В первой главе.
Он начинает делать проект, используя модули и классы, которых еще нет, поначалу придется классы-пустышки сделать там где он обращается к еще несуществующим классам.

А со второй главы уже другой подход, каждая глава оставляет работающий продукт.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3620 является ответом на сообщение #3602] Sat, 04 November 2023 13:02 Переход к предыдущему сообщениюПереход к следующему сообщению
МорскойДесант в настоящее время не в онлайне  МорскойДесант
Сообщений: 195
Зарегистрирован: September 2022
Senior Member
Можете рассказать - какова цель? Просто изучаете чужой код, или для чего-то (для чего) конкретного?
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3621 является ответом на сообщение #3598] Sat, 04 November 2023 15:32 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Да цели особой нет.
Просто интересно.
Всегда хотел интерпретатор сделать, да и заодно изучение современного паскаля.

Сейчас часто встречается понятие Coding kata, вот это оно и есть.
Пет-проект не хуже других.

Честно говоря удивил вопрос Smile
Это ведь интересно.
Я когда на эту книжку наткнулся, на три месяца завис. В принципе уже почти закончил, Dictionary доделать осталось.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3622 является ответом на сообщение #3621] Sat, 04 November 2023 15:33 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Вообще, такие книги мне больше нравятся, в которых конкретная тема, а не просто синтаксис или основы какого-то фреймворка.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3623 является ответом на сообщение #3622] Sat, 04 November 2023 15:43 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Просто хорошая книга по паскалю.
Сейчас это редкость.
Хотел радостью поделиться Smile
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3624 является ответом на сообщение #3623] Sat, 04 November 2023 15:52 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Или вопрос был почему выбрал книгу по интерпретаторам именно на Паскале?
Так тут все просто, работаю на делфи, заодно подтянуть уровень в паскале.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3625 является ответом на сообщение #3624] Sat, 04 November 2023 16:12 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
А возможные применения...
Да в принципе никаких, разве что в качестве встроенного языка в какой-нибудь своей системе.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3626 является ответом на сообщение #3625] Sun, 05 November 2023 01:46 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 345
Зарегистрирован: August 2022
Senior Member
Вообще-то "создать язык и его интерпретатор" это шаблонная курсовая работа ИТ-шного ВУЗ-а... Но я так понимаю, что фенька там именно в "external tree visitor pattern" что бы это ни значило. То есть стандартную задачу решают с супер-пупер ультра-модерным подвыподвертом.

[Обновления: Sun, 05 November 2023 01:46]

Известить модератора

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3627 является ответом на сообщение #3623] Sun, 05 November 2023 11:32 Переход к предыдущему сообщениюПереход к следующему сообщению
МорскойДесант в настоящее время не в онлайне  МорскойДесант
Сообщений: 195
Зарегистрирован: September 2022
Senior Member
wildbill писал(а) Sat, 04 November 2023 15:43
Просто хорошая книга по паскалю.
Сейчас это редкость.
Хотел радостью поделиться Smile
Про старую книжку: Джулиан Бакнелл: "Фундаментальные алгоритмы и структуры данных в Delphi" - знаете?

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3628 является ответом на сообщение #3626] Sun, 05 November 2023 15:12 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
SD писал(а) Sun, 05 November 2023 01:46
Вообще-то "создать язык и его интерпретатор" это шаблонная курсовая работа ИТ-шного ВУЗ-а... Но я так понимаю, что фенька там именно в "external tree visitor pattern" что бы это ни значило. То есть стандартную задачу решают с супер-пупер ультра-модерным подвыподвертом.
Ну я интерпретаторы в институте не делал, как-то мимо меня прошло.
Что-то смутно помню что была такая тема, но таких курсовых чтобы сделать что-то работающее точно не было.
Чет не пойму откуда какая-то агрессия по отношению к книге?
Ну допустим тема стандартная и заезженная для кого-то, но для кого-то ведь и нет?
Мне вот было интересно Smile


"То есть стандартную задачу решают с супер-пупер ультра-модерным подвыподвертом." - ну вот что это? Не читал, но осуждаю?
Никто ведь не заставляет читать? Smile

External Visitor паттерн там всего лишь, что он не добавляет в иерархию методы AcceptVisitor, то есть вообще не меняет классы, которые нужно обходить, делает это с использованием методов RTTI.
Там это вообще мельком. На самом деле действительно интересный приём.
Просто такое вот название у книги, может не очень удачное.

Короче, кому тема интересна, рекомендую.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3629 является ответом на сообщение #3627] Sun, 05 November 2023 15:14 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
МорскойДесант писал(а) Sun, 05 November 2023 11:32
wildbill писал(а) Sat, 04 November 2023 15:43
Просто хорошая книга по паскалю.
Сейчас это редкость.
Хотел радостью поделиться Smile
Про старую книжку: Джулиан Бакнелл: "Фундаментальные алгоритмы и структуры данных в Delphi" - знаете?

Да видел, начинал читать, но не увлекла.
Во первых там процедурное программирование, мне интересней была бы подобная книга но с ооп подходом.
А во вторых, это как бы сказать, кусочки кода.
Данная книга больше увлекла потому что тут полноценный проект.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3630 является ответом на сообщение #3629] Sun, 05 November 2023 15:21 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Ну и опять же
"Вообще-то "создать язык и его интерпретатор" это шаблонная курсовая работа ИТ-шного ВУЗ-а... "

и что, теперь не надо писать книг на эту тему? Smile

(притом что автор эту книгу даже не продает, просто выложил ее в свободный доступ.)

[Обновления: Sun, 05 November 2023 15:28]

Известить модератора

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3631 является ответом на сообщение #3630] Sun, 05 November 2023 15:42 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Да и я сомневаюсь, что на курсовой в институте делали интерпретатор с рекурсией, локальными функциями, лямбдами и тп.
Язык расширяемый через "стандартные функции языка", можно добавлять свои функции уже на паскале, для работами например с файлами или датасетами, и использовать их уже в этом языке.

Ладно, может я такой восторженный, просто потому что плохо учился, и пропустил эту тему в институте.
Но мало ли, может кому-то еще пригодится, кому было бы интересно поковырять тему интрепретаторов, причем делать это в делфях.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3632 является ответом на сообщение #3631] Mon, 06 November 2023 11:11 Переход к предыдущему сообщениюПереход к следующему сообщению
МорскойДесант в настоящее время не в онлайне  МорскойДесант
Сообщений: 195
Зарегистрирован: September 2022
Senior Member
Непонятна цель данного вязания. Если вы не собираетесь будущую варежку ни носить. ни продавать - в чем смысл? Впрочем, некоторые говорят, что вязание успокаивает.

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3635 является ответом на сообщение #3632] Mon, 06 November 2023 12:34 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
МорскойДесант писал(а) Mon, 06 November 2023 11:11
Непонятна цель данного вязания. Если вы не собираетесь будущую варежку ни носить. ни продавать - в чем смысл? Впрочем, некоторые говорят, что вязание успокаивает.

У самурая нет цели Smile

Серьезно, никакой практической цели.
Но мне было интересно.

Достаточно много книг по этой теме с использованием других языков, а тут паскаль.
Я, честно говоря, конкретно в object pascal середнячок, так-то работаю с Делфи, но больше базеданщик.
Вот для меня было два плюса, во первых сама тема интересна, а во вторых посмотреть примеры хорошего кода на современном паскале и потренировать их.

Но это так.
Главное, это реально было просто для удовольствия.

[Обновления: Mon, 06 November 2023 12:36]

Известить модератора

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3636 является ответом на сообщение #3635] Mon, 06 November 2023 12:45 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Смотрел еще книги Crafting interpreters, там джава и си (именно си, а не си++).
И Writing an interpreter in Go.
Вернее я даже начал с них, а потом уже наткнулся на стартовую книгу.
Ну и там именно паскалевские идиомы так сказать, поэтому решил, что она будет полезнее для меня.
Те книги забросил, хоть по ним тоже уже начал проекты и переключился на паскалевскую.

[Обновления: Mon, 06 November 2023 12:49]

Известить модератора

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3637 является ответом на сообщение #3636] Mon, 06 November 2023 12:50 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Но сама теория в Crafting interpreters лучше объясняется.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3638 является ответом на сообщение #3635] Mon, 06 November 2023 12:52 Переход к предыдущему сообщениюПереход к следующему сообщению
МорскойДесант в настоящее время не в онлайне  МорскойДесант
Сообщений: 195
Зарегистрирован: September 2022
Senior Member
>Достаточно много книг по этой теме с использованием других языков, а тут паскаль.
Типа, как тупым ножом из старой ж/д шпалы вырезать копию скульптуры Огюста Родена?
Ну, ОК.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3639 является ответом на сообщение #3638] Mon, 06 November 2023 12:55 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
МорскойДесант писал(а) Mon, 06 November 2023 12:52
>Достаточно много книг по этой теме с использованием других языков, а тут паскаль.
Типа, как тупым ножом из старой ж/д шпалы вырезать копию скульптуры Огюста Родена?
Ну, ОК.
Не, ну в принципе, придумать возможное применение можно.
Например встроенный язык для какой-то своей системы.
Но это именно придумать, мне это точно не пригодится.

[Обновления: Mon, 06 November 2023 12:55]

Известить модератора

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3640 является ответом на сообщение #3639] Mon, 06 November 2023 12:58 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Кстати в паскале некоторые вещи в этой книге решаются красивее, чем на джаве в Crafting interpreters.
Это я про тупой нож. Не такой уж и тупой Smile

[Обновления: Mon, 06 November 2023 12:58]

Известить модератора

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3641 является ответом на сообщение #3598] Mon, 06 November 2023 15:32 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Вот например, мелочь, но приятно.
В яве приходится делать подобные методы, чтобы проверить символы возможные для чисел или идентификаторов. Для идентификаторов это будут цифры, буквы и подчеркивание
private boolean isDigit(char c) {
    return c >= '0' && c <= '9';
} 
в паскале это посимпатичнее

  Underscore      = ['_'];
  LoCaseLetter    = ['a'..'z'];
  UpCaseLetter    = ['A'..'Z'];
  Letters         = UpCaseLetter + LoCaseLetter;
  AlphaChars      = UpCaseLetter + LoCaseLetter + Underscore;
  NumberChars     = ['0'..'9'];
Ну и дальше в коде if ch in AlphaChars then...
Также и с токенами потом.
Красиво.

[Обновления: Mon, 06 November 2023 15:33]

Известить модератора

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3642 является ответом на сообщение #3641] Mon, 06 November 2023 15:42 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 345
Зарегистрирован: August 2022
Senior Member
"Приходится делать подобные методы" только тем, кто не осилил прочитать документацию и найти java.lang.Character

[Обновления: Mon, 06 November 2023 15:43]

Известить модератора

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3643 является ответом на сообщение #3642] Mon, 06 November 2023 15:48 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
SD писал(а) Mon, 06 November 2023 15:42
"Приходится делать подобные методы" только тем, кто не осилил прочитать документацию и найти java.lang.Character
Ну это не ко мне, а к автору бестселлера Crafting interpreters.
Не знаю, может он специально так делает для учебных целей.
С IsDidgit наверно плохой пример, но буквы+цифры+подчеркивание наверняка ведь придется делать метод?

[Обновления: Mon, 06 November 2023 15:48]

Известить модератора

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3644 является ответом на сообщение #3643] Mon, 06 November 2023 15:52 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
private boolean isAlpha(char c) {
    return (c >= 'a' && c <= 'z') ||
           (c >= 'A' && c <= 'Z') ||
            c == '_';
}

private boolean isAlphaNumeric(char c) {
    return isAlpha(c) || isDigit(c);
}

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3646 является ответом на сообщение #3641] Mon, 06 November 2023 17:44 Переход к предыдущему сообщениюПереход к следующему сообщению
МорскойДесант в настоящее время не в онлайне  МорскойДесант
Сообщений: 195
Зарегистрирован: September 2022
Senior Member
wildbill писал(а) Mon, 06 November 2023 15:32
Вот например, мелочь, но приятно.
В яве приходится делать подобные методы, чтобы проверить символы возможные для чисел или идентификаторов. Для идентификаторов это будут цифры, буквы и подчеркивание
private boolean isDigit(char c) {
    return c >= '0' && c <= '9';
} 
в паскале это посимпатичнее

  Underscore      = ['_'];
  LoCaseLetter    = ['a'..'z'];
  UpCaseLetter    = ['A'..'Z'];
  Letters         = UpCaseLetter + LoCaseLetter;
  AlphaChars      = UpCaseLetter + LoCaseLetter + Underscore;
  NumberChars     = ['0'..'9'];
Ну и дальше в коде if ch in AlphaChars then...
Также и с токенами потом.
Красиво.
Красиво, пока юникодные символы успешно транслируются в Byte.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3647 является ответом на сообщение #3646] Mon, 06 November 2023 17:51 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
"Красиво, пока юникодные символы успешно транслируются в Byte."

В данном случае ожидаются только символы английского алфавита.
Ну может быть еще русского, если делать аналог 1С.
Да тут сами по себе множества, реально ведь красиво Smile они потом и дальше используются с токенами (токены в виде Enum), ну и проверки на вхождение токена в в отдельные множества.

Не бог весть какое преимущество, я просто объясняю почему решил выбрать все-таки эту книгу из трёх.
Просто чтобы в процессе возни с пет-проектом "набивать руку" именно на паскалевских идиомах и "приёмах" .

[Обновления: Mon, 06 November 2023 17:51]

Известить модератора

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3648 является ответом на сообщение #3647] Mon, 06 November 2023 19:30 Переход к предыдущему сообщениюПереход к следующему сообщению
МорскойДесант в настоящее время не в онлайне  МорскойДесант
Сообщений: 195
Зарегистрирован: September 2022
Senior Member
>Ну может быть еще русского, если делать аналог 1С.
Чему в юникодных Delphi равно выражение
['Z', 'Ф'] = ['Z']
?
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3649 является ответом на сообщение #3648] Mon, 06 November 2023 19:44 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
МорскойДесант писал(а) Mon, 06 November 2023 19:30
>Ну может быть еще русского, если делать аналог 1С.
Чему в юникодных Delphi равно выражение
['Z', 'Ф'] = ['Z']
?
Не знаю.
Мне чтоб ответить придется искать и тестировать.

Но у меня в любом случае идентификаторы могут содержать только английские стмволы, так что с проблемами не должен столкнуться.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3650 является ответом на сообщение #3649] Mon, 06 November 2023 19:46 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
И для проверки на вхождение символа используется CharInSet.

[Обновления: Mon, 06 November 2023 19:48]

Известить модератора

Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3651 является ответом на сообщение #3650] Mon, 06 November 2023 19:49 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Ощущаю себя как на работе  отправил код на проверку, и выяснилось что опять накосячил Smile
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3652 является ответом на сообщение #3598] Mon, 06 November 2023 20:03 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Сейчас проверю.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3653 является ответом на сообщение #3652] Mon, 06 November 2023 20:06 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
['Z', 'Ф'] = ['Z']
False
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3654 является ответом на сообщение #3653] Mon, 06 November 2023 20:07 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
['Ф'] = ['Ф']
True
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3655 является ответом на сообщение #3626] Mon, 06 November 2023 20:12 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
SD писал(а) Sun, 05 November 2023 01:46
Вообще-то "создать язык и его интерпретатор" это шаблонная курсовая работа ИТ-шного ВУЗ-а... Но я так понимаю, что фенька там именно в "external tree visitor pattern" что бы это ни значило. То есть стандартную задачу решают с супер-пупер ультра-модерным подвыподвертом.
Вот кстати, сейчас подумал.
Вдруг так случится, что на эту тему наткнется студент, которому как раз надо сделать курсовую по созданию интерпретатора на паскале Smile
Для него же эта книга будет просто золотое дно!
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3657 является ответом на сообщение #3655] Tue, 07 November 2023 09:00 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Мне понравилась вот эта фраза в начале книги.

By the end of the book you’ll be an Object Pascal guru and have some knowledge of Lazarus.


Гуру обджект паскаля я правда так и не стал, но уровень поднял это точно Smile
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3660 является ответом на сообщение #3657] Tue, 07 November 2023 11:50 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 800
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
хорошая тема.
бодрит.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3661 является ответом на сообщение #3660] Tue, 07 November 2023 12:13 Переход к предыдущему сообщениюПереход к следующему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Да я не знаю что так отреагировали, просто выложил хорошую книгу )
Не так уж много хороших книг по Паскалю в последнее время.
Единственный недостаток собственно, это что на английском, но там не Шекспир, текст простой.
Re: Книга "Creating Gear: An interpreter written in Free Pascal using an external tree visitor pattern" [сообщение #3662 является ответом на сообщение #3661] Tue, 07 November 2023 12:15 Переход к предыдущему сообщению
wildbill в настоящее время не в онлайне  wildbill
Сообщений: 43
Зарегистрирован: November 2023
Member
Вот эту еще ищу пиратскую, но пока никак.

https://delphi-books.com/en/Writing-an-Interpreter-in-Object -Pascal-Part-1-The-Runtime-System.html
Предыдущая тема: Telegram bot кнопки
Следующая тема: function(Atracking_numbers:TStringList):TDictionary<string,string>
Переход к форуму:
  


Текущее время: Mon Apr 29 02:59:16 GMT+3 2024

Общее время, затраченное на создание страницы: 0.01330 секунд