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

Показать сообщение отдельно
#pragma
Временно недоступен
 Аватар для #pragma
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
24.10.2010, 23:19  [ТС]     Пишем свой интерпретатор языка BASIC
Заработал некий кастрированный вариант SUB с рекурсией, начиная с версии 0.84 .До переполнения стека я не дождался,как-нибудь попробую,к тому же,там через метки перехода сделано,а все данные в динамической памяти,так что,наверное,долго ждать нужно. Для теста можно использовать исходник ниже (или запустить главный исходник из каталога tests - /tests/sources/source.bas):

QBASIC source
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  LET b$ = "bbb"
  PRINT "Original b$ before function call: ",b$:PRINT
  
  DIM SHARED count AS INTEGER
  LET count = 0
 
   '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
   SUB myfunc 
   
      PRINT
      
      LET b$ = "Let there be recursion."
      PRINT "b$ inside function call: ", b$:PRINT
      
      PRINT
      LET count = count + 1
      IF count < 10 THEN
       CALL myfunc
      END IF 
      
   END SUB
   '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
   CALL myfunc
   '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
   PRINT "b$ after funtion call: ",b$:PRINT


Конечно,данный вариант рекурсии имеет мало смысла, но по крайней мере,механизм рекурсии сам по себе вроде работает.
Если кто найдёт баги,ломающие интерпретатор (с помощью QBASIC-исходника имеется ввиду) - пишите.
Осталось добавить работу с параметрами,и FUNCTION,возвращающую значение.
Теперь потихоньку разгебу бардак с памятью (мне опять нетерпелось сделать поскорее,чтобы увидеть результат рекурсии). Фуккции,конечно,внесли много запутанности в логику работы,в логику кода вообще,так как изначально было не понятно,как всё это реализовывать.
 
Текущее время: 05:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru