mirror of
https://github.com/ParkerTenBroeck/automata.git
synced 2026-06-06 21:24:06 -04:00
reorganized project
This commit is contained in:
parent
34b20ec1fe
commit
c57a95b7b5
29 changed files with 34 additions and 43 deletions
4
Cargo.lock
generated
4
Cargo.lock
generated
|
|
@ -25,6 +25,10 @@ dependencies = [
|
|||
"serde_with",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "automata-cli"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "automata-web"
|
||||
version = "0.1.0"
|
||||
|
|
|
|||
17
Cargo.toml
17
Cargo.toml
|
|
@ -1,16 +1,3 @@
|
|||
[package]
|
||||
name = "automata"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
serde = { version = "1.0", features = ["derive"], optional = true}
|
||||
serde_with = { version = "3.0", features = ["default"], optional = true}
|
||||
|
||||
[features]
|
||||
default = []
|
||||
serde = ["dep:serde", "dep:serde_with"]
|
||||
|
||||
[workspace]
|
||||
members = ["web"]
|
||||
|
||||
members = ["web_lib", "automata", "cli"]
|
||||
resolver = "3"
|
||||
|
|
|
|||
12
automata/Cargo.toml
Normal file
12
automata/Cargo.toml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
[package]
|
||||
name = "automata"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
serde = { version = "1.0", features = ["derive"], optional = true}
|
||||
serde_with = { version = "3.0", features = ["default"], optional = true}
|
||||
|
||||
[features]
|
||||
default = []
|
||||
serde = ["dep:serde", "dep:serde_with"]
|
||||
8
cli/Cargo.toml
Normal file
8
cli/Cargo.toml
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
[package]
|
||||
name = "automata-cli"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
# automata = {path = "../automata"}
|
||||
|
||||
5
cli/src/main.rs
Normal file
5
cli/src/main.rs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
|
||||
|
||||
pub fn main(){
|
||||
|
||||
}
|
||||
21
example.npda
21
example.npda
|
|
@ -1,21 +0,0 @@
|
|||
//type=NPDA
|
||||
Q = {q0, q1} // states
|
||||
E = {a, b} // alphabet
|
||||
T = {z0, A, B} // stack
|
||||
q0 = q0
|
||||
z0 = z0
|
||||
|
||||
// construct all possible permutations of A's and B's
|
||||
d(q0, epsilon, z0) = { (q0, [A z0]), (q0, [B z0]) }
|
||||
d(q0, epsilon, A) = { (q0, [A A]), (q0, [B A]) }
|
||||
|
||||
d(q0, epsilon, B) = { (q0, [A B]), (q0, [B B]) }
|
||||
|
||||
// transition to q1
|
||||
d(q0, epsilon, z0) = { (q1, z0) }
|
||||
d(q0, epsilon, A) = { (q1, A) }
|
||||
d(q0, epsilon, B) = { (q1, B) }
|
||||
|
||||
// consume stack until empty
|
||||
d(q1, a, A) = { (q1, epsilon) }
|
||||
d(q1, b, B) = { (q1, epsilon) }
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
|
||||
wasm-pack build --release --target web --no-typescript --out-dir root/automata --no-pack
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
cd root
|
||||
simple-http-server
|
||||
|
|
@ -29,7 +29,7 @@ const result = sass.compile(String(new URL("style/style.scss", ROOT).pathname),
|
|||
await Deno.writeTextFile(new URL("style.css", DIST), result.css);
|
||||
|
||||
console.log("Compiling wasm lib...");
|
||||
await run(["wasm-pack", "build", "--target", "web", "--release", "--out-dir", "wasm"], "");
|
||||
await run(["wasm-pack", "build", "--target", "web", "--release", "--out-dir", "../web/wasm"], "../web_lib");
|
||||
await Deno.copyFile(new URL("automata_web_bg.wasm", WASM), new URL("automata_web_bg.wasm", DIST));
|
||||
|
||||
console.log("Compiling bundle...");
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ await startServer();
|
|||
|
||||
console.log("👀 watching for changes…");
|
||||
|
||||
const watcher = Deno.watchFs(["root", "src"]);
|
||||
const watcher = Deno.watchFs(["root", "../automata", "../web_lib"]);
|
||||
for await (const event of watcher) {
|
||||
if (
|
||||
event.kind === "modify" ||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ crate-type = ["cdylib", "rlib"]
|
|||
serde_json = "1.0"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
|
||||
automata = {path="..", features = ["serde"]}
|
||||
automata = {path="../automata", features = ["serde"]}
|
||||
console_error_panic_hook = "0.1.7"
|
||||
wasm-bindgen = "*"
|
||||
web-sys = { version = "0.3.83", features = ["Window", "Document", "HtmlElement", "Text"] }
|
||||
Loading…
Add table
Add a link
Reference in a new issue