как написать свой интерпретатор? #110521


#0 by nitrat
сабж подскажите примеры плз.Желательно на дельфи.Хочу написать свой небольшой скриптовый язык. Необходимы свои массивы,переменные, конструкции if/then, goto, арифметичские функции. Как вообще реализовать максимальную скорость работы языка на дельфях? Как я понимаю, надо транслировать текст в строку с идентификатором функции и параметрами для неё, потом перебирать строки и передавть это в соответствующие функции. Какие конструкции в дельфях лучше для этого использовать?
#1 by Волшебник
зачем? почему бы не взять готовые? Написать свой интерпретатор с таким представлением о грамматиках языков - гиблое дело
#2 by nitrat
где можно посмотреть готовые на дельфях?
#3 by Волшебник
Почему именно на Delphi?
#4 by anonymous_2957674728
Читай Там есть лабораторные работы для студентов по написанию трансляторов, они помогут осознать - надо ли писать свой транслятор.
#5 by nitrat
потому, что он мне больше доступен :)
#6 by nitrat
to
#7 by Волшебник
Кстати, для проверки своей квалификации напиши для начала калькулятор, позволяющий вычислять выражения. Он должен поддерживать всю арифметику и тригонометрические функции. Если получится, то он тебе пригодится в дальнейшем. Потому что выражения составляют почти центральную часть любого языка программирования. Написание формульных калькуляторов - частая задача для курсовых проектов и в сети можно найти много готовых, почти на любых языках программирования.
#8 by anonymous_2957674728
вот точнее ссылка.
#9 by Прапорщик Задов
используй Perl
#10 by nitrat
нужен очень примитивный язык
#11 by колодина
однозначно на ассемблере...
#12 by Волшебник
Зачем заранее ограничивать возможности языка? Пусть он будет самым гибким и универсальным. Создай для него контекст, в котором он будет выполняться, библиотечные процедуры и функции, специфичные для твоего применения. Возьми, например, VBA. Ты, кстати, так и не ответил, зачем все это затеялось? Курсовик?
#13 by Волшебник
На ассемблере уже мало что пишется. Даже компиляторы легче написать на С или Perl.
#14 by nitrat
спасибо спросил чтобы не изобретать велосипед, думал есть прециденты.Курсовые - интересная мысль.Может у кого есть готовый подобный курсяк?
#15 by nitrat
для работы с ком-портом удалённо, скрипт будет грузиться через инет  и потери скорости не будет
#16 by Волшебник
Можно поподробнее? Начинает попахивать жареным...
#17 by Unforgiven
Ни чо се ты завернул..... С ком - портом удаленно.... Хотя.....
#18 by nitrat
работа с своим устройством на микроконтроллере. Интерфейс для работы с устройством примитивный.
#19 by nitrat
для надёжности лучше скрипт
#20 by zzzzz
Скрипт для надежности? Для работы с компортом, тем более удаленно не нужно писать транслятор. Одной из основных проблем, которые возникают при работе с компортом, является время. Особенно это касается своих устройств. Я видел ошибки, которые допускали при этом высококлассные спецы. Подвесить устройство, особенно если возникает обрыв связи, проблем не составит.
#21 by nitrat
я видел отличные ошибки таких высококласных спецов , по сравнению с которыми ошибки высококласных спецов которых видел ты - высококласные приёмы программирования
#22 by GrayT
Тогда уж огласи чт за микроконтроллер. А то ведь может ему просто прогу загрузить можно, а потом управление передать. И что за задача такая - полный универсализм на микроконтоллере?
#23 by nitrat
atmel , можно так , но это чревато ;). "апишная" работа более безопасна для авторского права.
#24 by evGenius
Я как-то писал транслятор подмножества бейсика в си, но делал это с помощью lex/yacc. Они генерируют исходник транслятора на си. Потом компилишь и получаешь экзешник.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С