bannerbanner
Введение в разработку собственного языка и компилятора. Создаем на Rust!
Введение в разработку собственного языка и компилятора. Создаем на Rust!

Полная версия

Введение в разработку собственного языка и компилятора. Создаем на Rust!

Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
2 из 2

Пример синтаксиса:

if 1 == 1 then print 1 else print 0.

Оператор print уже был упомянут, и для него мы примем синтаксис, который принимает одно выражение.

Теперь давайте попробуем написать пример программы, используя такой синтаксис.


Пример программы на созданном языке

a = 1 +2 * 3

if a == 6 then print 6 else print 0

Вот так будет выглядеть синтаксис, правильно?

1.2.2 Методы определения синтаксиса

Итак, как же нам определить синтаксис, о котором мы говорили до сих пор?

Для того чтобы программа могла быть разобрана компилятором, синтаксис должен быть определён достаточно строго, чтобы его можно было обработать компьютером. В этой книге мы будем использовать Extended Backus-Naur Form (расширенная форма Бэкуса-Наура), которая часто используется для определения синтаксиса собственных языков.


Введение в Extended Backus-Naur Form


Extended Backus-Naur Form (EBNF) – это метаязык для описания синтаксических правил, определённый в ISO/IEC 14977 [6]. В этой книге мы будем ссылаться на стандарт ISO/IEC 14977:1996

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

Конец ознакомительного фрагмента
Купить и скачать всю книгу
На страницу:
2 из 2