Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Пишем свой интерпретатор языка BASIC - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Меню и список http://www.cyberforum.ru/cpp-beginners/thread41194.html
Здравствуйте форумчане. Помоги пожалуйста в следующем вопросе: У меня есть 2связный список, написано меню. Но в моменте когда написано make a list и delete custom необходимо чтобы выводились:...
C++ Здравствуйте! Не могу поместить class в один файл с программой. file.hpp #include "Cat.hpp" // здесь классы "2)" Cat::Cat(int initialAge) { itsAge = initialAge; } Cat::~Cat() { http://www.cyberforum.ru/cpp-beginners/thread41186.html
Массивы строк C++
Привет всем! Задан массив строк. Как узнать который символ встечаетса найбольшое количество раз в етом массиве?
C++ вывод на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер
Please, help me!!! Вот текст программы, которая выводит на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер только квадратов. Проблема в том, что необходимо...
C++ Округление дробного числа до целого в большую сторону. http://www.cyberforum.ru/cpp-beginners/thread41139.html
Доброго дня. Я новичок в программирование на Visual C++. Проблема такая программа должна считать кол-во месяцев, если числа целые то программа шла дальше, если дробное то (например 3.33333) ...
C++ Код из Delphi в C++ Нужно написать курсовую на C++. Сам я в программировании плохо шарю (не программист). Попросил у народу помощи, помогли. Но решение на Delphi: {$APPTYPE CONSOLE} type byteset=set of byte; ... подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
25.11.2011, 15:13
Цитата Сообщение от taras atavin Посмотреть сообщение
грамматика должна включать в себя начальный символ , или аксиому, с которой начинается получение любого предложения языка.
в терминологии контекстно-свободных грамматик существует четыре основных понятия:
  1. терминальные символы (токен) - элементарные символы языка, определяемые грамматикой
  2. нетерминалы (синтаксические переменные), описывающие множество строк терминалов способом, описываемым ниже
  3. продукции, состоящие из нетерминала (заголовок, левая часть продукции) стрелки и последовательности терминалов и/или нетерминалов (тело, правая часть продукции)
  4. один из нетерминальных символов, который указывается как стартовый (начальный)
для примера, если уж так хочется, можно рассмотреть С-подобный язык, который позволяет определять функции. Описание его грамматики может иметь такой вид (терминалы заключены в обратные кавычки, `E` - спец. терминал, который обозначает пустую строку символов, '|' - символ, с помощью которого группируются различные продукции для одного и того же нетерминала, с символа '#' начинается комментарий к самой грамматике):

Код
program -> definitions # программа - эта серия определений (функций)

definitions -> definition definitions # серия определений - это одно определение,
                                      # за кот. следует серия определений
             | `E`                    # либо пустая строка

definition -> prototype body # определение состоит из прототипа функции и ее тела

# прототип функции состоит из спецификатора типа
# возвращаемого значения, идентификатора функции,
# терминального символа `(`, списка параметров,
# терминального символа `)`
prototype -> typespec funid `(` paramlist `)` 

# список параметров состоит либо из пустой строки,
# либо из описания одного параметра, за которым следует
# терминал `,` и список параметров
paramlist -> `E` | param `,` paramlist

# описание параметра состоит из спецификатора типа #
# и идентификатора переменной-параметра
param -> typespec varid

# тело функции состоит из (возможно пустого) списка утверждений,
# заключенный в терминалы `{` и `}`
body -> `{` statements `}`

statements -> `E` | statement statements

# и так далее описываются остальные нетерминалы
Цитата Сообщение от taras atavin Посмотреть сообщение
Ну и каким символом начинаются все? Или я чего то не так понял?
а начинается все с нетерминала program
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru