Браузерный компилятор для языка, определенного с помощью Бэкуса-Наура Формы (БНФ).
Данное приложение является портом C# проекта Compiler-for-BNF на JavaScript. Он позволяет вводить и анализировать код в соответствии с определенной БНФ-грамматикой.
- Лексический анализ входного кода
- Синтаксический анализ и проверка на соответствие грамматике
- Выполнение вычислений
- Вывод результатов в восьмеричной системе счисления
- Подсветка ошибок в коде
- Откройте файл
index.htmlв вашем браузере - В правой части введите код для анализа или используйте предварительно загруженный пример
- Нажмите кнопку "Компилировать"
- Результат выполнения или сообщение об ошибке будет показано в правой части экрана
Начало
First A, B, C
Second 1
Second 56 36 21
First D, E, F
3, 4 Конец слагаемого
1: A = 2
2: D = 5 + A
3: C = (((10 + D)+5)*2-10)/7
4: C = C + 10
Конец
Язык = "Начало" Множество ... Множество Слагаемое Опер ... Опер "Конец"
Множество = "First" Перем "," ... Перем ! "Second" Цел ... Цел
Слагаемое = Цел "," ... Цел "Конец слагаемого"
Опер = Метка ... Метка ":" Перем "=" Прав.часть
Прав.часть = </"-"/> выр1 ["+" ! "-"] ... выр1
Выр1 = выр2["*" ! "/"] ... выр2
Выр2 = выр3 ["&" ! "|"] ... выр3
Выр3 = </"not"/> выр4
Выр4 = Перем! цел! "(" Прав.часть ")"
Перем = Буква </[Буква ! Цифра] ... [Буква ! Цифра]/>
Метка = Цел
Цел = Цифра ... Цифра
Буква = "А" ! "Б" ! "В" ! ... ! "Я" ! "A" ! "B" ! "C" ! ... ! "Z"
Цифра = "0" ! "1" ! ... ! "7"