summaryrefslogtreecommitdiff
path: root/prolog
AgeCommit message (Collapse)Author
2017-02-24prolog.parser: implement most remaining operatorsTimotej Lazar
Also fix some precedence issues.
2017-02-24Modify Prolog parser to produce ASTs instead of parse treesTimotej Lazar
2016-10-20Revert "Week2: simpop/3 exercise added."Timotej Lazar
This reverts commit b2b11240ce7c9b6075a0f673cd72f469db75fa0f.
2016-10-17Week2: simpop/3 exercise added.Aleksander Sadikov
2016-09-27Incorporate some tweaks to the monkey methodsTimotej Lazar
2016-07-15Fix prolog runner for SWI-Prolog ≥ 7.3.22Timotej Lazar
2016-05-29Prolog runner: allow call/1 in sandboxed modeTimotej Lazar
Required by some exercises. This allows the user to escape the sandbox, so a better solution is needed.
2016-05-16Detect predicates used in DCG clausesTimotej Lazar
2016-05-15Support a | b notation for DCGsTimotej Lazar
2016-05-15Hack in support for DCGs in Prolog parserTimotej Lazar
2016-05-08Prolog: allow custom inference limit in check_answersTimotej Lazar
2016-05-08Prolog: support CLP(FD) in parserTimotej Lazar
2016-05-06Prolog: increase inference limit for test queriesTimotej Lazar
Needed for problems/clp_fd/tobase_3.
2016-05-06Prolog: increase inference limit for test queriesTimotej Lazar
Needed for problems/clp_fd/magic_1.
2016-04-24Support CLP(R) expressions in Prolog parserTimotej Lazar
2016-04-08Prolog: use A,B,C,… for normalized variable namesTimotej Lazar
This is somewhat more readable than A0,A1,A2,….
2016-04-08Remove unused prolog.util.normalizedTimotej Lazar
2016-04-07Always return a string in prolog.util.Token.__str__Timotej Lazar
2016-03-12Fix pengine regexTimotej Lazar
2016-02-29Improved hints for ancestor/2. "Timeout results as False" ask_truthTO() ↵Aleksander Sadikov
function added.
2016-02-28Increase thread pool size for Prolog runnerTimotej Lazar
2016-02-23Replace urllib3.ReadTimeoutException with socket.timeoutTimotej Lazar
To keep compatibility with existing test / hint functions.
2016-02-23Prolog engine: allow lists predicates in sandboxTimotej Lazar
2016-02-17prolog.engine: use a urllib3 HTTP connection poolTimotej Lazar
Opening large numbers of single-shot requests caused local port exhaustion due to TIME_WAIT.
2016-01-12Replace prolog.util.rename_vars with rename_vars_list everywhereTimotej Lazar
2016-01-06Remove unused importsTimotej Lazar
2016-01-04Add function to find predicates used by a Prolog programTimotej Lazar
2015-12-11Rename a functionTimotej Lazar
2015-12-11Use a more general method for extracting editsTimotej Lazar
This is a large overhaul of monkey code. Before, only edits within individual lines were tracked, which required a Prolog-specific method for splitting a program into a list of lines for every rule. In this version, modifications can be tracked within arbitrary code ranges. Ranges to be tracked are determined by selecting "interesting" subtrees in the AST of the starting code version. The new method is simpler, less language-dependent and easier to extend. The downside is that a program must be syntactically correct before we can attempt to fix it (the previous approach could handle programs with syntax errors in some cases). This commit also integrates a call to monkey.fix in prolog_session.hint, by running it if no other hint is found.
2015-12-10Support Tree objects in python.util.stringifyTimotej Lazar
2015-12-10Disable debug info when generating Prolog parserTimotej Lazar
2015-12-10Sort token list for Prolog parserTimotej Lazar
Ensures the cached version of parsetab.py is used.
2015-12-10Fix a parser bugTimotej Lazar
2015-12-10Add prolog.util.parse methodTimotej Lazar
2015-12-10Use the NLTK ParentedTree class for parser outputTimotej Lazar
2015-12-10Add copyright infoTimotej Lazar
2015-11-30Limit the number of inferences for Prolog queriesTimotej Lazar
2015-11-27Fix: response on /pengine/destroy_all is just "ok"Timotej Lazar
2015-11-18Disable predicate autoloading in Prolog engineTimotej Lazar
So that for example append/3 and member/2 are not accessible to users when solving conc/3 and memb/2.
2015-11-18Fix test code in prolog.engineTimotej Lazar
2015-11-04Fix prolog.engine.check_answersTimotej Lazar
Variables not specified in the set of expected answers are now ignored.
2015-10-05Add the prolog runner to be used for daemonisation in init scripts.Aleš Smodiš
2015-09-17Replace prolog.engine.ask_all with check_answersTimotej Lazar
When testing a program we can stop searching for new solutions after we have received a wrong one.
2015-09-10Update prolog engine (sasha's aux functions for prolog hint testing added).Aleksander Sadikov
2015-08-30Replaced localhost with 127.0.0.1Aleksander Sadikov
Windows takes a while to resolve the above.
2015-08-28Fix regex for stripping internal Prolog engine IDsTimotej Lazar
2015-08-27Strip trailing periods from Prolog queriesTimotej Lazar
2015-08-27Replace prolog.engine.run with ask_allTimotej Lazar
Creating and destroying the pengine should be handled somewhere else. This commit also removes query functionality from prolog.engine.create.
2015-08-27Fix a typo and add a commentTimotej Lazar
2015-08-26Use /destroy_all to abort and destroy penginesTimotej Lazar
Poorly documented, but works better than abort & destroy.