/[webpac]/openisis/current/doc/trad-fmt.txt
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /openisis/current/doc/trad-fmt.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 237 - (hide annotations)
Mon Mar 8 17:43:12 2004 UTC (20 years, 1 month ago) by dpavlin
File MIME type: text/plain
File size: 6150 byte(s)
initial import of openisis 0.9.0 vendor drop

1 dpavlin 237 the status quo:
2     ===============
3    
4     notations:
5     UPPERCASE letters are verbatim
6     a,b,x string literals
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)
11    
12    
13     * mode
14     Mcd c = P, H or D, d = U or L
15     P proof mode: no changes applied
16     H heading mode:
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
26    
27     * field selector s
28     Vn^c[i..j]
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)
44    
45     * structural elements
46     they do not themselves generate output,
47     but rather control execution of formats u,v,w
48     , separator (end some construct)
49     /*...*/ comment
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
59     REF->a(ll,u)
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
63     IF t THEN u FI
64     IF t THEN u ELSE v FI
65     WHILE t (u)
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)
71     f format not empty
72    
73     * calculation (NUMERIC)
74     calculation is performed on longs until a decimal point is seen
75     or RAVR is used.
76     statistical functions run over format giving a list of numbers,
77     separated by ; or blank or any other non-numerical characters
78     +-*/() arithmetic
79     123 integer literal
80     123.45 float literal
81     VAL(f) numeric value of string
82     RMAX(ll) maximum
83     RMIN(ll) minimum
84     RSUM(ll) sum
85     RAVR(ll) average (always float)
86     En numerical variable n
87    
88     * database functions
89     OCC
90     IOCC current occurence (1..) in repeat
91     MFN current mfn (with 6 digits) (NUMERIC)
92     MFN(n) current mfn (with n digits)
93     DB
94     MSTNAME current masterfile (possibly changed by REF)
95     L(f) mfn of 1st posting for key f (NUMERIC)
96     L->a(f)
97     L([g]f) mfn of 1st posting for key f in db (NUMERIC)
98     LR((f))
99     LR((f),m,n) list of mfns (postings m through n)
100     NPOST(f)
101     NPST(f)
102     NPOST([g]f) number of postings for f (in db) (NUMERIC)
103    
104     * system functions
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
113    
114     * string functions
115     LEFT(f,n) substring (first n chars of f)
116     RIGHT(f,n) substring (last n chars of f)
117     SS(n,m,f)
118     MID(f,n,m) substring (m chars starting at n)
119     REPLACE(f,g,h) replace g in f with h
120     F(f)
121     F(f,n)
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)
130     Sn string variable n
131    
132    
133     * changing records
134     PROC(f) apply changes resulting from f:
135     D* delete all fields
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
140    
141     * formatting
142     # newline unconditional
143     / newline if not on line start
144     % reset blank lines
145     {
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)
149     Cm mv to column m
150     Xm m blanks
151     M(n)
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
155     LW(n) linewidth
156     QC center
157     QJ justify
158     BOX
159     BOX(n) box (with color n)
160     NP
161     NP(n) newpage (if less than n lines left)
162     NC
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
166     Fn select font n
167     FSn select fontsize n
168     B bold
169     I italic
170     UL underline
171     CLn select color n
172     !cac print ESC a
173     PICT(f) picture
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:
177    
178     * link commands
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
189     GOBACK ... :)
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 \" (???)

  ViewVC Help
Powered by ViewVC 1.1.26