Anonymous
Проектирование компилятора LR Parser
Сообщение
Anonymous » 18 апр 2024, 00:55
Написание компилятора для определения, удовлетворяют ли следующие входные строки заданной конфигурации CFG или нет (1) "(i+i)i$" (2) "(i)$" строит мой проект но создается исключение
Исключение, созданное по адресу 0x00007FF883BDCF19 в Cpsc323Handout8.exe: исключение Microsoft C++: std::bad_alloc в ячейке памяти 0x0000004B15CFECD0
Код: Выделить всё
#include
#include
#include
#include
using namespace std;
string table[16][11] =
{ {"S5", "blank", "blank", "blank", "blank", "S4", "blank", "blank", "1", "2", "3"},
{"blank", "S6", "S7", "blank", "blank", "blank", "blank", "ACC", "blank", "blank", "blank"},
{"blank", "R3", "R3", "S8", "S9", "blank", "R3", "R3", "blank", "blank", "blank"},
{"blank", "R6", "R6", "R6", "R6", "blank", "R8", "R8", "blank", "blank", "blank"},
{"S5", "blank", "blank", "blank", "blank", "S4", "blank", "blank", "10", "2", "3"},
{"blank", "R8", "R8", "R8", "R8", "blank", "R8", "R8", "blank", "blank", "blank"},
{"S5", "blank", "blank", "blank", "blank", "S4", "blank", "blank", "blank", "11", "3"},
{"S5", "blank", "blank", "blank", "blank", "S4", "blank", "blank", "blank", "12", "3"},
{"S5", "blank", "blank", "blank", "blank", "S4", "blank", "blank", "blank", "blank", "13"},
{"S5", "blank", "blank", "blank", "blank", "S4", "blank", "blank", "blank", "blank", "14"},
{"blank", "S6", "S7", "blank", "blank", "blank", "S15", "blank", "blank", "blank", "blank"},
{"blank", "R1", "R1", "S8", "S9", "blank", "R1", "R1", "blank", "blank", "blank"},
{"blank", "R2", "R2", "S8", "S9", "blank", "R2", "R2", "blank", "blank", "blank"},
{"blank", "R4", "R4", "R4", "R4", "blank", "R4", "R4", "blank", "blank", "blank"},
{"blank", "R5", "R5", "R5", "R5", "blank", "R5", "R5", "blank", "blank", "blank"},
{"blank", "R7", "R7", "R7", "R7", "blank", "R7", "R7", "blank", "blank", "blank"}
};
void printStack(stack charStack)
{
stack temp;
char character;
while (charStack.empty() == false)
{
character = charStack.top();
charStack.pop();
temp.push(character);
}
cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78343927/compiler-design-lr-parser[/url]
1713390900
Anonymous
Написание компилятора для определения, удовлетворяют ли следующие входные строки заданной конфигурации CFG или нет (1) "(i+i)i$" (2) "(i)$" строит мой проект но создается исключение Исключение, созданное по адресу 0x00007FF883BDCF19 в Cpsc323Handout8.exe: исключение Microsoft C++: std::bad_alloc в ячейке памяти 0x0000004B15CFECD0 [code]#include #include #include #include using namespace std; string table[16][11] = { {"S5", "blank", "blank", "blank", "blank", "S4", "blank", "blank", "1", "2", "3"}, {"blank", "S6", "S7", "blank", "blank", "blank", "blank", "ACC", "blank", "blank", "blank"}, {"blank", "R3", "R3", "S8", "S9", "blank", "R3", "R3", "blank", "blank", "blank"}, {"blank", "R6", "R6", "R6", "R6", "blank", "R8", "R8", "blank", "blank", "blank"}, {"S5", "blank", "blank", "blank", "blank", "S4", "blank", "blank", "10", "2", "3"}, {"blank", "R8", "R8", "R8", "R8", "blank", "R8", "R8", "blank", "blank", "blank"}, {"S5", "blank", "blank", "blank", "blank", "S4", "blank", "blank", "blank", "11", "3"}, {"S5", "blank", "blank", "blank", "blank", "S4", "blank", "blank", "blank", "12", "3"}, {"S5", "blank", "blank", "blank", "blank", "S4", "blank", "blank", "blank", "blank", "13"}, {"S5", "blank", "blank", "blank", "blank", "S4", "blank", "blank", "blank", "blank", "14"}, {"blank", "S6", "S7", "blank", "blank", "blank", "S15", "blank", "blank", "blank", "blank"}, {"blank", "R1", "R1", "S8", "S9", "blank", "R1", "R1", "blank", "blank", "blank"}, {"blank", "R2", "R2", "S8", "S9", "blank", "R2", "R2", "blank", "blank", "blank"}, {"blank", "R4", "R4", "R4", "R4", "blank", "R4", "R4", "blank", "blank", "blank"}, {"blank", "R5", "R5", "R5", "R5", "blank", "R5", "R5", "blank", "blank", "blank"}, {"blank", "R7", "R7", "R7", "R7", "blank", "R7", "R7", "blank", "blank", "blank"} }; void printStack(stack charStack) { stack temp; char character; while (charStack.empty() == false) { character = charStack.top(); charStack.pop(); temp.push(character); } cout Подробнее здесь: [url]https://stackoverflow.com/questions/78343927/compiler-design-lr-parser[/url]