From dccb0a7e973ef9eaff07b5473147d4093e194101 Mon Sep 17 00:00:00 2001 From: Markus Hauschild Date: Sat, 1 Jun 2013 22:36:15 +0200 Subject: [PATCH] random stuff --- src/AST/CodeGenVisitor.cpp | 1 + src/libscully.c | 5 +++-- src/test.cpp | 14 +++++++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/AST/CodeGenVisitor.cpp b/src/AST/CodeGenVisitor.cpp index 6eb075f..74fcd46 100644 --- a/src/AST/CodeGenVisitor.cpp +++ b/src/AST/CodeGenVisitor.cpp @@ -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); diff --git a/src/libscully.c b/src/libscully.c index e553d07..e028896 100644 --- a/src/libscully.c +++ b/src/libscully.c @@ -1,10 +1,11 @@ #include #include #include +#include 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); } diff --git a/src/test.cpp b/src/test.cpp index 74e546e..ab72932 100644 --- a/src/test.cpp +++ b/src/test.cpp @@ -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; - scullyParser(parser, results.id, new Token(s), cv); + try { + scullyParser(parser, results.id, new Token(s), cv); + } catch (const char* c) { + std::cerr << "Error: " << c << std::endl; + } } } while (results.id != 0);