5 UPPERCASE letters are verbatim
7 c,d,e single characters
8 f,g,h formats producing a single string value
9 i,j,k,l,m,n,o numbers (formats processed in integer context)
10 ll list of numbers (pushed by an expression)
14 Mcd c = P, H or D, d = U or L
15 P proof mode: no changes applied
17 ^x is replaced as ';' for x=a, ',' for x=b..i, '.' for others
18 angle brackets are removed (>< replaced by '; '):
19 <a=b> gives b in index, a else
20 <a> gives nothing in index, a else
21 D data mode: like heading mode plus '. ' after each field not followed
22 by a suffix. no '.', if field ends in "punctuation" character.
23 L lower case: no changes applied
24 U upper case: characters are converted to "uppercase" as listed
25 in the file ISISUC.TAB
29 Vn[i..j]^c select field n (0 = all), optional subfield c (* = first),
30 optional range of occ i to j (j may be ommited or LAST),
31 Dn^c select presence (optionally of subfield c)
32 Nn^c select absence (optionally of subfield c)
33 NOCC(s) total number of occurences of field s (NUMERIC)
34 P(s) true, if s is present (BOOLEAN, see IF)
35 A(s) true, if s is absent (BOOLEAN, see IF)
36 ["x" a ["x" a ...]][|x|[+]]s[*o][.l][(k[,m])][[+]|x|]["x"]
37 here [] are not literal, but indicate optional parts.
38 x are strings not containing their respective delimiter
39 a arbitrary formatting or mode commands conditionally executed
40 repeated prefix or suffix in || output for any repetition,
41 with + first prefix / last suffix is ommited,
42 optional string offset o (0=start) and length l,
43 optional indentation k,m (see formatting)
46 they do not themselves generate output,
47 but rather control execution of formats u,v,w
48 , separator (end some construct)
50 'a' unconditional literal
51 @a, include format file a
52 &a(f) call external function a
53 (u) repeat group (over IOCC, only in record or string mode)
54 BREAK break a repeat group or REF
55 CONTINUE continue a repeat group
56 SELECT f CASE g: u CASE h: v ... ENDSEL
57 SELECT f CASE g: u CASE h: v ... ELSECASE w ENDSEL
58 REF(m,u) apply format to row number m
60 REF([f]ll,u) apply format to row number m in db
61 En:=m assignment to numerical variable
62 Sn:=(f) assignment to string variable
66 t a boolean expression using:
67 fxg comparision, where x is one of = <> < <= > >=
68 AND NOT OR () logical combination
69 f:g true iff f contains g case insensitiv
70 P(s) A(s) (see field selector)
73 * calculation (NUMERIC)
74 calculation is performed on longs until a decimal point is seen
76 statistical functions run over format giving a list of numbers,
77 separated by ; or blank or any other non-numerical characters
81 VAL(f) numeric value of string
85 RAVR(ll) average (always float)
86 En numerical variable n
90 IOCC current occurence (1..) in repeat
91 MFN current mfn (with 6 digits) (NUMERIC)
92 MFN(n) current mfn (with n digits)
94 MSTNAME current masterfile (possibly changed by REF)
95 L(f) mfn of 1st posting for key f (NUMERIC)
97 L([g]f) mfn of 1st posting for key f in db (NUMERIC)
99 LR((f),m,n) list of mfns (postings m through n)
102 NPOST([g]f) number of postings for f (in db) (NUMERIC)
105 CAT(f) contents of file f
106 DATE date as yyyymmdd hhmmss w nnn (w day of week, nnn julian)
107 DATE(DATETIME) dd/mm/yy hh:mm:ss
108 DATE(DATEONLY) dd/mm/yy
109 DATE(n) mm-dd-yy (n=2), hh:mm:ss (n=3) or both (n=1)
110 GETENV(f) value of env variable f
111 PUTENV(f) read f as x=y, set env var x to y
112 SYSTEM(f) execute system command
115 LEFT(f,n) substring (first n chars of f)
116 RIGHT(f,n) substring (last n chars of f)
118 MID(f,n,m) substring (m chars starting at n)
119 REPLACE(f,g,h) replace g in f with h
122 F(f,n,m) number to string
123 S(f)*n.m stringify format f, apply optional offset n, length m
124 INSTR(f,g) pos of g in f (0 = none) (NUMERIC)
125 SIZE(f) length of string f (NUMERIC)
126 TYPE(f) A (if alphabetic), N (if numeric) or X (else)
127 TYPE(?a?,f) 0 or 1, if f matches pattern .... ????
128 TYPE(n,f) 0 or 1, if f is alphanumeric (n=1), alpha(n=2), digits(n=3),
129 integer, incl. sign(n=4), number, incl. E-notation(n=5)
134 PROC(f) apply changes resulting from f:
136 Dn delete all fields n
137 Dn/m delete occ m of field n
138 Ancac add string a (delim by any c) as new field n
139 Hn m a add string a of length m as new field n
142 # newline unconditional
143 / newline if not on line start
146 } open/close formatting scope
147 Vn..(m) or Vn..(m,o) indentation in columns for one field selector
148 NEWLINE(f) change newline to emit f (\r,\n are recognized in f)
152 M(n,m) indentation in twips (twentieth point = 1/1440 inch)
153 TAB mv to some (?) position
154 TAB(m) mv to position in twips
159 BOX(n) box (with color n)
161 NP(n) newpage (if less than n lines left)
163 NC(n) new column (if less than n lines left)
164 FONTS((a,b),...) setup fonts table, each font with family a and name b
165 COLS((i,j,k),...) setup color table, each color with RGB-values i,j,k
167 FSn select fontsize n
174 BPICT(f) background picture
175 BPICT((f),m) background picture in mode m
176 LINK((f),g,...) link text f to command g, where g is:
179 TEXTBOX f open box with text f
180 TEXTBOXCHILD f same, as child of DB window
181 TEXTBOXRCHILD f same, as child of record window
182 TEXTBOX[[R]CHILD]LOAD f[,a,b] display format f, optionally changing a to b
183 TEXTBOX[[R]CHILD]IMG f display img file f
184 TEXTBOX[i]... with literal [] identify window number i
185 OPENFILE f open according to filetype
186 CMD f run external prog f
187 GOTO m display record with mfn m
188 LGOTO f display record with key f
190 FORMAT f[,a,b] switch format to f, optionally changing a to b
191 BROWSE a[,m[,f]] browse DB a, mfn m, format f
192 \,{ and } "must be escaped with a \" (???)