Форум программистов, компьютерный форум 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; ... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18026 / 6258 / 427
Регистрация: 30.03.2009
Сообщений: 17,184
Записей в блоге: 27
25.08.2009, 15:29
Итого, примерно надумал следующее. Ввожу понятие типа, который может быть целочисленный (NUMERIC), строковой (STRING) и логический (LOGICAL). Переменные могут быть только первых двух типов, промежуточное значение выражения - всех трёх. Тип изначально является свойством значения (Value), но при этом засовывается в Variable и Expression, поскольку они так же оперируют значениями. Целочисленный тип разбиваю далее на два подтипа: целый и плавающий. Любые двухаргументные операции разрешены только над одинаковыми типами (в этом отношении int и float имеют одинаковый тип NUMERIC). Присваивание разрешено только для одинаковых типов

На текущий момент есть вроде бы всё основное: переменные, арифметика, операции управления, строки, массивы (в том числе и многомерные). Для полного сачтья надо поддержать встроенные функции (обычно их называют термином "builtin functions" или сокращённо просто "builtin"). Ну и с технической стороны надо поддержать пользовательские метки, FOR'ы, нормально поддержать двухсимвольные операции сравнения (">=", "<=", "<>"), но это всё уже мелкая работа, т.к. структуру уже затрагивать не должно - просто будет допиливаться код.

Что мне сейчас не нравится принципиально - это реализация строк. Она сделана в виде массива, а потому структура Value получается большой. Нормально строку надо хранить не по значению, а по косвенности, но в Си это означает мегагеморрой с динамической памятью, слежение за удалением и копированием и т.п. А вот на Си++ это делается нормально за счёт деструкторов и реализации конструктора копирования (либо ваще тупо использовать стандартный String)

Собственно программу выдаю для изучения того, как всё это примерно выглядит. Понятно, что тебе не нужно пытаться всё это повторить. Делай так, как понимаешь. Но с моей прогой возможно удетнекое общее понятие того, что в итоге должно быть. Словами это фиг объяснишь

Выкладываю опять в двух вариантах: basic.rar в кодировке KOI-8 и basic_w.rar в кодировке WIN-1251
1
Вложения
Тип файла: rar basic.rar (27.0 Кб, 23 просмотров)
Тип файла: rar basic_w.rar (27.4 Кб, 34 просмотров)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru