Sha256: 5a2de0b477807c7d6ab8bb72579f03692e8f5ea89d5b6f3a8342cfdbe4d84b96

Contents?: true

Size: 563 Bytes

Versions: 13

Compression:

Stored size: 563 Bytes

Contents

//! In this example we build an [S-expression](https://en.wikipedia.org/wiki/S-expression)
//! parser and tiny [lisp](https://en.wikipedia.org/wiki/Lisp_(programming_language)) interpreter.
//! Lisp is a simple type of language made up of Atoms and Lists, forming easily parsable trees.

#![cfg(feature = "alloc")]

mod parser;

fn main() {
    let expression_1 = "((if (= (+ 3 (/ 9 3))
         (* 2 3))
     *
     /)
  456 123)";
    println!(
        "\"{}\"\nevaled gives us: {:?}",
        expression_1,
        parser::eval_from_str(expression_1)
    );
}

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/winnow-0.6.24/examples/s_expression/main.rs
wasmtime-28.0.0 ./ext/cargo-vendor/winnow-0.6.22/examples/s_expression/main.rs
wasmtime-27.0.0 ./ext/cargo-vendor/winnow-0.6.20/examples/s_expression/main.rs
wasmtime-26.0.0 ./ext/cargo-vendor/winnow-0.6.20/examples/s_expression/main.rs
wasmtime-25.0.2 ./ext/cargo-vendor/winnow-0.6.18/examples/s_expression/main.rs
wasmtime-25.0.1 ./ext/cargo-vendor/winnow-0.6.18/examples/s_expression/main.rs
wasmtime-25.0.0 ./ext/cargo-vendor/winnow-0.6.18/examples/s_expression/main.rs
wasmtime-24.0.0 ./ext/cargo-vendor/winnow-0.6.18/examples/s_expression/main.rs
wasmtime-23.0.2 ./ext/cargo-vendor/winnow-0.6.7/examples/s_expression/main.rs
wasmtime-22.0.0 ./ext/cargo-vendor/winnow-0.6.7/examples/s_expression/main.rs
wasmtime-21.0.1 ./ext/cargo-vendor/winnow-0.6.7/examples/s_expression/main.rs
wasmtime-20.0.2 ./ext/cargo-vendor/winnow-0.6.7/examples/s_expression/main.rs
wasmtime-20.0.0 ./ext/cargo-vendor/winnow-0.6.7/examples/s_expression/main.rs