diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-03-29 00:25:45 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-03-29 00:25:45 -0700 |
commit | 3365620f202a684322f7b68bc6822293c9b8b1a9 (patch) | |
tree | f8cd99146b643921e3bf5ebf1625bd301719988d | |
parent | 324d40229a0497a950e096237f2aef65e478af4c (diff) | |
download | mu-3365620f202a684322f7b68bc6822293c9b8b1a9.tar.gz |
5031
-rw-r--r-- | subx/Readme.md | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/subx/Readme.md b/subx/Readme.md index 0e73f5e7..92e49d18 100644 --- a/subx/Readme.md +++ b/subx/Readme.md @@ -594,8 +594,9 @@ Here's what I've built so far: ### primitives built atop system calls -_(Where these return compound objects that don't fit in a register, the caller -usually passes in allocated memory for it.)_ +_(Compound arguments are usually passed in by reference. Where the results are +compound objects that don't fit in a register, the caller usually passes in +allocated memory for it.)_ #### assertions for tests * `check-ints-equal`: fails current test if given ints aren't equal @@ -630,7 +631,7 @@ usually passes in allocated memory for it.)_ * `write-slice`: slice -> buffered-file * `write-stream-buffered`: stream -> buffered-file * `flush`: buffered-file -* `print-byte`: # f : (address buffered-file), n : int -> void +* `print-byte`: buffered-file, int #### reading from disk * `read-byte`: buffered-file -> byte @@ -655,17 +656,17 @@ usually passes in allocated memory for it.)_ #### tokenization from a stream: -* `next-token`: (address stream), byte -> (address slice) -* `skip-chars-matching`: (address stream), delimiter : byte -* `skip-chars-not-matching`: (address stream), delimiter : byte +* `next-token`: stream, delimiter byte -> slice +* `skip-chars-matching`: stream, delimiter byte +* `skip-chars-not-matching`: stream, delimiter byte from a slice: -* `next-token-from-slice`: start, end, delimiter -> (address slice) +* `next-token-from-slice`: start, end, delimiter byte -> slice Given a slice and a delimiter byte, returns a new slice inside the input that ends at the delimiter byte. -* `skip-chars-matching-in-slice`: curr, end, delimiter -> new-curr/EAX -* `skip-chars-not-matching-in-slice`: curr, end, delimiter -> new-curr/EAX +* `skip-chars-matching-in-slice`: curr, end, delimiter byte -> new-curr (in `EAX`) +* `skip-chars-not-matching-in-slice`: curr, end, delimiter byte -> new-curr (in `EAX`) ## Known issues |