Skip to content

Commit

Permalink
README / TODO Fixup
Browse files Browse the repository at this point in the history
Update the checklist of items in the README.
  • Loading branch information
iwillspeak committed May 11, 2019
1 parent 8388c86 commit 5025c8b
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
19 changes: 13 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
# Ullage

Ullage started as an attempt to implement a top-down operator precedence parser in Rust. It has since started developing into a small language. Feel free to have a poke around but don't expect much to work at the moment.
A statically-typed compiled language defined by a simple grammar.

## Current Status

It is now possible to write simple programs. The following program computes 9 factorial:
It is now possible to write simple programs. The following program
computes 9 factorial:

fn fact(n: Number): Number
var acc = 1
Expand Down Expand Up @@ -33,10 +34,12 @@ You can also mess around with constant strings:
## Building and Testing

The main build is performed by `cargo`. For running the functional
tests and benchmarks you'll need Python. The suggested process is to use the `build.sh` script:
tests and benchmarks you'll need Python. The suggested process is to
use the `build.sh` script:

* `$ ./build.sh` will build the compiler `target/release/ullage`.
* `$ ./build.sh test` will build the compiler and run the test suite from `specs/`.
* `$ ./build.sh test` will build the compiler and run the test suite
from `specs/`.
* `$ ./build.sh bench` will run the benchmarks from `spec/bench/`.

## License
Expand All @@ -62,7 +65,7 @@ Ullage is open source, under the [MIT License](LICENSE.md).
* [ ] For loops and iterators
* [ ] Traditional `if` blocks
* [x] Keep track of _all_ underlying tokens
* [ ] Expose position & span information on syntax nodes
* [x] Expose position & span information on syntax nodes
* [ ] Round-trippable/pretty-printable trees

### Code Generation / Lowering
Expand All @@ -77,4 +80,8 @@ Ullage is open source, under the [MIT License](LICENSE.md).
* [ ] Library output types (LLVM ir, LLVM bc, object, staticlib, dylib, exe)
* [x] Control of target machine & features
* [x] Optimisation
* [ ] Stop shelling out for linking on supported platforms (lld or similar)
* [ ] Linker support:
* [x] `clang` - macOS linker default
* [ ] gold - GNU ld
* [ ] lld/llvm-link
* [ ] Microsoft LINK
5 changes: 4 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
A statically-typed compiled language defined by a simple grammar. The parser started as an experiment in top-down operator precedence parsing in Rust. It has since started developing into a small language.
A statically-typed compiled language defined by a simple grammar. The
parser started as an experiment in top-down operator precedence
parsing in Rust. It has since started developing into a small
language.

0 comments on commit 5025c8b

Please sign in to comment.