diff --git a/README.md b/README.md index 60520825..308907fa 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,13 @@ very fast. Check out my blog post [Index 1,600,000,000 Keys with Automata and -Rust](http://blog.burntsushi.net/transducers/) +Rust](https://blog.burntsushi.net/transducers/) for extensive background, examples and experiments. [![Build status](https://github.com/BurntSushi/fst/workflows/ci/badge.svg)](https://github.com/BurntSushi/fst/actions) -[![](http://meritbadge.herokuapp.com/fst)](https://crates.io/crates/fst) +[![](https://meritbadge.herokuapp.com/fst)](https://crates.io/crates/fst) -Dual-licensed under MIT or the [UNLICENSE](http://unlicense.org). +Dual-licensed under MIT or the [UNLICENSE](https://unlicense.org/). ### Documentation diff --git a/fst-bin/Cargo.toml b/fst-bin/Cargo.toml index a686a451..ba961dd3 100644 --- a/fst-bin/Cargo.toml +++ b/fst-bin/Cargo.toml @@ -8,7 +8,7 @@ sets or maps of many strings (> 1 billion is possible). The command line tool exposes functionality to search FSTs using regular expressions, Levenshtein automata and range queries. """ -documentation = "http://burntsushi.net/rustdoc/fst/" +documentation = "https://docs.rs/fst" homepage = "https://github.com/BurntSushi/fst" repository = "https://github.com/BurntSushi/fst" keywords = ["search", "information", "retrieval", "dictionary", "map"] diff --git a/fst-regex/src/lib.rs b/fst-regex/src/lib.rs index 56b40b18..d24b84ec 100644 --- a/fst-regex/src/lib.rs +++ b/fst-regex/src/lib.rs @@ -38,7 +38,7 @@ mod sparse; /// as useful when searching dictionaries. /// /// Otherwise, the [full syntax of the `regex` -/// crate](http://doc.rust-lang.org/regex/regex/index.html#syntax) +/// crate](https://docs.rs/regex/*/regex/#syntax) /// is supported. This includes all Unicode support and relevant flags. /// (The `U` and `m` flags are no-ops because of (1) and (3) above, /// respectively.) diff --git a/src/lib.rs b/src/lib.rs index 26d48d36..2e1d96a9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -333,7 +333,7 @@ pub mod automaton { /// /// This API provided by this sub-module is close in spirit to the API /// provided by -/// [`std::collections::BTreeMap`](http://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html). +/// [`std::collections::BTreeMap`](https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html). /// /// # Overview of types /// @@ -352,7 +352,7 @@ pub mod map { /// /// This API provided by this sub-module is close in spirit to the API /// provided by -/// [`std::collections::BTreeSet`](http://doc.rust-lang.org/stable/std/collections/struct.BTreeSet.html). +/// [`std::collections::BTreeSet`](https://doc.rust-lang.org/stable/std/collections/struct.BTreeSet.html). /// The principle difference, as with everything else in this crate, is that /// operations are performed on streams of byte strings instead of generic /// iterators. Another difference is that most of the set operations (union, diff --git a/src/raw/mod.rs b/src/raw/mod.rs index bdd30cd3..ab6f5f5d 100644 --- a/src/raw/mod.rs +++ b/src/raw/mod.rs @@ -120,7 +120,7 @@ pub type CompiledAddr = usize; /// The corresponding automaton that stores all of these as keys looks like /// this: /// -/// ![finite state automaton](http://burntsushi.net/stuff/months-set.png) +/// ![finite state automaton](https://burntsushi.net/stuff/months-set.png) /// /// Notice here how the prefix and suffix of `jan` and `jun` are shared. /// Similarly, the prefixes of `jun` and `jul` are shared and the prefixes @@ -164,7 +164,7 @@ pub type CompiledAddr = usize; /// The corresponding transducer looks very similar to the automaton above, /// except outputs have been added to some of the transitions: /// -/// ![finite state transducer](http://burntsushi.net/stuff/months-map.png) +/// ![finite state transducer](https://burntsushi.net/stuff/months-map.png) /// /// All of the operations with a transducer are the same as described above /// for automatons. Additionally, the same compression techniques are used: @@ -212,7 +212,7 @@ pub type CompiledAddr = usize; /// /// The corresponding automaton looks like this: /// -/// ![finite state automaton - one billion strings](http://burntsushi.net/stuff/one-billion.png) +/// ![finite state automaton - one billion strings](https://burntsushi.net/stuff/one-billion.png) /// /// Indeed, the on disk size of this automaton is a mere **251 bytes**. /// @@ -220,7 +220,7 @@ pub type CompiledAddr = usize; /// to show how good compression can be in the optimal case. /// /// Also, check out the -/// [corresponding transducer](http://burntsushi.net/stuff/one-billion-map.svg) +/// [corresponding transducer](https://burntsushi.net/stuff/one-billion-map.svg) /// that maps each string to its integer value. It's a bit bigger, but still /// only takes up **896 bytes** of space on disk. This demonstrates that /// output values are also compressible. @@ -255,17 +255,17 @@ pub type CompiledAddr = usize; /// of many academics, especially /// [Jan Daciuk](http://galaxy.eti.pg.gda.pl/katedry/kiw/pracownicy/Jan.Daciuk/personal/). /// -/// * [Incremental construction of minimal acyclic finite-state automata](http://www.mitpressjournals.org/doi/pdfplus/10.1162/089120100561601) +/// * [Incremental construction of minimal acyclic finite-state automata](https://www.mitpressjournals.org/doi/pdfplus/10.1162/089120100561601) /// (Section 3 provides a decent overview of the algorithm used to construct /// transducers in this crate, assuming all outputs are `0`.) -/// * [Direct Construction of Minimal Acyclic Subsequential Transducers](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.3698&rep=rep1&type=pdf) +/// * [Direct Construction of Minimal Acyclic Subsequential Transducers](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.3698&rep=rep1&type=pdf) /// (The whole thing. The proof is dense but illuminating. The algorithm at /// the end is the money shot, namely, it incorporates output values.) -/// * [Experiments with Automata Compression](http://www.researchgate.net/profile/Jii_Dvorsky/publication/221568039_Word_Random_Access_Compression/links/0c96052c095630d5b3000000.pdf#page=116), [Smaller Representation of Finite State Automata](http://www.cs.put.poznan.pl/dweiss/site/publications/download/fsacomp.pdf) +/// * [Experiments with Automata Compression](https://www.researchgate.net/profile/Jiri-Dvorsky/publication/221568039_Word_Random_Access_Compression/links/0c96052c095630d5b3000000/Word-Random-Access-Compression.pdf#page=116), [Smaller Representation of Finite State Automata](https://www.cs.put.poznan.pl/dweiss/site/publications/download/fsacomp.pdf) /// (various compression techniques for representing states/transitions) /// * [Jan Daciuk's dissertation](http://www.pg.gda.pl/~jandac/thesis.ps.gz) /// (excellent for in depth overview) -/// * [Comparison of Construction Algorithms for Minimal, Acyclic, Deterministic, Finite-State Automata from Sets of Strings](http://www.cs.mun.ca/~harold/Courses/Old/CS4750/Diary/q3p2qx4lv71m5vew.pdf) +/// * [Comparison of Construction Algorithms for Minimal, Acyclic, Deterministic, Finite-State Automata from Sets of Strings](https://www.cs.mun.ca/~harold/Courses/Old/CS4750/Diary/q3p2qx4lv71m5vew.pdf) /// (excellent for surface level overview) #[derive(Clone)] pub struct Fst {