Add docs to lib.rs
This commit is contained in:
		
							parent
							
								
									a907fec967
								
							
						
					
					
						commit
						f7fa69fbe2
					
				| @ -1,3 +1,35 @@ | ||||
| //! Reid is a toy-language compiler I'm working on to learn LLVM (and compiler
 | ||||
| //! development).
 | ||||
| //!
 | ||||
| //! Reid only uses [llvm-sys](https://gitlab.com/taricorp/llvm-sys.rs), which
 | ||||
| //! provide very minimal bindings from the LLVM C-API to Rust. `reid_llvm`-crate
 | ||||
| //! contains the relevant abstraction to produce a more Rust'y API from that.
 | ||||
| //!
 | ||||
| //! Much of the syntax in Reid is directly inspired by rust, but mostly it is
 | ||||
| //! driven by simplicity.
 | ||||
| //!
 | ||||
| //! Currently missing relevant features (TODOs) are:
 | ||||
| //! - Arrays
 | ||||
| //! - Structs (and custom types as such)
 | ||||
| //! - Extern functions
 | ||||
| //! - Strings
 | ||||
| //! - Loops
 | ||||
| //!
 | ||||
| //! An example program of Reid, that calculates the 5th fibonacci number (and
 | ||||
| //! uses Rust for highlighting) is:
 | ||||
| //! ```rust
 | ||||
| //! fn main() -> u16 {
 | ||||
| //!     return fibonacci(5);
 | ||||
| //! }
 | ||||
| //!
 | ||||
| //! fn fibonacci(n: u16) -> u16 {
 | ||||
| //!     if n <= 2 {
 | ||||
| //!         return 1;
 | ||||
| //!     }
 | ||||
| //!     return fibonacci(n-1) + fibonacci(n-2);
 | ||||
| //! }
 | ||||
| //! ```
 | ||||
| 
 | ||||
| use mir::typecheck::TypeCheck; | ||||
| use reid_lib::Context; | ||||
| 
 | ||||
| @ -11,13 +43,6 @@ mod pad_adapter; | ||||
| mod token_stream; | ||||
| mod util; | ||||
| 
 | ||||
| // TODO (Missing Relevant Features):
 | ||||
| // - Arrays
 | ||||
| // - Structs (and custom types as such)
 | ||||
| // - Extern functions
 | ||||
| // - Strings
 | ||||
| // - Loops
 | ||||
| 
 | ||||
| #[derive(thiserror::Error, Debug)] | ||||
| pub enum ReidError { | ||||
|     #[error(transparent)] | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user