Esempio n. 1
0
        private void Initial(string domainFileName, string problemFileName, string programFileName)
        {
            CUDD.InitialiseCUDD(3072, 256, 262144, 0.1);

            // Create a TextReader that reads from a file
            TextReader tr = new StreamReader(domainFileName);

            // create a CharStream that reads from standard input
            AntlrInputStream input = new AntlrInputStream(tr);
            // create a lexer that feeds off of input CharStream

            PlanningLexer lexer = new PlanningLexer(input);
            // create a buffer of tokens pulled from the lexer
            CommonTokenStream tokens = new CommonTokenStream(lexer);
            // create a parser that feeds off the tokens buffer
            PlanningParser parser = new PlanningParser(tokens);

            var domainContext = parser.domain();// begin parsing at init rule

            tr.Close();

            // Create a TextReader that reads from a file
            tr = new StreamReader(problemFileName);

            // create a CharStream that reads from standard input
            input = new AntlrInputStream(tr);
            // create a lexer that feeds off of input CharStream

            lexer = new PlanningLexer(input);
            // create a buffer of tokens pulled from the lexer
            tokens = new CommonTokenStream(lexer);
            // create a parser that feeds off the tokens buffer
            parser = new PlanningParser(tokens);

            var clientProblemContext = parser.clientProblem();// begin parsing at client problem rule

            //Console.WriteLine(serverProblemContext.ToStringTree(parser));
            tr.Close();
            //Console.ReadLine();
            _problem = ClientProblem.CreateInstance(domainContext, clientProblemContext);
            //_problem.ShowInfo();

            // Create a TextReader that reads from a file
            tr = new StreamReader(programFileName);

            // create a CharStream that reads from standard input
            input = new AntlrInputStream(tr);
            // create a lexer that feeds off of input CharStream

            lexer = new PlanningLexer(input);
            // create a buffer of tokens pulled from the lexer
            tokens = new CommonTokenStream(lexer);
            // create a parser that feeds off the tokens buffer
            parser = new PlanningParser(tokens);

            _programContext = parser.program(); // begin parsing at program rule
            //Console.WriteLine(serverProblemContext.ToStringTree(parser));
            tr.Close();
        }
Esempio n. 2
0
 public static void LogStart(this ClientProblem wrapper, ILogger logger)
 {
     logger.LogInformation(EngineEvent.StartProblem,
                           "{ProblemId} {ChallengeId} {ChallengeSlug} {TeamId}",
                           wrapper.Id,
                           wrapper.Problem.ChallengeLink.Id,
                           wrapper.Problem.ChallengeLink.Slug,
                           wrapper.Problem.Team?.Id
                           );
 }
Esempio n. 3
0
        public IActionResult Post([FromBody] Problem model)
        {
            var qm = new ClientProblem
            {
                Id          = model.Id,
                Client      = HttpContext.Request.Headers["X-API-CLIENT"],
                CallbackUrl = HttpContext.Request.Headers["X-API-CALLBACK"],
                Problem     = model
            };

            _problemQueue.Enqueue(qm);

            return(Created("", null));
        }