Совет 1: Как написать транслятор

Существует множество языков программирования, обладающих своими уникальными особенностями. Но для того, чтобы программа, написанная на любом из них, заработала, нужно произвести ее трансляцию. Иногда языки программирования разрабатываются для собственных нужд (например, поддержка автоматизации в крупных приложениях) и тогда возникает необходимость написать транслятор.
Вам понадобится
  • - естественная грамматика или БНФ исходного языка;
  • - средства разработки.
Инструкция
1
Подготовьте данные для осуществления лексического анализа текста на исходном языке. Составьте список всех лексем языка. Разбейте их на категории (ключевые слова, числовые и строковые литералы, идентификаторы, пробельные символы, знаки пунктуации, и т.д.).
2
Реализуйте модуль или программу лексического разбора. На входе она должна получать «сырой» поток данных, а на выходе формировать список элементов, содержащих лексемы и идентификаторы их типов в той последовательности, в которой они встречаются в исходном тексте.Программа лексического разбора может представлять собой достаточно простой «одноуровневый» сканер. Реализация восстановления после ошибок не имеет смысла. Недопустимые символы должны обрабатываться как ошибки.
3
Подготовьте данные для осуществления синтаксического анализа. На основе естественной грамматики или БНФ исходного языка составьте его LL1 грамматику. На основе грамматики данного типа составьте схему синтаксического разбора в терминах категорий допустимых лексем и семантических конструкций языка.
4
Реализуйте модуль или программу синтаксического анализа. На входе она должна получать список лексем, подготовленный на этапе лексического разбора. Разработайте рекурсивные алгоритмы проверки синтаксиса, используя созданную на третьем шаге схему. При необходимости реализуйте механизмы восстановления после ошибок.Добавьте в алгоритмы синтаксического анализа функционал построения дерева вычисления функций, методов классов. При правильной структуре алгоритмов разбора данный функционал может быть внедрен без особых проблем. Это позволит избежать необходимости его реализации в виде отдельного модуля. Созданные структуры данных должны содержать списки инструкций в виде «плоских» последовательностей (арифметические выражения, развернутые в постфиксную форму, пригодную для вычисления на стековой машине, циклы, преобразованные в комбинации последовательностей вычислительных инструкций и условных или безусловных переходов, и т.д.).
5
Создайте модуль оптимизации, если это необходимо. Он должен обрабатывать и преобразовывать структуры данных, подготовленные на предыдущем шаге. Алгоритмы и методы оптимизации весьма разнообразны.
6
Разработайте генератор кода. Обрабатывая структуры, подготовленные на четвертом или пятом шагах, он должен просто преобразовывать последовательности абстрактных инструкций в команды для исполнения на конкретной платформе.
7
Создайте программу связывания (линкер), если это необходимо. Она должна производить формирование результирующего исполняемого модуля, осуществляя выбор расположения сегментов кода, вычисление адресов меток и т.д.

Совет 2: Как установить компилятор

Программировать на языке java можно в обычном Блокноте. Правда, не будет подсказок среды об ошибках или о классовых наследованиях, не будет красивой и удобной подсветки кода. К тому же, для компиляции написанного кода вам понадобится компилятор, включенный в состав Java Development Kit.
Вам понадобится
  • - программа Java Development Kit.
Инструкция
1
Загрузите Java Development Kit с официального сайта разработчика, если еще не сделали этого. Установите программу, кликнув дважды по установочному файлу. Программа распространяется бесплатно, и вам не нужно платить за ее использование. Установите на локальный диск персонального компьютера. Как правило, такое программное обеспечение должно инсталлироваться в системный раздел, так как является системной утилитой.
2
Настройте переменные среды. Операционной системе нужно указать, откуда запускать java-машину. Для этого в свойствах компьютера выберите «Дополнительные параметры», а затем — «Переменные среды». Добавьте в конец переменной path путь к установленному JDK, к папке bin. Вы можете скопировать его целиком из адресной строки «Диспетчера файлов» и вставить в поле переменной, убрав в конце лишний слэш.
3
Проверьте запуск компилятора из командной строки. Откройте утилиту командной строки из меню «Пуск». Зайдите из командной строки в папку с вашей написанной программой — в то место, где хранится основной класс с функцией main. Введите команду javac [имя файла].java
4
Если в процессе компиляции возникнут ошибки, компилятор выведет их в командную строку в виде текстового сообщения с номером строки, где возникла ошибка. Для небольших проектов такой ход работы и тестирования вполне неплох, но с большими программами лучше возиться в среде разработчика - JBeans или Eclipse. Если вы начинающий программист, можете использовать программное обеспечение Java Development Kit для обучения, а в дальнейшем уже работать с более сложными программами, которые предоставляют более обширные функции, однако требуют навыков работы с подобными системами.

Совет 3: Как программировать на ассемблере

Язык программирования ассемблер — это язык программирования низкого уровня, операторы которого соответствуют инструкциям процессора. Преобразование написанных человеком команд в понятные аппаратным средствам инструкции происходит с помощью программой ассемблер, которая и дала название языку.
Вам понадобится
  • - среды разработки GSS Visual Assembler, ASMedit, RadASM .
Инструкция
1
Загрузите и установите на винчестер компьютера среду разработчика для написания программ на ассемблере. Это может быть GSS Visual Assembler, ASMedit, RadASM и другие. Ознакомьтесь с описанием программ и рекомендациями разработчиков, чтобы сделать верный выбор. Также стоит отметить, что для программирования на ассемблере нужно знать основные команды, так как без них не одна простая программа не запустится и не будет работать.
2
Загрузите и установите транслятор (нечто наподобие компилятора в более современных языках) для перевода написанного текста программы в машинный код. Вам могут помочь MASM, RosASM, Yasm, NASM и другие.
3
Изучите правила синтаксиса и набор основных команд. Для этого вы можете воспользоваться специальными книгами, которые можете найти также в интернете. Каждый начинающий программист подбирает литературу исключительно для себя, поэтому универсальных средств изучения не существует. С помощью поисковика вы найдете массу полезной информации для начинающего программиста.
4
Попробуйте сделать примитивную программу на ассемблере. Здесь подойдет даже приме из учебника. Только упражнения на практике помогут вам понять логику работы программирования. Если в ходе выполнения операторов возникают ошибки, не бросайте начатое — обратитесь за информацией в интернет. Программный код на ассемблере имеет ряд преимуществ: такой код работает быстрее остальных, занимает мало места, легко тестируется и отлаживается и является «чистым» языком с точки зрения компьютера. Однако, он довольно непрост в изучении. Если вы с ассемблером будете хорошо работать, то в последующем без проблем сможете перейти на более сложные языки программирования.
Видео по теме
Видео по теме
Поиск
Совет полезен?
Добавить комментарий к статье
Осталось символов: 500
к
Honor 6X Premium
новая премиальная версия
узнать больше