4 mzlib/awk

▼ |  | Mz Lib: Legacy Libraries

1 | mzlib/ a-signature
2 | mzlib/ a-unit
3 | mzlib/ async-channel
4 | mzlib/ awk
5 | mzlib/ class
6 | mzlib/ cm
7 | mzlib/ cm-accomplice
8 | mzlib/ cmdline
9 | mzlib/ cml
10 | mzlib/ compat
11 | mzlib/ compile
12 | mzlib/ contract
13 | mzlib/ control
14 | mzlib/ date
15 | mzlib/ deflate
16 | mzlib/ defmacro
17 | mzlib/ etc
18 | mzlib/ file
19 | mzlib/ for
20 | mzlib/ foreign
21 | mzlib/ include
22 | mzlib/ inflate
23 | mzlib/ integer-set
24 | mzlib/ kw
25 | mzlib/ list
26 | mzlib/ match
27 | mzlib/ math
28 | mzlib/ md5
29 | mzlib/ os
30 | mzlib/ pconvert
31 | mzlib/ pconvert-prop
32 | mzlib/ plt-match
33 | mzlib/ port
34 | mzlib/ pregexp
35 | mzlib/ pretty
36 | mzlib/ process
37 | mzlib/ restart
38 | mzlib/ runtime-path
39 | mzlib/ sandbox
40 | mzlib/ sendevent
41 | mzlib/ serialize
42 | mzlib/ shared
43 | mzlib/ string
44 | mzlib/ struct
45 | mzlib/ stxparam
46 | mzlib/ surrogate
47 | mzlib/ tar
48 | mzlib/ thread
49 | mzlib/ trace
50 | mzlib/ traceld
51 | mzlib/ trait
52 | mzlib/ transcr
53 | mzlib/ unit
54 | mzlib/ unit-exptime
55 | mzlib/ unit200
56 | mzlib/ unitsig200
57 | mzlib/ zip
| Bibliography
| Index

On this page:

awk
match: start
match: end
match: substring
regexp-exec

Racket
top contents ← prev up next →

(require mzlib/awk) | package: compatibility-lib

> > syntax
> > (awk next-record-expr
> > (record field-id ...)
> > maybe-counter
> > ((state-variable init-expr) ...)
> > maybe-continue
> > clause ...)
> maybe-counter |  | = |  |
> |  | | |  | id
> maybe-continue |  | = |  |
> |  | | |  | id
> clause |  | = |  | (test body ...+)
> |  | | |  | (test => procedure-expr)
> |  | | |  | (/ regexp-str / (id-or-false ...+) body ...+)
> |  | | |  | (range excl-start-test excl-stop-test body ...+)
> |  | | |  | (:range incl-start-test excl-stop-test body ...+)
> |  | | |  | (range: excl-start-test incl-stop-test body ...+)
> |  | | |  | (:range: incl-start-test incl-stop-test body ...+)
> |  | | |  | (else body ...+)
> |  | | |  | (after body ...+)
> test |  | = |  | integer
> |  | | |  | regexp-string
> |  | | |  | expr
> excl-start-test |  | = |  | test
> excl-stop-test |  | = |  | test
> incl-start-test |  | = |  | test
> incl-stop-test |  | = |  | test
> id-or-false |  | = |  | id
> |  | | |  | #f

The awk macro from Scsh [Shivers06]. In addition to awk, the Scsh-compatible procedures match:start, match:end, match:substring, and regexp-exec are defined. These match: procedures must be used to extract match information in a regular expression clause when using the => form.

> procedure (match:start rec [which]) → exact-nonnegative-integer?
> rec : ....
> which : exact-nonnegative-integer? = 0
> procedure (match:end rec [which]) → exact-nonnegative-integer?
> rec : ....
> which : exact-nonnegative-integer? = 0
> procedure (match:substring rec [which]) → string?
> rec : ....
> which : exact-nonnegative-integer? = 0

Extracts a start position, end position, or substring corresponding to a match. The first argument is the value supplied to the procedure after => in a awk clause or the result of regexp-exec.

> procedure (regexp-exec re s) → (or/c .... false/c)
> re : (or/c string? regexp?)
> s : string?

Matches a regexp to a string, returning a record compatible with match:start, etc.
top contents ← prev up next →