Для создания несложного парсера некого псеводокода используются Flex и Bison, по совету мудрых людей утилиты генерят код на С, так как взаимодействие С++ у них друг с другом неудовлетворительное, но без ООП тоже жить тяжко, и в .y файле в области %{ .....%} которая будет непосредственно скопирована в *tab.c ипользуется ооп, а в последствии *tab.c компилится g++. и все вроде в порядке, но вохгникли проблемы с %union, на следующий код
%{
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <map>
#include <string>
#include "LAB3.h"
#include <vector>
using namespace std;
..............................%}
%union value {
int iValue;
string *sIndex;
string* sValue;
bool bValue;
Node* nPtr;
int reservValue;
}