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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Меню и список http://www.cyberforum.ru/cpp-beginners/thread41194.html
Здравствуйте форумчане. Помоги пожалуйста в следующем вопросе: У меня есть 2связный список, написано меню. Но в моменте когда написано make a list и delete custom необходимо чтобы выводились: Введите элемент и номер. вот сам код: #ifndef __list_h #define __list_h #include <iostream>
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!!! Вот текст программы, которая выводит на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер только квадратов. Проблема в том, что необходимо исправить код, чтоб фигуры не исчезали за экран (т.е. 640х460) и были компактным набором, т.е. двигались неменяя своего положения относительно друг друга и стукаясь об стенку экрана меняли свое...
C++ Округление дробного числа до целого в большую сторону. http://www.cyberforum.ru/cpp-beginners/thread41139.html
Доброго дня. Я новичок в программирование на Visual C++. Проблема такая программа должна считать кол-во месяцев, если числа целые то программа шла дальше, если дробное то (например 3.33333) программа не округляет это число (в большую сторону) до 4. Перелопатил тонны литературы, но пропустил или не нашёл этого, большая просьба написать функцию которая могла бы это делать, или способ какой.
C++ Код из Delphi в C++ Нужно написать курсовую на C++. Сам я в программировании плохо шарю (не программист). Попросил у народу помощи, помогли. Но решение на Delphi: {$APPTYPE CONSOLE} type byteset=set of byte; var d:array of longint; procedure c; var a,b,i:longint; подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5760 / 3409 / 255
Регистрация: 08.02.2010
Сообщений: 7,406
25.11.2011, 15:13     Пишем свой интерпретатор языка BASIC
Цитата Сообщение от 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
 
Текущее время: 07:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru