public IHttpActionResult Post([FromBody]string source) { if (source == null) { return BadRequest(); } List<ParseException> errors = new List<ParseException>(); List<ParseExceptionResult> errorResults = new List<ParseExceptionResult>(); Parser parser = new Parser(source); parser.parse(); CFGVisitor cfgv = new CFGVisitor(parser.ast); ScopeVisitor sv = new ScopeVisitor(parser.ast); DDGVisitor ddgv = new DDGVisitor(parser.ast); errors.AddRange(parser.errors); errors.AddRange(sv.errors); errors.AddRange(ddgv.errors); foreach (ParseException error in errors) { errorResults.Add(new ParseExceptionResult(error.row, error.column, error.reason, error.level.ToString())); } return Ok(errorResults); }
public IHttpActionResult Post([FromBody]string source) { if (source == null) { return BadRequest(); } Parser parser = new Parser(source); parser.parse(); CFGVisitor cfgv = new CFGVisitor(parser.ast); ScopeVisitor sv = new ScopeVisitor(parser.ast); DDGVisitor ddgv = new DDGVisitor(parser.ast); JSONVisitor jsonv = new JSONVisitor(parser.ast); return Ok(jsonv.graph); }
public IHttpActionResult Post([FromBody] string source) { if (source == null) { return(BadRequest()); } Parser parser = new Parser(source); parser.parse(); //CFGVisitor cfgv = new CFGVisitor(parser.ast); ScopeVisitor sv = new ScopeVisitor(parser.ast); //DDGVisitor ddgv = new DDGVisitor(parser.ast); AstJsonVisitor jsonv = new AstJsonVisitor(parser.ast); return(Ok(jsonv.graph)); }
public IHttpActionResult Post([FromBody] string source) { if (source == null) { return(BadRequest()); } Parser parser = new Parser(source); parser.parse(); //CFGVisitor cfgv = new CFGVisitor(parser.ast); ScopeVisitor sv = new ScopeVisitor(parser.ast); ClosureVisitor dfgv = new ClosureVisitor(parser.ast); //DDGVisitor ddgv = new DDGVisitor(parser.ast); bool result = dfgv.dfg.hasInterference(); return(Ok(new Result(result))); }
public IHttpActionResult Post([FromBody] string source, [FromUri] bool performClosure) { if (source == null) { return(BadRequest()); } Parser parser = new Parser(source); parser.parse(); //CFGVisitor cfgv = new CFGVisitor(parser.ast); ScopeVisitor sv = new ScopeVisitor(parser.ast); ClosureVisitor dfgv = new ClosureVisitor(parser.ast); if (performClosure) { dfgv.dfg.performClosure(); } //DDGVisitor ddgv = new DDGVisitor(parser.ast); DfgJsonConverter jsonv = new DfgJsonConverter(dfgv.dfg); return(Ok(jsonv.graph)); }
public IHttpActionResult Post([FromBody] string source) { if (source == null) { return(BadRequest()); } List <ParseException> errors = new List <ParseException>(); List <ParseExceptionResult> errorResults = new List <ParseExceptionResult>(); Parser parser = new Parser(source); parser.parse(); //CFGVisitor cfgv = new CFGVisitor(parser.ast); ScopeVisitor sv = new ScopeVisitor(parser.ast); //DDGVisitor ddgv = new DDGVisitor(parser.ast); errors.AddRange(parser.errors); errors.AddRange(sv.errors); if (parser.errors.Count == 0 && sv.errors.Count == 0) { VerificationVisitor vv = new VerificationVisitor(parser.ast); //vv.verifyComponents(); errors.AddRange(vv.errors); } //errors.AddRange(ddgv.errors); foreach (ParseException error in errors) { errorResults.Add(new ParseExceptionResult(error.row, error.column, error.reason, error.level.ToString())); } return(Ok(errorResults)); }