NB6_Hazards/Hazard/Hazard/Hazard.cpp
Jonny007-MKD 696610967d Added new project: Hazard
Die Klassen PrimImplikant und PrimImplikantCollection sind weitestgehend
fertig.
2013-11-12 20:56:28 +01:00

73 lines
1.6 KiB
C++

// Hazard.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//
#include "stdafx.h"
#include <iostream>
#include <string>
#include <fstream>
#include "CParser.h"
#include "PrimImplikant.h"
#include "PrimImplikantCollection.h"
int _tmain(int argc, _TCHAR* argv[])
{
FILE * input;
FILE * error;
FILE * list;
fopen_s(&input, "input.txt", "r");
if (input == 0)
{
cout << "Fehler Inputdatei";
system("pause");
return -1;
}
fopen_s(&error, "error.txt", "w");
if (error == 0)
{
cout << "Fehler Fehlerdatei";
system("pause");
return -1;
}
fopen_s(&list, "list.txt", "w");
if (list == 0)
{
cout << "Fehler Listdatei";
system("pause");
return -1;
}
CParser parser;
parser.IP_init_token_table();
parser.pr_tokentable();
parser.InitParse(input, error, list);
parser.yyparse();
system("pause");
PrimImplikantCollection pic;
pic.add(7);
pic.add("0x1");
pic.add("100");
pic.add("00x");
pic.add(4);
PrimImplikant prim7(7);
PrimImplikant prim13("0x1");
PrimImplikant prim4("100");
PrimImplikant prim4567("1xx");
pic.add(prim4567);
for (int p = 0; p < 8; p++)
{
//printf("Pos %d: prim7=%d, prim13=%d, prim4=%d, prim4567=%d, pic=%d\n", p, prim7.valueAt(p), prim13.valueAt(p), prim4.valueAt(p), prim4567.valueAt(p), pic.valueAt(p));
printf("Pos %d: Matching collections: ", p);
vector<PrimImplikant> matchingPIs = pic.primImplikantenAt(p);
for (vector<PrimImplikant>::iterator i = matchingPIs.begin(); i < matchingPIs.end(); i++)
//cout << i->name < ", ";
printf("%s, ", i->name.c_str());
cout << endl;
}
system("pause");
return 0;
}