Language Parsers
The :std/parser
library provides facilities for parsing languages, with emphasis
on custom languages. See also the tutorial.
usage
(import :std/parser)
Overview
Please write me!
Regular Languages
@nul
usage
(@nul ...)
Please document me!
@nul?
usage
(@nul? ...)
Please document me!
@eps
usage
(@eps ...)
Please document me!
@eps?
usage
(@eps? ...)
Please document me!
@char
usage
(@char ...)
Please document me!
@charset
usage
(@charset ...)
Please document me!
@negset
usage
(@negset ...)
Please document me!
@dot
usage
(@dot ...)
Please document me!
@alt
usage
(@alt ...)
Please document me!
@cat
usage
(@cat ...)
Please document me!
@rep*
usage
(@rep* ...)
Please document me!
@rep+
usage
(@rep+ ...)
Please document me!
@maybe
usage
(@maybe ...)
Please document me!
deriv
usage
(deriv ...)
Please document me!
delta
usage
(delta ...)
Please document me!
recognizes?
usage
(recognizes? ...)
Please document me!
Tokens, Locations, and Utilities
token
(defstruct token (t e loc))
Please document me!
token->syntax
usage
(token->syntax ...)
Please document me!
location
(defstruct location (port line col off xoff))
Please document me!
display-location
usage
(display-location ...)
Please document me!
location-delta
usage
(location-delta ...)
Please document me!
location-delta*
usage
(location-delta* ...)
Please document me!
location->source-location
usage
(location->source-location ...)
Please document me!
wrap-identity
usage
(wrap-identity ...)
Please document me!
wrap-ast
usage
(wrap-ast ...)
Please document me!
unwrap-ast
usage
(unwrap-ast ...)
Please document me!
parse-error?
usage
(parse-error? ...)
Please document me!
raise-parse-error
usage
(raise-parse-error ...)
Please document me!
Character Streams
make-char-stream
usage
(make-char-stream ...)
Please document me!
char-stream?
usage
(char-stream? ...)
Please document me!
char-stream-loc
usage
(char-stream-loc ...)
Please document me!
char-stream-close
usage
(char-stream-close ...)
Please document me!
char-stream-peek
usage
(char-stream-peek ...)
Please document me!
char-stream-getc
usage
(char-stream-getc ...)
Please document me!
char-stream-ungetc
usage
(char-stream-ungetc ...)
Please document me!
port-location
usage
(port-location ...)
Please document me!
Lexing
deflexer
usage
(deflexer ...)
Please document me!
lex
usage
(lex ...)
Please document me!
lex-chars
usage
(lex-chars ...)
Please document me!
token-stream?
usage
(token-stream? ...)
Please document me!
token-stream-close
usage
(token-stream-close ...)
Please document me!
token-stream-get
usage
(token-stream-get ...)
Please document me!
token-stream-next
usage
(token-stream-next ...)
Please document me!
token-stream-unget
usage
(token-stream-unget ...)
Please document me!
token-stream-peek
usage
(token-stream-peek ...)
Please document me!
token-stream-loc
usage
(token-stream-loc ...)
Please document me!
$
usage
($ ...)
Please document me!
$?
usage
($? ...)
Please document me!
$$
usage
($$ ...)
Please document me!
$$?
usage
($$? ...)
Please document me!
Parsing
defparser
usage
(defparser ...)
Please document me!
parser-input-stream
usage
(parser-input-stream ...)
Please document me!
parser-parse
usage
(parser-parse ...)
Please document me!
parser-fail
usage
(parser-fail ...)
Please document me!
parser-rewind
usage
(parser-rewind ...)
Please document me!
$-
usage
($- ...)
Please document me!
The Grammar Prelude
usage
#lang :std/parser/grammar
Please document me!