summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Pignolet <matthieu@puffer.fish>2025-05-18 19:01:20 +0400
committerMatthieu Pignolet <matthieu@puffer.fish>2025-05-18 19:01:20 +0400
commita66ec73159f71d62097e5634acb956d1428d2a42 (patch)
tree0cade2a1285eedb83c912ac8f478096d627793bb
parent20c7daa45e55063ff91e4a5a8ee09af53710a6d9 (diff)
feat: adding the demo project that mimics the python nltk library __main__
-rw-r--r--aline-demo/.gitignore1
-rw-r--r--aline-demo/Cargo.lock124
-rw-r--r--aline-demo/Cargo.toml7
-rw-r--r--aline-demo/src/main.rs101
4 files changed, 233 insertions, 0 deletions
diff --git a/aline-demo/.gitignore b/aline-demo/.gitignore
new file mode 100644
index 0000000..9f97022
--- /dev/null
+++ b/aline-demo/.gitignore
@@ -0,0 +1 @@
+target/ \ No newline at end of file
diff --git a/aline-demo/Cargo.lock b/aline-demo/Cargo.lock
new file mode 100644
index 0000000..d7c9773
--- /dev/null
+++ b/aline-demo/Cargo.lock
@@ -0,0 +1,124 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 4
+
+[[package]]
+name = "aline"
+version = "0.1.0"
+dependencies = [
+ "array2d",
+ "once_cell",
+ "serde",
+ "serde_json",
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "aline-demo"
+version = "0.1.0"
+dependencies = [
+ "aline",
+]
+
+[[package]]
+name = "array2d"
+version = "0.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8b39cb2c1bf5a7c0dd097aa95ab859cf87dab5a4328900f5388942dc1889f74"
+
+[[package]]
+name = "itoa"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
+
+[[package]]
+name = "memchr"
+version = "2.7.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
+
+[[package]]
+name = "once_cell"
+version = "1.21.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.95"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.40"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f"
+
+[[package]]
+name = "serde"
+version = "1.0.219"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.219"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.140"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
+dependencies = [
+ "itoa",
+ "memchr",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.101"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
diff --git a/aline-demo/Cargo.toml b/aline-demo/Cargo.toml
new file mode 100644
index 0000000..7429188
--- /dev/null
+++ b/aline-demo/Cargo.toml
@@ -0,0 +1,7 @@
+[package]
+name = "aline-demo"
+version = "0.1.0"
+edition = "2024"
+
+[dependencies]
+aline = { path = "../aline" } \ No newline at end of file
diff --git a/aline-demo/src/main.rs b/aline-demo/src/main.rs
new file mode 100644
index 0000000..7844066
--- /dev/null
+++ b/aline-demo/src/main.rs
@@ -0,0 +1,101 @@
+use aline;
+
+fn main() {
+ let mut data: Vec<(String, String)> = vec![];
+ for line in COGNATE_DATE.split("\n") {
+ let mut pair = line.split(",");
+
+ let a = pair.next().unwrap().to_string();
+ let b = pair.next().unwrap().to_string();
+
+ data.push((a, b));
+ }
+
+ for (a, b) in data.into_iter() {
+ let alignment = &aline::align(&a, &b, 0.0)[0];
+
+ print!("{} ~ {} :", a, b);
+ for alignment in alignment {
+ let alignment = &alignment;
+ print!(" ({}, {})", alignment.0, alignment.1);
+ }
+ print!("\n");
+ }
+}
+
+
+const COGNATE_DATE: &str = r"jo,ʒə
+tu,ty
+nosotros,nu
+kjen,ki
+ke,kwa
+todos,tu
+una,ən
+dos,dø
+tres,trwa
+ombre,om
+arbol,arbrə
+pluma,plym
+kabeθa,kap
+boka,buʃ
+pje,pje
+koraθon,kœr
+ber,vwar
+benir,vənir
+deθir,dir
+pobre,povrə
+ðis,dIzes
+ðæt,das
+wat,vas
+nat,nixt
+loŋ,laŋ
+mæn,man
+fleʃ,flajʃ
+bləd,blyt
+feðər,fEdər
+hær,hAr
+ir,Or
+aj,awgə
+nowz,nAzə
+mawθ,munt
+təŋ,tsuŋə
+fut,fys
+nij,knI
+hænd,hant
+hart,herts
+livər,lEbər
+ænd,ante
+æt,ad
+blow,flAre
+ir,awris
+ijt,edere
+fiʃ,piʃkis
+flow,fluere
+staɾ,stella
+ful,plenus
+græs,gramen
+hart,kordis
+horn,korny
+aj,ego
+nij,genU
+məðər,mAter
+mawntən,mons
+nejm,nomen
+njuw,nowus
+wən,unus
+rawnd,rotundus
+sow,suere
+sit,sedere
+θrij,tres
+tuwθ,dentis
+θin,tenwis
+kinwawa,kenuaʔ
+nina,nenah
+napewa,napɛw
+wapimini,wapemen
+namesa,namɛʔs
+okimawa,okemaw
+ʃiʃipa,seʔsep
+ahkohkwa,ahkɛh
+pematesiweni,pematesewen
+asenja,aʔsɛn"; \ No newline at end of file