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
(@nul ...)
Please document me!
@nul?
(@nul? ...)
Please document me!
@eps
(@eps ...)
Please document me!
@eps?
(@eps? ...)
Please document me!
@char
(@char ...)
Please document me!
@charset
(@charset ...)
Please document me!
@negset
(@negset ...)
Please document me!
@dot
(@dot ...)
Please document me!
@alt
(@alt ...)
Please document me!
@cat
(@cat ...)
Please document me!
@rep*
(@rep* ...)
Please document me!
@rep+
(@rep+ ...)
Please document me!
@maybe
(@maybe ...)
Please document me!
deriv
(deriv ...)
Please document me!
delta
(delta ...)
Please document me!
recognizes?
(recognizes? ...)
Please document me!
Tokens, Locations, and Utilities
token
(defstruct token (t e loc))
Please document me!
token->syntax
(token->syntax ...)
Please document me!
location
(defstruct location (port line col off xoff))
Please document me!
display-location
(display-location ...)
Please document me!
location-delta
(location-delta ...)
Please document me!
location-delta*
(location-delta* ...)
Please document me!
location->source-location
(location->source-location ...)
Please document me!
wrap-identity
(wrap-identity ...)
Please document me!
wrap-ast
(wrap-ast ...)
Please document me!
unwrap-ast
(unwrap-ast ...)
Please document me!
parse-error?
(parse-error? ...)
Please document me!
raise-parse-error
(raise-parse-error ...)
Please document me!
Character Streams
make-char-stream
(make-char-stream ...)
Please document me!
char-stream?
(char-stream? ...)
Please document me!
char-stream-loc
(char-stream-loc ...)
Please document me!
char-stream-close
(char-stream-close ...)
Please document me!
char-stream-peek
(char-stream-peek ...)
Please document me!
char-stream-getc
(char-stream-getc ...)
Please document me!
char-stream-ungetc
(char-stream-ungetc ...)
Please document me!
port-location
(port-location ...)
Please document me!
Lexing
deflexer
(deflexer ...)
Please document me!
lex
(lex ...)
Please document me!
lex-chars
(lex-chars ...)
Please document me!
token-stream?
(token-stream? ...)
Please document me!
token-stream-close
(token-stream-close ...)
Please document me!
token-stream-get
(token-stream-get ...)
Please document me!
token-stream-next
(token-stream-next ...)
Please document me!
token-stream-unget
(token-stream-unget ...)
Please document me!
token-stream-peek
(token-stream-peek ...)
Please document me!
token-stream-loc
(token-stream-loc ...)
Please document me!
$
($ ...)
Please document me!
$?
($? ...)
Please document me!
$$
($$ ...)
Please document me!
$$?
($$? ...)
Please document me!
Parsing
defparser
(defparser ...)
Please document me!
parser-input-stream
(parser-input-stream ...)
Please document me!
parser-parse
(parser-parse ...)
Please document me!
parser-fail
(parser-fail ...)
Please document me!
parser-rewind
(parser-rewind ...)
Please document me!
$-
($- ...)
Please document me!
The Grammar Prelude
#lang :std/parser/grammar
Please document me!