детерминированный автомат



Автор Andrey Terekhov задал вопрос в разделе Другие языки и технологии

Как создать собственный язык программирования? и получил лучший ответ

Ответ от Oleh_Huz'[гуру]
Сначала напиши свою ОС.
Надо начинать с АЛУ, а не сумматора!

Ответ от Александр Шрам[гуру]
нужно сломать систему)

Ответ от Kaiu[гуру]
По твоему вопросу "Как выучить C++ или java?" я могу только советовать в начале познать другие языки, прежде чем создавать собственный. У нас в разработке именно так, что надо сначала проанализировать все известные программы, что есть, их преимущества и недостатки, понять, а нужно ли создавать новое или лучше приобрести готовое.

Ответ от Андрей Панарин[гуру]
У нас в университете была курсовая работа на эту тему. Задача — создать программу-интерпретатор собственного языка программирования.Для начала мы придумали, из каких элементов, простых и сложных, будут состоять программы на нашем языке. Каждый такой элемент Катя зарисовала в виде диаграммы Вирта. Буква, цифра, операция, скобка, выражение, идентификатор, условный оператор, оператор цикла, операторы ввода и вывода, оператор вообще, функция, программа в целом (переменные > функции > начало > набор операторов > конец).Затем в среде C++ Builder Катя сделала окошко, в котором будет писаться код. Просто большое поле Memo, меню и панель инструментов.Что нужно для запуска кода? Компьютер не знает, что с ним делать: для него это всего лишь набор букв и цифр.Для начала нужно преобразовать код в набор лексем — минимальных смысловых единиц языка. Каждое имя переменной, каждое число, каждая строка, каждое ключевое слово, каждая операция, каждая скобка — всё это лексемы.На входе — код.На выходе — список лексем, из которых состоит этот код.Но для того, чтобы лексемы можно было интерпретировать, необходимо понять, как они между собой взаимосвязаны. Для этого я написал процедуру синтаксического анализа. При помощи детерминированных автоматов я научил эту процедуру распознавать в наборах лексем ту или иную структуру из числа описанных нами в виде диаграмм Вирта (см. выше).На входе — список лексем.На выходе — дерево разбора. С корневым элементом «программа» и дочерними элементами — блоками программы. Дерево содержит много уровней, нисходя от программы и крупных ее блоков до отдельных лексем.Затем в соответствии с рекомендациями, озвученными на лекции, Слава создал для хранения команд и данных таблицу, по которой путешествовала интерпретирующая процедура. После каждой операции процедура знала, в какую строчку таблицы ей следует идти дальше. Так и работала.На защите наш интерпретатор сломали, введя отрицательный размер массива. Но остались довольны и поставили «отл.»

Ответ от Metotron[гуру]
Вот тебе 10 статей

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Как создать собственный язык программирования?

Как создать свой язык программирования ?
В КГТУ (Технологическом университете) на третьем курсе у нас был курсовик по этой теме. Задача -
подробнее...

Что такое "детерминировать"?
Определение какого либо понятия доступным
подробнее...
спросили в Другое Алгоритм
Понятие об алгоритме (формы, свойства, виды алгоритмов)
Алгоритм – это полное и точное описание на некотором языке конечной последовательности правил,
подробнее...

Какие бывают виды управленческих решений по уровню управления и масштабу воздействия? Заранее спасибо!
По уровню управления различают решения, принимаемые на уровне:
заведующего секцией; начальника
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

необходимость согласования принятого решения
По форме подготовки и принятия разли­чают единоличные, коллегиальные и
коллективные
подробнее...

нужна помощь. что такое алфавит языка в информатике
В информатике алфавит — это множество (как правило конечное) символов или букв, например латинских
подробнее...
Конечный автомат на Википедии
Посмотрите статью на википедии про Конечный автомат
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*