1 .* ***********************************************************
2 .* * *
3 .* * *
4 .* * Copyright, C Honeywell Information Systems Inc., 1981 *
5 .* * *
6 .* * *
7 .* ***********************************************************
8 .* ARG/CTLARG/DCL/ENTRY/MESSAGE/REQUEST EMITTER
9 .*
10 .* ..argument "argument" ...
11 .* ..arg "argument" ...
12 .* ..controlargument "long control arg" "short control arg" ...
13 .* ..ctlarg "long control arg" "short control arg" ...
14 .* ..entry "entry point"
15 .* ..message "message" "alternate message"
16 .* ..msg "message" "alternate message"
17 .* ..request "request_name"
18 .* ..rqst "request_name"
19 .* ..subroutine_entry "declaration" "call"
20 .* ..subr_entry "declaration" "call"
21 .*
22 .ts %ArgCount% > 0
23 .go ARG_OK
24 .err No arguments given.
25 .rt
26
27 .la ARG_OK
28 .ts "%InputFileName%" ^= "request" & "%InputFileName%" ^= "rqst"
29 .ur .spt %LABELSPACE%
30 .ur .go %InputFileName%
31 .rt ;.* return if no label
32
33 .la message
34 .la msg
35 .srv IARG 1
36 .tbb h
37 .la MSG_LOOP
38 .ur .unl %PAR_INDENT%
39 .ur .ur |%.fnt ascii 9%%%Arg%IARG%%%%.fnt%|
40 .srv IARG %IARG% + 1
41 .ts %IARG% <= %ArgCount%
42 .go MSG_LOOP
43 .tbe
44 .rt
45
46 .la argument
47 .la arg
48 .la controlargument
49 .la ctlarg
50 .la subroutine_entry
51 .la subr_entry
52 .srv IARG 1 ;.* set input arg counter
53 .tbb h ;.* start text header
54 .* ;.* process input args
55 .la ARG_LOOP
56 .ur .unl %PAR_INDENT% ;.* hang 1 level
57 .ur .ur .srv BOLD_START %%%%index "%%Arg%IARG%%%" "~"%%%% ;.* bold part?
58 .ts %BOLD_START% > 0
59 .go ARG_BOLD ;.* yes
60 .*
61 .ur .ur %.fnt HR%%%Arg%IARG%%%%.fnt% ;.* no bold - whole arg in HR
62 .brf
63 .go ARG_COUNT ;.* done with arg
64 .*
65 .la ARG_BOLD ;.* arg has bold parts
66 .srv ARGNDX 1 ;.* init arg scan index
67 .fnt HR ;.* use Helvetica
68 .srv ARG_LINE "%PAD%" ;.* clear output line
69 .ur .ur .srv ARG_LEN %%%%length "%%Arg%IARG%%%"%%%% ;.* length of input arg
70 .* ;.* pick out bold parts
71 .la BOLD_LOOP
72 .ts %BOLD_START% > 1 ;.* any prior HR part?
73 .ur .ur .ur .srv ARG_LINE "%ARG_LINE%
74 .+%%%%"%%Arg%IARG%%%"%ARGNDX%%%%BOLD_START%-1%%%%%%"
75 .ur .srv ARGNDX %%%ARGNDX% + %BOLD_START%%%
76 .* ;.* take bold part, replace ~ with FCS
77 .ur .ur .ur .srv BOLD_END
78 .+ %%%%%%index "%%%%"%%Arg%IARG%%%"%ARGNDX%%%%%" "~"%%%%%%
79 .ts %BOLD_END% > 0 ;.* is there one?
80 .go TAKE_BOLD ;.* yes
81 .*
82 .err Missing bold part delimiter ~
83 .go ARG_FINI
84
85 .la TAKE_BOLD
86 .ur .ur .srv ARG_LINE "%ARG_LINE%%.fnt HBI%
87 .+%%%%"%%Arg%IARG%%%"%ARGNDX%%%%BOLD_END%-1%%%%%%%.fnt%"
88 .ur .srv ARGNDX %%%ARGNDX% + %BOLD_END%%% ;.* step over delim
89 .ts %ARGNDX% > %ARG_LEN% ;.* any more?
90 .go ARG_FINI ;.* no
91 .*
92 .ur .ur .ur .srv BOLD_START
93 .+ %%%%%%index "%%%%"%%Arg%IARG%%%"%ARGNDX%%%%%" "~"%%%%%%
94 .ts %BOLD_START% > 0 ;.* another bold part?
95 .go BOLD_LOOP ;.* yes
96 .* last HR part
97 .ur .ur .srv ARG_LINE "%ARG_LINE%%%%%"%%Arg%IARG%%%"%ARGNDX%%%%%"
98 .*
99 .la ARG_FINI
100 .ur %ARG_LINE%
101 .brf
102 .fnt ;.* restore font
103 .*
104 .la ARG_COUNT
105 .srv IARG %IARG% + 1
106 .ts %IARG% <= %ArgCount%
107 .go ARG_LOOP
108 .ur .inl +%PAR_INDENT%
109 .tbe
110 .rt
111
112 .la request
113 .la rqst
114 .srv MODULE
115 .* special form for TED
116 .*.ts %ArgCount% = 2
117 .*.go RQST_ARGS_OK
118 .*.err Two arguments needed.
119 .*.rt
120 .*
121 .*.la RQST_ARGS_OK
122 .*.brb
123 .*.brn 6
124 .*.ur .ur .inl %%2 * %PAR_INDENT%%%
125 .*.ur .hla 2 0 |%.fnt HBR 12%%Arg1%%.fnt%||%.fnt HBR 12%%%RIGHT_SLUG%%%.fnt%|
126 .*.srv RIGHT_SLUG "%Arg1%"
127 .*
128 .*.spt 2
129 .*.ur .ur .tlh %LABELSPACE% -%%2 * %PAR_INDENT%%% |%.fnt HBR%%Arg1% %Arg2%%.fnt%|
130 .*.rt
131 .*
132 .spt 2
133 .indctl on
134 .if %MODULE%
135 .then .ur .hlo 2 |||%.fnt HBR 14%%Arg1%%.fnt%*N*N*N|
136 .ur .hle 2 |*N*N*N%.fnt HBR 14%%Arg1%%.fnt%|
137 .else .ur .hlo |||%.fnt HBR 14%%Arg1%%.fnt%|
138 .ur .hle |%.fnt HBR 14%%Arg1%%.fnt%|
139 .endif
140 .ur .ur .tlh %LABELSPACE% -%%2 * %PAR_INDENT%%% |%.fnt HBR%Request: %Arg1%%.fnt%|
141 .indctl
142 .rt
143
144 .la entry
145 .ifi conditional_bar_3
146 .tbb h ;.* build the header
147 .fif
148 .inl 0
149 .fnt bold
150 .ur Entry: %Parameter%
151 .fnt
152 .ur .spf %LABELSPACE%
153 .tbe
154 .rt