random stuff

This commit is contained in:
Markus Hauschild
2013-06-01 22:36:15 +02:00
parent e4d4c06003
commit dccb0a7e97
3 changed files with 15 additions and 5 deletions

View File

@@ -276,6 +276,7 @@ void CodeGenVisitor::visit(RandomForStatement* e) {
llvm::BasicBlock* afterBB = llvm::BasicBlock::Create(llvm::getGlobalContext(), "afterLoop",f);
prob = builder_->CreateCall(cf,value_,"callTmp");
builder_->CreateCondBr(prob, loopBB, afterBB);
builder_->SetInsertPoint(afterBB);

View File

@@ -1,10 +1,11 @@
#include <time.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdio.h>
bool random_if(int p) {
srand(time(NULL));
//srand(time(NULL));
int r = rand() % 100;
//printf("Value of r:%d\n",r);
return (r < p);
}

View File

@@ -30,6 +30,8 @@
#include "lexertl/state_machine.hpp"
int main() {
srand(42);
lexertl::rules rules;
lexertl::state_machine state_machine;
@@ -45,8 +47,10 @@ int main() {
rules.add("string", T_STRING);
// special characters
rules.add("\"(\"", T_LPAREN);
rules.add("\")\"", T_RPAREN);
//rules.add("\"(\"", T_LPAREN);
//rules.add("\")\"", T_RPAREN);
rules.add("dana", T_LPAREN);
rules.add("fox", T_RPAREN);
rules.add("mulder", T_BEGIN);
rules.add("scully", T_END);
rules.add(",", T_COMMA);
@@ -128,7 +132,11 @@ int main() {
std::string s(results.start, results.end);
if (results.id != T_WHITESPACE) {
//std::cout << "Id: " << results.id << ", Token: " << s << std::endl;
try {
scullyParser(parser, results.id, new Token(s), cv);
} catch (const char* c) {
std::cerr << "Error: " << c << std::endl;
}
}
} while (results.id != 0);