Commit Graph

585 Commits (c5aee5cc9db0d05051d7c41fe6ae1cb64803897d)
 

Author SHA1 Message Date
Wilfred Hughes ab1edfe39a Terminate when the outer loop sees an end node 2021-07-01 23:30:49 +07:00
Wilfred Hughes 132ab3bf7a Use negative costs
Rust's heap is a max heap, and we want to explore the nearest node
first.
2021-06-30 01:06:35 +07:00
Wilfred Hughes 3b7b300ee7 Use consistent delimiter terminology 2021-06-30 00:52:44 +07:00
Wilfred Hughes c8e13e70af Add a StartNode action 2021-06-30 00:34:04 +07:00
Wilfred Hughes beff6f3951 Add a test for the novel atom case 2021-06-30 00:33:01 +07:00
Wilfred Hughes 3a4e179b79 Remove parent node now we have next sibling 2021-06-29 00:09:11 +07:00
Wilfred Hughes b7cc38b457 Use next node when exploring graph 2021-06-29 00:05:58 +07:00
Wilfred Hughes 04ae9755b9 Store and compute next Node for GraphNode iteration 2021-06-28 23:59:20 +07:00
Wilfred Hughes f2e839d3ef Getting an initial test passing for graph traversal 2021-06-27 22:40:40 +07:00
Wilfred Hughes 97c5cc33dc Return a vec of graphnodes from find_route 2021-06-27 22:19:57 +07:00
Wilfred Hughes ea7fa6da93 Terminate when we reach the end of the AST 2021-06-27 17:23:58 +07:00
Wilfred Hughes 1669405e43 Basic route finder 2021-06-27 17:21:27 +07:00
Wilfred Hughes 1f4c7af8fb Define EqualityGraphNode 2021-06-27 17:10:57 +07:00
Wilfred Hughes 6f41490837 Define an OrderedGraphNode< 2021-06-27 17:06:57 +07:00
Wilfred Hughes ed89a7867b Helper function for getting node without index in GraphNode 2021-06-27 16:51:30 +07:00
Wilfred Hughes dc4af4c146 Only hash Node rather than the index too 2021-06-27 16:46:32 +07:00
Wilfred Hughes 9355d037b9 Don't implement full Eq for GraphNode 2021-06-27 16:45:09 +07:00
Wilfred Hughes dc3f91790f Only consider Node when comparing GraphNode values 2021-06-27 16:44:43 +07:00
Wilfred Hughes 56558dc99b Graph nodes on RHS too 2021-06-27 16:27:44 +07:00
Wilfred Hughes 0c2c66dfca Refactor GraphNode to a single Option 2021-06-27 16:23:40 +07:00
Wilfred Hughes e56e46af71 Step into lists when exploring graph 2021-06-27 16:14:19 +07:00
Wilfred Hughes 5fb4fe6522 Store an optional Node 2021-06-27 15:56:42 +07:00
Wilfred Hughes 8b421ad41b Define the graph actions 2021-06-27 15:54:42 +07:00
Wilfred Hughes a432cc34fd Crude logic for finding next graph node 2021-06-26 23:23:44 +07:00
Wilfred Hughes e5f7d2d36c Tweak field names 2021-06-26 23:00:57 +07:00
Wilfred Hughes b580df4d0f Add a helper function for the next node when walking 2021-06-26 22:52:37 +07:00
Wilfred Hughes fdf4c92e08 Store parent on Atom too 2021-06-26 22:32:19 +07:00
Wilfred Hughes 9fd567c97e Exploring next node iteration 2021-06-26 22:28:34 +07:00
Wilfred Hughes 7251c1eee9 Initial GraphNode definition 2021-06-26 20:24:47 +07:00
Wilfred Hughes 21618af391 Set the parent node after parsing 2021-06-26 18:49:13 +07:00
Wilfred Hughes d9ffe46923 Allow storing the parent node in the tree 2021-06-26 12:41:31 +07:00
Wilfred Hughes 5ef1839c07 Don't allow cloning of Nodes
They may contain cycles
2021-06-26 12:38:43 +07:00
Wilfred Hughes 60642ecfa8 Note on difftool usage 2021-06-24 23:29:08 +07:00
Wilfred Hughes 0e20fc26ad Move comparative analysis to wiki 2021-06-23 23:31:22 +07:00
Wilfred Hughes 6858b97115 : and ; are punctuation in CSS 2021-06-22 21:48:34 +07:00
Wilfred Hughes 4cdebb0a30 Rename functions again 2021-06-22 20:24:23 +07:00
Wilfred Hughes 3299772918 Better docstring 2021-06-22 20:16:32 +07:00
Wilfred Hughes fd20b0627c Improve function names 2021-06-22 20:15:20 +07:00
Wilfred Hughes b583fe6174 Update docstring for current implementation 2021-06-22 20:12:21 +07:00
Wilfred Hughes 07f17108e9 Expand comment 2021-06-22 20:10:22 +07:00
Wilfred Hughes f068b71ea1 cargo fmt 2021-06-22 20:08:19 +07:00
Wilfred Hughes d7396073ee Expand readme and add screenshot 2021-06-22 00:30:58 +07:00
Wilfred Hughes c4cdf4b215 Add a TODO for why elisp_after.el has poor list highlighting 2021-06-22 00:26:50 +07:00
Wilfred Hughes ebe342f87c * is a legal symbol constituent in lisps 2021-06-22 00:12:35 +07:00
Wilfred Hughes 770c973b20 Add ! and # to Rust punctuation 2021-06-20 22:29:18 +07:00
Wilfred Hughes abb1974c36 Parse by line if we don't have a syntax defined 2021-06-20 22:26:27 +07:00
Wilfred Hughes 6569ecb1c6 Treat | as punctuation in Rust 2021-06-20 22:05:31 +07:00
Wilfred Hughes a819a8c87a Update parse tests for , as operator syntax in JS 2021-06-20 16:33:29 +07:00
Wilfred Hughes 3b033c1438 Embed syntax.toml in binary 2021-06-20 16:32:22 +07:00
Wilfred Hughes 72c4473684 Naming pedantry 2021-06-20 11:25:47 +07:00