Создание своего языка программирования | Интепретатор в C/C++

Автор Elena Batratskaya
Создание своего языка программирования | Интепретатор в C/C++

Приветствую тебя в новом уроки дорогой друг.

Сегодня мы будем интерпретировать на Skoda на нашем языке программирования в силе си плюс плюс кот и так все необходимые программы. Я уже открыл. Давайте перейдем.

Наш саблайм текст откроем наш parser.me с и будем производить дальнейшее улучшение во-первых нам не создать 3 переменных которая будет содержать три необходимых нам блока в интерпретации и так у нас 3 переменных 1 переменная это.

Старт здесь содержится начала нашей программы на языке си или си плюс плюс далее я буду говорить просто на языке си если вам будет в дальнейшем делать нашего языка в си плюс плюс 100 данное начало претерпит совсем небольшие изменения теперь давайте рассмотрим, что здесь написано во-первых мы подключаем стандарт библиотеку для ввода и вывода данных далее мы создаем главную функцию которая будет находиться. Наш кот далее мы создаем переменную с нашим кодом которая пока, что равняется нал и создаём переменную с концом нашей программы она будет возвращать 0 и здесь доля. Перенос строки идёт и закрывающая скобка от функции Main и так как вы же понимаете после цикла после того как мы будем обрабатывать нашу функцию мы будем возвращать их сумму то есть Start + gerund + N у нас получится одна строка с нашей программы на си. Теперь давайте определим нашу. Коран в переменную и так будет равняться результаты выполнения вот этой вот функции вроде бы кажется всё просто. Но как — это может работать для того чтобы — это заработала. Нам необходимо сейчас наш. Файлик Dictionary JS здесь будет необходимое нам действия реализованной и далее. Я думал вы поймёте. По какому принципу будет работать наш язык программирования и так пока, что наши функция Print принимает только л — это у нас значение самой переменной. Давайте здесь передавать полностью объект с нашей переменной в котором также будет держаться типы и подтипы зависимости от того всё-таки какое — это значение и так мы переехали сюда бойлер обжиг теперь нам необходимо создать переменную. Тип и записать сюда какой либо тип наши переменной давайте пока, что обозначь вот таким вот образом, что — это конструкция обозначает все есть такая функция Print ф. Принт ф выводят необходимое нам значение, но дело, что она принимает 2 параметра первый — это тип самого значения. А второе — это ну именно переменная которая мы будем выводить тип значение которое она принимает весьма нестандартный тип. Чар то мы будем писать процент C если у нас тип интеджер мы будем писать процент если тип float процент F если тип string процент. Ну и. Дали зависеть от того какая у нас переменная мы будем добавлять к вот этому. Вот значению необходимую нам букву давайте сейчас напишем полностью условий. Я уже объяснил детально как — это будет работать и так в зависимости от того какой тип у нашей переменной мы будем выводить её с соответствующим значением смотрите у нас если тип нашей переменной. Чар там и добавляем к вот этому символу ещё буковку C и получается у нас процент C если тип string то мы добавляем буковку с если тип интеджер буковку если тип float F если. Андрюхин тоже я добавляю буковку с. То есть она будет выводиться просто как. И если вообще ни один из вышеперечисленных типов у нас не соответствует типу нашей переменной ты мы водим ошибку и выходим полностью из нашего кода то есть по сути — это будет фатальная ошибка и далее. Если всё в порядке. Это мы возвращаем функцию. Принт ф хочу сообщить вам, что я использую es6 синтаксис поэтому я использую вот такие вот кавычки. Как вы уже думаю заметили они позволяют вводить многострочный текст, а также делать вставки. То есть я в переменную Type. Вставил в строку с помощью доллар и вот этих вот кавычек. Я бы мог использовать обычные вот такие вот кавычки и, тогда бы. Я добавлялся переменную Type и делала такое. Ты некрасивый кот. Но я считаю, что есть позволяет — это делать более красивой более скажем так читабельно то нужно — это использовать. Ну вот таким образом я встал переменную Type. И переменную. я тоже вставил то есть мы её никак не проверяемых просто её берём из вот этого вот объекта она также я не учёл, что интернет у нас бывает нескольких типов 1 potty Pad Infinity и второй подтип — это у нас собственно адекватные наш интерьер. Давай уберем. Зато сокращённую конструкцию добавим здесь кавычки и далее напишем. А если у нас существует SAP Type Infiniti то мы будем выводить ошибку пока, что мы не будем создавать здесь Long int тип. Ну или что-то вроде этого просто пока вы видимо ошибку и в принципе у нас получается адекватная функция Print которая принимает объект и возвращает нам строку далее как выполнил эту стройку записан. Вот вот вот переменную и далее. Она получается у нас появляется между Start и между N и так теперь посмотрим у нас здесь возвращается полностью скажем так строка с готовым нашим годом носи доля. Давайте придём в наш индекс.. Джес и здесь создадим переменную parsestring в переменной parsestring у нас хранится результат выполнения нашего пар, а именно то, что вернет вот этот вот вот — это вот выражение и так давайте вы видим — это в консоль. И как вы видите у нас вывелся вот такой вот кот. Сперва наперво он вполне адекватный. Ну то есть те люди которые программирование на си поймут его, но также у нас появилась то, что функция плюс не зарегистрирована. Давайте перейдём в наш тест. лент и смотрим действительно здесь есть функция плюс которой нет в нашем словаре. Давайте уберём. То есть пока что.

0 комментариев
0

Читайте также