random stuff
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
12
src/test.cpp
12
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;
|
||||
try {
|
||||
scullyParser(parser, results.id, new Token(s), cv);
|
||||
} catch (const char* c) {
|
||||
std::cerr << "Error: " << c << std::endl;
|
||||
}
|
||||
}
|
||||
} while (results.id != 0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user