Понедельник, 16 Сентября 2019, 02:04

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Интерпритация команд
Интерпритация команд
masb8ly-GCДата: Среда, 21 Декабря 2011, 22:20 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Здравствуйте! Собрался писать движок для текстовых игр, но давно хотел попробовать написать интерпритатор. Поетому хочу попробовать совместить эти 2 идеи и написать нечто вроде конструктора со скриптовым языком. Задача действительно сложная, но мне это интересно и я хочу довести до конца. Вопрос в том, как интерпритировать команды? Тоесть как приравнивать команду введенную тобой в интерпритатор к определенной команде или функции в делфи?

Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
MatouДата: Среда, 21 Декабря 2011, 23:07 | Сообщение # 2
Исходный коТ
Сейчас нет на сайте
Ну если тебе так интересно, то прочитай книгу красного дракона, например. Тебе даже все не нужно читать, главное разобраться с лексическим и синтаксическим анализатором.


masb8ly-GCДата: Среда, 21 Декабря 2011, 23:10 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Прошу прощения за возможно глупый вопрос, но что за книга "Красного Дракона"?

Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
noTformaTДата: Среда, 21 Декабря 2011, 23:15 | Сообщение # 4
Ukrainian independent game developer
Сейчас нет на сайте
Quote (masb8ly-GC)
"Красного Дракона"?

это книга одна из серии Драгон Бук. Есть зеленая, красная, и фиолетовая кажись.


@noTformaT
masb8ly-GCДата: Среда, 21 Декабря 2011, 23:18 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
К сожалению я не очень хорошо дружу с английским языком. Есть ли перевод данной книги? Если нет буду мирится уже)

Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
MatouДата: Среда, 21 Декабря 2011, 23:21 | Сообщение # 6
Исходный коТ
Сейчас нет на сайте
Есть первод и в сети эту книгу найти просто.
Ахо А.В., Сети Р., Ульман Д.Д. Компиляторы: принципы, технологии и инструменты



masb8ly-GCДата: Среда, 21 Декабря 2011, 23:23 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Премного благодарен! На досуге ознакомлюсь с книгой)

Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
noTformaTДата: Среда, 21 Декабря 2011, 23:23 | Сообщение # 8
Ukrainian independent game developer
Сейчас нет на сайте
Quote (masb8ly-GC)
К сожалению я не очень хорошо дружу с английским языком. Есть ли перевод данной книги? Если нет буду мирится уже)

перевод есть. Фиолетовой книги переводы я не встречал, а вот зеленой видел... если что, есть еще Карпов и его книга Основы построения трансляторов... Там в конце есть список литературы по интерпретаторам и трансляторам.

Но, если решился на такой подвиг, то не знать англ это как-то не торт.. ИМХО.


@noTformaT
MatouДата: Среда, 21 Декабря 2011, 23:25 | Сообщение # 9
Исходный коТ
Сейчас нет на сайте
Quote (noTformaT)
Но, если решился на такой подвиг, то не знать англ это как-то не торт..

Как человек не знающий английского, я гарантирую это!



masb8ly-GCДата: Среда, 21 Декабря 2011, 23:36 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Ну я могу читать на английском и прекрасно его понимаю, но вот писать на нем я не могу) Впринципе не так критично)

Backend Developer ESIS
Client Side Developer Room8Studio
Technical Leader Lucid Reality Labs
Chief Technology Officer The Intruders
TimKruzДата: Четверг, 22 Декабря 2011, 11:47 | Сообщение # 11
старожил
Сейчас нет на сайте
Можно сделать просто. "Скрипт" анализируется на ошибки, исправляется и обрабатывается, чтобы получить список команд. Затем в цикле: берётся первая команда и, если такая существует (поддерживается интерпретатором), выполняется. Например: if c1='WRITE ' then write(c2). Ну, конечно, так же делаются и конструкции. (if, for и т.д.) Ничего сложного не вижу.

StageДата: Четверг, 22 Декабря 2011, 13:47 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
Quote
Можно сделать просто. "Скрипт" анализируется на ошибки, исправляется и обрабатывается, чтобы получить список команд. Затем в цикле: берётся первая команда и, если такая существует (поддерживается интерпретатором), выполняется. Например: if c1='WRITE ' then write(c2). Ну, конечно, так же делаются и конструкции. (if, for и т.д.) Ничего сложного не вижу.

Школоподелка? Про лексический анализ и дальнейший парсинг видимо не слышали.
TimKruzДата: Четверг, 22 Декабря 2011, 16:29 | Сообщение # 13
старожил
Сейчас нет на сайте
Quote (Stage)
Школоподелка?

В школе такое не проходят. Сам придумал. Для не сложных целей (без ООП и прочего) подойдёт.
Quote (Stage)
Про лексический анализ и дальнейший парсинг видимо не слышали.

Ну примерно это я и имел в виду... В двух словах если.


Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Интерпритация команд
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2019 Рейтинг