diff --git a/README.md b/README.md index f55ca06..e74ac41 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,7 @@ The VM is multithreaded (these are not real threads) and all threads are run in The state of a thread consists only of its PC (program counter) and its set of registers (two for each named group). At any time there can't be more than one thread with the same PC. -This approach is used by Pike and Janson in the *sam* editor and is documented [here](http://swtch.com/~rsc/regexp/regexp2.html#ahu74). +This approach is used by Pike and Janson in the *sam* editor and is documented [here](http://swtch.com/~rsc/regexp/regexp2.html#thompsonvm). ### PRED pred-fn `pred-fn` is a predicate function which gets called on the current element. @@ -155,7 +155,7 @@ PRED #(= 7 %) ### Lookahead support -As of 0.6.0, the [Pike and Janson's algorithm](http://swtch.com/~rsc/regexp/regexp2.html#ahu74) has been extended to support lookaheads. +As of 0.6.0, the [Pike and Janson's algorithm](http://swtch.com/~rsc/regexp/regexp2.html#thompsonvm) has been extended to support lookaheads. Two versions of the VM now exists (one could do with only one): the top-level VM which is the `grouping` VM and the nested `accepting` VM which is simpler because it ignores registers (ie it doesn't track match or submatches: it just tells whether an accept state has been reached or not). Not having to track submatches mean than thread priority is not needed any more so the whole state of a nested VM is the set of its threads ids.