expressi

所属分类:编译器/解释器
开发工具:Rust
文件大小:72KB
下载次数:0
上传日期:2019-03-18 14:40:30
上 传 者sh-1993
说明:  用Rust编写的面向表达式的玩具编程语言
(Expression-oriented toy programming language written in Rust)

文件列表:
expressi-develop (0, 2019-03-18)
expressi-develop\.travis.yml (558, 2019-03-18)
expressi-develop\Cargo.lock (35230, 2019-03-18)
expressi-develop\Cargo.toml (406, 2019-03-18)
expressi-develop\LICENSE-APACHE (88606, 2019-03-18)
expressi-develop\LICENSE-MIT (1071, 2019-03-18)
expressi-develop\build.rs (77, 2019-03-18)
expressi-develop\src (0, 2019-03-18)
expressi-develop\src\cli (0, 2019-03-18)
expressi-develop\src\cli\build.rs (2122, 2019-03-18)
expressi-develop\src\cli\error.rs (267, 2019-03-18)
expressi-develop\src\cli\jit.rs (2344, 2019-03-18)
expressi-develop\src\cli\mod.rs (113, 2019-03-18)
expressi-develop\src\cli\opts.rs (3260, 2019-03-18)
expressi-develop\src\cli\shell.rs (2310, 2019-03-18)
expressi-develop\src\codegen (0, 2019-03-18)
expressi-develop\src\codegen\compilation_result.rs (2148, 2019-03-18)
expressi-develop\src\codegen\compile.rs (1431, 2019-03-18)
expressi-develop\src\codegen\error.rs (622, 2019-03-18)
expressi-develop\src\codegen\initialization.rs (429, 2019-03-18)
expressi-develop\src\codegen\mod.rs (133, 2019-03-18)
expressi-develop\src\codegen\target_machine.rs (2793, 2019-03-18)
expressi-develop\src\codegen\tests.rs (2073, 2019-03-18)
expressi-develop\src\error.rs (2037, 2019-03-18)
expressi-develop\src\expression.rs (1869, 2019-03-18)
expressi-develop\src\ir (0, 2019-03-18)
expressi-develop\src\ir\binding_kind.rs (408, 2019-03-18)
expressi-develop\src\ir\display.rs (2337, 2019-03-18)
expressi-develop\src\ir\eir.rs (217, 2019-03-18)
expressi-develop\src\ir\identifier.rs (30, 2019-03-18)
expressi-develop\src\ir\literal.rs (226, 2019-03-18)
expressi-develop\src\ir\mod.rs (313, 2019-03-18)
expressi-develop\src\ir\node.rs (1482, 2019-03-18)
expressi-develop\src\ir\type_.rs (793, 2019-03-18)
expressi-develop\src\ir\value.rs (654, 2019-03-18)
expressi-develop\src\lib.rs (273, 2019-03-18)
expressi-develop\src\main.rs (629, 2019-03-18)
expressi-develop\src\parser.rs (9396, 2019-03-18)
... ...

# expressi [![Build Status](https://travis-ci.com/coord-e/expressi.svg?branch=develop)](https://travis-ci.com/coord-e/expressi) [![codecov](https://codecov.io/gh/coord-e/expressi/branch/develop/graph/badge.svg)](https://codecov.io/gh/coord-e/expressi) Expression-oriented toy programming language written in Rust ``` let add = a -> b -> a + b; let succ = add(1); let v = succ(succ(succ(1))); let f = if v == 4 { a -> succ(a) } else { a -> a }; let x = f(10) ``` In this example, `x` is evaluated to `11`. ## TODO - Refine errors - Property organize error variants - Get rid of `unwrap` completely - Point where the cause is - Add `EvalConstant` transformer which calculates compile-time value - Implement operators as functions - User-defined types - Tuple - Enum - Struct - Multi-line input in REPL ## License Licensed under either of * Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) at your option. ## Contribution Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

近期下载者

相关文件


收藏者