private Procedure RunFuncTest(params string[] lines) { var program = new Program { Architecture = arch, Platform = new DefaultPlatform(sc, arch), }; var parser = new LLVMParser(new StringReader( string.Join(Environment.NewLine, lines))); var fn = parser.ParseFunctionDefinition(); mr.ReplayAll(); var pb = new ProgramBuilder(sc, program); foreach (var de in globals) { pb.Globals.Add(de.Key, de.Value); } var proc = pb.RegisterFunction(fn, addrFn); pb.TranslateFunction(fn); return(proc); }
private void RunModuleTest() { var rdr = new StringReader(llir); var parser = new LLVMParser(new LLVMLexer(rdr)); var module = parser.ParseModule(); Assert.AreEqual(sExp, module.ToString()); }
private void RunTypeTest() { var rdr = new StringReader(llir); var parser = new LLVMParser(new LLVMLexer(rdr)); var type = parser.ParseType(); Assert.AreEqual(sExp, type.ToString()); }
private void RunInstrTest() { var rdr = new StringReader(llir); var parser = new LLVMParser(new LLVMLexer(rdr)); var instr = parser.ParseInstruction(); Assert.AreEqual(sExp, instr.ToString()); }
public void LLPB_File() { using (var rdr = File.OpenText(@"D:\dev\uxmal\reko\LLVM\more_llvm\more_llvm\c4\c4.ll")) { var parser = new LLVMParser(new LLVMLexer(rdr)); var module = parser.ParseModule(); var program = new Program(); mr.ReplayAll(); var pb = new ProgramBuilder(sc, program); program = pb.BuildProgram(module); } }