|
0 / 0 / 0
Регистрация: 12.11.2011
Сообщений: 7
|
||||||
Написать Интерпретатор Программного Языка(собственного)20.12.2011, 17:06. Показов 12644. Ответов 14
Метки нет (Все метки)
Здраствуйте!
Кто знает C++ помогите пожалуйста с реализацией данного задания!!! Пожалуйста, очень надо. сроки поджимают. Есть готовый код, но там считывается код с клавиатуры и записывается в фаил. Как мне сделать, чтобы считывался код с клавиатуры и сразу исполнялся? Задание Написать интерпретатор программного языка (далее называемого В.*) Программа должна считывать код на языке В.* с клавиатуры и исполнять этот код Синтаксис языка: • Программная строка начинается с символа «:» (двоеточие), строка с комментарием начинается с символа «-» (минус). • Строка может содержать только одну операцию. • Переменные не декларируются заранее, их тип определяется при первом использовании. • Типы данных $ – строка, % – число с плавающей запятой (вводятся с запятой а не с точкой), @ – целое число. • Переменные могут быть преобразованы временно в другой тип, если при их последующем использовании они обозначены как другой тип данных. • Каждый тип данных должен уметь преобразовываться в другой (например число в строку, или целое число в число с плавающей запятой). • Операция > может означать: ◦ Ввод с клавиатуры, если она является первой после : ◦ Вывод на экран, если она является последней на строке. ◦ Запись данных из переменной или константы слева в переменную с права. • Константы пишутся в одинарных кавычках (вне зависимости от типа данных). • Операция & – это операция «наоборот» ◦ переписывает строку в обратном порядке символов в ней ◦ с численными переменными она меняет их значение с положительного на отрицательное • Программа заканчивается строкой начинающейся с «^». Пример программы на языке : - Это пример программы - считываем строку с клавиатуры :>$a - переписываем строку задом на перёд :&a - выводим строку на экран :a> - записываем строку из двух пробелов в переменную s :' '>$s - выводим пробелы на экран :s> - записываем длину строки a в чело-численную переменную b :#a>@b - выводим значение b на экран :b> - записываем число 1,8 в переменную с плавающей запятой :'1,8'>%c - выводим на экран :c> - выводим на экран переменную преобразованную в целое число :@c> ^
0
|
||||||
| 20.12.2011, 17:06 | |
|
Ответы с готовыми решениями:
14
Написать интерпретатор программного языка -помощь Не удается откомпилировать интерпретатор М-языка Интерпретатор небольшого языка программирования на С++ |
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
| 20.12.2011, 19:50 | |
|
Операция # у вас в примере есть, а в задании не описана.
1
|
|
|
0 / 0 / 0
Регистрация: 12.11.2011
Сообщений: 7
|
|
| 21.12.2011, 11:25 [ТС] | |
|
Хмм.. есть такое, надо будет подправить. Как мне код изменить чтобы, сразу исполнялись команды,а не в фаил записывались?
Добавлено через 15 часов 0 минут Ребят. Кто сможет переписать код под моё задание. Иду на крайности, оплачу! (конечно в рамках разумного)
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||
| 24.12.2011, 10:31 | ||||||
Сообщение было отмечено как решение
Решение
3
|
||||||
|
|
|
| 24.12.2011, 11:52 | |
|
Очень интересное задание. С одной стороны это уже не тупые типовые задачи, с другой стороны тут пока нет архисложностей. Такую задачу надо бы рекомендовать начинающим, которые хотят развиваться самостоятельно
0
|
|
|
0 / 0 / 0
Регистрация: 12.11.2011
Сообщений: 7
|
|
| 24.12.2011, 12:33 [ТС] | |
|
Выражаю Вам огромную благодарность Mr.X!!! чтобы я без вас делал.
Конечно, кто действительно учится на программиста или хочет познать самостоятельно с++, это будет очень полезно. У меня просто ни 1й ни 2й случай. Поставили нам программирование в семестре, так чтобы было, толку от этого нету. Преподаватель мало того, что ничего не дает толкового, ни материла, ни пояснений. Кидается с одного раздела в другой. Ссылается, чтобы мы его сами изучали. А тут профильные предметы, которым больше отдаешь предпочтение. вот такая история. Ещё раз огромное спасибо Вам.
0
|
|
|
|
||
| 24.12.2011, 14:52 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 12.11.2011
Сообщений: 7
|
|
| 24.12.2011, 17:22 [ТС] | |
|
Видно я не правильно выразился, извините.
Преподаватель у нас очень грамотный, все задачи его собственной формулировки, знает всё это только так. Сам он в Англии учился. В общем опытный программист. Но здесь дело в том, то что он кидает нас сразу в сложные разделы, мы скачем по разделам только так, толком не освоив предыдущий. т.е. он даёт нам материал, как будто мы уже знаем базовые навыки с++. Но мы с++ до этого не изучали, знаний 0 по нему, поэтому вот так получается Я считаю, немного не правильный подход с его стороны. Хотя может быть я не прав. Скажите мне пожалуйста, за 3 месяца можно хорошо освоить с++? Ведь для этого задания нужны хорошие знания, я так понимаю.
0
|
|
|
|
||
| 24.12.2011, 17:41 | ||
|
Любой грамотный преподаватель в институте хорошо понимает, что если человек до института никогда не занимался программированием, то нормальный программист из него уже вряд ли получится. Ваш скорее всего ориентируется на тех, кто в вашей группе уже занимается программированием самостоятельно, а на остальных ему по большому счёту пофиг. Не исключаю даже, что задание - это обычная профанация из разряда "если сам не решит, так хотя бы пусть напряжётся и побегает в поиске решения". Даже не удивлюсь, если при приёме заданий он будет серьёзно спрашивать с тех, кто разбирается в вопросе и халявно подойдёт к тем, кому программирование не нужно.
0
|
||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||
| 24.12.2011, 21:06 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 12.11.2011
Сообщений: 7
|
|
| 24.12.2011, 22:47 [ТС] | |
|
Согласен с высказыванием выше. Алгоритм то ясен задания мне, к тому же могу написать это задание в Pacal. Но чтобы написать на c++ программу, надо знать сам язык, его синтаксис и т.д. Ведь так ли.
От нас требуют именно на си++ и ничего другое. Поэтому надо с нуля осваивать синтаксис с++.
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 24.12.2011, 23:24 | |
|
Евгений_Klug, ваш вопрос стоял так: нужны ли для выполнения данного задания хорошие знания языка С++. Мой ответ: нет, достаточно начальных знаний. Получить эти начальные знания можно за пару недель, просто-напросто освоив синтаксис. Тем более вы знаете паскаль, а принципы во всех императивных языках одинаковые (не берём в расчёт, что С++ - язык с поддержкой ООП, в данной задаче хватит процедурного программирования).
0
|
|
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||
| 28.12.2011, 11:16 | ||||||
|
Написал вариант, близкий к методу рекурсивного спуска:
1
|
||||||
|
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
|
|
| 28.12.2011, 11:21 | |
|
0
|
|
|
15 / 13 / 4
Регистрация: 16.08.2018
Сообщений: 125
|
|
| 02.11.2018, 09:16 | |
|
Чтобы читалось с клавиатуры строку за строкой -- пиши getline(std::cin,<объект класса String>) И оно будет читать строку, потом просто обрабатывай эту строчку.
0
|
|
| 02.11.2018, 09:16 | |
|
Помогаю со студенческими работами здесь
15
Интерпретатор/компилятор ассемблер-подобного языка Пишем свой интерпретатор языка BASIC
Транслятор собственного языка Интерпретатор собственного языка на Delphi Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|