Шаблон для разбора логотипа черепахи - PullRequest
0 голосов
/ 28 октября 2011

В википедии Logo Programming - это мультипарадигмальный язык программирования, используемый в образовании. Я хочу сделать приложение, как TurtleGraphicEditor (который использует программирование логотипа), используя C #. Я хочу, чтобы каждая команда логотипа действовала как метод, пример команды «forward val» действовал как «forward (float val)» и т. Д. Что такое шаблон проектирования, который подходит для анализа кода логотипа?

Ответы [ 2 ]

2 голосов
/ 28 октября 2011

Это очень общий вопрос.Вот некоторые темы, которые вы можете прочитать:

  • лексеры
  • парсеры (как вы уже упоминали)
  • деревья абстрактного синтаксиса
  • компиляторы
  • доменные языки
  • интерпретаторы

Общий дизайн для такого приложения может состоять из двух основных компонентов:

  1. readtext, lex и синтаксический анализ в абстрактном синтаксическом дереве
  2. обход синтаксического дерева, либо его оценка, либо преобразование (компиляция) в исходный код на другом языке

Но будьте осторожны!Это не тривиально!

0 голосов
/ 28 октября 2011

Переводчик - идеальное решение

...