Commit Graph
100 Commits
Author SHA1 Message Date
Mark Thom c5fd13dfa0 distinguish eq from structural_eq on strings 2018-09-03 00:06:01 -06:00
Mark Thom abcb53699a finalize support for partial strings 2018-09-02 23:32:51 -06:00
Mark Thom 2818e851a0 add info to README, prepare for partial strings 2018-09-01 23:04:13 -06:00
Mark Thom 575955c7b3 Merge branch 'master' of http://github.com/mthom/rusty-wam 2018-09-01 13:48:28 -06:00
Mark Thom 78ea3f5441 add (^) as an evaluable factor, re: #39 2018-09-01 13:48:04 -06:00
Mark Thom a5a4f71a2a correct README 2018-08-31 15:37:10 -03:00
Mark Thom db36958504 allow continuable strings, re: #48 2018-08-31 01:15:34 -06:00
Mark Thom d9751671c8 correct get_single_quoted_item, re: #48 2018-08-30 23:51:15 -06:00
Mark Thom ebd62a2c91 add slightly more descriptive syntax errors 2018-08-30 00:35:42 -06:00
Mark Thom 872b153b08 correct printing of lists when double_quotes is set to atom 2018-08-30 00:04:19 -06:00
Mark Thom 92927bbcef read predicate reads piecemeal data 2018-08-29 23:21:31 -06:00
Mark Thom dc04708796 split error classification 2018-08-29 21:20:56 -06:00
Mark Thom 0f44b60537 chars are atoms, trailing whitespace is acceptable. 2018-08-29 20:14:23 -06:00
Mark Thom d1f4ead15c correct README 2018-08-29 00:16:12 -06:00
Mark Thom 03b76c65ba correct README 2018-08-29 00:10:09 -06:00
Mark Thom 16a748bc0f add tests for string lists, structural equality on string lists. 2018-08-29 00:05:00 -06:00
Mark Thom dc91f46d83 use reference to match on SyntaxError, re: #45 2018-08-28 14:30:50 -03:00
Mark Thom b418e63a89 unify matching strings with different cursors. 2018-08-26 20:50:12 -06:00
Mark Thom 92e338861d add clean errors for read, re: #45 2018-08-26 20:34:43 -06:00
Mark Thom 5afa4a7848 modify structural_eq_test 2018-08-26 02:03:16 -06:00
Mark Thom 9759c523b6 equate chars with atoms consisting of chars 2018-08-24 23:14:41 -06:00
Mark Thom 7884a20042 support strings as char lists in term comparisons 2018-08-23 01:24:26 -06:00
Mark Thom ddf5593e44 revert is_undefined back to ref match, re: #44 2018-08-22 18:28:40 -06:00
Mark Thom f861b7a80e update to handle strings as lists. 2018-08-22 00:26:48 -06:00
Mark Thom 013eb29e2b add string table, StringList representation 2018-08-21 00:22:16 -06:00
Mark Thom 01d6ef099f add StringList internal datatype 2018-08-20 22:00:38 -06:00
Mark Thom d19ece6df8 add some prolog flags, tabled strings 2018-08-18 18:03:28 -06:00
Mark Thom f9e6b7fec5 get rid of dynamic lookup for
$call_with_default_policy.
2018-08-12 23:17:34 -06:00
Mark Thom c1ad5cd33f get rid of dynamic lookup for
$call_with_default_policy.
2018-08-12 23:14:28 -06:00
Mark Thom 00d4ef7ad8 print equations lexographically by variable name, re: #26 2018-08-09 18:23:47 -06:00
Mark Thom 0cc4aa77ed complete call_with_inference_limit/3 2018-08-09 00:31:41 -06:00
Mark Thom 3fef717677 set CWILCallPolicy count field back to private 2018-08-08 00:47:48 -06:00
Mark Thom 7016d378d6 add call_with_inference_limit/3 2018-08-08 00:42:57 -06:00
Mark Thom 707e5fcf8b restore setup_call_cleanup/3 2018-08-04 16:12:37 -06:00
Mark Thom ae11e82040 fail on parse error invoked by read/1 2018-08-04 14:56:38 -06:00
Mark Thom cf82accc4b add proceed to inlined instructions in tail position 2018-07-31 15:14:28 -06:00
Mark Thom 1ce527d179 realize full cheney in copier.rs 2018-07-29 18:38:26 -06:00
Mark Thom 1b025d409f preliminary read support 2018-07-25 17:15:36 -06:00
Mark Thom 38dcd6113e preliminary read support 2018-07-25 17:12:07 -06:00
Mark Thom 82ff377585 add numbered vars to writeq 2018-07-16 20:12:50 -06:00
Mark Thom c5e1a08214 move print_constant logic to heap_print.rs 2018-07-16 19:06:27 -06:00
Mark Thom f5e254dd64 add support for quoted atoms to writeq 2018-07-15 17:54:37 -06:00
Mark Thom 7527bc76f8 update README 2018-07-12 00:14:14 -06:00
Mark Thom 89044266d6 add tests for module resolution operator, README documentation. 2018-07-08 19:49:15 -06:00
Mark Thom cd03b7795f finalize the module resolution operator. 2018-07-08 15:21:09 -06:00
Mark Thom 073a8888f3 include builtins implicitly in every module. 2018-07-04 23:25:55 -06:00
Mark Thom 0abd075b0b complete trimdown of listing compilation. 2018-07-01 18:14:45 -06:00
Mark Thom fc11fda947 prepare module code 2018-06-25 00:21:33 -06:00
Mark Thom d8ed3e11df get rid of LocalMachineCodeIndex 2018-06-24 23:33:04 -06:00
Mark Thom 870316b0d1 get rid of LocalMachineCodeIndex 2018-06-24 23:32:50 -06:00
Mark Thom 2d7032e61a prepare for changes to relocation scheme 2018-06-18 21:28:22 -06:00
Mark Thom a824a53fa8 prepare for updating the code_dir with each new predicate 2018-06-16 23:36:22 -06:00
Mark Thom 7b99dc53b6 reorder print_constant comments for unsupported escape characters 2018-05-28 20:30:13 -06:00
Mark Thom a13b94622b print chars somewhat appropriately. 2018-05-28 20:19:52 -06:00
Mark Thom 07ec2d34c8 hacky workaround 2018-05-28 20:07:34 -06:00
Mark Thom b49c0f5d36 get rid of spurious warning, add type error for skip_max_list 2018-05-21 16:20:08 -06:00
Mark Thom 4608c4fe58 fix offsetting of heap in existence errors 2018-05-20 16:26:52 -06:00
Mark Thom a60af300fd add instantiation error to skip_max_list 2018-05-20 12:51:21 -06:00
Mark Thom c5386c3e88 correct for use in earlier releases of rust. 2018-05-17 13:14:38 -06:00
Mark Thom ddb79e6b34 print certain atoms in single quotes. 2018-05-16 20:34:53 -06:00
Mark Thom 3f3fcc34c4 use lexer macros. 2018-05-16 20:17:00 -06:00
Mark Thom df265e60a9 remove no longer present items from predicate list 2018-05-15 22:51:34 -06:00
Mark Thom 9fbb73dcb8 Merge branch 'develop' 2018-05-15 22:48:37 -06:00
Mark Thom 06d896277c major refactor 2018-05-15 22:47:36 -06:00
Mark Thom 8f1d721477 move SGC and call inference instructions over to SystemClauseType 2018-05-15 00:23:42 -06:00
Mark Thom 9a88d179d1 remove IsClause 2018-05-14 16:43:49 -06:00
Mark Thom 18e2e77600 add (=..)/2, arg/3 2018-05-13 17:02:33 -06:00
Mark Thom 81d0538a5c switch to machine implemented arg 2018-05-13 14:55:44 -06:00
Mark Thom 175a5db5d7 parse the list functor 2018-05-13 14:10:48 -06:00
Mark Thom b0bdf50a78 parse negative numbers properly, handle length errors and failures properly. 2018-05-12 18:23:57 -06:00
Mark Thom 5690409534 correct faulty bind (two tests now fail: conjunctive_queries and lists) 2018-05-12 15:51:20 -06:00
Mark Thom 0951bcff58 add arg 2018-05-12 01:21:31 -06:00
Mark Thom 7455c2e9db add support for callable if-then and disjunct 2018-05-12 00:30:34 -06:00
Mark Thom ba7e7ac895 throw exception when call-ing a system instruction. 2018-05-10 23:08:56 -06:00
Mark Thom 910bafef61 port remaining builtins to SystemClauseType 2018-05-10 22:40:01 -06:00
Mark Thom 5a631c17c7 make system calls exempt from call policy. 2018-05-10 22:24:15 -06:00
Mark Thom 0f980e204d add more tests that pass. 2018-05-10 19:47:53 -06:00
Mark Thom 954c29b103 add catch/throw support, make exceptions and arithmetic tests pass. 2018-05-10 01:43:36 -06:00
Mark Thom bae107f8cd eliminate need for embedded, handwritten WAM code. 2018-05-09 22:58:23 -06:00
Mark Thom b09c20670b shift to builtins 2018-05-08 22:38:49 -06:00
Mark Thom 24d6fb16a8 add system call preliminaries 2018-05-07 22:29:02 -06:00
Mark Thom 1a0f50200f system calls preliminary 2018-05-07 22:27:58 -06:00
Mark Thom a1bfcf4c9d add system call preliminaries 2018-05-07 22:24:59 -06:00
Mark Thom 7573a8fb10 record cyclic terms in printer 2018-05-07 00:44:42 -06:00
Mark Thom 30926a71ab streamline variable search in heap_print.rs 2018-05-06 22:10:51 -06:00
Mark Thom 885d7c04e3 simplify detection of cycles in printer 2018-05-05 13:20:06 -06:00
Mark Thom 81a199836d properly handle cyclic terms in the printer. 2018-05-05 12:33:29 -06:00
Mark Thom d6495c8195 add support for printing cyclic terms. 2018-05-05 01:53:05 -06:00
Mark Thom c369ce9a7f add access to HeapVarDict to the printer. 2018-05-04 20:51:02 -06:00
Mark Thom afc5736418 set up heap_var Cow in heap_print.rs 2018-05-04 20:15:39 -06:00
Mark Thom 2df82e6b01 abbreviate names in heap_iter.rs 2018-05-04 19:43:43 -06:00
Mark Thom 8974035fed correct the copier's mishandling of cyclic lists 2018-05-04 15:44:11 -06:00
Mark Thom 11800532c9 fix errors emitted by sort and keysort, add tests, add support for Max = -1 to '$skip_max_list' 2018-05-03 20:15:45 -06:00
Mark Thom 29356fbc3b Merge branch 'master' of http://github.com/mthom/rusty-wam 2018-05-03 17:37:12 -06:00
Mark Thom e7c2c2cedd correct sort/keysort refusing [] 2018-05-03 17:36:59 -06:00
Mark Thom 76bae21ff6 correct keysort type error (re: #34) 2018-05-03 11:52:33 -06:00
Mark Thom df1421dae8 remove unnecessary store/deref in keysort error checking 2018-05-02 21:54:09 -06:00
Mark Thom d69bc4ed10 fix keysort error detection bugs 2018-05-02 21:52:34 -06:00
Mark Thom 3c72441f68 add proper error messages for keysort and sort, (re: issues #30, #32) 2018-05-02 21:33:03 -06:00
Mark Thom 0dec988337 add error handling appartus 2018-05-02 21:24:43 -06:00