Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ функцыя структур https://www.cyberforum.ru/ cpp-beginners/ thread515615.html
В програмі використати функції користувача У масиві що складаеться з 20 цілих елементів обчислити 1 номер мінімального елементу массиву 2 суму елементів масиву розташованого між першім і другим відемними елементами 3 перетворити масив так щоб спочатку розташовувалися всі елементи модуль яких не перевищую 5 а потім всі інші Официальным языком форума является русский язык.
Чтение нескольких строк C++
Подскажите пожалуйста как сделать следующее: дан файл в котором 2 строки. Первую из этих строк записать в str1, вторую в str2. Строки разделены enter-ом, то есть одна под другой.
C++ Можно ли представить структуру как элемент массива, т е массив состоящий из однотипных структур Можно ли представить структуру как элемент массива, т е массив состоящий из однотипных структур https://www.cyberforum.ru/ cpp-beginners/ thread515602.html C++ Ugadai chislo programma Computer zagadivaet chislo, i vi doljni dogadat chislo. Esli dogadali +50 ballov else -10 ballov. Pervonachalnoe ball 100. i eshe kogda igrok ne hochet igrat nado zakonchit programmu, kak eto zdelat pomogite. #include "stdio.h" #include "conio.h" #include "stdlib.h" #include "time.h" #define N 3 #define DEBUG // https://www.cyberforum.ru/ cpp-beginners/ thread515594.html
C++ Дана матрица размера M × N 2 задача
Дана матрица размера M × N. После последнего столбца, содержащего только отрицательные элементы, вставить столбец из нулей. Если требуемых столбцов нет, то вывести матрицу без изменений.
C++ Дана матрица размера M × N https://www.cyberforum.ru/ cpp-beginners/ thread515579.html
Дана матрица размера M × N. Найти максимальный среди элементов тех столбцов, которые упорядочены либо по возрастанию, либо по убыванию. Если упорядоченные столбцы в матрице отсутствуют, то вывести 0.
C++ Подсчет кол-ва инверсий https://www.cyberforum.ru/ cpp-beginners/ thread515571.html
Здравствуйте, помогите разобраться с ошибкой. Компилирую код, а компилятор (VS 2010 ) выдает ошибку, не могу понять что делать. #include <iostream> #include <vector> using namespace std;
C++ Кружок хорового пения
Кружок хорового пения В некотором учебном заведении функционирует кружок хорового пения. Начало кружка всегда происходит единообразно: по сигналу руководителя кружка ВСЕ n УЧАСТНИКОВ становятся в круг и КАЖДЫЙ m-й для распевки поёт гамму. Руководитель кружка заметил, что размять голосовые связки не всегда удаётся всем участникам кружка. По заданным n и m помогите ему определить, или в...
C++ Хэш-таблица. Метод цепочек. C++ Уважаемые, программисты, задание звучит так: "Таблица строится по методу цепочек с использованием хеш-функции, возвращающей сумму двух первых букв идентификатора." Судя из задания созрело несколько вопросов: 1) "...возвращающей сумму двух первых букв идентификатора". Сумма первых двух букв идентификатора - это сумма АСКИ-кодов этих букв, так? 2) Напишите, пожалуйста, очень простой пример... https://www.cyberforum.ru/ cpp-beginners/ thread515554.html C++ Написать программу с определенными функциями (не объектно-ориентированное программирование) https://www.cyberforum.ru/ cpp-beginners/ thread515537.html
Предметная область – центр повышения квалификации. Объект – дисциплина (курс). Данные об объекте:  наименование;  преподаватель;  количество часов;  оплата;  число человек в группе. Функции: 1. Подсчитать среднее количество человек, приходящихся на одного преподавателя (учесть, что каждый преподаватель может вести несколько групп). 2. Вывести названия курсов, которые ведут...
C++ Работа в графическом режиме. Графические примитивы, движение объектов.
В соответствии с возникающими ассоциациями от словесного описания картины, нарисовать ее графический аналог. Использовать различные цвета, функции рисования, эффекты анимации. На рисунке ОБЯЗАТЕЛЬНО должен присутствовать ДВИЖУЩИЙСЯ ОБЪЕКТ! Поляна, трава, цветы, бабочки, пчелы.
C++ Почему не возвращается значение через указатель из метода класса? https://www.cyberforum.ru/ cpp-beginners/ thread515511.html
Вот решил проверить поведение указателя в программе (я только учу C++), как оказалось после выхода из метода, указатель не указывает на присвоеное ему значение внутри тела метода. Почему так происходит? TestingCPPSyntax.h #pragma once namespace Casper { class TestingCPPSyntax { public: TestingCPPSyntax(void); ~TestingCPPSyntax(void);
153 / 110 / 0
Регистрация: 08.02.2012
Сообщений: 202
14.03.2012, 11:22 0

Конструирование транслятора для модельного языка. Литература по LEX/YACC - C++ - Ответ 2787513

14.03.2012, 11:22. Показов 4975. Ответов 12
Метки (Все метки)

Ответ

Чистая грамматика
Expr->ident := NumExpr ;
NumExpr-> Term {+|- NumExpr}
Term->Multiplier {*|/ Term}
Multiplier->ident|number| ( NumExpr)

Все что в <> атрибуты. Транслируются в параметры функции
Все что в (. .) семантические правила. При трансляции просто вставляются в код.

Отладка такого кода делится на 2 этапа:
1. Отладка самой грамматики. Тогда генератор ругается непонятными словами типа факторизация или левая рекурсия.
2. Отладка кода, который мы нагенерировали. Генератор не проверяет то что вы там написали в скобках, а честно их вставляет в код. Дальше дело за компилятором. Иногда чтобы понять что не так нужно залесть прямо в код.

Пример функции для первого правила:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void Parser::expr() {
        std::wstring str;
        std::wstring s,s1,s2,s3,s4; 
        Expect(1);
        s1=t->val;
        Expect(3);
        NumExpr(s2);
        Expect(4);
        str+=s1; str+=s2; str+=L":=\n";
        while (la->kind == 1) {
            Get();
            s3=t->val; s4=L"";
            Expect(3);
            NumExpr(s4);
            Expect(4);
            s+=s3;  s+=s4; s+=L":=\n"; 
        }
        str+=s;
        std::wofstream outfile ("out.txt", std::ios_base::out);
        outfile << str << std::endl;          
        outfile.close();
            
}


Вернуться к обсуждению:
Конструирование транслятора для модельного языка. Литература по LEX/YACC C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2012, 11:22
Готовые ответы и решения:

Lex и Yacc
Привет всем!=) может кто-нибудь кинуть литературу по Lex и Yacc, уж очень надо=) заранее...

Литература для языка C
Подскажите пожалуйста полезную литературу для изучения языка С c нулевого уровня!

Литература для создания элементарного языка управляющих сигналов и интерпретатора для него
Доброго времени суток! Подскажите, с чего начать при создании? Нужно придумать элементарный язык...

Lex и YACC
Здравствуйте дорогие форумчане! Есть специалисты, разбирающиеся в LEX и YACC? Нужна ваша помощь в...

12
14.03.2012, 11:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2012, 11:22
Помогаю со студенческими работами здесь

Lex и Yacc
Дано задание: Транслятор произвольных логических выражений в ДНФ Разработать язык описания...

Синтаксическая ошибка (Lex, Yacc)
Доброго времени суток. Пишу калькулятор при помощи Lex/Yacc. Сам счет происходит правильно, но...

Lex и YACC Конечные автоматы.
Пожалуйста, приведите простейшие примеры кода (любых) работоспособных конечных автоматов на LEX и...

Lex&Yacc + iOS
Привет, у меня небольшой вопрос, не особо надеюсь что ктото поможеть, но все же ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru