diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /web/funnelAC/results |
Initial commit
Diffstat (limited to 'web/funnelAC/results')
129 files changed, 30213 insertions, 0 deletions
diff --git a/web/funnelAC/results/0testres.dif b/web/funnelAC/results/0testres.dif new file mode 100644 index 0000000000..734f06a09d --- /dev/null +++ b/web/funnelAC/results/0testres.dif @@ -0,0 +1,8167 @@ + + +Comparing "/usr/var/tmp/funnelweb/results/generate.lis" + with "/usr/var/tmp/funnelweb/answers/generate.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc01.lis" + with "/usr/var/tmp/funnelweb/answers/sc01.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc02.lis" + with "/usr/var/tmp/funnelweb/answers/sc02.lis". + + +----- +00040|------------------- Start of Macro Dump -------------------- +00041|Macro Name : "#file" +00042|Defined? : Yes. +00043|Parameters : 0 +00044|Additive? : No. +00045|Zero Calls? : Yes. +00046|Many Calls? : Yes. +00047|Output File?: No. +00048|Automatic Line Directive Macro?: No. +00049|Call list : +00050|Macro body : +00051| +00052|--Start of List of Body Parts-- +00053|This macro has 1 body part. +00054|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00055| +00056|---- Start of Expression ---- +00057| +00058|--- Start Special Function --- +00059|---- End Special Function ---- +00060| +00061|----- End of Expression ----- +00062| +00063|---End of List of Body Parts--- +00064| +00065|-------------------- End of Macro Dump --------------------- +00066| +00067| +00068| +00069|------------------- Start of Macro Dump -------------------- +00070|Macro Name : "#line" +00071|Defined? : Yes. +00072|Parameters : 0 +00073|Additive? : No. +00074|Zero Calls? : Yes. +00075|Many Calls? : Yes. +00076|Output File?: No. +00077|Automatic Line Directive Macro?: No. +00078|Call list : +00079|Macro body : +00080| +00081|--Start of List of Body Parts-- +00082|This macro has 1 body part. +00083|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00084| +00085|---- Start of Expression ---- +00086| +00087|--- Start Special Function --- +00088|---- End Special Function ---- +00089| +00090|----- End of Expression ----- +00091| +00092|---End of List of Body Parts--- +00093| +00094|-------------------- End of Macro Dump --------------------- +00095| +00096| +00097| +00098|------------------- Start of Macro Dump -------------------- +00099|Macro Name : "#timestamp" +00100|Defined? : Yes. +00101|Parameters : 0 +00102|Additive? : No. +00103|Zero Calls? : Yes. + +----- +00040|=========================== End of MACRO TABLE DUMP ============================ +00041| +00042| +00043|========================= Start of DOCUMENT LIST DUMP ========================== +00044| +00045| +00046|========================== End of DOCUMENT LIST DUMP =========================== +00047| +00048|E: No macros defined. +00049|E: No output files specified. +00050| +00051|Global Local| Input File +00052|------------+------------------------------------------------------------------- +00053| | <End-Of-File> +00054| Warning|.^Input file is empty (not a byte in syte)! +00055|------------+------------------------------------------------------------------- +00056| +00057|There were 2 Errors and 1 Warning. + +----- + + +----- +00104|Many Calls? : Yes. +00105|Output File?: No. +00106|Automatic Line Directive Macro?: No. +00107|Call list : +00108|Macro body : +00109| +00110|--Start of List of Body Parts-- +00111|This macro has 1 body part. +00112|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00113| +00114|---- Start of Expression ---- +00115| +00116|--- Start Special Function --- +00117|---- End Special Function ---- +00118| +00119|----- End of Expression ----- +00120| +00121|---End of List of Body Parts--- +00122| +00123|-------------------- End of Macro Dump --------------------- +00124| +00125| +00126| +00127|=========================== End of MACRO TABLE DUMP ============================ +00128| +00129| +00130|========================= Start of DOCUMENT LIST DUMP ========================== +00131| +00132| +00133|========================== End of DOCUMENT LIST DUMP =========================== +00134| +00135|E: No output files specified. +00136| +00137|Global Local| Input File +00138|------------+------------------------------------------------------------------- +00139| | <End-Of-File> +00140| Warning|.^Input file is empty (not a byte in syte)! +00141|------------+------------------------------------------------------------------- +00142| +00143|There was 1 Error and 1 Warning. + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/sc03.lis" + with "/usr/var/tmp/funnelweb/answers/sc03.lis". + + +----- +00044|------------------- Start of Macro Dump -------------------- +00045|Macro Name : "#file" +00046|Defined? : Yes. +00047|Parameters : 0 +00048|Additive? : No. +00049|Zero Calls? : Yes. +00050|Many Calls? : Yes. +00051|Output File?: No. +00052|Automatic Line Directive Macro?: No. +00053|Call list : +00054|Macro body : +00055| +00056|--Start of List of Body Parts-- +00057|This macro has 1 body part. +00058|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00059| +00060|---- Start of Expression ---- +00061| +00062|--- Start Special Function --- +00063|---- End Special Function ---- +00064| +00065|----- End of Expression ----- +00066| +00067|---End of List of Body Parts--- +00068| +00069|-------------------- End of Macro Dump --------------------- +00070| +00071| +00072| +00073|------------------- Start of Macro Dump -------------------- +00074|Macro Name : "#line" +00075|Defined? : Yes. +00076|Parameters : 0 +00077|Additive? : No. +00078|Zero Calls? : Yes. +00079|Many Calls? : Yes. +00080|Output File?: No. +00081|Automatic Line Directive Macro?: No. +00082|Call list : +00083|Macro body : +00084| +00085|--Start of List of Body Parts-- +00086|This macro has 1 body part. +00087|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00088| +00089|---- Start of Expression ---- +00090| +00091|--- Start Special Function --- +00092|---- End Special Function ---- +00093| +00094|----- End of Expression ----- +00095| +00096|---End of List of Body Parts--- +00097| +00098|-------------------- End of Macro Dump --------------------- +00099| +00100| +00101| +00102|------------------- Start of Macro Dump -------------------- +00103|Macro Name : "#timestamp" +00104|Defined? : Yes. +00105|Parameters : 0 +00106|Additive? : No. +00107|Zero Calls? : Yes. + +----- +00044|=========================== End of MACRO TABLE DUMP ============================ +00045| +00046| +00047|========================= Start of DOCUMENT LIST DUMP ========================== +00048| +00049| +00050|TEXT COMPONENT: Pos(L,C)=(1,1). +00051| +00052|-- Start of Text Scrap List -- +00053|Text scrap[White]="<010> +00054|" +00055|--- End of Text Scrap List --- +00056| +00057| +00058|========================== End of DOCUMENT LIST DUMP =========================== +00059| +00060|E: No macros defined. +00061|E: No output files specified. +00062| +00063|Global Local| Input File +00064|------------+------------------------------------------------------------------- +00065|................. +00066|------------+------------------------------------------------------------------- +00067| +00068|There were 2 Errors. + +----- + + +----- +00108|Many Calls? : Yes. +00109|Output File?: No. +00110|Automatic Line Directive Macro?: No. +00111|Call list : +00112|Macro body : +00113| +00114|--Start of List of Body Parts-- +00115|This macro has 1 body part. +00116|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00117| +00118|---- Start of Expression ---- +00119| +00120|--- Start Special Function --- +00121|---- End Special Function ---- +00122| +00123|----- End of Expression ----- +00124| +00125|---End of List of Body Parts--- +00126| +00127|-------------------- End of Macro Dump --------------------- +00128| +00129| +00130| +00131|=========================== End of MACRO TABLE DUMP ============================ +00132| +00133| +00134|========================= Start of DOCUMENT LIST DUMP ========================== +00135| +00136| +00137|TEXT COMPONENT: Pos(L,C)=(1,1). +00138| +00139|-- Start of Text Scrap List -- +00140|Text scrap[White]="<010> +00141|" +00142|--- End of Text Scrap List --- +00143| +00144| +00145|========================== End of DOCUMENT LIST DUMP =========================== +00146| +00147|E: No output files specified. +00148| +00149|Global Local| Input File +00150|------------+------------------------------------------------------------------- +00151|................. +00152|------------+------------------------------------------------------------------- +00153| +00154|There was 1 Error. + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/sc04.lis" + with "/usr/var/tmp/funnelweb/answers/sc04.lis". + + +----- +00046|------------------- Start of Macro Dump -------------------- +00047|Macro Name : "#file" +00048|Defined? : Yes. +00049|Parameters : 0 +00050|Additive? : No. +00051|Zero Calls? : Yes. +00052|Many Calls? : Yes. +00053|Output File?: No. +00054|Automatic Line Directive Macro?: No. +00055|Call list : +00056|Macro body : +00057| +00058|--Start of List of Body Parts-- +00059|This macro has 1 body part. +00060|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00061| +00062|---- Start of Expression ---- +00063| +00064|--- Start Special Function --- +00065|---- End Special Function ---- +00066| +00067|----- End of Expression ----- +00068| +00069|---End of List of Body Parts--- +00070| +00071|-------------------- End of Macro Dump --------------------- +00072| +00073| +00074| +00075|------------------- Start of Macro Dump -------------------- +00076|Macro Name : "#line" +00077|Defined? : Yes. +00078|Parameters : 0 +00079|Additive? : No. +00080|Zero Calls? : Yes. +00081|Many Calls? : Yes. +00082|Output File?: No. +00083|Automatic Line Directive Macro?: No. +00084|Call list : +00085|Macro body : +00086| +00087|--Start of List of Body Parts-- +00088|This macro has 1 body part. +00089|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00090| +00091|---- Start of Expression ---- +00092| +00093|--- Start Special Function --- +00094|---- End Special Function ---- +00095| +00096|----- End of Expression ----- +00097| +00098|---End of List of Body Parts--- +00099| +00100|-------------------- End of Macro Dump --------------------- +00101| +00102| +00103| +00104|------------------- Start of Macro Dump -------------------- +00105|Macro Name : "#timestamp" +00106|Defined? : Yes. +00107|Parameters : 0 +00108|Additive? : No. +00109|Zero Calls? : Yes. + +----- +00046|=========================== End of MACRO TABLE DUMP ============================ +00047| +00048| +00049|========================= Start of DOCUMENT LIST DUMP ========================== +00050| +00051| +00052|TEXT COMPONENT: Pos(L,C)=(1,1). +00053| +00054|-- Start of Text Scrap List -- +00055|Text scrap[White]="<010> +00056|<010> +00057|" +00058|--- End of Text Scrap List --- +00059| +00060| +00061|========================== End of DOCUMENT LIST DUMP =========================== +00062| +00063|E: No macros defined. +00064|E: No output files specified. +00065| +00066|Global Local| Input File +00067|------------+------------------------------------------------------------------- +00068|................. +00069|------------+------------------------------------------------------------------- +00070| +00071|There were 2 Errors. + +----- + + +----- +00110|Many Calls? : Yes. +00111|Output File?: No. +00112|Automatic Line Directive Macro?: No. +00113|Call list : +00114|Macro body : +00115| +00116|--Start of List of Body Parts-- +00117|This macro has 1 body part. +00118|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00119| +00120|---- Start of Expression ---- +00121| +00122|--- Start Special Function --- +00123|---- End Special Function ---- +00124| +00125|----- End of Expression ----- +00126| +00127|---End of List of Body Parts--- +00128| +00129|-------------------- End of Macro Dump --------------------- +00130| +00131| +00132| +00133|=========================== End of MACRO TABLE DUMP ============================ +00134| +00135| +00136|========================= Start of DOCUMENT LIST DUMP ========================== +00137| +00138| +00139|TEXT COMPONENT: Pos(L,C)=(1,1). +00140| +00141|-- Start of Text Scrap List -- +00142|Text scrap[White]="<010> +00143|<010> +00144|" +00145|--- End of Text Scrap List --- +00146| +00147| +00148|========================== End of DOCUMENT LIST DUMP =========================== +00149| +00150|E: No output files specified. +00151| +00152|Global Local| Input File +00153|------------+------------------------------------------------------------------- +00154|................. +00155|------------+------------------------------------------------------------------- +00156| +00157|There was 1 Error. + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/sc05.lis" + with "/usr/var/tmp/funnelweb/answers/sc05.lis". + + +----- +00048|------------------- Start of Macro Dump -------------------- +00049|Macro Name : "#file" +00050|Defined? : Yes. +00051|Parameters : 0 +00052|Additive? : No. +00053|Zero Calls? : Yes. +00054|Many Calls? : Yes. +00055|Output File?: No. +00056|Automatic Line Directive Macro?: No. +00057|Call list : +00058|Macro body : +00059| +00060|--Start of List of Body Parts-- +00061|This macro has 1 body part. +00062|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00063| +00064|---- Start of Expression ---- +00065| +00066|--- Start Special Function --- +00067|---- End Special Function ---- +00068| +00069|----- End of Expression ----- +00070| +00071|---End of List of Body Parts--- +00072| +00073|-------------------- End of Macro Dump --------------------- +00074| +00075| +00076| +00077|------------------- Start of Macro Dump -------------------- +00078|Macro Name : "#line" +00079|Defined? : Yes. +00080|Parameters : 0 +00081|Additive? : No. +00082|Zero Calls? : Yes. +00083|Many Calls? : Yes. +00084|Output File?: No. +00085|Automatic Line Directive Macro?: No. +00086|Call list : +00087|Macro body : +00088| +00089|--Start of List of Body Parts-- +00090|This macro has 1 body part. +00091|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00092| +00093|---- Start of Expression ---- +00094| +00095|--- Start Special Function --- +00096|---- End Special Function ---- +00097| +00098|----- End of Expression ----- +00099| +00100|---End of List of Body Parts--- +00101| +00102|-------------------- End of Macro Dump --------------------- +00103| +00104| +00105| +00106|------------------- Start of Macro Dump -------------------- +00107|Macro Name : "#timestamp" +00108|Defined? : Yes. +00109|Parameters : 0 +00110|Additive? : No. +00111|Zero Calls? : Yes. + +----- +00048|=========================== End of MACRO TABLE DUMP ============================ +00049| +00050| +00051|========================= Start of DOCUMENT LIST DUMP ========================== +00052| +00053| +00054|TEXT COMPONENT: Pos(L,C)=(1,1). +00055| +00056|-- Start of Text Scrap List -- +00057|Text scrap[Grey]="SC05: This input file contains a single line containing this text!<010> +00058|" +00059|--- End of Text Scrap List --- +00060| +00061| +00062|========================== End of DOCUMENT LIST DUMP =========================== +00063| +00064|E: No macros defined. +00065|E: No output files specified. +00066| +00067|Global Local| Input File +00068|------------+------------------------------------------------------------------- +00069|................. +00070|------------+------------------------------------------------------------------- +00071| +00072|There were 2 Errors. + +----- + + +----- +00112|Many Calls? : Yes. +00113|Output File?: No. +00114|Automatic Line Directive Macro?: No. +00115|Call list : +00116|Macro body : +00117| +00118|--Start of List of Body Parts-- +00119|This macro has 1 body part. +00120|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00121| +00122|---- Start of Expression ---- +00123| +00124|--- Start Special Function --- +00125|---- End Special Function ---- +00126| +00127|----- End of Expression ----- +00128| +00129|---End of List of Body Parts--- +00130| +00131|-------------------- End of Macro Dump --------------------- +00132| +00133| +00134| +00135|=========================== End of MACRO TABLE DUMP ============================ +00136| +00137| +00138|========================= Start of DOCUMENT LIST DUMP ========================== +00139| +00140| +00141|TEXT COMPONENT: Pos(L,C)=(1,1). +00142| +00143|-- Start of Text Scrap List -- +00144|Text scrap[Grey]="SC05: This input file contains a single line containing this text!<010> +00145|" +00146|--- End of Text Scrap List --- +00147| +00148| +00149|========================== End of DOCUMENT LIST DUMP =========================== +00150| +00151|E: No output files specified. +00152| +00153|Global Local| Input File +00154|------------+------------------------------------------------------------------- +00155|................. +00156|------------+------------------------------------------------------------------- +00157| +00158|There was 1 Error. + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/sc06.lis" + with "/usr/var/tmp/funnelweb/answers/sc06.lis". + + +----- +00018|| 72 6B 65 72 2E 0A 0A | rker... | + +----- +00018|| 72 6B 65 72 2E 0A 0A 48 65 72 65 20 69 73 20 74 | rker...Here is t | +00019|| 68 65 20 69 6D 70 72 6F 70 65 72 20 74 65 72 6D | he improper term | +00020|| 69 6E 61 74 69 6F 6E 21 2D 2D 2D 2D 3E | ination!----> | + +----- + + +----- +00029|00004 00004| <End-Of-File><010> + +----- +00031|00004 00004| Here is the improper termination!----><010> +00032|00005 00005| <End-Of-File><010> + +----- + + +----- +00046|" +00047|0004[01]: End Of File. + +----- +00049|Here is the improper termination!----><010> +00050|" +00051|0005[01]: End Of File. + +----- + + +----- +00054|------------------- Start of Macro Dump -------------------- +00055|Macro Name : "#file" +00056|Defined? : Yes. +00057|Parameters : 0 +00058|Additive? : No. +00059|Zero Calls? : Yes. +00060|Many Calls? : Yes. +00061|Output File?: No. +00062|Automatic Line Directive Macro?: No. +00063|Call list : +00064|Macro body : +00065| +00066|--Start of List of Body Parts-- +00067|This macro has 1 body part. +00068|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00069| +00070|---- Start of Expression ---- +00071| +00072|--- Start Special Function --- +00073|---- End Special Function ---- +00074| +00075|----- End of Expression ----- +00076| +00077|---End of List of Body Parts--- +00078| +00079|-------------------- End of Macro Dump --------------------- +00080| +00081| +00082| +00083|------------------- Start of Macro Dump -------------------- +00084|Macro Name : "#line" +00085|Defined? : Yes. +00086|Parameters : 0 +00087|Additive? : No. +00088|Zero Calls? : Yes. +00089|Many Calls? : Yes. +00090|Output File?: No. +00091|Automatic Line Directive Macro?: No. +00092|Call list : +00093|Macro body : +00094| +00095|--Start of List of Body Parts-- +00096|This macro has 1 body part. +00097|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00098| +00099|---- Start of Expression ---- +00100| +00101|--- Start Special Function --- +00102|---- End Special Function ---- +00103| +00104|----- End of Expression ----- +00105| +00106|---End of List of Body Parts--- +00107| +00108|-------------------- End of Macro Dump --------------------- +00109| +00110| +00111| +00112|------------------- Start of Macro Dump -------------------- +00113|Macro Name : "#timestamp" +00114|Defined? : Yes. +00115|Parameters : 0 +00116|Additive? : No. +00117|Zero Calls? : Yes. + +----- +00058|=========================== End of MACRO TABLE DUMP ============================ +00059| +00060| +00061|========================= Start of DOCUMENT LIST DUMP ========================== +00062| +00063| +00064|TEXT COMPONENT: Pos(L,C)=(1,1). +00065| +00066|-- Start of Text Scrap List -- +00067|Text scrap[Grey]="SC06: Test FunnelWeb on a file whose last line is not terminated properly<010> +00068|with an end of line marker.<010> +00069|<010> +00070|Here is the improper termination!----><010> +00071|" +00072|--- End of Text Scrap List --- +00073| +00074| +00075|========================== End of DOCUMENT LIST DUMP =========================== +00076| +00077|E: No macros defined. +00078|E: No output files specified. +00079| +00080|Global Local| Input File +00081|------------+------------------------------------------------------------------- +00082| 1 1| SC06: Test FunnelWeb on a file whose last line is not terminated properly +00083| 2 2| with an end of line marker. +00084| 3 3| +00085| 4 4| Here is the improper termination!----> +00086| | <End-Of-File> +00087| Warning|.^The last line of the input file was terminated by EOF. +00088| |.^An EOL was inserted at the end of the last line. +00089|------------+------------------------------------------------------------------- +00090| +00091|There were 2 Errors and 1 Warning. + +----- + + +----- +00118|Many Calls? : Yes. +00119|Output File?: No. +00120|Automatic Line Directive Macro?: No. +00121|Call list : +00122|Macro body : +00123| +00124|--Start of List of Body Parts-- +00125|This macro has 1 body part. +00126|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00127| +00128|---- Start of Expression ---- +00129| +00130|--- Start Special Function --- +00131|---- End Special Function ---- +00132| +00133|----- End of Expression ----- +00134| +00135|---End of List of Body Parts--- +00136| +00137|-------------------- End of Macro Dump --------------------- +00138| +00139| +00140| +00141|=========================== End of MACRO TABLE DUMP ============================ +00142| +00143| +00144|========================= Start of DOCUMENT LIST DUMP ========================== +00145| +00146| +00147|TEXT COMPONENT: Pos(L,C)=(1,1). +00148| +00149|-- Start of Text Scrap List -- +00150|Text scrap[Grey]="SC06: Test FunnelWeb on a file whose last line is not terminated properly<010> +00151|with an end of line marker.<010> +00152|<010> +00153|" +00154|--- End of Text Scrap List --- +00155| +00156| +00157|========================== End of DOCUMENT LIST DUMP =========================== +00158| +00159|E: No output files specified. +00160| +00161|Global Local| Input File +00162|------------+------------------------------------------------------------------- +00163|................. +00164|------------+------------------------------------------------------------------- +00165| +00166|There was 1 Error. + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/sc07.lis" + with "/usr/var/tmp/funnelweb/answers/sc07.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc08.lis" + with "/usr/var/tmp/funnelweb/answers/sc08.lis". + + +----- +00066|------------------- Start of Macro Dump -------------------- +00067|Macro Name : "#file" +00068|Defined? : Yes. +00069|Parameters : 0 +00070|Additive? : No. +00071|Zero Calls? : Yes. +00072|Many Calls? : Yes. +00073|Output File?: No. +00074|Automatic Line Directive Macro?: No. +00075|Call list : +00076|Macro body : +00077| +00078|--Start of List of Body Parts-- +00079|This macro has 1 body part. +00080|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00081| +00082|---- Start of Expression ---- +00083| +00084|--- Start Special Function --- +00085|---- End Special Function ---- +00086| +00087|----- End of Expression ----- +00088| +00089|---End of List of Body Parts--- +00090| +00091|-------------------- End of Macro Dump --------------------- +00092| +00093| +00094| +00095|------------------- Start of Macro Dump -------------------- +00096|Macro Name : "#line" +00097|Defined? : Yes. +00098|Parameters : 0 +00099|Additive? : No. +00100|Zero Calls? : Yes. +00101|Many Calls? : Yes. +00102|Output File?: No. +00103|Automatic Line Directive Macro?: No. +00104|Call list : +00105|Macro body : +00106| +00107|--Start of List of Body Parts-- +00108|This macro has 1 body part. +00109|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00110| +00111|---- Start of Expression ---- +00112| +00113|--- Start Special Function --- +00114|---- End Special Function ---- +00115| +00116|----- End of Expression ----- +00117| +00118|---End of List of Body Parts--- +00119| +00120|-------------------- End of Macro Dump --------------------- +00121| +00122| +00123| +00124|------------------- Start of Macro Dump -------------------- +00125|Macro Name : "#timestamp" +00126|Defined? : Yes. +00127|Parameters : 0 +00128|Additive? : No. +00129|Zero Calls? : Yes. + +----- +00066|=========================== End of MACRO TABLE DUMP ============================ +00067| +00068| +00069|========================= Start of DOCUMENT LIST DUMP ========================== +00070| +00071| +00072|TEXT COMPONENT: Pos(L,C)=(1,1). +00073| +00074|-- Start of Text Scrap List -- +00075|Text scrap[Grey]="SC08: Detection of trailing spaces.<010> +00076|<010> +00077|This line has zero trailing spaces |<010> +00078|This line has one trailing space | <010> +00079|This line has two trailing spaces | <010> +00080|This line has three trailing spaces | <010> +00081|" +00082|--- End of Text Scrap List --- +00083| +00084| +00085|========================== End of DOCUMENT LIST DUMP =========================== +00086| +00087|E: No macros defined. +00088|E: No output files specified. +00089| +00090|Global Local| Input File +00091|------------+------------------------------------------------------------------- +00092| 1 1| SC08: Detection of trailing spaces. +00093| 2 2| +00094| 3 3| This line has zero trailing spaces | +00095| 4 4| This line has one trailing space | +00096| Warning|......................................^Line has trailing spaces up to and including this space. +00097| 5 5| This line has two trailing spaces | +00098| Warning|.......................................^Line has trailing spaces up to and including this space. +00099| 6 6| This line has three trailing spaces | +00100| Warning|........................................^Line has trailing spaces up to and including this space. +00101| | <End-Of-File> +00102|------------+------------------------------------------------------------------- +00103| +00104|There were 2 Errors and 3 Warnings. + +----- + + +----- +00130|Many Calls? : Yes. +00131|Output File?: No. +00132|Automatic Line Directive Macro?: No. +00133|Call list : +00134|Macro body : +00135| +00136|--Start of List of Body Parts-- +00137|This macro has 1 body part. +00138|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00139| +00140|---- Start of Expression ---- +00141| +00142|--- Start Special Function --- +00143|---- End Special Function ---- +00144| +00145|----- End of Expression ----- +00146| +00147|---End of List of Body Parts--- +00148| +00149|-------------------- End of Macro Dump --------------------- +00150| +00151| +00152| +00153|=========================== End of MACRO TABLE DUMP ============================ +00154| +00155| +00156|========================= Start of DOCUMENT LIST DUMP ========================== +00157| +00158| +00159|TEXT COMPONENT: Pos(L,C)=(1,1). +00160| +00161|-- Start of Text Scrap List -- +00162|Text scrap[Grey]="SC08: Detection of trailing spaces.<010> +00163|<010> +00164|This line has zero trailing spaces |<010> +00165|This line has one trailing space | <010> +00166|This line has two trailing spaces | <010> +00167|This line has three trailing spaces | <010> +00168|" +00169|--- End of Text Scrap List --- +00170| +00171| +00172|========================== End of DOCUMENT LIST DUMP =========================== +00173| +00174|E: No output files specified. +00175| +00176|Global Local| Input File +00177|------------+------------------------------------------------------------------- +00178| 1 1| SC08: Detection of trailing spaces. +00179| 2 2| +00180| 3 3| This line has zero trailing spaces | +00181| 4 4| This line has one trailing space | +00182| Warning|......................................^Line has trailing spaces up to and including this space. +00183| 5 5| This line has two trailing spaces | +00184| Warning|.......................................^Line has trailing spaces up to and including this space. +00185| 6 6| This line has three trailing spaces | +00186| Warning|........................................^Line has trailing spaces up to and including this space. +00187| | <End-Of-File> +00188|------------+------------------------------------------------------------------- +00189| +00190|There was 1 Error and 3 Warnings. + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/sc09.lis" + with "/usr/var/tmp/funnelweb/answers/sc09.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc10.lis" + with "/usr/var/tmp/funnelweb/answers/sc10.lis". + + +----- +00752| |......^ @p typesetter = none | tex | hypertext | html +00753| |......^ @p no_doc_header +00754| |......^ @p raw_macro_and_section_names +00755| |......^ @p ignore_text_after_special_minus +00756| |......^ @p no_paragraph_markups +00757| |......^ @p declare_source_code_type "<name>" +00758| |......^ @p automatic_line_directive_macro = "<name>" +00759| |......^ @p automatic_line_directive_macro = "<name>" "<srctype>" +00760| |......^ @p #line_offset = <num> +00761| |......^ @p #line_depth = <num> + +----- +00752| |......^ @p typesetter = none | tex + +----- + + +----- +00833| |......^ @p typesetter = none | tex | hypertext | html +00834| |......^ @p no_doc_header +00835| |......^ @p raw_macro_and_section_names +00836| |......^ @p ignore_text_after_special_minus +00837| |......^ @p no_paragraph_markups +00838| |......^ @p declare_source_code_type "<name>" +00839| |......^ @p automatic_line_directive_macro = "<name>" +00840| |......^ @p automatic_line_directive_macro = "<name>" "<srctype>" +00841| |......^ @p #line_offset = <num> +00842| |......^ @p #line_depth = <num> + +----- +00824| |......^ @p typesetter = none | tex + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/sc11.lis" + with "/usr/var/tmp/funnelweb/answers/sc11.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc12.lis" + with "/usr/var/tmp/funnelweb/answers/sc12.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc13.lis" + with "/usr/var/tmp/funnelweb/answers/sc13.lis". + + +----- +00118|| 2E 0A 0A | ... | + +----- +00118|| 2E 0A 0A 48 65 72 65 20 69 73 20 74 68 65 20 69 | ...Here is the i | +00119|| 6D 70 72 6F 70 65 72 20 74 65 72 6D 69 6E 61 74 | mproper terminat | +00120|| 69 6F 6E 21 2D 2D 2D 2D 3E | ion!----> | + +----- + + +----- +00192|00033 00026| After include<010> +00193|00034 00027| <010> +00194|00035 00028| 6. Include file is ordinary.<010> +00195|00036 00029| Before include<010> +00196|00037 00030| @i sc13f<010> +00197|00038 00001| This is the include file for tests SC13.6 and SC13.7.<010> +00198|00039 00002| There are only two lines, and this is the second one.<010> +00199|00040 00031| After include<010> +00200|00041 00032| <010> +00201|00042 00033| 7. Test upper case I and file extension inheritance.<010> +00202|00043 00034| Before include<010> +00203|00044 00035| @I sc13f<010> +00204|00045 00001| This is the include file for tests SC13.6 and SC13.7.<010> +00205|00046 00002| There are only two lines, and this is the second one.<010> +00206|00047 00036| After include<010> +00207|00048 00037| <010> +00208|00049 00038| End of test File.<010> +00209|00050 00039| <End-Of-File><010> + +----- +00194|00033 00004| Here is the improper termination!----><010> +00195|00034 00026| After include<010> +00196|00035 00027| <010> +00197|00036 00028| 6. Include file is ordinary.<010> +00198|00037 00029| Before include<010> +00199|00038 00030| @i sc13f<010> +00200|00039 00001| This is the include file for tests SC13.6 and SC13.7.<010> +00201|00040 00002| There are only two lines, and this is the second one.<010> +00202|00041 00031| After include<010> +00203|00042 00032| <010> +00204|00043 00033| 7. Test upper case I and file extension inheritance.<010> +00205|00044 00034| Before include<010> +00206|00045 00035| @I sc13f<010> +00207|00046 00001| This is the include file for tests SC13.6 and SC13.7.<010> +00208|00047 00002| There are only two lines, and this is the second one.<010> +00209|00048 00036| After include<010> +00210|00049 00037| <010> +00211|00050 00038| End of test File.<010> +00212|00051 00039| <End-Of-File><010> + +----- + + +----- +00258|" +00259|0033[01]: Text. Text scrap[Grey]="After include<010> + +----- +00261|Here is the improper termination!----><010> +00262|" +00263|0034[01]: Text. Text scrap[Grey]="After include<010> + +----- + + +----- +00264|0038[01]: Text. Text scrap[Grey]="This is the include file for tests SC13.6 and SC13.7.<010> +00265|There are only two lines, and this is the second one.<010> +00266|" +00267|0040[01]: Text. Text scrap[Grey]="After include<010> + +----- +00268|0039[01]: Text. Text scrap[Grey]="This is the include file for tests SC13.6 and SC13.7.<010> +00269|There are only two lines, and this is the second one.<010> +00270|" +00271|0041[01]: Text. Text scrap[Grey]="After include<010> + +----- + + +----- +00272|0045[01]: Text. Text scrap[Grey]="This is the include file for tests SC13.6 and SC13.7.<010> +00273|There are only two lines, and this is the second one.<010> +00274|" +00275|0047[01]: Text. Text scrap[Grey]="After include<010> + +----- +00276|0046[01]: Text. Text scrap[Grey]="This is the include file for tests SC13.6 and SC13.7.<010> +00277|There are only two lines, and this is the second one.<010> +00278|" +00279|0048[01]: Text. Text scrap[Grey]="After include<010> + +----- + + +----- +00279|0050[01]: End Of File. + +----- +00283|0051[01]: End Of File. + +----- + + +----- +00286|------------------- Start of Macro Dump -------------------- +00287|Macro Name : "#file" +00288|Defined? : Yes. +00289|Parameters : 0 +00290|Additive? : No. +00291|Zero Calls? : Yes. +00292|Many Calls? : Yes. +00293|Output File?: No. +00294|Automatic Line Directive Macro?: No. +00295|Call list : +00296|Macro body : +00297| +00298|--Start of List of Body Parts-- +00299|This macro has 1 body part. +00300|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00301| +00302|---- Start of Expression ---- +00303| +00304|--- Start Special Function --- +00305|---- End Special Function ---- +00306| +00307|----- End of Expression ----- +00308| +00309|---End of List of Body Parts--- +00310| +00311|-------------------- End of Macro Dump --------------------- +00312| +00313| +00314| +00315|------------------- Start of Macro Dump -------------------- +00316|Macro Name : "#line" +00317|Defined? : Yes. +00318|Parameters : 0 +00319|Additive? : No. +00320|Zero Calls? : Yes. +00321|Many Calls? : Yes. +00322|Output File?: No. +00323|Automatic Line Directive Macro?: No. +00324|Call list : +00325|Macro body : +00326| +00327|--Start of List of Body Parts-- +00328|This macro has 1 body part. +00329|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00330| +00331|---- Start of Expression ---- +00332| +00333|--- Start Special Function --- +00334|---- End Special Function ---- +00335| +00336|----- End of Expression ----- +00337| +00338|---End of List of Body Parts--- +00339| +00340|-------------------- End of Macro Dump --------------------- +00341| +00342| +00343| +00344|------------------- Start of Macro Dump -------------------- +00345|Macro Name : "#timestamp" +00346|Defined? : Yes. +00347|Parameters : 0 +00348|Additive? : No. +00349|Zero Calls? : Yes. + +----- +00290|=========================== End of MACRO TABLE DUMP ============================ +00291| +00292| +00293|========================= Start of DOCUMENT LIST DUMP ========================== +00294| +00295| +00296|TEXT COMPONENT: Pos(L,C)=(1,1). +00297| +00298|-- Start of Text Scrap List -- +00299|Text scrap[Grey]="SC13: Various kinds of include file.<010> +00300|<010> +00301|1. Include file is empty.<010> +00302|Before include<010> +00303|" +00304|Text scrap[Grey]="After include<010> +00305|<010> +00306|2. Include file contains a single blank line.<010> +00307|Before include<010> +00308|" +00309|Text scrap[White]="<010> +00310|" +00311|Text scrap[Grey]="After include<010> +00312|<010> +00313|3. Include file contains two blank lines.<010> +00314|Before include<010> +00315|" +00316|Text scrap[White]="<010> +00317|<010> +00318|" +00319|Text scrap[Grey]="After include<010> +00320|<010> +00321|4. Include file contains a single line with text on it.<010> +00322|Before include<010> +00323|" +00324|Text scrap[Grey]="This is the include file for test SC13d. Just a file containing one line.<010> +00325|" +00326|Text scrap[Grey]="After include<010> +00327|<010> +00328|5. Include file's last line is not properly terminated.<010> +00329|Before include<010> +00330|" +00331|Text scrap[Grey]="This is the include file for test SC13e. The test is to see how FunnelWeb<010> +00332|copes with an include file that has an improperly terminated last line.<010> +00333|<010> +00334|Here is the improper termination!----><010> +00335|" +00336|Text scrap[Grey]="After include<010> +00337|<010> +00338|6. Include file is ordinary.<010> +00339|Before include<010> +00340|" +00341|Text scrap[Grey]="This is the include file for tests SC13.6 and SC13.7.<010> +00342|There are only two lines, and this is the second one.<010> +00343|" +00344|Text scrap[Grey]="After include<010> +00345|<010> +00346|7. Test upper case I and file extension inheritance.<010> +00347|Before include<010> +00348|" +00349|Text scrap[Grey]="This is the include file for tests SC13.6 and SC13.7.<010> +00350|There are only two lines, and this is the second one.<010> +00351|" +00352|Text scrap[Grey]="After include<010> +00353|<010> + +----- + + +----- +00350|Many Calls? : Yes. +00351|Output File?: No. +00352|Automatic Line Directive Macro?: No. +00353|Call list : +00354|Macro body : +00355| +00356|--Start of List of Body Parts-- +00357|This macro has 1 body part. +00358|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00359| +00360|---- Start of Expression ---- +00361| +00362|--- Start Special Function --- +00363|---- End Special Function ---- +00364| +00365|----- End of Expression ----- +00366| +00367|---End of List of Body Parts--- +00368| +00369|-------------------- End of Macro Dump --------------------- +00370| +00371| +00372| +00373|=========================== End of MACRO TABLE DUMP ============================ +00374| +00375| +00376|========================= Start of DOCUMENT LIST DUMP ========================== +00377| +00378| +00379|TEXT COMPONENT: Pos(L,C)=(1,1). +00380| +00381|-- Start of Text Scrap List -- +00382|Text scrap[Grey]="SC13: Various kinds of include file.<010> +00383|<010> +00384|1. Include file is empty.<010> +00385|Before include<010> +00386|" +00387|Text scrap[Grey]="After include<010> +00388|<010> +00389|2. Include file contains a single blank line.<010> +00390|Before include<010> +00391|" +00392|Text scrap[White]="<010> +00393|" +00394|Text scrap[Grey]="After include<010> +00395|<010> +00396|3. Include file contains two blank lines.<010> +00397|Before include<010> +00398|" +00399|Text scrap[White]="<010> +00400|<010> +00401|" +00402|Text scrap[Grey]="After include<010> +00403|<010> +00404|4. Include file contains a single line with text on it.<010> +00405|Before include<010> +00406|" +00407|Text scrap[Grey]="This is the include file for test SC13d. Just a file containing one line.<010> +00408|" +00409|Text scrap[Grey]="After include<010> +00410|<010> +00411|5. Include file's last line is not properly terminated.<010> +00412|Before include<010> +00413|" + +----- +00354|End of test File.<010> +00355|" +00356|--- End of Text Scrap List --- +00357| +00358| +00359|========================== End of DOCUMENT LIST DUMP =========================== +00360| +00361|E: No macros defined. +00362|E: No output files specified. +00363| +00364|Global Local| Input File +00365|------------+------------------------------------------------------------------- +00366| 1 1| SC13: Various kinds of include file. +00367| 2 2| +00368| 3 3| 1. Include file is empty. +00369| 4 4| Before include +00370| 5 5| @i sc13a +00371| Warning|.^Include file is empty (not a byte in syte)! +00372| 6 6| After include +00373| 7 7| +00374| 8 8| 2. Include file contains a single blank line. +00375| 9 9| Before include +00376| 10 10| @i sc13b +00377| 11 1| +00378| 12 11| After include +00379| 13 12| +00380| 14 13| 3. Include file contains two blank lines. +00381| 15 14| Before include +00382| 16 15| @i sc13c +00383| 17 1| +00384| 18 2| +00385| 19 16| After include +00386| 20 17| +00387| 21 18| 4. Include file contains a single line with text on it. +00388| 22 19| Before include +00389| 23 20| @i sc13d +00390| 24 1| This is the include file for test SC13d. Just a file containing one line. +00391| 25 21| After include +00392| 26 22| +00393| 27 23| 5. Include file's last line is not properly terminated. +00394| 28 24| Before include +00395| 29 25| @i sc13e +00396| 30 1| This is the include file for test SC13e. The test is to see how FunnelWeb +00397| 31 2| copes with an include file that has an improperly terminated last line. +00398| 32 3| +00399| 33 4| Here is the improper termination!----> +00400| 34 26| After include +00401| Warning|.^The last line of the include file was terminated by EOF. +00402| |.^An EOL was inserted at the end of the last line. +00403| 35 27| +00404| 36 28| 6. Include file is ordinary. +00405| 37 29| Before include +00406| 38 30| @i sc13f +00407| 39 1| This is the include file for tests SC13.6 and SC13.7. +00408| 40 2| There are only two lines, and this is the second one. +00409| 41 31| After include +00410| 42 32| +00411| 43 33| 7. Test upper case I and file extension inheritance. +00412| 44 34| Before include +00413| 45 35| @I sc13f +00414| 46 1| This is the include file for tests SC13.6 and SC13.7. +00415| 47 2| There are only two lines, and this is the second one. +00416| 48 36| After include +00417| 49 37| + +----- + + +----- +00414|Text scrap[Grey]="This is the include file for test SC13e. The test is to see how FunnelWeb<010> +00415|copes with an include file that has an improperly terminated last line.<010> +00416|<010> +00417|" +00418|Text scrap[Grey]="After include<010> +00419|<010> +00420|6. Include file is ordinary.<010> +00421|Before include<010> +00422|" +00423|Text scrap[Grey]="This is the include file for tests SC13.6 and SC13.7.<010> +00424|There are only two lines, and this is the second one.<010> +00425|" +00426|Text scrap[Grey]="After include<010> +00427|<010> +00428|7. Test upper case I and file extension inheritance.<010> +00429|Before include<010> +00430|" +00431|Text scrap[Grey]="This is the include file for tests SC13.6 and SC13.7.<010> +00432|There are only two lines, and this is the second one.<010> +00433|" +00434|Text scrap[Grey]="After include<010> +00435|<010> +00436|End of test File.<010> +00437|" +00438|--- End of Text Scrap List --- +00439| +00440| +00441|========================== End of DOCUMENT LIST DUMP =========================== +00442| +00443|E: No output files specified. +00444| +00445|Global Local| Input File +00446|------------+------------------------------------------------------------------- +00447| 1 1| SC13: Various kinds of include file. +00448| 2 2| +00449| 3 3| 1. Include file is empty. +00450| 4 4| Before include +00451| 5 5| @i sc13a +00452| Warning|.^Include file is empty (not a byte in syte)! +00453| 6 6| After include +00454| 7 7| +00455| 8 8| 2. Include file contains a single blank line. +00456| 9 9| Before include +00457| 10 10| @i sc13b +00458| 11 1| +00459| 12 11| After include +00460| 13 12| +00461| 14 13| 3. Include file contains two blank lines. +00462| 15 14| Before include +00463| 16 15| @i sc13c +00464| 17 1| +00465| 18 2| +00466| 19 16| After include +00467| 20 17| +00468| 21 18| 4. Include file contains a single line with text on it. +00469| 22 19| Before include +00470| 23 20| @i sc13d +00471| 24 1| This is the include file for test SC13d. Just a file containing one line. +00472| 25 21| After include +00473| 26 22| +00474| 27 23| 5. Include file's last line is not properly terminated. +00475| 28 24| Before include +00476| 29 25| @i sc13e +00477| 30 1| This is the include file for test SC13e. The test is to see how FunnelWeb + +----- +00418| 50 38| End of test File. +00419| | <End-Of-File> +00420|------------+------------------------------------------------------------------- +00421| +00422|There were 2 Errors and 2 Warnings. + +----- + + +----- +00478| 31 2| copes with an include file that has an improperly terminated last line. +00479| 32 3| +00480| 33 26| After include +00481| 34 27| +00482| 35 28| 6. Include file is ordinary. +00483| 36 29| Before include +00484| 37 30| @i sc13f +00485| 38 1| This is the include file for tests SC13.6 and SC13.7. +00486| 39 2| There are only two lines, and this is the second one. +00487| 40 31| After include +00488| 41 32| +00489| 42 33| 7. Test upper case I and file extension inheritance. +00490| 43 34| Before include +00491| 44 35| @I sc13f +00492| 45 1| This is the include file for tests SC13.6 and SC13.7. +00493| 46 2| There are only two lines, and this is the second one. +00494| 47 36| After include +00495| 48 37| +00496| 49 38| End of test File. +00497| | <End-Of-File> +00498|------------+------------------------------------------------------------------- +00499| +00500|There was 1 Error and 1 Warning. + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/sc14.lis" + with "/usr/var/tmp/funnelweb/answers/sc14.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc15.lis" + with "/usr/var/tmp/funnelweb/answers/sc15.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc16.lis" + with "/usr/var/tmp/funnelweb/answers/sc16.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc17.lis" + with "/usr/var/tmp/funnelweb/answers/sc17.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc18.lis" + with "/usr/var/tmp/funnelweb/answers/sc18.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc19.lis" + with "/usr/var/tmp/funnelweb/answers/sc19.lis". + + +----- +00083| Error|...........................^Suppress EOL sequence is legal only at the end of a line +00084| |...........................^unless `@p ignore_text_after_special_minus' is used. + +----- +00083| Error|...........................^Suppress EOL sequence is legal only at the end of a line. + +----- + + +----- +00089| Error|......^Suppress EOL sequence is legal only at the end of a line +00090| |......^unless `@p ignore_text_after_special_minus' is used. + +----- +00088| Error|......^Suppress EOL sequence is legal only at the end of a line. + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/sc20.lis" + with "/usr/var/tmp/funnelweb/answers/sc20.lis". + + +----- +00079|------------------- Start of Macro Dump -------------------- +00080|Macro Name : "#file" +00081|Defined? : Yes. +00082|Parameters : 0 +00083|Additive? : No. +00084|Zero Calls? : Yes. +00085|Many Calls? : Yes. +00086|Output File?: No. +00087|Automatic Line Directive Macro?: No. +00088|Call list : +00089|Macro body : +00090| +00091|--Start of List of Body Parts-- +00092|This macro has 1 body part. +00093|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00094| +00095|---- Start of Expression ---- +00096| +00097|--- Start Special Function --- +00098|---- End Special Function ---- +00099| +00100|----- End of Expression ----- +00101| +00102|---End of List of Body Parts--- +00103| +00104|-------------------- End of Macro Dump --------------------- +00105| +00106| +00107| +00108|------------------- Start of Macro Dump -------------------- +00109|Macro Name : "#line" +00110|Defined? : Yes. +00111|Parameters : 0 +00112|Additive? : No. +00113|Zero Calls? : Yes. +00114|Many Calls? : Yes. +00115|Output File?: No. +00116|Automatic Line Directive Macro?: No. +00117|Call list : +00118|Macro body : +00119| +00120|--Start of List of Body Parts-- +00121|This macro has 1 body part. +00122|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00123| +00124|---- Start of Expression ---- +00125| +00126|--- Start Special Function --- +00127|---- End Special Function ---- +00128| +00129|----- End of Expression ----- +00130| +00131|---End of List of Body Parts--- +00132| +00133|-------------------- End of Macro Dump --------------------- +00134| +00135| +00136| +00137|------------------- Start of Macro Dump -------------------- +00138|Macro Name : "#timestamp" +00139|Defined? : Yes. +00140|Parameters : 0 +00141|Additive? : No. +00142|Zero Calls? : Yes. + +----- +00079|=========================== End of MACRO TABLE DUMP ============================ +00080| +00081| +00082|========================= Start of DOCUMENT LIST DUMP ========================== +00083| +00084| +00085|TEXT COMPONENT: Pos(L,C)=(1,1). +00086| +00087|-- Start of Text Scrap List -- +00088|Text scrap[Grey]="SC20: Test " +00089|Text scrap[Grey]="<010> +00090|1. Test at the start of a line.<010> +00091|<010> +00092|" +00093|Text scrap[Grey]="<010> +00094|2. Test halfway through a line.<010> +00095|<010> +00096|This is a line " +00097|Text scrap[White]="<010> +00098|" +00099|--- End of Text Scrap List --- +00100| +00101| +00102|========================== End of DOCUMENT LIST DUMP =========================== +00103| +00104|E: No macros defined. +00105|E: No output files specified. +00106| +00107|Global Local| Input File +00108|------------+------------------------------------------------------------------- +00109|................. +00110|------------+------------------------------------------------------------------- +00111| +00112|There were 2 Errors. + +----- + + +----- +00143|Many Calls? : Yes. +00144|Output File?: No. +00145|Automatic Line Directive Macro?: No. +00146|Call list : +00147|Macro body : +00148| +00149|--Start of List of Body Parts-- +00150|This macro has 1 body part. +00151|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00152| +00153|---- Start of Expression ---- +00154| +00155|--- Start Special Function --- +00156|---- End Special Function ---- +00157| +00158|----- End of Expression ----- +00159| +00160|---End of List of Body Parts--- +00161| +00162|-------------------- End of Macro Dump --------------------- +00163| +00164| +00165| +00166|=========================== End of MACRO TABLE DUMP ============================ +00167| +00168| +00169|========================= Start of DOCUMENT LIST DUMP ========================== +00170| +00171| +00172|TEXT COMPONENT: Pos(L,C)=(1,1). +00173| +00174|-- Start of Text Scrap List -- +00175|Text scrap[Grey]="SC20: Test " +00176|Text scrap[Grey]="<010> +00177|1. Test at the start of a line.<010> +00178|<010> +00179|" +00180|Text scrap[Grey]="<010> +00181|2. Test halfway through a line.<010> +00182|<010> +00183|This is a line " +00184|Text scrap[White]="<010> +00185|" +00186|--- End of Text Scrap List --- +00187| +00188| +00189|========================== End of DOCUMENT LIST DUMP =========================== +00190| +00191|E: No output files specified. +00192| +00193|Global Local| Input File +00194|------------+------------------------------------------------------------------- +00195|................. +00196|------------+------------------------------------------------------------------- +00197| +00198|There was 1 Error. + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/sc21.lis" + with "/usr/var/tmp/funnelweb/answers/sc21.lis". + + +----- +00172| |....^ @p typesetter = none | tex | hypertext | html +00173| |....^ @p no_doc_header +00174| |....^ @p raw_macro_and_section_names +00175| |....^ @p ignore_text_after_special_minus +00176| |....^ @p no_paragraph_markups +00177| |....^ @p declare_source_code_type "<name>" +00178| |....^ @p automatic_line_directive_macro = "<name>" +00179| |....^ @p automatic_line_directive_macro = "<name>" "<srctype>" +00180| |....^ @p #line_offset = <num> +00181| |....^ @p #line_depth = <num> + +----- +00172| |....^ @p typesetter = none | tex + +----- + + +----- +00202| |.^ @p typesetter = none | tex | hypertext | html +00203| |.^ @p no_doc_header +00204| |.^ @p raw_macro_and_section_names +00205| |.^ @p ignore_text_after_special_minus +00206| |.^ @p no_paragraph_markups +00207| |.^ @p declare_source_code_type "<name>" +00208| |.^ @p automatic_line_directive_macro = "<name>" +00209| |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" +00210| |.^ @p #line_offset = <num> +00211| |.^ @p #line_depth = <num> + +----- +00193| |.^ @p typesetter = none | tex + +----- + + +----- +00229| |.^ @p typesetter = none | tex | hypertext | html +00230| |.^ @p no_doc_header +00231| |.^ @p raw_macro_and_section_names +00232| |.^ @p ignore_text_after_special_minus +00233| |.^ @p no_paragraph_markups +00234| |.^ @p declare_source_code_type "<name>" +00235| |.^ @p automatic_line_directive_macro = "<name>" +00236| |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" +00237| |.^ @p #line_offset = <num> +00238| |.^ @p #line_depth = <num> + +----- +00211| |.^ @p typesetter = none | tex + +----- + + +----- +00261| |.^ @p typesetter = none | tex | hypertext | html +00262| |.^ @p no_doc_header +00263| |.^ @p raw_macro_and_section_names +00264| |.^ @p ignore_text_after_special_minus +00265| |.^ @p no_paragraph_markups +00266| |.^ @p declare_source_code_type "<name>" +00267| |.^ @p automatic_line_directive_macro = "<name>" +00268| |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" +00269| |.^ @p #line_offset = <num> +00270| |.^ @p #line_depth = <num> + +----- +00234| |.^ @p typesetter = none | tex + +----- + + +----- +00283| |.^ @p typesetter = none | tex | hypertext | html +00284| |.^ @p no_doc_header +00285| |.^ @p raw_macro_and_section_names +00286| |.^ @p ignore_text_after_special_minus +00287| |.^ @p no_paragraph_markups +00288| |.^ @p declare_source_code_type "<name>" +00289| |.^ @p automatic_line_directive_macro = "<name>" +00290| |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" +00291| |.^ @p #line_offset = <num> +00292| |.^ @p #line_depth = <num> + +----- +00247| |.^ @p typesetter = none | tex + +----- + + +----- +00329| |.^ @p typesetter = none | tex | hypertext | html +00330| |.^ @p no_doc_header +00331| |.^ @p raw_macro_and_section_names +00332| |.^ @p ignore_text_after_special_minus +00333| |.^ @p no_paragraph_markups +00334| |.^ @p declare_source_code_type "<name>" +00335| |.^ @p automatic_line_directive_macro = "<name>" +00336| |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" +00337| |.^ @p #line_offset = <num> +00338| |.^ @p #line_depth = <num> + +----- +00284| |.^ @p typesetter = none | tex + +----- + + +----- +00357| |.^ @p typesetter = none | tex | hypertext | html +00358| |.^ @p no_doc_header +00359| |.^ @p raw_macro_and_section_names +00360| |.^ @p ignore_text_after_special_minus +00361| |.^ @p no_paragraph_markups +00362| |.^ @p declare_source_code_type "<name>" +00363| |.^ @p automatic_line_directive_macro = "<name>" +00364| |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" +00365| |.^ @p #line_offset = <num> +00366| |.^ @p #line_depth = <num> + +----- +00303| |.^ @p typesetter = none | tex + +----- + + +----- +00387| |.^ @p typesetter = none | tex | hypertext | html +00388| |.^ @p no_doc_header +00389| |.^ @p raw_macro_and_section_names +00390| |.^ @p ignore_text_after_special_minus +00391| |.^ @p no_paragraph_markups +00392| |.^ @p declare_source_code_type "<name>" +00393| |.^ @p automatic_line_directive_macro = "<name>" +00394| |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" +00395| |.^ @p #line_offset = <num> +00396| |.^ @p #line_depth = <num> + +----- +00324| |.^ @p typesetter = none | tex + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/sc22.lis" + with "/usr/var/tmp/funnelweb/answers/sc22.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc23.lis" + with "/usr/var/tmp/funnelweb/answers/sc23.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc24.lis" + with "/usr/var/tmp/funnelweb/answers/sc24.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc25.lis" + with "/usr/var/tmp/funnelweb/answers/sc25.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc26.lis" + with "/usr/var/tmp/funnelweb/answers/sc26.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc27.lis" + with "/usr/var/tmp/funnelweb/answers/sc27.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc28.lis" + with "/usr/var/tmp/funnelweb/answers/sc28.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/sc29.lis" + with "/usr/var/tmp/funnelweb/answers/sc29.lis". + + +----- +00120| |.^The correct format is: "@p typesetter = none|tex" +00121| |.^ or for hypertext "@p typesetter = hypertext|html". + +----- +00120| |.^The correct format is: "@p typesetter = none|tex". + +----- + + +----- +00125| |.^The correct format is: "@p typesetter = none|tex" +00126| |.^ or for hypertext "@p typesetter = hypertext|html". + +----- +00124| |.^The correct format is: "@p typesetter = none|tex". + +----- + + +----- +00130| |.^The correct format is: "@p typesetter = none|tex" +00131| |.^ or for hypertext "@p typesetter = hypertext|html". + +----- +00128| |.^The correct format is: "@p typesetter = none|tex". + +----- + + +----- +00136| |.^The correct format is: "@p typesetter = none|tex" +00137| |.^ or for hypertext "@p typesetter = hypertext|html". + +----- +00133| |.^The correct format is: "@p typesetter = none|tex". + +----- + + +----- +00143| |.^The correct format is: "@p typesetter = none|tex" +00144| |.^ or for hypertext "@p typesetter = hypertext|html". +00145| |.^Pragma ignored. +00146| Error|.................^Expecting one of: +00147| Error|.................^ (i) "none" +00148| Error|.................^ (ii) "tex" +00149| Error|.................^ (iii) "hypertext" +00150| Error|.................^ (iv) "html". + +----- +00139| |.^The correct format is: "@p typesetter = none|tex". +00140| |.^Pragma ignored. +00141| Error|.................^Expecting either "none" or "tex". + +----- + + +----- +00170|There were 10 Errors. + +----- +00161|There were 6 Errors. + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/pr01.lis" + with "/usr/var/tmp/funnelweb/answers/pr01.lis". + + +----- +00215|------------------- Start of Macro Dump -------------------- +00216|Macro Name : "#file" +00217|Defined? : Yes. +00218|Parameters : 0 +00219|Additive? : No. +00220|Zero Calls? : Yes. +00221|Many Calls? : Yes. +00222|Output File?: No. +00223|Automatic Line Directive Macro?: No. +00224|Call list : +00225|Macro body : +00226| +00227|--Start of List of Body Parts-- +00228|This macro has 1 body part. +00229|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00230| +00231|---- Start of Expression ---- +00232| +00233|--- Start Special Function --- +00234|---- End Special Function ---- +00235| +00236|----- End of Expression ----- +00237| +00238|---End of List of Body Parts--- +00239| +00240|-------------------- End of Macro Dump --------------------- +00241| +00242| +00243| +00244|------------------- Start of Macro Dump -------------------- +00245|Macro Name : "#line" +00246|Defined? : Yes. +00247|Parameters : 0 +00248|Additive? : No. +00249|Zero Calls? : Yes. +00250|Many Calls? : Yes. +00251|Output File?: No. +00252|Automatic Line Directive Macro?: No. +00253|Call list : +00254|Macro body : +00255| +00256|--Start of List of Body Parts-- +00257|This macro has 1 body part. +00258|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00259| +00260|---- Start of Expression ---- +00261| +00262|--- Start Special Function --- +00263|---- End Special Function ---- +00264| +00265|----- End of Expression ----- +00266| +00267|---End of List of Body Parts--- +00268| +00269|-------------------- End of Macro Dump --------------------- +00270| +00271| +00272| +00273|------------------- Start of Macro Dump -------------------- +00274|Macro Name : "#timestamp" +00275|Defined? : Yes. +00276|Parameters : 0 +00277|Additive? : No. +00278|Zero Calls? : Yes. + +----- +00215|=========================== End of MACRO TABLE DUMP ============================ +00216| +00217| +00218|========================= Start of DOCUMENT LIST DUMP ========================== +00219| +00220| +00221|TEXT COMPONENT: Pos(L,C)=(1,1). +00222| +00223|-- Start of Text Scrap List -- +00224|Text scrap[Grey]="PR01: Test the inline typesetting features.<010> +00225|<010> +00226|1. First we test the legal use of the " +00227|--- End of Text Scrap List --- +00228| +00229| +00230|TYPESETTER DIRECTIVE COMPONENT: Open literal. +00231| +00232|TEXT COMPONENT: Pos(L,C)=(3,41). +00233| +00234|-- Start of Text Scrap List -- +00235|Text scrap[Grey]="literal" +00236|--- End of Text Scrap List --- +00237| +00238| +00239|TYPESETTER DIRECTIVE COMPONENT: Close literal. +00240| +00241|TEXT COMPONENT: Pos(L,C)=(3,50). +00242| +00243|-- Start of Text Scrap List -- +00244|Text scrap[Grey]=" construct.<010> +00245|<010> +00246|2.Test " +00247|--- End of Text Scrap List --- +00248| +00249| +00250|TYPESETTER DIRECTIVE COMPONENT: Open literal. +00251| +00252|TYPESETTER DIRECTIVE COMPONENT: +00253| Section "1", Section name="Error Recovery Point". +00254| +00255|TEXT COMPONENT: Pos(L,C)=(6,27). +00256| +00257|-- Start of Text Scrap List -- +00258|Text scrap[Grey]="<010> +00259|<010> +00260|3. Test the construct " +00261|--- End of Text Scrap List --- +00262| +00263| +00264|TYPESETTER DIRECTIVE COMPONENT: Open literal. +00265| +00266|TEXT COMPONENT: Pos(L,C)=(8,25). +00267| +00268|-- Start of Text Scrap List -- +00269|Text scrap[Grey]="across<010> +00270| more than one line" +00271|--- End of Text Scrap List --- +00272| +00273| +00274|TYPESETTER DIRECTIVE COMPONENT: Close literal. +00275| +00276|TEXT COMPONENT: Pos(L,C)=(9,24). +00277| +00278|-- Start of Text Scrap List -- + +----- + + +----- +00279|Many Calls? : Yes. +00280|Output File?: No. +00281|Automatic Line Directive Macro?: No. +00282|Call list : +00283|Macro body : +00284| +00285|--Start of List of Body Parts-- +00286|This macro has 1 body part. +00287|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00288| +00289|---- Start of Expression ---- +00290| +00291|--- Start Special Function --- +00292|---- End Special Function ---- +00293| +00294|----- End of Expression ----- +00295| +00296|---End of List of Body Parts--- +00297| +00298|-------------------- End of Macro Dump --------------------- +00299| +00300| +00301| +00302|=========================== End of MACRO TABLE DUMP ============================ +00303| +00304| +00305|========================= Start of DOCUMENT LIST DUMP ========================== +00306| +00307| +00308|TEXT COMPONENT: Pos(L,C)=(1,1). +00309| +00310|-- Start of Text Scrap List -- +00311|Text scrap[Grey]="PR01: Test the inline typesetting features.<010> +00312|<010> +00313|1. First we test the legal use of the " + +----- +00279|Text scrap[Grey]=".<010> +00280|<010> +00281|4. Now we test the construct with non-text following it.<010> +00282| " + +----- + + +----- +00319|TEXT COMPONENT: Pos(L,C)=(3,41). +00320| +00321|-- Start of Text Scrap List -- +00322|Text scrap[Grey]="literal" + +----- +00288|TYPESETTER DIRECTIVE COMPONENT: +00289| Section "2", Section name="Error Recovery Point". +00290| +00291|TEXT COMPONENT: Pos(L,C)=(13,27). +00292| +00293|-- Start of Text Scrap List -- +00294|Text scrap[White]="<010> +00295| " + +----- + + +----- +00326|TYPESETTER DIRECTIVE COMPONENT: Close literal. +00327| +00328|TEXT COMPONENT: Pos(L,C)=(3,50). +00329| +00330|-- Start of Text Scrap List -- +00331|Text scrap[Grey]=" construct.<010> +00332|<010> +00333|2.Test " + +----- +00299|TYPESETTER DIRECTIVE COMPONENT: Open literal. +00300| +00301|TEXT COMPONENT: Pos(L,C)=(14,6). +00302| +00303|-- Start of Text Scrap List -- +00304|Text scrap[White]=" " + +----- + + +----- +00337|TYPESETTER DIRECTIVE COMPONENT: Open literal. +00338| +00339|TYPESETTER DIRECTIVE COMPONENT: +00340| Section "1", Section name="Error Recovery Point". +00341| +00342|TEXT COMPONENT: Pos(L,C)=(6,27). + +----- +00308|TYPESETTER DIRECTIVE COMPONENT: +00309| Section "3", Section name="Error Recovery Point". +00310| +00311|TEXT COMPONENT: Pos(L,C)=(15,27). + +----- + + +----- +00347|3. Test the construct " + +----- +00316|5. Test the legal use of the " + +----- + + +----- +00351|TYPESETTER DIRECTIVE COMPONENT: Open literal. +00352| +00353|TEXT COMPONENT: Pos(L,C)=(8,25). +00354| +00355|-- Start of Text Scrap List -- +00356|Text scrap[Grey]="across<010> +00357| more than one line" + +----- +00320|TYPESETTER DIRECTIVE COMPONENT: Open emphasise. +00321| +00322|TEXT COMPONENT: Pos(L,C)=(17,32). +00323| +00324|-- Start of Text Scrap List -- +00325|Text scrap[Grey]="emphasis" + +----- + + +----- +00361|TYPESETTER DIRECTIVE COMPONENT: Close literal. +00362| +00363|TEXT COMPONENT: Pos(L,C)=(9,24). +00364| +00365|-- Start of Text Scrap List -- +00366|Text scrap[Grey]=".<010> +00367|<010> +00368|4. Now we test the construct with non-text following it.<010> +00369| " + +----- +00329|TYPESETTER DIRECTIVE COMPONENT: Close emphasise. +00330| +00331|TEXT COMPONENT: Pos(L,C)=(17,42). +00332| +00333|-- Start of Text Scrap List -- +00334|Text scrap[Grey]=" construct.<010> +00335|<010> +00336|6.Test " + +----- + + +----- +00373|TYPESETTER DIRECTIVE COMPONENT: Open literal. +00374| +00375|TYPESETTER DIRECTIVE COMPONENT: +00376| Section "2", Section name="Error Recovery Point". +00377| +00378|TEXT COMPONENT: Pos(L,C)=(13,27). +00379| +00380|-- Start of Text Scrap List -- +00381|Text scrap[White]="<010> +00382| " + +----- +00340|TYPESETTER DIRECTIVE COMPONENT: Open emphasise. +00341| +00342|TYPESETTER DIRECTIVE COMPONENT: +00343| Section "4", Section name="Error Recovery Point". +00344| +00345|TEXT COMPONENT: Pos(L,C)=(20,27). +00346| +00347|-- Start of Text Scrap List -- +00348|Text scrap[Grey]="<010> +00349|<010> +00350|7. Test the construct " + +----- + + +----- +00386|TYPESETTER DIRECTIVE COMPONENT: Open literal. +00387| +00388|TEXT COMPONENT: Pos(L,C)=(14,6). +00389| +00390|-- Start of Text Scrap List -- +00391|Text scrap[White]=" " + +----- +00354|TYPESETTER DIRECTIVE COMPONENT: Open emphasise. +00355| +00356|TEXT COMPONENT: Pos(L,C)=(22,25). +00357| +00358|-- Start of Text Scrap List -- +00359|Text scrap[Grey]="across<010> +00360| more than one line" + +----- + + +----- +00395|TYPESETTER DIRECTIVE COMPONENT: +00396| Section "3", Section name="Error Recovery Point". +00397| +00398|TEXT COMPONENT: Pos(L,C)=(15,27). +00399| +00400|-- Start of Text Scrap List -- +00401|Text scrap[Grey]="<010> +00402|<010> +00403|5. Test the legal use of the " + +----- +00364|TYPESETTER DIRECTIVE COMPONENT: Close emphasise. +00365| +00366|TEXT COMPONENT: Pos(L,C)=(23,24). +00367| +00368|-- Start of Text Scrap List -- +00369|Text scrap[Grey]=".<010> +00370|<010> +00371|8. Now we test the construct with non-text following it.<010> +00372| " + +----- + + +----- +00409|TEXT COMPONENT: Pos(L,C)=(17,32). +00410| +00411|-- Start of Text Scrap List -- +00412|Text scrap[Grey]="emphasis" + +----- +00378|TYPESETTER DIRECTIVE COMPONENT: +00379| Section "5", Section name="Error Recovery Point". +00380| +00381|TEXT COMPONENT: Pos(L,C)=(27,27). +00382| +00383|-- Start of Text Scrap List -- +00384|Text scrap[White]="<010> +00385| " + +----- + + +----- +00416|TYPESETTER DIRECTIVE COMPONENT: Close emphasise. +00417| +00418|TEXT COMPONENT: Pos(L,C)=(17,42). +00419| +00420|-- Start of Text Scrap List -- +00421|Text scrap[Grey]=" construct.<010> +00422|<010> +00423|6.Test " + +----- +00389|TYPESETTER DIRECTIVE COMPONENT: Open emphasise. +00390| +00391|TEXT COMPONENT: Pos(L,C)=(28,6). +00392| +00393|-- Start of Text Scrap List -- +00394|Text scrap[White]=" " + +----- + + +----- +00427|TYPESETTER DIRECTIVE COMPONENT: Open emphasise. +00428| +00429|TYPESETTER DIRECTIVE COMPONENT: +00430| Section "4", Section name="Error Recovery Point". +00431| +00432|TEXT COMPONENT: Pos(L,C)=(20,27). +00433| +00434|-- Start of Text Scrap List -- +00435|Text scrap[Grey]="<010> +00436|<010> +00437|7. Test the construct " +00438|--- End of Text Scrap List --- +00439| +00440| +00441|TYPESETTER DIRECTIVE COMPONENT: Open emphasise. +00442| +00443|TEXT COMPONENT: Pos(L,C)=(22,25). +00444| +00445|-- Start of Text Scrap List -- +00446|Text scrap[Grey]="across<010> +00447| more than one line" +00448|--- End of Text Scrap List --- +00449| +00450| +00451|TYPESETTER DIRECTIVE COMPONENT: Close emphasise. +00452| +00453|TEXT COMPONENT: Pos(L,C)=(23,24). +00454| +00455|-- Start of Text Scrap List -- +00456|Text scrap[Grey]=".<010> +00457|<010> +00458|8. Now we test the construct with non-text following it.<010> +00459| " +00460|--- End of Text Scrap List --- +00461| +00462| +00463|TYPESETTER DIRECTIVE COMPONENT: Open emphasise. +00464| +00465|TYPESETTER DIRECTIVE COMPONENT: +00466| Section "5", Section name="Error Recovery Point". +00467| +00468|TEXT COMPONENT: Pos(L,C)=(27,27). +00469| +00470|-- Start of Text Scrap List -- +00471|Text scrap[White]="<010> +00472| " +00473|--- End of Text Scrap List --- +00474| +00475| +00476|TYPESETTER DIRECTIVE COMPONENT: Open emphasise. +00477| +00478|TEXT COMPONENT: Pos(L,C)=(28,6). +00479| +00480|-- Start of Text Scrap List -- +00481|Text scrap[White]=" " +00482|--- End of Text Scrap List --- +00483| +00484| + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/pr02.lis" + with "/usr/var/tmp/funnelweb/answers/pr02.lis". + + +----- +00093|------------------- Start of Macro Dump -------------------- +00094|Macro Name : "#file" +00095|Defined? : Yes. +00096|Parameters : 0 +00097|Additive? : No. +00098|Zero Calls? : Yes. +00099|Many Calls? : Yes. +00100|Output File?: No. +00101|Automatic Line Directive Macro?: No. +00102|Call list : +00103|Macro body : +00104| +00105|--Start of List of Body Parts-- +00106|This macro has 1 body part. +00107|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00108| +00109|---- Start of Expression ---- +00110| +00111|--- Start Special Function --- +00112|---- End Special Function ---- +00113| +00114|----- End of Expression ----- +00115| +00116|---End of List of Body Parts--- +00117| +00118|-------------------- End of Macro Dump --------------------- +00119| +00120| +00121| +00122|------------------- Start of Macro Dump -------------------- +00123|Macro Name : "#line" +00124|Defined? : Yes. +00125|Parameters : 0 +00126|Additive? : No. +00127|Zero Calls? : Yes. +00128|Many Calls? : Yes. +00129|Output File?: No. +00130|Automatic Line Directive Macro?: No. +00131|Call list : +00132|Macro body : +00133| +00134|--Start of List of Body Parts-- +00135|This macro has 1 body part. +00136|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00137| +00138|---- Start of Expression ---- +00139| +00140|--- Start Special Function --- +00141|---- End Special Function ---- +00142| +00143|----- End of Expression ----- +00144| +00145|---End of List of Body Parts--- +00146| +00147|-------------------- End of Macro Dump --------------------- +00148| +00149| +00150| +00151|------------------- Start of Macro Dump -------------------- +00152|Macro Name : "#timestamp" +00153|Defined? : Yes. +00154|Parameters : 0 +00155|Additive? : No. +00156|Zero Calls? : Yes. + +----- +00093|=========================== End of MACRO TABLE DUMP ============================ +00094| +00095| +00096|========================= Start of DOCUMENT LIST DUMP ========================== +00097| +00098| +00099|TEXT COMPONENT: Pos(L,C)=(1,1). +00100| +00101|-- Start of Text Scrap List -- +00102|Text scrap[Grey]="PR02: Test the parsing of typesetter directives.<010> +00103|<010> +00104|1. Test parsing of new page directive.<010> +00105|" +00106|--- End of Text Scrap List --- +00107| +00108| +00109|TYPESETTER DIRECTIVE COMPONENT: New page. +00110| +00111|TEXT COMPONENT: Pos(L,C)=(5,1). +00112| +00113|-- Start of Text Scrap List -- +00114|Text scrap[Grey]="<010> +00115|2. Test parsing of table of contents directive.<010> +00116|" +00117|--- End of Text Scrap List --- +00118| +00119| +00120|TYPESETTER DIRECTIVE COMPONENT: Table of contents. +00121| +00122|TEXT COMPONENT: Pos(L,C)=(8,1). +00123| +00124|-- Start of Text Scrap List -- +00125|Text scrap[Grey]="<010> +00126|3. Test parsing of vskip directive.<010> +00127|" +00128|--- End of Text Scrap List --- +00129| +00130| +00131|TYPESETTER DIRECTIVE COMPONENT: Vertical skip by 32 mm. +00132| +00133|TEXT COMPONENT: Pos(L,C)=(11,1). +00134| +00135|-- Start of Text Scrap List -- +00136|Text scrap[Grey]="<010> +00137|4. Test parsing of title directive.<010> +00138|" +00139|--- End of Text Scrap List --- +00140| +00141| +00142|TYPESETTER DIRECTIVE COMPONENT: Font=Title, Alignment=Left. Title text follows: +00143|Text scrap[Grey]="Sloth" +00144| +00145|TEXT COMPONENT: Pos(L,C)=(14,1). +00146| +00147|-- Start of Text Scrap List -- +00148|Text scrap[White]="<010> +00149|" +00150|--- End of Text Scrap List --- +00151| +00152| +00153|========================== End of DOCUMENT LIST DUMP =========================== +00154| +00155|E: No macros defined. +00156|E: No output files specified. + +----- + + +----- +00157|Many Calls? : Yes. +00158|Output File?: No. +00159|Automatic Line Directive Macro?: No. +00160|Call list : +00161|Macro body : +00162| +00163|--Start of List of Body Parts-- +00164|This macro has 1 body part. +00165|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00166| +00167|---- Start of Expression ---- +00168| +00169|--- Start Special Function --- +00170|---- End Special Function ---- +00171| +00172|----- End of Expression ----- +00173| +00174|---End of List of Body Parts--- +00175| +00176|-------------------- End of Macro Dump --------------------- +00177| +00178| +00179| +00180|=========================== End of MACRO TABLE DUMP ============================ +00181| +00182| +00183|========================= Start of DOCUMENT LIST DUMP ========================== +00184| +00185| +00186|TEXT COMPONENT: Pos(L,C)=(1,1). +00187| +00188|-- Start of Text Scrap List -- +00189|Text scrap[Grey]="PR02: Test the parsing of typesetter directives.<010> +00190|<010> +00191|1. Test parsing of new page directive.<010> +00192|" +00193|--- End of Text Scrap List --- +00194| +00195| +00196|TYPESETTER DIRECTIVE COMPONENT: New page. +00197| +00198|TEXT COMPONENT: Pos(L,C)=(5,1). +00199| +00200|-- Start of Text Scrap List -- +00201|Text scrap[Grey]="<010> +00202|2. Test parsing of table of contents directive.<010> +00203|" +00204|--- End of Text Scrap List --- +00205| +00206| +00207|TYPESETTER DIRECTIVE COMPONENT: Table of contents. +00208| +00209|TEXT COMPONENT: Pos(L,C)=(8,1). +00210| +00211|-- Start of Text Scrap List -- +00212|Text scrap[Grey]="<010> +00213|3. Test parsing of vskip directive.<010> +00214|" +00215|--- End of Text Scrap List --- +00216| +00217| +00218|TYPESETTER DIRECTIVE COMPONENT: Vertical skip by 32 mm. +00219| +00220|TEXT COMPONENT: Pos(L,C)=(11,1). + +----- +00157| +00158|Global Local| Input File +00159|------------+------------------------------------------------------------------- +00160|................. +00161|------------+------------------------------------------------------------------- +00162| +00163|There were 2 Errors. + +----- + + +----- +00221| +00222|-- Start of Text Scrap List -- +00223|Text scrap[Grey]="<010> +00224|4. Test parsing of title directive.<010> +00225|" +00226|--- End of Text Scrap List --- +00227| +00228| +00229|TYPESETTER DIRECTIVE COMPONENT: Font=Title, Alignment=Left. Title text follows: +00230|Text scrap[Grey]="Sloth" +00231| +00232|TEXT COMPONENT: Pos(L,C)=(14,1). +00233| +00234|-- Start of Text Scrap List -- +00235|Text scrap[White]="<010> +00236|" +00237|--- End of Text Scrap List --- +00238| +00239| +00240|========================== End of DOCUMENT LIST DUMP =========================== +00241| +00242|E: No output files specified. +00243| +00244|Global Local| Input File +00245|------------+------------------------------------------------------------------- +00246|................. +00247|------------+------------------------------------------------------------------- +00248| +00249|There was 1 Error. + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/pr03.lis" + with "/usr/var/tmp/funnelweb/answers/pr03.lis". + + +----- +00206|Macro Name : "#file" + +----- +00206|Macro Name : "The section name inherits the name of this macro" + +----- + + +----- +00210|Zero Calls? : Yes. +00211|Many Calls? : Yes. +00212|Output File?: No. +00213|Automatic Line Directive Macro?: No. + +----- +00210|Zero Calls? : No. +00211|Many Calls? : No. +00212|Output File?: No. + +----- + + +----- +00219|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +----- +00218|Body part 1: Seqnum=1, Pos(L,C)=(8,3), Expression follows: + +----- + + +----- +00223|--- Start Special Function --- +00224|---- End Special Function ---- + +----- +00222|----- Start Text Element ----- +00223|Text scrap[Grey]="Walrus" +00224|------ End Text Element ------ + +----- + + +----- +00234|------------------- Start of Macro Dump -------------------- +00235|Macro Name : "#line" +00236|Defined? : Yes. +00237|Parameters : 0 +00238|Additive? : No. +00239|Zero Calls? : Yes. +00240|Many Calls? : Yes. +00241|Output File?: No. +00242|Automatic Line Directive Macro?: No. +00243|Call list : +00244|Macro body : +00245| +00246|--Start of List of Body Parts-- +00247|This macro has 1 body part. +00248|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00249| +00250|---- Start of Expression ---- +00251| +00252|--- Start Special Function --- +00253|---- End Special Function ---- +00254| +00255|----- End of Expression ----- +00256| +00257|---End of List of Body Parts--- +00258| +00259|-------------------- End of Macro Dump --------------------- +00260| +00261| +00262| +00263|------------------- Start of Macro Dump -------------------- +00264|Macro Name : "#timestamp" +00265|Defined? : Yes. +00266|Parameters : 0 +00267|Additive? : No. +00268|Zero Calls? : Yes. +00269|Many Calls? : Yes. +00270|Output File?: No. +00271|Automatic Line Directive Macro?: No. +00272|Call list : +00273|Macro body : +00274| +00275|--Start of List of Body Parts-- +00276|This macro has 1 body part. +00277|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00278| +00279|---- Start of Expression ---- +00280| +00281|--- Start Special Function --- +00282|---- End Special Function ---- +00283| +00284|----- End of Expression ----- +00285| +00286|---End of List of Body Parts--- +00287| +00288|-------------------- End of Macro Dump --------------------- +00289| +00290| +00291| +00292|------------------- Start of Macro Dump -------------------- +00293|Macro Name : "The section name inherits the name of this macro" +00294|Defined? : Yes. +00295|Parameters : 0 +00296|Additive? : No. +00297|Zero Calls? : No. + +----- +00234|=========================== End of MACRO TABLE DUMP ============================ +00235| +00236| +00237|========================= Start of DOCUMENT LIST DUMP ========================== +00238| +00239| +00240|TEXT COMPONENT: Pos(L,C)=(1,1). +00241| +00242|-- Start of Text Scrap List -- +00243|Text scrap[Grey]="PR03: Test the parsing and semantics of sections.<010> +00244|<010> +00245|4. Test first section of document is not <special>A.<010> +00246|" +00247|--- End of Text Scrap List --- +00248| +00249| +00250|TYPESETTER DIRECTIVE COMPONENT: +00251| Section "1.2", Section name="This section is out of order (and so is this test!)". +00252| +00253|TEXT COMPONENT: Pos(L,C)=(4,58). +00254| +00255|-- Start of Text Scrap List -- +00256|Text scrap[Grey]="<010> +00257|<010> +00258|1. Test section with no name.<010> +00259|" +00260|--- End of Text Scrap List --- +00261| +00262| +00263|TYPESETTER DIRECTIVE COMPONENT: +00264| Section "2", Section name="The section name inherits the name of this macro". +00265| +00266|TEXT COMPONENT: Pos(L,C)=(7,3). +00267| +00268|-- Start of Text Scrap List -- +00269|Text scrap[Grey]=" This section has no name.<010> +00270|" +00271|--- End of Text Scrap List --- +00272| +00273| +00274|MACRO DEFINITION COMPONENT: Pos(L,C)=(8,1). +00275|Part 1 of macro @<The section name inherits the name of this macro@>. +00276| +00277|TEXT COMPONENT: Pos(L,C)=(8,65). +00278| +00279|-- Start of Text Scrap List -- +00280|Text scrap[Grey]="<010> +00281|<010> +00282|2. Test section with a name<010> +00283|" +00284|--- End of Text Scrap List --- +00285| +00286| +00287|TYPESETTER DIRECTIVE COMPONENT: +00288| Section "3", Section name="This section has no name.". +00289| +00290|TEXT COMPONENT: Pos(L,C)=(11,32). +00291| +00292|-- Start of Text Scrap List -- +00293|Text scrap[Grey]="<010> +00294|<010> +00295|3. Test the entire hierarchy.<010> +00296|" +00297|--- End of Text Scrap List --- + +----- + + +----- +00298|Many Calls? : No. +00299|Output File?: No. +00300|Automatic Line Directive Macro?: No. +00301|Call list : +00302|Macro body : +00303| +00304|--Start of List of Body Parts-- +00305|This macro has 1 body part. +00306|Body part 1: Seqnum=1, Pos(L,C)=(8,3), Expression follows: +00307| +00308|---- Start of Expression ---- +00309| +00310|----- Start Text Element ----- +00311|Text scrap[Grey]="Walrus" +00312|------ End Text Element ------ +00313| +00314|----- End of Expression ----- +00315| +00316|---End of List of Body Parts--- +00317| +00318|-------------------- End of Macro Dump --------------------- +00319| +00320| +00321| +00322|=========================== End of MACRO TABLE DUMP ============================ +00323| +00324| +00325|========================= Start of DOCUMENT LIST DUMP ========================== +00326| +00327| +00328|TEXT COMPONENT: Pos(L,C)=(1,1). +00329| +00330|-- Start of Text Scrap List -- +00331|Text scrap[Grey]="PR03: Test the parsing and semantics of sections.<010> +00332|<010> +00333|4. Test first section of document is not <special>A.<010> +00334|" +00335|--- End of Text Scrap List --- + +----- + +----- + + +----- +00339| Section "1.2", Section name="This section is out of order (and so is this test!)". +00340| +00341|TEXT COMPONENT: Pos(L,C)=(4,58). +00342| +00343|-- Start of Text Scrap List -- +00344|Text scrap[Grey]="<010> +00345|<010> +00346|1. Test section with no name.<010> + +----- +00301| Section "4", Section name="One". +00302| +00303|TEXT COMPONENT: Pos(L,C)=(14,10). +00304| +00305|-- Start of Text Scrap List -- +00306|Text scrap[White]="<010> + +----- + + +----- +00352| Section "2", Section name="The section name inherits the name of this macro". +00353| +00354|TEXT COMPONENT: Pos(L,C)=(7,3). +00355| +00356|-- Start of Text Scrap List -- +00357|Text scrap[Grey]=" This section has no name.<010> + +----- +00312| Section "4.1", Section name="Two". +00313| +00314|TEXT COMPONENT: Pos(L,C)=(15,10). +00315| +00316|-- Start of Text Scrap List -- +00317|Text scrap[White]="<010> + +----- + + +----- +00362|MACRO DEFINITION COMPONENT: Pos(L,C)=(8,1). +00363|Part 1 of macro @<The section name inherits the name of this macro@>. +00364| +00365|TEXT COMPONENT: Pos(L,C)=(8,65). +00366| +00367|-- Start of Text Scrap List -- +00368|Text scrap[Grey]="<010> +00369|<010> +00370|2. Test section with a name<010> + +----- +00322|TYPESETTER DIRECTIVE COMPONENT: +00323| Section "4.1.1", Section name="Three". +00324| +00325|TEXT COMPONENT: Pos(L,C)=(16,12). +00326| +00327|-- Start of Text Scrap List -- +00328|Text scrap[White]="<010> + +----- + + +----- +00376| Section "3", Section name="This section has no name.". +00377| +00378|TEXT COMPONENT: Pos(L,C)=(11,32). +00379| +00380|-- Start of Text Scrap List -- +00381|Text scrap[Grey]="<010> +00382|<010> +00383|3. Test the entire hierarchy.<010> + +----- +00334| Section "4.1.1.1", Section name="Four". +00335| +00336|TEXT COMPONENT: Pos(L,C)=(17,11). +00337| +00338|-- Start of Text Scrap List -- +00339|Text scrap[White]="<010> + +----- + + +----- +00389| Section "4", Section name="One". +00390| +00391|TEXT COMPONENT: Pos(L,C)=(14,10). +00392| +00393|-- Start of Text Scrap List -- +00394|Text scrap[White]="<010> + +----- +00345| Section "4.1.1.1.1", Section name="Five". +00346| +00347|TEXT COMPONENT: Pos(L,C)=(18,11). +00348| +00349|-- Start of Text Scrap List -- +00350|Text scrap[Grey]="<010> +00351|<010> +00352|5. Test detection of discontinuity in levels.<010> + +----- + + +----- +00400| Section "4.1", Section name="Two". +00401| +00402|TEXT COMPONENT: Pos(L,C)=(15,10). + +----- +00358| Section "5", Section name="One". +00359| +00360|TEXT COMPONENT: Pos(L,C)=(21,10). + +----- + + +----- +00411| Section "4.1.1", Section name="Three". +00412| +00413|TEXT COMPONENT: Pos(L,C)=(16,12). + +----- +00369| Section "1.1.2", Section name="Three". +00370| +00371|TEXT COMPONENT: Pos(L,C)=(22,12). + +----- + + +----- +00422| Section "4.1.1.1", Section name="Four". +00423| +00424|TEXT COMPONENT: Pos(L,C)=(17,11). + +----- +00380| Section "1.1.1.1.2", Section name="Five". +00381| +00382|TEXT COMPONENT: Pos(L,C)=(23,11). + +----- + + +----- + +----- +00386|<010> + +----- + + +----- +00433| Section "4.1.1.1.1", Section name="Five". +00434| +00435|TEXT COMPONENT: Pos(L,C)=(18,11). +00436| +00437|-- Start of Text Scrap List -- +00438|Text scrap[Grey]="<010> +00439|<010> +00440|5. Test detection of discontinuity in levels.<010> + +----- +00392| Section "2", Section name="One". +00393| +00394|TEXT COMPONENT: Pos(L,C)=(25,10). +00395| +00396|-- Start of Text Scrap List -- +00397|Text scrap[White]="<010> + +----- + + +----- +00446| Section "5", Section name="One". +00447| +00448|TEXT COMPONENT: Pos(L,C)=(21,10). + +----- +00403| Section "2.1", Section name="Three". +00404| +00405|TEXT COMPONENT: Pos(L,C)=(26,12). + +----- + + +----- +00457| Section "1.1.2", Section name="Three". +00458| +00459|TEXT COMPONENT: Pos(L,C)=(22,12). + +----- +00414| Section "1.1.1.2", Section name="Five". +00415| +00416|TEXT COMPONENT: Pos(L,C)=(27,11). + +----- + + +----- +00467|TYPESETTER DIRECTIVE COMPONENT: +00468| Section "1.1.1.1.2", Section name="Five". +00469| +00470|TEXT COMPONENT: Pos(L,C)=(23,11). +00471| +00472|-- Start of Text Scrap List -- +00473|Text scrap[White]="<010> +00474|<010> +00475|" +00476|--- End of Text Scrap List --- +00477| +00478| +00479|TYPESETTER DIRECTIVE COMPONENT: +00480| Section "2", Section name="One". +00481| +00482|TEXT COMPONENT: Pos(L,C)=(25,10). +00483| +00484|-- Start of Text Scrap List -- +00485|Text scrap[White]="<010> +00486|" +00487|--- End of Text Scrap List --- +00488| +00489| +00490|TYPESETTER DIRECTIVE COMPONENT: +00491| Section "2.1", Section name="Three". +00492| +00493|TEXT COMPONENT: Pos(L,C)=(26,12). +00494| +00495|-- Start of Text Scrap List -- +00496|Text scrap[White]="<010> +00497|" +00498|--- End of Text Scrap List --- +00499| +00500| +00501|TYPESETTER DIRECTIVE COMPONENT: +00502| Section "1.1.1.2", Section name="Five". +00503| +00504|TEXT COMPONENT: Pos(L,C)=(27,11). +00505| +00506|-- Start of Text Scrap List -- +00507|Text scrap[White]="<010> +00508|" +00509|--- End of Text Scrap List --- +00510| +00511| + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/pr04.lis" + with "/usr/var/tmp/funnelweb/answers/pr04.lis". + + +----- +00267|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00297|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00315|Macro Name : "#file" + +----- +00313|Macro Name : "12345678901234567890123456789012345678901234567890123456789012345678901234567890" + +----- + + +----- +00319|Zero Calls? : Yes. +00320|Many Calls? : Yes. +00321|Output File?: No. +00322|Automatic Line Directive Macro?: No. + +----- +00317|Zero Calls? : No. +00318|Many Calls? : No. +00319|Output File?: No. + +----- + + +----- +00328|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00329| +00330|---- Start of Expression ---- +00331| +00332|--- Start Special Function --- +00333|---- End Special Function ---- +00334| + +----- +00325|Body part 1: Seqnum=4, Pos(L,C)=(20,3), Expression follows: +00326| +00327|---- Start of Expression ---- + +----- + + +----- +00344|Macro Name : "#line" + +----- +00337|Macro Name : "A@" + +----- + + +----- +00348|Zero Calls? : Yes. +00349|Many Calls? : Yes. +00350|Output File?: No. +00351|Automatic Line Directive Macro?: No. + +----- +00341|Zero Calls? : No. +00342|Many Calls? : No. +00343|Output File?: No. + +----- + + +----- +00357|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00358| +00359|---- Start of Expression ---- +00360| +00361|--- Start Special Function --- +00362|---- End Special Function ---- +00363| + +----- +00349|Body part 1: Seqnum=8, Pos(L,C)=(31,3), Expression follows: +00350| +00351|---- Start of Expression ---- + +----- + + +----- +00373|Macro Name : "#timestamp" + +----- +00361|Macro Name : "ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`" + +----- + + +----- +00377|Zero Calls? : Yes. +00378|Many Calls? : Yes. +00379|Output File?: No. +00380|Automatic Line Directive Macro?: No. + +----- +00365|Zero Calls? : No. +00366|Many Calls? : No. +00367|Output File?: No. + +----- + + +----- +00386|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00387| +00388|---- Start of Expression ---- +00389| +00390|--- Start Special Function --- +00391|---- End Special Function ---- +00392| + +----- +00373|Body part 1: Seqnum=6, Pos(L,C)=(26,3), Expression follows: +00374| +00375|---- Start of Expression ---- + +----- + + +----- +00402|Macro Name : "12345678901234567890123456789012345678901234567890123456789012345678901234567890" + +----- +00385|Macro Name : "Ordinary" + +----- + + +----- +00409|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00415|Body part 1: Seqnum=4, Pos(L,C)=(20,3), Expression follows: +00416| +00417|---- Start of Expression ---- + +----- +00397|Body part 1: Seqnum=1, Pos(L,C)=(4,3), Expression follows: +00398| +00399|---- Start of Expression ---- +00400| +00401|----- Start Text Element ----- +00402|Text scrap[Grey]="The text of ordinary" +00403|------ End Text Element ------ +00404| + +----- + + +----- +00427|Macro Name : "A@" + +----- +00414|Macro Name : "abcdefghijklmnopqrstuvwxyz{|}~" + +----- + + +----- +00434|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00440|Body part 1: Seqnum=8, Pos(L,C)=(31,3), Expression follows: + +----- +00426|Body part 1: Seqnum=7, Pos(L,C)=(27,3), Expression follows: + +----- + + +----- +00452|Macro Name : "ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`" + +----- +00438|Macro Name : "|" + +----- + + +----- +00459|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00465|Body part 1: Seqnum=6, Pos(L,C)=(26,3), Expression follows: +00466| +00467|---- Start of Expression ---- + +----- +00450|Body part 1: Seqnum=2, Pos(L,C)=(7,3), Expression follows: +00451| +00452|---- Start of Expression ---- +00453| +00454|----- Start Text Element ----- +00455|Text scrap[Grey]="The text of ordinary" +00456|------ End Text Element ------ +00457| + +----- + + +----- +00476|------------------- Start of Macro Dump -------------------- +00477|Macro Name : "Ordinary" +00478|Defined? : Yes. +00479|Parameters : 0 +00480|Additive? : No. +00481|Zero Calls? : No. +00482|Many Calls? : No. +00483|Output File?: No. +00484|Automatic Line Directive Macro?: No. +00485|Call list : +00486|Macro body : +00487| +00488|--Start of List of Body Parts-- +00489|This macro has 1 body part. +00490|Body part 1: Seqnum=1, Pos(L,C)=(4,3), Expression follows: +00491| +00492|---- Start of Expression ---- +00493| +00494|----- Start Text Element ----- +00495|Text scrap[Grey]="The text of ordinary" +00496|------ End Text Element ------ +00497| +00498|----- End of Expression ----- +00499| +00500|---End of List of Body Parts--- +00501| +00502|-------------------- End of Macro Dump --------------------- +00503| +00504| +00505| +00506|------------------- Start of Macro Dump -------------------- +00507|Macro Name : "abcdefghijklmnopqrstuvwxyz{|}~" +00508|Defined? : Yes. +00509|Parameters : 0 +00510|Additive? : No. +00511|Zero Calls? : No. +00512|Many Calls? : No. +00513|Output File?: No. +00514|Automatic Line Directive Macro?: No. +00515|Call list : +00516|Macro body : +00517| +00518|--Start of List of Body Parts-- +00519|This macro has 1 body part. +00520|Body part 1: Seqnum=7, Pos(L,C)=(27,3), Expression follows: +00521| +00522|---- Start of Expression ---- +00523|----- End of Expression ----- +00524| +00525|---End of List of Body Parts--- +00526| +00527|-------------------- End of Macro Dump --------------------- +00528| +00529| +00530| +00531|------------------- Start of Macro Dump -------------------- +00532|Macro Name : "|" +00533|Defined? : Yes. +00534|Parameters : 0 +00535|Additive? : No. +00536|Zero Calls? : No. +00537|Many Calls? : No. +00538|Output File?: No. +00539|Automatic Line Directive Macro?: No. + +----- +00466|=========================== End of MACRO TABLE DUMP ============================ +00467| +00468| +00469|========================= Start of DOCUMENT LIST DUMP ========================== +00470| +00471| +00472|TEXT COMPONENT: Pos(L,C)=(1,1). +00473| +00474|-- Start of Text Scrap List -- +00475|Text scrap[Grey]="PR04: Test the definition of ordinary macros.<010> +00476|<010> +00477|1. Test an ordinary macro definition.<010> +00478|" +00479|--- End of Text Scrap List --- +00480| +00481| +00482|MACRO DEFINITION COMPONENT: Pos(L,C)=(4,1). +00483|Part 1 of macro @<Ordinary@>. +00484| +00485|TEXT COMPONENT: Pos(L,C)=(4,39). +00486| +00487|-- Start of Text Scrap List -- +00488|Text scrap[Grey]="<010> +00489|<010> +00490|2. Test an ordinary definition using a quickname.<010> +00491|" +00492|--- End of Text Scrap List --- +00493| +00494| +00495|MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). +00496|Part 1 of macro @<|@>. +00497| +00498|TEXT COMPONENT: Pos(L,C)=(7,30). +00499| +00500|-- Start of Text Scrap List -- +00501|Text scrap[Grey]="<010> +00502|<010> +00503|3. Test a name that includes EOL.<010> +00504|" +00505|--- End of Text Scrap List --- +00506| +00507| +00508|TYPESETTER DIRECTIVE COMPONENT: +00509| Section "1", Section name="Error Recovery Point". +00510| +00511|TEXT COMPONENT: Pos(L,C)=(12,27). +00512| +00513|-- Start of Text Scrap List -- +00514|Text scrap[Grey]="<010> +00515|<010> +00516|4. Test the minimum length name (the empty name).<010> +00517|" +00518|--- End of Text Scrap List --- +00519| +00520| +00521|MACRO DEFINITION COMPONENT: Pos(L,C)=(15,1). +00522|Part 1 of macro @<@>. +00523| +00524|TEXT COMPONENT: Pos(L,C)=(15,60). +00525| +00526|-- Start of Text Scrap List -- +00527|Text scrap[Grey]="<010> +00528|<010> +00529|5. Test a name at the maximum name length limit (80).<010> + +----- + + +----- +00540|Call list : +00541|Macro body : +00542| +00543|--Start of List of Body Parts-- +00544|This macro has 1 body part. +00545|Body part 1: Seqnum=2, Pos(L,C)=(7,3), Expression follows: +00546| +00547|---- Start of Expression ---- +00548| +00549|----- Start Text Element ----- +00550|Text scrap[Grey]="The text of ordinary" +00551|------ End Text Element ------ +00552| +00553|----- End of Expression ----- +00554| +00555|---End of List of Body Parts--- +00556| +00557|-------------------- End of Macro Dump --------------------- +00558| +00559| +00560| +00561|=========================== End of MACRO TABLE DUMP ============================ +00562| +00563| +00564|========================= Start of DOCUMENT LIST DUMP ========================== +00565| +00566| +00567|TEXT COMPONENT: Pos(L,C)=(1,1). +00568| +00569|-- Start of Text Scrap List -- +00570|Text scrap[Grey]="PR04: Test the definition of ordinary macros.<010> +00571|<010> +00572|1. Test an ordinary macro definition.<010> + +----- +00530|ONly the second of the two macros should generate an error.<010> + +----- + + +----- +00577|MACRO DEFINITION COMPONENT: Pos(L,C)=(4,1). +00578|Part 1 of macro @<Ordinary@>. +00579| +00580|TEXT COMPONENT: Pos(L,C)=(4,39). +00581| +00582|-- Start of Text Scrap List -- +00583|Text scrap[Grey]="<010> +00584|<010> +00585|2. Test an ordinary definition using a quickname.<010> + +----- +00535|MACRO DEFINITION COMPONENT: Pos(L,C)=(20,1). +00536|Part 1 of macro @<12345678901234567890123456789012345678901234567890123456789012345678901234567890@>. +00537| +00538|TEXT COMPONENT: Pos(L,C)=(20,91). +00539| +00540|-- Start of Text Scrap List -- +00541|Text scrap[White]="<010> + +----- + + +----- +00590|MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). +00591|Part 1 of macro @<|@>. +00592| +00593|TEXT COMPONENT: Pos(L,C)=(7,30). + +----- +00546|TYPESETTER DIRECTIVE COMPONENT: +00547| Section "2", Section name="Error Recovery Point". +00548| +00549|TEXT COMPONENT: Pos(L,C)=(22,27). + +----- + + +----- +00598|3. Test a name that includes EOL.<010> + +----- +00554|6. Test names with all legal characters. There should be no errors.<010> + +----- + + +----- +00603|TYPESETTER DIRECTIVE COMPONENT: +00604| Section "1", Section name="Error Recovery Point". +00605| +00606|TEXT COMPONENT: Pos(L,C)=(12,27). +00607| +00608|-- Start of Text Scrap List -- +00609|Text scrap[Grey]="<010> +00610|<010> +00611|4. Test the minimum length name (the empty name).<010> + +----- +00559|MACRO DEFINITION COMPONENT: Pos(L,C)=(25,1). +00560|Part 1 of macro @< !"#$%'()*+,-./0123456789:;<=>?@>. +00561| +00562|TEXT COMPONENT: Pos(L,C)=(25,42). +00563| +00564|-- Start of Text Scrap List -- +00565|Text scrap[White]="<010> + +----- + + +----- +00616|MACRO DEFINITION COMPONENT: Pos(L,C)=(15,1). +00617|Part 1 of macro @<@>. +00618| +00619|TEXT COMPONENT: Pos(L,C)=(15,60). +00620| +00621|-- Start of Text Scrap List -- +00622|Text scrap[Grey]="<010> +00623|<010> +00624|5. Test a name at the maximum name length limit (80).<010> +00625|ONly the second of the two macros should generate an error.<010> + +----- +00570|MACRO DEFINITION COMPONENT: Pos(L,C)=(26,1). +00571|Part 1 of macro @<ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`@>. +00572| +00573|TEXT COMPONENT: Pos(L,C)=(26,43). +00574| +00575|-- Start of Text Scrap List -- +00576|Text scrap[White]="<010> + +----- + + +----- +00630|MACRO DEFINITION COMPONENT: Pos(L,C)=(20,1). +00631|Part 1 of macro @<12345678901234567890123456789012345678901234567890123456789012345678901234567890@>. +00632| +00633|TEXT COMPONENT: Pos(L,C)=(20,91). +00634| +00635|-- Start of Text Scrap List -- +00636|Text scrap[White]="<010> + +----- +00581|MACRO DEFINITION COMPONENT: Pos(L,C)=(27,1). +00582|Part 1 of macro @<abcdefghijklmnopqrstuvwxyz{|}~@>. +00583| +00584|TEXT COMPONENT: Pos(L,C)=(27,41). +00585| +00586|-- Start of Text Scrap List -- +00587|Text scrap[Grey]="<010> +00588|<010> +00589|7. Test a name that has inserted text sequences.<010> +00590|<010> + +----- + + +----- +00641|TYPESETTER DIRECTIVE COMPONENT: +00642| Section "2", Section name="Error Recovery Point". +00643| +00644|TEXT COMPONENT: Pos(L,C)=(22,27). +00645| +00646|-- Start of Text Scrap List -- +00647|Text scrap[Grey]="<010> +00648|<010> +00649|6. Test names with all legal characters. There should be no errors.<010> + +----- +00595|MACRO DEFINITION COMPONENT: Pos(L,C)=(31,1). +00596|Part 1 of macro @<A@@>. +00597| +00598|TEXT COMPONENT: Pos(L,C)=(31,23). +00599| +00600|-- Start of Text Scrap List -- +00601|Text scrap[White]="<010> +00602|<010> +00603|<010> + +----- + + +----- +00654|MACRO DEFINITION COMPONENT: Pos(L,C)=(25,1). +00655|Part 1 of macro @< !"#$%'()*+,-./0123456789:;<=>?@>. +00656| +00657|TEXT COMPONENT: Pos(L,C)=(25,42). +00658| +00659|-- Start of Text Scrap List -- +00660|Text scrap[White]="<010> +00661|" +00662|--- End of Text Scrap List --- +00663| +00664| +00665|MACRO DEFINITION COMPONENT: Pos(L,C)=(26,1). +00666|Part 1 of macro @<ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`@>. +00667| +00668|TEXT COMPONENT: Pos(L,C)=(26,43). +00669| +00670|-- Start of Text Scrap List -- +00671|Text scrap[White]="<010> +00672|" +00673|--- End of Text Scrap List --- +00674| +00675| +00676|MACRO DEFINITION COMPONENT: Pos(L,C)=(27,1). +00677|Part 1 of macro @<abcdefghijklmnopqrstuvwxyz{|}~@>. +00678| +00679|TEXT COMPONENT: Pos(L,C)=(27,41). +00680| +00681|-- Start of Text Scrap List -- +00682|Text scrap[Grey]="<010> +00683|<010> +00684|7. Test a name that has inserted text sequences.<010> +00685|<010> +00686|" +00687|--- End of Text Scrap List --- +00688| +00689| +00690|MACRO DEFINITION COMPONENT: Pos(L,C)=(31,1). +00691|Part 1 of macro @<A@@>. +00692| +00693|TEXT COMPONENT: Pos(L,C)=(31,23). +00694| +00695|-- Start of Text Scrap List -- +00696|Text scrap[White]="<010> +00697|<010> +00698|<010> +00699|" +00700|--- End of Text Scrap List --- +00701| +00702| + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/pr05.lis" + with "/usr/var/tmp/funnelweb/answers/pr05.lis". + + +----- +00375|Macro Name : "#file" + +----- +00375|Macro Name : "Sloth" + +----- + + +----- +00379|Zero Calls? : Yes. +00380|Many Calls? : Yes. +00381|Output File?: No. +00382|Automatic Line Directive Macro?: No. + +----- +00379|Zero Calls? : No. +00380|Many Calls? : No. +00381|Output File?: No. + +----- + + +----- +00388|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +----- +00387|Body part 1: Seqnum=1, Pos(L,C)=(7,3), Expression follows: + +----- + + +----- +00392|--- Start Special Function --- +00393|---- End Special Function ---- + +----- +00391|----- Start Text Element ----- +00392|Text scrap[Grey]="Slothtext" +00393|------ End Text Element ------ + +----- + + +----- +00404|Macro Name : "#line" + +----- +00404|Macro Name : "Sloth a" +00405|Defined? : No. +00406|-------------------- End of Macro Dump --------------------- +00407| +00408| +00409| +00410|------------------- Start of Macro Dump -------------------- +00411|Macro Name : "Sloth b" + +----- + + +----- +00408|Zero Calls? : Yes. +00409|Many Calls? : Yes. +00410|Output File?: No. +00411|Automatic Line Directive Macro?: No. + +----- +00415|Zero Calls? : No. +00416|Many Calls? : No. +00417|Output File?: No. + +----- + + +----- +00416|This macro has 1 body part. +00417|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00418| +00419|---- Start of Expression ---- +00420| +00421|--- Start Special Function --- +00422|---- End Special Function ---- +00423| +00424|----- End of Expression ----- +00425| + +----- +00422|This macro has 0 body parts. + +----- + + +----- +00433|Macro Name : "#timestamp" + +----- +00430|Macro Name : "Sloth c" +00431|Defined? : No. +00432|-------------------- End of Macro Dump --------------------- +00433| +00434| +00435| +00436|------------------- Start of Macro Dump -------------------- +00437|Macro Name : "Sloth d" + +----- + + +----- +00437|Zero Calls? : Yes. +00438|Many Calls? : Yes. +00439|Output File?: No. +00440|Automatic Line Directive Macro?: No. + +----- +00441|Zero Calls? : No. +00442|Many Calls? : No. +00443|Output File?: No. + +----- + + +----- +00445|This macro has 1 body part. +00446|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00447| +00448|---- Start of Expression ---- +00449| +00450|--- Start Special Function --- +00451|---- End Special Function ---- +00452| +00453|----- End of Expression ----- +00454| + +----- +00448|This macro has 0 body parts. + +----- + + +----- +00462|Macro Name : "Sloth" +00463|Defined? : Yes. +00464|Parameters : 0 + +----- +00456|Macro Name : "Sloth e" +00457|Defined? : Yes. +00458|Parameters : 9 + +----- + + +----- +00469|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00474|This macro has 1 body part. +00475|Body part 1: Seqnum=1, Pos(L,C)=(7,3), Expression follows: +00476| +00477|---- Start of Expression ---- +00478| +00479|----- Start Text Element ----- +00480|Text scrap[Grey]="Slothtext" +00481|------ End Text Element ------ +00482| +00483|----- End of Expression ----- +00484| + +----- +00467|This macro has 0 body parts. + +----- + + +----- +00492|Macro Name : "Sloth a" +00493|Defined? : No. +00494|-------------------- End of Macro Dump --------------------- +00495| +00496| +00497| +00498|------------------- Start of Macro Dump -------------------- +00499|Macro Name : "Sloth b" +00500|Defined? : Yes. +00501|Parameters : 0 + +----- +00475|Macro Name : "Sloth with 2" +00476|Defined? : Yes. +00477|Parameters : 2 + +----- + + +----- +00506|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00511|This macro has 0 body parts. + +----- +00486|This macro has 1 body part. +00487|Body part 1: Seqnum=3, Pos(L,C)=(13,3), Expression follows: +00488| +00489|---- Start of Expression ---- +00490| +00491|----- Start Text Element ----- +00492|Text scrap[Grey]="Slothtext" +00493|------ End Text Element ------ +00494| +00495|----- End of Expression ----- +00496| + +----- + + +----- +00519|Macro Name : "Sloth c" +00520|Defined? : No. +00521|-------------------- End of Macro Dump --------------------- +00522| +00523| +00524| +00525|------------------- Start of Macro Dump -------------------- +00526|Macro Name : "Sloth d" +00527|Defined? : Yes. +00528|Parameters : 0 + +----- +00504|Macro Name : "Sloth with 3" +00505|Defined? : Yes. +00506|Parameters : 3 + +----- + + +----- +00533|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00538|This macro has 0 body parts. + +----- +00515|This macro has 1 body part. +00516|Body part 1: Seqnum=4, Pos(L,C)=(14,3), Expression follows: +00517| +00518|---- Start of Expression ---- +00519| +00520|----- Start Text Element ----- +00521|Text scrap[Grey]="Slothtext" +00522|------ End Text Element ------ +00523| +00524|----- End of Expression ----- +00525| + +----- + + +----- +00546|Macro Name : "Sloth e" +00547|Defined? : Yes. +00548|Parameters : 9 + +----- +00533|Macro Name : "Sloth with 4" +00534|Defined? : Yes. +00535|Parameters : 4 + +----- + + +----- +00553|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00558|This macro has 0 body parts. + +----- +00544|This macro has 1 body part. +00545|Body part 1: Seqnum=5, Pos(L,C)=(15,3), Expression follows: +00546| +00547|---- Start of Expression ---- +00548| +00549|----- Start Text Element ----- +00550|Text scrap[Grey]="Slothtext" +00551|------ End Text Element ------ +00552| +00553|----- End of Expression ----- +00554| + +----- + + +----- +00566|Macro Name : "Sloth with 2" +00567|Defined? : Yes. +00568|Parameters : 2 + +----- +00562|Macro Name : "Sloth with 5" +00563|Defined? : Yes. +00564|Parameters : 5 + +----- + + +----- +00573|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00579|Body part 1: Seqnum=3, Pos(L,C)=(13,3), Expression follows: + +----- +00574|Body part 1: Seqnum=6, Pos(L,C)=(16,3), Expression follows: + +----- + + +----- +00596|Macro Name : "Sloth with 3" +00597|Defined? : Yes. +00598|Parameters : 3 + +----- +00591|Macro Name : "Sloth with 6" +00592|Defined? : Yes. +00593|Parameters : 6 + +----- + + +----- +00603|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00609|Body part 1: Seqnum=4, Pos(L,C)=(14,3), Expression follows: + +----- +00603|Body part 1: Seqnum=7, Pos(L,C)=(17,3), Expression follows: + +----- + + +----- +00626|Macro Name : "Sloth with 4" +00627|Defined? : Yes. +00628|Parameters : 4 + +----- +00620|Macro Name : "Sloth with 7" +00621|Defined? : Yes. +00622|Parameters : 7 + +----- + + +----- +00633|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00639|Body part 1: Seqnum=5, Pos(L,C)=(15,3), Expression follows: + +----- +00632|Body part 1: Seqnum=8, Pos(L,C)=(18,3), Expression follows: + +----- + + +----- +00656|Macro Name : "Sloth with 5" +00657|Defined? : Yes. +00658|Parameters : 5 + +----- +00649|Macro Name : "Sloth with 8" +00650|Defined? : Yes. +00651|Parameters : 8 + +----- + + +----- +00663|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00669|Body part 1: Seqnum=6, Pos(L,C)=(16,3), Expression follows: + +----- +00661|Body part 1: Seqnum=9, Pos(L,C)=(19,3), Expression follows: + +----- + + +----- +00686|Macro Name : "Sloth with 6" +00687|Defined? : Yes. +00688|Parameters : 6 + +----- +00678|Macro Name : "Sloth with 9" +00679|Defined? : Yes. +00680|Parameters : 9 + +----- + + +----- +00693|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00699|Body part 1: Seqnum=7, Pos(L,C)=(17,3), Expression follows: + +----- +00690|Body part 1: Seqnum=10, Pos(L,C)=(20,3), Expression follows: + +----- + + +----- +00716|Macro Name : "Sloth with 7" +00717|Defined? : Yes. +00718|Parameters : 7 + +----- +00707|Macro Name : "Sloth with one" +00708|Defined? : Yes. +00709|Parameters : 1 + +----- + + +----- +00723|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00729|Body part 1: Seqnum=8, Pos(L,C)=(18,3), Expression follows: + +----- +00719|Body part 1: Seqnum=2, Pos(L,C)=(10,3), Expression follows: + +----- + + +----- +00745|------------------- Start of Macro Dump -------------------- +00746|Macro Name : "Sloth with 8" +00747|Defined? : Yes. +00748|Parameters : 8 +00749|Additive? : No. +00750|Zero Calls? : No. +00751|Many Calls? : No. +00752|Output File?: No. +00753|Automatic Line Directive Macro?: No. +00754|Call list : +00755|Macro body : +00756| +00757|--Start of List of Body Parts-- +00758|This macro has 1 body part. +00759|Body part 1: Seqnum=9, Pos(L,C)=(19,3), Expression follows: +00760| +00761|---- Start of Expression ---- +00762| +00763|----- Start Text Element ----- +00764|Text scrap[Grey]="Slothtext" +00765|------ End Text Element ------ +00766| +00767|----- End of Expression ----- +00768| +00769|---End of List of Body Parts--- +00770| +00771|-------------------- End of Macro Dump --------------------- +00772| +00773| +00774| +00775|------------------- Start of Macro Dump -------------------- +00776|Macro Name : "Sloth with 9" +00777|Defined? : Yes. +00778|Parameters : 9 +00779|Additive? : No. +00780|Zero Calls? : No. +00781|Many Calls? : No. +00782|Output File?: No. +00783|Automatic Line Directive Macro?: No. +00784|Call list : +00785|Macro body : +00786| +00787|--Start of List of Body Parts-- +00788|This macro has 1 body part. +00789|Body part 1: Seqnum=10, Pos(L,C)=(20,3), Expression follows: +00790| +00791|---- Start of Expression ---- +00792| +00793|----- Start Text Element ----- +00794|Text scrap[Grey]="Slothtext" +00795|------ End Text Element ------ +00796| +00797|----- End of Expression ----- +00798| +00799|---End of List of Body Parts--- +00800| +00801|-------------------- End of Macro Dump --------------------- +00802| +00803| +00804| +00805|------------------- Start of Macro Dump -------------------- +00806|Macro Name : "Sloth with one" +00807|Defined? : Yes. +00808|Parameters : 1 + +----- +00735|=========================== End of MACRO TABLE DUMP ============================ +00736| +00737| +00738|========================= Start of DOCUMENT LIST DUMP ========================== +00739| +00740| +00741|TEXT COMPONENT: Pos(L,C)=(1,1). +00742| +00743|-- Start of Text Scrap List -- +00744|Text scrap[Grey]="PR05: Test the parsing of formal parameter lists.<010> +00745|<010> +00746|First trip the parser so we don't get past the parser.<010> +00747|" +00748|--- End of Text Scrap List --- +00749| +00750| +00751|TEXT COMPONENT: Pos(L,C)=(4,3). +00752| +00753|-- Start of Text Scrap List -- +00754|Text scrap[Grey]="<010> +00755|<010> +00756|1. Test macro definition with no formal parameters.<010> +00757|" +00758|--- End of Text Scrap List --- +00759| +00760| +00761|MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). +00762|Part 1 of macro @<Sloth@>. +00763| +00764|TEXT COMPONENT: Pos(L,C)=(7,25). +00765| +00766|-- Start of Text Scrap List -- +00767|Text scrap[Grey]="<010> +00768|<010> +00769|2. Test macro definition with one formal parameter.<010> +00770|" +00771|--- End of Text Scrap List --- +00772| +00773| +00774|MACRO DEFINITION COMPONENT: Pos(L,C)=(10,1). +00775|Part 1 of macro @<Sloth with one@>. +00776| +00777|TEXT COMPONENT: Pos(L,C)=(10,40). +00778| +00779|-- Start of Text Scrap List -- +00780|Text scrap[Grey]="<010> +00781|<010> +00782|3. Test macro definition with many formal parameters.<010> +00783|" +00784|--- End of Text Scrap List --- +00785| +00786| +00787|MACRO DEFINITION COMPONENT: Pos(L,C)=(13,1). +00788|Part 1 of macro @<Sloth with 2@>. +00789| +00790|TEXT COMPONENT: Pos(L,C)=(13,38). +00791| +00792|-- Start of Text Scrap List -- +00793|Text scrap[White]="<010> +00794|" +00795|--- End of Text Scrap List --- +00796| +00797| +00798|MACRO DEFINITION COMPONENT: Pos(L,C)=(14,1). + +----- + + +----- +00809|Additive? : No. +00810|Zero Calls? : No. +00811|Many Calls? : No. +00812|Output File?: No. +00813|Automatic Line Directive Macro?: No. +00814|Call list : +00815|Macro body : +00816| +00817|--Start of List of Body Parts-- +00818|This macro has 1 body part. +00819|Body part 1: Seqnum=2, Pos(L,C)=(10,3), Expression follows: +00820| +00821|---- Start of Expression ---- +00822| +00823|----- Start Text Element ----- +00824|Text scrap[Grey]="Slothtext" +00825|------ End Text Element ------ +00826| +00827|----- End of Expression ----- +00828| +00829|---End of List of Body Parts--- +00830| +00831|-------------------- End of Macro Dump --------------------- +00832| +00833| +00834| +00835|=========================== End of MACRO TABLE DUMP ============================ +00836| +00837| +00838|========================= Start of DOCUMENT LIST DUMP ========================== +00839| +00840| +00841|TEXT COMPONENT: Pos(L,C)=(1,1). +00842| +00843|-- Start of Text Scrap List -- +00844|Text scrap[Grey]="PR05: Test the parsing of formal parameter lists.<010> +00845|<010> +00846|First trip the parser so we don't get past the parser.<010> + +----- +00799|Part 1 of macro @<Sloth with 3@>. +00800| +00801|TEXT COMPONENT: Pos(L,C)=(14,38). +00802| +00803|-- Start of Text Scrap List -- +00804|Text scrap[White]="<010> + +----- + + +----- +00851|TEXT COMPONENT: Pos(L,C)=(4,3). +00852| +00853|-- Start of Text Scrap List -- +00854|Text scrap[Grey]="<010> +00855|<010> +00856|1. Test macro definition with no formal parameters.<010> + +----- +00809|MACRO DEFINITION COMPONENT: Pos(L,C)=(15,1). +00810|Part 1 of macro @<Sloth with 4@>. +00811| +00812|TEXT COMPONENT: Pos(L,C)=(15,38). +00813| +00814|-- Start of Text Scrap List -- +00815|Text scrap[White]="<010> + +----- + + +----- +00861|MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). +00862|Part 1 of macro @<Sloth@>. +00863| +00864|TEXT COMPONENT: Pos(L,C)=(7,25). +00865| +00866|-- Start of Text Scrap List -- +00867|Text scrap[Grey]="<010> +00868|<010> +00869|2. Test macro definition with one formal parameter.<010> + +----- +00820|MACRO DEFINITION COMPONENT: Pos(L,C)=(16,1). +00821|Part 1 of macro @<Sloth with 5@>. +00822| +00823|TEXT COMPONENT: Pos(L,C)=(16,38). +00824| +00825|-- Start of Text Scrap List -- +00826|Text scrap[White]="<010> + +----- + + +----- +00874|MACRO DEFINITION COMPONENT: Pos(L,C)=(10,1). +00875|Part 1 of macro @<Sloth with one@>. +00876| +00877|TEXT COMPONENT: Pos(L,C)=(10,40). +00878| +00879|-- Start of Text Scrap List -- +00880|Text scrap[Grey]="<010> +00881|<010> +00882|3. Test macro definition with many formal parameters.<010> + +----- +00831|MACRO DEFINITION COMPONENT: Pos(L,C)=(17,1). +00832|Part 1 of macro @<Sloth with 6@>. +00833| +00834|TEXT COMPONENT: Pos(L,C)=(17,38). +00835| +00836|-- Start of Text Scrap List -- +00837|Text scrap[White]="<010> + +----- + + +----- +00887|MACRO DEFINITION COMPONENT: Pos(L,C)=(13,1). +00888|Part 1 of macro @<Sloth with 2@>. +00889| +00890|TEXT COMPONENT: Pos(L,C)=(13,38). + +----- +00842|MACRO DEFINITION COMPONENT: Pos(L,C)=(18,1). +00843|Part 1 of macro @<Sloth with 7@>. +00844| +00845|TEXT COMPONENT: Pos(L,C)=(18,38). + +----- + + +----- +00898|MACRO DEFINITION COMPONENT: Pos(L,C)=(14,1). +00899|Part 1 of macro @<Sloth with 3@>. +00900| +00901|TEXT COMPONENT: Pos(L,C)=(14,38). + +----- +00853|MACRO DEFINITION COMPONENT: Pos(L,C)=(19,1). +00854|Part 1 of macro @<Sloth with 8@>. +00855| +00856|TEXT COMPONENT: Pos(L,C)=(19,38). + +----- + + +----- +00909|MACRO DEFINITION COMPONENT: Pos(L,C)=(15,1). +00910|Part 1 of macro @<Sloth with 4@>. +00911| +00912|TEXT COMPONENT: Pos(L,C)=(15,38). +00913| +00914|-- Start of Text Scrap List -- +00915|Text scrap[White]="<010> + +----- +00864|MACRO DEFINITION COMPONENT: Pos(L,C)=(20,1). +00865|Part 1 of macro @<Sloth with 9@>. +00866| +00867|TEXT COMPONENT: Pos(L,C)=(20,38). +00868| +00869|-- Start of Text Scrap List -- +00870|Text scrap[Grey]="<010> +00871|<010> +00872|4. Test with syntax errors in the parameter list.<010> +00873|<010> + +----- + + +----- +00920|MACRO DEFINITION COMPONENT: Pos(L,C)=(16,1). +00921|Part 1 of macro @<Sloth with 5@>. +00922| +00923|TEXT COMPONENT: Pos(L,C)=(16,38). + +----- +00878|TYPESETTER DIRECTIVE COMPONENT: +00879| Section "1", Section name="Error recovery point". +00880| +00881|TEXT COMPONENT: Pos(L,C)=(25,27). + +----- + + +----- + +----- +00885|<010> + +----- + + +----- +00931|MACRO DEFINITION COMPONENT: Pos(L,C)=(17,1). +00932|Part 1 of macro @<Sloth with 6@>. +00933| +00934|TEXT COMPONENT: Pos(L,C)=(17,38). + +----- +00890|TYPESETTER DIRECTIVE COMPONENT: +00891| Section "2", Section name="Error recovery point". +00892| +00893|TEXT COMPONENT: Pos(L,C)=(28,27). + +----- + + +----- + +----- +00897|<010> + +----- + + +----- +00942|MACRO DEFINITION COMPONENT: Pos(L,C)=(18,1). +00943|Part 1 of macro @<Sloth with 7@>. +00944| +00945|TEXT COMPONENT: Pos(L,C)=(18,38). + +----- +00902|TYPESETTER DIRECTIVE COMPONENT: +00903| Section "3", Section name="Error recovery point". +00904| +00905|TEXT COMPONENT: Pos(L,C)=(31,27). + +----- + + +----- + +----- +00909|<010> + +----- + + +----- +00953|MACRO DEFINITION COMPONENT: Pos(L,C)=(19,1). +00954|Part 1 of macro @<Sloth with 8@>. +00955| +00956|TEXT COMPONENT: Pos(L,C)=(19,38). + +----- +00914|TYPESETTER DIRECTIVE COMPONENT: +00915| Section "4", Section name="Error recovery point". +00916| +00917|TEXT COMPONENT: Pos(L,C)=(34,27). + +----- + + +----- + +----- +00921|<010> + +----- + + +----- +00964|MACRO DEFINITION COMPONENT: Pos(L,C)=(20,1). +00965|Part 1 of macro @<Sloth with 9@>. +00966| +00967|TEXT COMPONENT: Pos(L,C)=(20,38). +00968| +00969|-- Start of Text Scrap List -- +00970|Text scrap[Grey]="<010> +00971|<010> +00972|4. Test with syntax errors in the parameter list.<010> + +----- +00926|TYPESETTER DIRECTIVE COMPONENT: +00927| Section "5", Section name="Error recovery point". +00928| +00929|TEXT COMPONENT: Pos(L,C)=(37,27). +00930| +00931|-- Start of Text Scrap List -- +00932|Text scrap[White]="<010> +00933|<010> +00934|<010> + +----- + + +----- +00978|TYPESETTER DIRECTIVE COMPONENT: +00979| Section "1", Section name="Error recovery point". +00980| +00981|TEXT COMPONENT: Pos(L,C)=(25,27). +00982| +00983|-- Start of Text Scrap List -- +00984|Text scrap[White]="<010> +00985|<010> +00986|" +00987|--- End of Text Scrap List --- +00988| +00989| +00990|TYPESETTER DIRECTIVE COMPONENT: +00991| Section "2", Section name="Error recovery point". +00992| +00993|TEXT COMPONENT: Pos(L,C)=(28,27). +00994| +00995|-- Start of Text Scrap List -- +00996|Text scrap[White]="<010> +00997|<010> +00998|" +00999|--- End of Text Scrap List --- +01000| +01001| +01002|TYPESETTER DIRECTIVE COMPONENT: +01003| Section "3", Section name="Error recovery point". +01004| +01005|TEXT COMPONENT: Pos(L,C)=(31,27). +01006| +01007|-- Start of Text Scrap List -- +01008|Text scrap[White]="<010> +01009|<010> +01010|" +01011|--- End of Text Scrap List --- +01012| +01013| +01014|TYPESETTER DIRECTIVE COMPONENT: +01015| Section "4", Section name="Error recovery point". +01016| +01017|TEXT COMPONENT: Pos(L,C)=(34,27). +01018| +01019|-- Start of Text Scrap List -- +01020|Text scrap[White]="<010> +01021|<010> +01022|" +01023|--- End of Text Scrap List --- +01024| +01025| +01026|TYPESETTER DIRECTIVE COMPONENT: +01027| Section "5", Section name="Error recovery point". +01028| +01029|TEXT COMPONENT: Pos(L,C)=(37,27). +01030| +01031|-- Start of Text Scrap List -- +01032|Text scrap[White]="<010> +01033|<010> +01034|<010> +01035|<010> +01036|" +01037|--- End of Text Scrap List --- +01038| +01039| +01040|========================== End of DOCUMENT LIST DUMP =========================== +01041| + +----- +00940|========================== End of DOCUMENT LIST DUMP =========================== +00941| +00942| +00943|Global Local| Input File +00944|------------+------------------------------------------------------------------- +00945| 1 1| PR05: Test the parsing of formal parameter lists. +00946| 2 2| +00947| 3 3| First trip the parser so we don't get past the parser. +00948| 4 4| @> +00949| Error|.^The parser was at the top level and was expecting +00950| |.^one of: {Directive, Text, Macro definition, EOF}. +00951| 5 5| +00952| 6 6| 1. Test macro definition with no formal parameters. +00953| 7 7| @$@<Sloth@>@{Slothtext@} +00954| 8 8| +00955| 9 9| 2. Test macro definition with one formal parameter. +00956| 10 10| @$@<Sloth with one@>@(@1@)@{Slothtext@} +00957| 11 11| +00958| 12 12| 3. Test macro definition with many formal parameters. +00959| 13 13| @$@<Sloth with 2@>@(@2@)@{Slothtext@} +00960| 14 14| @$@<Sloth with 3@>@(@3@)@{Slothtext@} +00961| 15 15| @$@<Sloth with 4@>@(@4@)@{Slothtext@} +00962| 16 16| @$@<Sloth with 5@>@(@5@)@{Slothtext@} +00963| 17 17| @$@<Sloth with 6@>@(@6@)@{Slothtext@} +00964| 18 18| @$@<Sloth with 7@>@(@7@)@{Slothtext@} +00965| 19 19| @$@<Sloth with 8@>@(@8@)@{Slothtext@} +00966| 20 20| @$@<Sloth with 9@>@(@9@)@{Slothtext@} +00967| 21 21| +00968| 22 22| 4. Test with syntax errors in the parameter list. +00969| 23 23| +00970| 24 24| @$@<Sloth a@>@(@+@9@)@{Slothtext@} +00971| Error|................^Expecting one of [@1..@9]. +00972| |................^Skipping after error to the next major construct... +00973| 25 25| @A@<Error recovery point@> +00974| |.^...skipped to here after the error. +00975| 26 26| +00976| 27 27| @$@<Sloth b@>@9@)@{Slothtext@} +00977| Error|..............^Expecting '@{'. +00978| |..............^Skipping after error to the next major construct... +00979| 28 28| @A@<Error recovery point@> +00980| |.^...skipped to here after the error. +00981| 29 29| +00982| 30 30| @$@<Sloth c@>@(9@)@{Slothtext@} +00983| Error|................^Expecting one of [@1..@9]. +00984| |................^Skipping after error to the next major construct... +00985| 31 31| @A@<Error recovery point@> +00986| |.^...skipped to here after the error. +00987| 32 32| +00988| 33 33| @$@<Sloth d@>@9@)@{Slothtext@} +00989| Error|..............^Expecting '@{'. +00990| |..............^Skipping after error to the next major construct... +00991| 34 34| @A@<Error recovery point@> +00992| |.^...skipped to here after the error. +00993| 35 35| +00994| 36 36| @$@<Sloth e@>@(@9@)@)@{Slothtext@} +00995| Error|....................^Expecting '@{'. +00996| |....................^Skipping after error to the next major construct... +00997| 37 37| @A@<Error recovery point@> +00998| |.^...skipped to here after the error. +00999| 38 38| +01000| 39 39| +01001| 40 40| +01002| | <End-Of-File> +01003|------------+------------------------------------------------------------------- + +----- + + +----- +01043|Global Local| Input File +01044|------------+------------------------------------------------------------------- +01045| 1 1| PR05: Test the parsing of formal parameter lists. +01046| 2 2| +01047| 3 3| First trip the parser so we don't get past the parser. +01048| 4 4| @> +01049| Error|.^The parser was at the top level and was expecting +01050| |.^one of: {Directive, Text, Macro definition, EOF}. +01051| 5 5| +01052| 6 6| 1. Test macro definition with no formal parameters. +01053| 7 7| @$@<Sloth@>@{Slothtext@} +01054| 8 8| +01055| 9 9| 2. Test macro definition with one formal parameter. +01056| 10 10| @$@<Sloth with one@>@(@1@)@{Slothtext@} +01057| 11 11| +01058| 12 12| 3. Test macro definition with many formal parameters. +01059| 13 13| @$@<Sloth with 2@>@(@2@)@{Slothtext@} +01060| 14 14| @$@<Sloth with 3@>@(@3@)@{Slothtext@} +01061| 15 15| @$@<Sloth with 4@>@(@4@)@{Slothtext@} +01062| 16 16| @$@<Sloth with 5@>@(@5@)@{Slothtext@} +01063| 17 17| @$@<Sloth with 6@>@(@6@)@{Slothtext@} +01064| 18 18| @$@<Sloth with 7@>@(@7@)@{Slothtext@} +01065| 19 19| @$@<Sloth with 8@>@(@8@)@{Slothtext@} +01066| 20 20| @$@<Sloth with 9@>@(@9@)@{Slothtext@} +01067| 21 21| +01068| 22 22| 4. Test with syntax errors in the parameter list. +01069| 23 23| +01070| 24 24| @$@<Sloth a@>@(@+@9@)@{Slothtext@} +01071| Error|................^Expecting one of [@1..@9]. +01072| |................^Skipping after error to the next major construct... +01073| 25 25| @A@<Error recovery point@> +01074| |.^...skipped to here after the error. +01075| 26 26| +01076| 27 27| @$@<Sloth b@>@9@)@{Slothtext@} +01077| Error|..............^Expecting '@{'. +01078| |..............^Skipping after error to the next major construct... +01079| 28 28| @A@<Error recovery point@> +01080| |.^...skipped to here after the error. +01081| 29 29| +01082| 30 30| @$@<Sloth c@>@(9@)@{Slothtext@} +01083| Error|................^Expecting one of [@1..@9]. +01084| |................^Skipping after error to the next major construct... +01085| 31 31| @A@<Error recovery point@> +01086| |.^...skipped to here after the error. +01087| 32 32| +01088| 33 33| @$@<Sloth d@>@9@)@{Slothtext@} +01089| Error|..............^Expecting '@{'. +01090| |..............^Skipping after error to the next major construct... +01091| 34 34| @A@<Error recovery point@> +01092| |.^...skipped to here after the error. +01093| 35 35| +01094| 36 36| @$@<Sloth e@>@(@9@)@)@{Slothtext@} +01095| Error|....................^Expecting '@{'. +01096| |....................^Skipping after error to the next major construct... +01097| 37 37| @A@<Error recovery point@> +01098| |.^...skipped to here after the error. +01099| 38 38| +01100| 39 39| +01101| 40 40| +01102| | <End-Of-File> +01103|------------+------------------------------------------------------------------- +01104| +01105|There were 6 Errors. + +----- +01005|There were 6 Errors. + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/pr06.lis" + with "/usr/var/tmp/funnelweb/answers/pr06.lis". + + +----- +00305|Macro Name : "#file" + +----- +00305|Macro Name : "Sloth" + +----- + + +----- +00309|Zero Calls? : Yes. +00310|Many Calls? : Yes. +00311|Output File?: No. +00312|Automatic Line Directive Macro?: No. + +----- +00309|Zero Calls? : No. +00310|Many Calls? : No. +00311|Output File?: No. + +----- + + +----- +00318|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +----- +00317|Body part 1: Seqnum=1, Pos(L,C)=(7,3), Expression follows: + +----- + + +----- +00322|--- Start Special Function --- +00323|---- End Special Function ---- + +----- +00321|----- Start Text Element ----- +00322|Text scrap[Grey]="No zero and no many in this macro" +00323|------ End Text Element ------ + +----- + + +----- +00334|Macro Name : "#line" + +----- +00334|Macro Name : "Sloth a" +00335|Defined? : No. +00336|-------------------- End of Macro Dump --------------------- +00337| +00338| +00339| +00340|------------------- Start of Macro Dump -------------------- +00341|Macro Name : "Sloth b" + +----- + + +----- +00339|Many Calls? : Yes. +00340|Output File?: No. +00341|Automatic Line Directive Macro?: No. + +----- +00346|Many Calls? : No. +00347|Output File?: No. + +----- + + +----- +00346|This macro has 1 body part. +00347|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00348| +00349|---- Start of Expression ---- +00350| +00351|--- Start Special Function --- +00352|---- End Special Function ---- +00353| +00354|----- End of Expression ----- +00355| + +----- +00352|This macro has 0 body parts. + +----- + + +----- +00363|Macro Name : "#timestamp" + +----- +00360|Macro Name : "Sloth d" +00361|Defined? : No. +00362|-------------------- End of Macro Dump --------------------- +00363| +00364| +00365| +00366|------------------- Start of Macro Dump -------------------- +00367|Macro Name : "Sloth many" + +----- + + +----- +00367|Zero Calls? : Yes. +00368|Many Calls? : Yes. +00369|Output File?: No. +00370|Automatic Line Directive Macro?: No. + +----- +00371|Zero Calls? : No. +00372|Many Calls? : Yes. +00373|Output File?: No. + +----- + + +----- +00376|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +----- +00379|Body part 1: Seqnum=3, Pos(L,C)=(13,3), Expression follows: + +----- + + +----- +00380|--- Start Special Function --- +00381|---- End Special Function ---- + +----- +00383|----- Start Text Element ----- +00384|Text scrap[Grey]="Can be called from 1 to infinity times." +00385|------ End Text Element ------ + +----- + + +----- +00392|Macro Name : "Sloth" + +----- +00396|Macro Name : "Sloth manyzero" + +----- + + +----- +00397|Many Calls? : No. +00398|Output File?: No. +00399|Automatic Line Directive Macro?: No. + +----- +00401|Many Calls? : Yes. +00402|Output File?: No. + +----- + + +----- +00404|This macro has 1 body part. +00405|Body part 1: Seqnum=1, Pos(L,C)=(7,3), Expression follows: +00406| +00407|---- Start of Expression ---- +00408| +00409|----- Start Text Element ----- +00410|Text scrap[Grey]="No zero and no many in this macro" +00411|------ End Text Element ------ +00412| +00413|----- End of Expression ----- +00414| + +----- +00407|This macro has 0 body parts. + +----- + + +----- +00422|Macro Name : "Sloth a" +00423|Defined? : No. +00424|-------------------- End of Macro Dump --------------------- +00425| +00426| +00427| +00428|------------------- Start of Macro Dump -------------------- +00429|Macro Name : "Sloth b" + +----- +00415|Macro Name : "Sloth zero" + +----- + + +----- +00436|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00441|This macro has 0 body parts. + +----- +00426|This macro has 1 body part. +00427|Body part 1: Seqnum=2, Pos(L,C)=(10,3), Expression follows: +00428| +00429|---- Start of Expression ---- +00430| +00431|----- Start Text Element ----- +00432|Text scrap[Grey]="Can be called from 0 to 1 times." +00433|------ End Text Element ------ +00434| +00435|----- End of Expression ----- +00436| + +----- + + +----- +00449|Macro Name : "Sloth d" +00450|Defined? : No. +00451|-------------------- End of Macro Dump --------------------- +00452| +00453| +00454| +00455|------------------- Start of Macro Dump -------------------- +00456|Macro Name : "Sloth many" + +----- +00444|Macro Name : "Sloth zeromany" + +----- + + +----- +00460|Zero Calls? : No. +00461|Many Calls? : Yes. +00462|Output File?: No. +00463|Automatic Line Directive Macro?: No. + +----- +00448|Zero Calls? : Yes. +00449|Many Calls? : Yes. +00450|Output File?: No. + +----- + + +----- +00469|Body part 1: Seqnum=3, Pos(L,C)=(13,3), Expression follows: + +----- +00456|Body part 1: Seqnum=4, Pos(L,C)=(16,3), Expression follows: + +----- + + +----- +00474|Text scrap[Grey]="Can be called from 1 to infinity times." + +----- +00461|Text scrap[Grey]="Can be called from 0 to infinity times." + +----- + + +----- +00485|------------------- Start of Macro Dump -------------------- +00486|Macro Name : "Sloth manyzero" +00487|Defined? : Yes. +00488|Parameters : 0 +00489|Additive? : No. +00490|Zero Calls? : No. +00491|Many Calls? : Yes. +00492|Output File?: No. +00493|Automatic Line Directive Macro?: No. +00494|Call list : +00495|Macro body : +00496| +00497|--Start of List of Body Parts-- +00498|This macro has 0 body parts. +00499|---End of List of Body Parts--- +00500| +00501|-------------------- End of Macro Dump --------------------- +00502| +00503| +00504| +00505|------------------- Start of Macro Dump -------------------- +00506|Macro Name : "Sloth zero" +00507|Defined? : Yes. +00508|Parameters : 0 +00509|Additive? : No. +00510|Zero Calls? : Yes. +00511|Many Calls? : No. +00512|Output File?: No. +00513|Automatic Line Directive Macro?: No. +00514|Call list : +00515|Macro body : +00516| +00517|--Start of List of Body Parts-- +00518|This macro has 1 body part. +00519|Body part 1: Seqnum=2, Pos(L,C)=(10,3), Expression follows: +00520| +00521|---- Start of Expression ---- +00522| +00523|----- Start Text Element ----- +00524|Text scrap[Grey]="Can be called from 0 to 1 times." +00525|------ End Text Element ------ +00526| +00527|----- End of Expression ----- +00528| +00529|---End of List of Body Parts--- +00530| +00531|-------------------- End of Macro Dump --------------------- +00532| +00533| +00534| +00535|------------------- Start of Macro Dump -------------------- +00536|Macro Name : "Sloth zeromany" +00537|Defined? : Yes. +00538|Parameters : 0 +00539|Additive? : No. +00540|Zero Calls? : Yes. +00541|Many Calls? : Yes. +00542|Output File?: No. +00543|Automatic Line Directive Macro?: No. +00544|Call list : +00545|Macro body : +00546| +00547|--Start of List of Body Parts-- +00548|This macro has 1 body part. + +----- +00472|=========================== End of MACRO TABLE DUMP ============================ +00473| +00474| +00475|========================= Start of DOCUMENT LIST DUMP ========================== +00476| +00477| +00478|TEXT COMPONENT: Pos(L,C)=(1,1). +00479| +00480|-- Start of Text Scrap List -- +00481|Text scrap[Grey]="PR06: Test the parsing on invocation number constraints.<010> +00482|<010> +00483|Trip the parser so we don't get past it.<010> +00484|" +00485|--- End of Text Scrap List --- +00486| +00487| +00488|TEXT COMPONENT: Pos(L,C)=(4,3). +00489| +00490|-- Start of Text Scrap List -- +00491|Text scrap[Grey]="<010> +00492|<010> +00493|1. Test with no zero and no many.<010> +00494|" +00495|--- End of Text Scrap List --- +00496| +00497| +00498|MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). +00499|Part 1 of macro @<Sloth@>. +00500| +00501|TEXT COMPONENT: Pos(L,C)=(7,49). +00502| +00503|-- Start of Text Scrap List -- +00504|Text scrap[Grey]="<010> +00505|<010> +00506|2. Test with a zero.<010> +00507|" +00508|--- End of Text Scrap List --- +00509| +00510| +00511|MACRO DEFINITION COMPONENT: Pos(L,C)=(10,1). +00512|Part 1 of macro @<Sloth zero@>. +00513| +00514|TEXT COMPONENT: Pos(L,C)=(10,55). +00515| +00516|-- Start of Text Scrap List -- +00517|Text scrap[Grey]="<010> +00518|<010> +00519|3. Test with a many.<010> +00520|" +00521|--- End of Text Scrap List --- +00522| +00523| +00524|MACRO DEFINITION COMPONENT: Pos(L,C)=(13,1). +00525|Part 1 of macro @<Sloth many@>. +00526| +00527|TEXT COMPONENT: Pos(L,C)=(13,62). +00528| +00529|-- Start of Text Scrap List -- +00530|Text scrap[Grey]="<010> +00531|<010> +00532|4. Test with a zero and a many.<010> +00533|" +00534|--- End of Text Scrap List --- +00535| + +----- + + +----- +00549|Body part 1: Seqnum=4, Pos(L,C)=(16,3), Expression follows: +00550| +00551|---- Start of Expression ---- +00552| +00553|----- Start Text Element ----- +00554|Text scrap[Grey]="Can be called from 0 to infinity times." +00555|------ End Text Element ------ +00556| +00557|----- End of Expression ----- +00558| +00559|---End of List of Body Parts--- +00560| +00561|-------------------- End of Macro Dump --------------------- +00562| +00563| +00564| +00565|=========================== End of MACRO TABLE DUMP ============================ +00566| +00567| +00568|========================= Start of DOCUMENT LIST DUMP ========================== +00569| +00570| +00571|TEXT COMPONENT: Pos(L,C)=(1,1). +00572| +00573|-- Start of Text Scrap List -- +00574|Text scrap[Grey]="PR06: Test the parsing on invocation number constraints.<010> +00575|<010> +00576|Trip the parser so we don't get past it.<010> + +----- +00536| +00537|MACRO DEFINITION COMPONENT: Pos(L,C)=(16,1). +00538|Part 1 of macro @<Sloth zeromany@>. +00539| +00540|TEXT COMPONENT: Pos(L,C)=(16,68). +00541| +00542|-- Start of Text Scrap List -- +00543|Text scrap[Grey]="<010> +00544|<010> +00545|5. Test with a zero and a many but out of order (should give error).<010> + +----- + + +----- +00581|TEXT COMPONENT: Pos(L,C)=(4,3). + +----- +00550|TYPESETTER DIRECTIVE COMPONENT: +00551| Section "1", Section name="Error recovery point". +00552| +00553|TEXT COMPONENT: Pos(L,C)=(20,27). + +----- + + +----- +00586|1. Test with no zero and no many.<010> + +----- +00558|6. Test with syntactic errors.<010> +00559|<010> + +----- + + +----- +00591|MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). +00592|Part 1 of macro @<Sloth@>. +00593| +00594|TEXT COMPONENT: Pos(L,C)=(7,49). +00595| +00596|-- Start of Text Scrap List -- +00597|Text scrap[Grey]="<010> +00598|<010> +00599|2. Test with a zero.<010> + +----- +00564|TYPESETTER DIRECTIVE COMPONENT: +00565| Section "2", Section name="Error recovery point". +00566| +00567|TEXT COMPONENT: Pos(L,C)=(25,27). +00568| +00569|-- Start of Text Scrap List -- +00570|Text scrap[White]="<010> +00571|<010> + +----- + + +----- +00604|MACRO DEFINITION COMPONENT: Pos(L,C)=(10,1). +00605|Part 1 of macro @<Sloth zero@>. +00606| +00607|TEXT COMPONENT: Pos(L,C)=(10,55). +00608| +00609|-- Start of Text Scrap List -- +00610|Text scrap[Grey]="<010> +00611|<010> +00612|3. Test with a many.<010> + +----- +00576|TYPESETTER DIRECTIVE COMPONENT: +00577| Section "3", Section name="Error recovery point". +00578| +00579|TEXT COMPONENT: Pos(L,C)=(28,27). +00580| +00581|-- Start of Text Scrap List -- +00582|Text scrap[White]="<010> +00583|<010> + +----- + + +----- +00617|MACRO DEFINITION COMPONENT: Pos(L,C)=(13,1). +00618|Part 1 of macro @<Sloth many@>. +00619| +00620|TEXT COMPONENT: Pos(L,C)=(13,62). +00621| +00622|-- Start of Text Scrap List -- +00623|Text scrap[Grey]="<010> +00624|<010> +00625|4. Test with a zero and a many.<010> + +----- +00588|TYPESETTER DIRECTIVE COMPONENT: +00589| Section "4", Section name="Error recovery point". +00590| +00591|TEXT COMPONENT: Pos(L,C)=(31,27). +00592| +00593|-- Start of Text Scrap List -- +00594|Text scrap[White]="<010> +00595|<010> + +----- + + +----- +00630|MACRO DEFINITION COMPONENT: Pos(L,C)=(16,1). +00631|Part 1 of macro @<Sloth zeromany@>. +00632| +00633|TEXT COMPONENT: Pos(L,C)=(16,68). +00634| +00635|-- Start of Text Scrap List -- +00636|Text scrap[Grey]="<010> +00637|<010> +00638|5. Test with a zero and a many but out of order (should give error).<010> + +----- +00600|TYPESETTER DIRECTIVE COMPONENT: +00601| Section "5", Section name="Error recovery point". +00602| +00603|TEXT COMPONENT: Pos(L,C)=(34,27). +00604| +00605|-- Start of Text Scrap List -- +00606|Text scrap[White]="<010> +00607|<010> + +----- + + +----- +00644| Section "1", Section name="Error recovery point". +00645| +00646|TEXT COMPONENT: Pos(L,C)=(20,27). +00647| +00648|-- Start of Text Scrap List -- +00649|Text scrap[Grey]="<010> +00650|<010> +00651|6. Test with syntactic errors.<010> + +----- +00613| Section "6", Section name="Error recovery point". +00614| +00615|TEXT COMPONENT: Pos(L,C)=(37,27). +00616| +00617|-- Start of Text Scrap List -- +00618|Text scrap[White]="<010> +00619|<010> + +----- + + +----- +00657|TYPESETTER DIRECTIVE COMPONENT: +00658| Section "2", Section name="Error recovery point". +00659| +00660|TEXT COMPONENT: Pos(L,C)=(25,27). +00661| +00662|-- Start of Text Scrap List -- +00663|Text scrap[White]="<010> +00664|<010> +00665|" +00666|--- End of Text Scrap List --- +00667| +00668| +00669|TYPESETTER DIRECTIVE COMPONENT: +00670| Section "3", Section name="Error recovery point". +00671| +00672|TEXT COMPONENT: Pos(L,C)=(28,27). +00673| +00674|-- Start of Text Scrap List -- +00675|Text scrap[White]="<010> +00676|<010> +00677|" +00678|--- End of Text Scrap List --- +00679| +00680| +00681|TYPESETTER DIRECTIVE COMPONENT: +00682| Section "4", Section name="Error recovery point". +00683| +00684|TEXT COMPONENT: Pos(L,C)=(31,27). +00685| +00686|-- Start of Text Scrap List -- +00687|Text scrap[White]="<010> +00688|<010> +00689|" +00690|--- End of Text Scrap List --- +00691| +00692| +00693|TYPESETTER DIRECTIVE COMPONENT: +00694| Section "5", Section name="Error recovery point". +00695| +00696|TEXT COMPONENT: Pos(L,C)=(34,27). +00697| +00698|-- Start of Text Scrap List -- +00699|Text scrap[White]="<010> +00700|<010> +00701|" +00702|--- End of Text Scrap List --- +00703| +00704| +00705|TYPESETTER DIRECTIVE COMPONENT: +00706| Section "6", Section name="Error recovery point". +00707| +00708|TEXT COMPONENT: Pos(L,C)=(37,27). +00709| +00710|-- Start of Text Scrap List -- +00711|Text scrap[White]="<010> +00712|<010> +00713|<010> +00714|" +00715|--- End of Text Scrap List --- +00716| +00717| + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/pr07.lis" + with "/usr/var/tmp/funnelweb/answers/pr07.lis". + + +----- +00283|Macro Name : "#file" +00284|Defined? : Yes. +00285|Parameters : 0 +00286|Additive? : No. +00287|Zero Calls? : Yes. +00288|Many Calls? : Yes. +00289|Output File?: No. +00290|Automatic Line Directive Macro?: No. +00291|Call list : +00292|Macro body : +00293| +00294|--Start of List of Body Parts-- +00295|This macro has 1 body part. +00296|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00297| +00298|---- Start of Expression ---- +00299| +00300|--- Start Special Function --- +00301|---- End Special Function ---- +00302| +00303|----- End of Expression ----- +00304| +00305|---End of List of Body Parts--- +00306| + +----- +00283|Macro Name : "Error1" +00284|Defined? : No. + +----- + + +----- +00312|Macro Name : "#line" + +----- +00290|Macro Name : "Error2" +00291|Defined? : No. +00292|-------------------- End of Macro Dump --------------------- +00293| +00294| +00295| +00296|------------------- Start of Macro Dump -------------------- +00297|Macro Name : "Error3" +00298|Defined? : No. +00299|-------------------- End of Macro Dump --------------------- +00300| +00301| +00302| +00303|------------------- Start of Macro Dump -------------------- +00304|Macro Name : "Error4" +00305|Defined? : No. +00306|-------------------- End of Macro Dump --------------------- +00307| +00308| +00309| +00310|------------------- Start of Macro Dump -------------------- +00311|Macro Name : "Sloth" + +----- + + +----- +00316|Zero Calls? : Yes. +00317|Many Calls? : Yes. +00318|Output File?: No. +00319|Automatic Line Directive Macro?: No. + +----- +00315|Zero Calls? : No. +00316|Many Calls? : No. +00317|Output File?: No. + +----- + + +----- +00325|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +----- +00323|Body part 1: Seqnum=1, Pos(L,C)=(7,3), Expression follows: + +----- + + +----- +00329|--- Start Special Function --- +00330|---- End Special Function ---- + +----- +00327|----- Start Text Element ----- +00328|Text scrap[Grey]="No equals in this macro definition." +00329|------ End Text Element ------ + +----- + + +----- +00341|Macro Name : "#timestamp" + +----- +00340|Macro Name : "Sloth with equals" + +----- + + +----- +00345|Zero Calls? : Yes. +00346|Many Calls? : Yes. +00347|Output File?: No. +00348|Automatic Line Directive Macro?: No. + +----- +00344|Zero Calls? : No. +00345|Many Calls? : No. +00346|Output File?: No. + +----- + + +----- +00354|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +----- +00352|Body part 1: Seqnum=2, Pos(L,C)=(10,3), Expression follows: + +----- + + +----- +00358|--- Start Special Function --- +00359|---- End Special Function ---- + +----- +00356|----- Start Text Element ----- +00357|Text scrap[Grey]="No equals in this macro definition." +00358|------ End Text Element ------ + +----- + + +----- +00370|Macro Name : "Error1" +00371|Defined? : No. + +----- +00369|Macro Name : "Sloth with plus" +00370|Defined? : Yes. +00371|Parameters : 0 +00372|Additive? : Yes. +00373|Zero Calls? : No. +00374|Many Calls? : No. +00375|Output File?: No. +00376|Call list : +00377|Macro body : +00378| +00379|--Start of List of Body Parts-- +00380|This macro has 1 body part. +00381|Body part 1: Seqnum=3, Pos(L,C)=(13,3), Expression follows: +00382| +00383|---- Start of Expression ---- +00384| +00385|----- Start Text Element ----- +00386|Text scrap[Grey]="No equals in this macro definition." +00387|------ End Text Element ------ +00388| +00389|----- End of Expression ----- +00390| +00391|---End of List of Body Parts--- +00392| + +----- + + +----- +00376|------------------- Start of Macro Dump -------------------- +00377|Macro Name : "Error2" +00378|Defined? : No. +00379|-------------------- End of Macro Dump --------------------- +00380| +00381| +00382| +00383|------------------- Start of Macro Dump -------------------- +00384|Macro Name : "Error3" +00385|Defined? : No. +00386|-------------------- End of Macro Dump --------------------- +00387| +00388| +00389| +00390|------------------- Start of Macro Dump -------------------- +00391|Macro Name : "Error4" +00392|Defined? : No. +00393|-------------------- End of Macro Dump --------------------- +00394| +00395| +00396| +00397|------------------- Start of Macro Dump -------------------- +00398|Macro Name : "Sloth" +00399|Defined? : Yes. +00400|Parameters : 0 +00401|Additive? : No. +00402|Zero Calls? : No. +00403|Many Calls? : No. +00404|Output File?: No. +00405|Automatic Line Directive Macro?: No. +00406|Call list : +00407|Macro body : +00408| +00409|--Start of List of Body Parts-- +00410|This macro has 1 body part. +00411|Body part 1: Seqnum=1, Pos(L,C)=(7,3), Expression follows: +00412| +00413|---- Start of Expression ---- +00414| +00415|----- Start Text Element ----- +00416|Text scrap[Grey]="No equals in this macro definition." +00417|------ End Text Element ------ +00418| +00419|----- End of Expression ----- +00420| +00421|---End of List of Body Parts--- +00422| +00423|-------------------- End of Macro Dump --------------------- +00424| +00425| +00426| +00427|------------------- Start of Macro Dump -------------------- +00428|Macro Name : "Sloth with equals" +00429|Defined? : Yes. +00430|Parameters : 0 +00431|Additive? : No. +00432|Zero Calls? : No. +00433|Many Calls? : No. +00434|Output File?: No. +00435|Automatic Line Directive Macro?: No. +00436|Call list : +00437|Macro body : +00438| +00439|--Start of List of Body Parts-- + +----- +00397|=========================== End of MACRO TABLE DUMP ============================ +00398| +00399| +00400|========================= Start of DOCUMENT LIST DUMP ========================== +00401| +00402| +00403|TEXT COMPONENT: Pos(L,C)=(1,1). +00404| +00405|-- Start of Text Scrap List -- +00406|Text scrap[Grey]="PR07: Test the parsing of == and += in macro definitions.<010> +00407|<010> +00408|Trip the parser so we don't get any further.<010> +00409|" +00410|--- End of Text Scrap List --- +00411| +00412| +00413|TEXT COMPONENT: Pos(L,C)=(4,3). +00414| +00415|-- Start of Text Scrap List -- +00416|Text scrap[Grey]="<010> +00417|<010> +00418|1. Test with no equals.<010> +00419|" +00420|--- End of Text Scrap List --- +00421| +00422| +00423|MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). +00424|Part 1 of macro @<Sloth@>. +00425| +00426|TEXT COMPONENT: Pos(L,C)=(7,51). +00427| +00428|-- Start of Text Scrap List -- +00429|Text scrap[Grey]="<010> +00430|<010> +00431|2. Test with ==.<010> +00432|" +00433|--- End of Text Scrap List --- +00434| +00435| +00436|MACRO DEFINITION COMPONENT: Pos(L,C)=(10,1). +00437|Part 1 of macro @<Sloth with equals@>. +00438| +00439|TEXT COMPONENT: Pos(L,C)=(10,65). +00440| +00441|-- Start of Text Scrap List -- +00442|Text scrap[Grey]="<010> +00443|<010> +00444|3. Test with +=.<010> +00445|" +00446|--- End of Text Scrap List --- +00447| +00448| +00449|MACRO DEFINITION COMPONENT: Pos(L,C)=(13,1). +00450|Part 1 of macro @<Sloth with plus@>. +00451| +00452|TEXT COMPONENT: Pos(L,C)=(13,63). +00453| +00454|-- Start of Text Scrap List -- +00455|Text scrap[Grey]="<010> +00456|<010> +00457|4. Test with syntax errors.<010> +00458|<010> +00459|" +00460|--- End of Text Scrap List --- + +----- + + +----- +00440|This macro has 1 body part. +00441|Body part 1: Seqnum=2, Pos(L,C)=(10,3), Expression follows: +00442| +00443|---- Start of Expression ---- +00444| +00445|----- Start Text Element ----- +00446|Text scrap[Grey]="No equals in this macro definition." +00447|------ End Text Element ------ +00448| +00449|----- End of Expression ----- +00450| +00451|---End of List of Body Parts--- +00452| +00453|-------------------- End of Macro Dump --------------------- +00454| +00455| +00456| +00457|------------------- Start of Macro Dump -------------------- +00458|Macro Name : "Sloth with plus" +00459|Defined? : Yes. +00460|Parameters : 0 +00461|Additive? : Yes. +00462|Zero Calls? : No. +00463|Many Calls? : No. +00464|Output File?: No. +00465|Automatic Line Directive Macro?: No. +00466|Call list : +00467|Macro body : +00468| +00469|--Start of List of Body Parts-- +00470|This macro has 1 body part. +00471|Body part 1: Seqnum=3, Pos(L,C)=(13,3), Expression follows: +00472| +00473|---- Start of Expression ---- +00474| +00475|----- Start Text Element ----- +00476|Text scrap[Grey]="No equals in this macro definition." +00477|------ End Text Element ------ +00478| +00479|----- End of Expression ----- +00480| +00481|---End of List of Body Parts--- +00482| +00483|-------------------- End of Macro Dump --------------------- +00484| +00485| +00486| +00487|=========================== End of MACRO TABLE DUMP ============================ +00488| +00489| +00490|========================= Start of DOCUMENT LIST DUMP ========================== +00491| +00492| +00493|TEXT COMPONENT: Pos(L,C)=(1,1). +00494| +00495|-- Start of Text Scrap List -- +00496|Text scrap[Grey]="PR07: Test the parsing of == and += in macro definitions.<010> +00497|<010> +00498|Trip the parser so we don't get any further.<010> +00499|" +00500|--- End of Text Scrap List --- +00501| +00502| +00503|TEXT COMPONENT: Pos(L,C)=(4,3). + +----- +00461| +00462| +00463|TYPESETTER DIRECTIVE COMPONENT: +00464| Section "1", Section name="Error recovery point". +00465| +00466|TEXT COMPONENT: Pos(L,C)=(18,27). +00467| +00468|-- Start of Text Scrap List -- +00469|Text scrap[White]="<010> +00470|<010> +00471|" +00472|--- End of Text Scrap List --- +00473| +00474| +00475|TYPESETTER DIRECTIVE COMPONENT: +00476| Section "2", Section name="Error recovery point". +00477| +00478|TEXT COMPONENT: Pos(L,C)=(21,27). +00479| +00480|-- Start of Text Scrap List -- +00481|Text scrap[White]="<010> +00482|<010> +00483|" +00484|--- End of Text Scrap List --- +00485| +00486| +00487|TYPESETTER DIRECTIVE COMPONENT: +00488| Section "3", Section name="Error recovery point". +00489| +00490|TEXT COMPONENT: Pos(L,C)=(24,27). +00491| +00492|-- Start of Text Scrap List -- +00493|Text scrap[White]="<010> +00494|<010> +00495|" +00496|--- End of Text Scrap List --- +00497| +00498| +00499|TYPESETTER DIRECTIVE COMPONENT: +00500| Section "4", Section name="Error recovery point". +00501| +00502|TEXT COMPONENT: Pos(L,C)=(27,27). +00503| +00504|-- Start of Text Scrap List -- +00505|Text scrap[White]="<010> +00506|<010> +00507|" +00508|--- End of Text Scrap List --- +00509| +00510| +00511|TYPESETTER DIRECTIVE COMPONENT: +00512| Section "5", Section name="Error recovery point". +00513| +00514|TEXT COMPONENT: Pos(L,C)=(30,27). +00515| +00516|-- Start of Text Scrap List -- +00517|Text scrap[White]="<010> +00518|<010> +00519|" +00520|--- End of Text Scrap List --- +00521| +00522| +00523|TYPESETTER DIRECTIVE COMPONENT: +00524| Section "6", Section name="Error recovery point". + +----- + + +----- +00505|-- Start of Text Scrap List -- +00506|Text scrap[Grey]="<010> +00507|<010> +00508|1. Test with no equals.<010> + +----- +00526|TEXT COMPONENT: Pos(L,C)=(33,27). +00527| +00528|-- Start of Text Scrap List -- +00529|Text scrap[White]="<010> +00530|<010> +00531|<010> +00532|<010> + +----- + + +----- +00513|MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). +00514|Part 1 of macro @<Sloth@>. +00515| +00516|TEXT COMPONENT: Pos(L,C)=(7,51). +00517| +00518|-- Start of Text Scrap List -- +00519|Text scrap[Grey]="<010> +00520|<010> +00521|2. Test with ==.<010> +00522|" +00523|--- End of Text Scrap List --- +00524| +00525| +00526|MACRO DEFINITION COMPONENT: Pos(L,C)=(10,1). +00527|Part 1 of macro @<Sloth with equals@>. +00528| +00529|TEXT COMPONENT: Pos(L,C)=(10,65). +00530| +00531|-- Start of Text Scrap List -- +00532|Text scrap[Grey]="<010> +00533|<010> +00534|3. Test with +=.<010> +00535|" +00536|--- End of Text Scrap List --- +00537| +00538| +00539|MACRO DEFINITION COMPONENT: Pos(L,C)=(13,1). +00540|Part 1 of macro @<Sloth with plus@>. +00541| +00542|TEXT COMPONENT: Pos(L,C)=(13,63). +00543| +00544|-- Start of Text Scrap List -- +00545|Text scrap[Grey]="<010> +00546|<010> +00547|4. Test with syntax errors.<010> +00548|<010> +00549|" +00550|--- End of Text Scrap List --- +00551| +00552| +00553|TYPESETTER DIRECTIVE COMPONENT: +00554| Section "1", Section name="Error recovery point". +00555| +00556|TEXT COMPONENT: Pos(L,C)=(18,27). +00557| +00558|-- Start of Text Scrap List -- +00559|Text scrap[White]="<010> +00560|<010> +00561|" +00562|--- End of Text Scrap List --- +00563| +00564| +00565|TYPESETTER DIRECTIVE COMPONENT: +00566| Section "2", Section name="Error recovery point". +00567| +00568|TEXT COMPONENT: Pos(L,C)=(21,27). +00569| +00570|-- Start of Text Scrap List -- +00571|Text scrap[White]="<010> +00572|<010> +00573|" +00574|--- End of Text Scrap List --- +00575| +00576| + +----- +00537|========================== End of DOCUMENT LIST DUMP =========================== +00538| +00539| +00540|Global Local| Input File +00541|------------+------------------------------------------------------------------- +00542| 1 1| PR07: Test the parsing of == and += in macro definitions. +00543| 2 2| +00544| 3 3| Trip the parser so we don't get any further. +00545| 4 4| @> +00546| Error|.^The parser was at the top level and was expecting +00547| |.^one of: {Directive, Text, Macro definition, EOF}. +00548| 5 5| +00549| 6 6| 1. Test with no equals. +00550| 7 7| @$@<Sloth@>@{No equals in this macro definition.@} +00551| 8 8| +00552| 9 9| 2. Test with ==. +00553| 10 10| @$@<Sloth with equals@>==@{No equals in this macro definition.@} +00554| 11 11| +00555| 12 12| 3. Test with +=. +00556| 13 13| @$@<Sloth with plus@>+=@{No equals in this macro definition.@} +00557| 14 14| +00558| 15 15| 4. Test with syntax errors. +00559| 16 16| +00560| 17 17| @$@<Error1@>++@{No equals in this macro definition.@} +00561| Error|.............^Expecting "==@{" or "+=@{" or just "@{". +00562| |.............^(or @Z or @M if they have not already appeared). +00563| |.............^Note: FunnelWeb is intolerant of spaces at this point. +00564| |...............^Skipping after error to the next major construct... +00565| 18 18| @A@<Error recovery point@> +00566| |.^...skipped to here after the error. +00567| 19 19| +00568| 20 20| @$@<Error2@>@+=@{No equals in this macro definition.@} +00569| Error|.............^Expecting "==@{" or "+=@{" or just "@{". +00570| |.............^(or @Z or @M if they have not already appeared). +00571| |.............^Note: FunnelWeb is intolerant of spaces at this point. +00572| |................^Skipping after error to the next major construct... +00573| 21 21| @A@<Error recovery point@> +00574| |.^...skipped to here after the error. +00575| 22 22| +00576| 23 23| @$@<Error3@>+==+@{No equals in this macro definition.@} +00577| Error|.............^Expecting "==@{" or "+=@{" or just "@{". +00578| |.............^(or @Z or @M if they have not already appeared). +00579| |.............^Note: FunnelWeb is intolerant of spaces at this point. +00580| |.................^Skipping after error to the next major construct... +00581| 24 24| @A@<Error recovery point@> +00582| |.^...skipped to here after the error. +00583| 25 25| +00584| 26 26| @$@<Error4@>=+@{No equals in this macro definition.@} +00585| Error|.............^Expecting "==@{" or "+=@{" or just "@{". +00586| |.............^(or @Z or @M if they have not already appeared). +00587| |.............^Note: FunnelWeb is intolerant of spaces at this point. +00588| |...............^Skipping after error to the next major construct... +00589| 27 27| @A@<Error recovery point@> +00590| |.^...skipped to here after the error. +00591| 28 28| +00592| 29 29| @$@<Error4@>@=@=@{No equals in this macro definition.@} +00593| Error|................^Expecting "==@{" or "+=@{" or just "@{". +00594| |................^(or @Z or @M if they have not already appeared). +00595| |................^Note: FunnelWeb is intolerant of spaces at this point. +00596| |.................^Skipping after error to the next major construct... +00597| 30 30| @A@<Error recovery point@> +00598| |.^...skipped to here after the error. +00599| 31 31| +00600| 32 32| @$@<Error4@>@+@=@{No equals in this macro definition.@} + +----- + + +----- +00577|TYPESETTER DIRECTIVE COMPONENT: +00578| Section "3", Section name="Error recovery point". +00579| +00580|TEXT COMPONENT: Pos(L,C)=(24,27). +00581| +00582|-- Start of Text Scrap List -- +00583|Text scrap[White]="<010> +00584|<010> +00585|" +00586|--- End of Text Scrap List --- +00587| +00588| +00589|TYPESETTER DIRECTIVE COMPONENT: +00590| Section "4", Section name="Error recovery point". +00591| +00592|TEXT COMPONENT: Pos(L,C)=(27,27). +00593| +00594|-- Start of Text Scrap List -- +00595|Text scrap[White]="<010> +00596|<010> +00597|" +00598|--- End of Text Scrap List --- +00599| +00600| +00601|TYPESETTER DIRECTIVE COMPONENT: +00602| Section "5", Section name="Error recovery point". +00603| +00604|TEXT COMPONENT: Pos(L,C)=(30,27). +00605| +00606|-- Start of Text Scrap List -- +00607|Text scrap[White]="<010> +00608|<010> +00609|" +00610|--- End of Text Scrap List --- +00611| +00612| +00613|TYPESETTER DIRECTIVE COMPONENT: +00614| Section "6", Section name="Error recovery point". +00615| +00616|TEXT COMPONENT: Pos(L,C)=(33,27). +00617| +00618|-- Start of Text Scrap List -- +00619|Text scrap[White]="<010> +00620|<010> +00621|<010> +00622|<010> +00623|" +00624|--- End of Text Scrap List --- +00625| +00626| +00627|========================== End of DOCUMENT LIST DUMP =========================== +00628| +00629| +00630|Global Local| Input File +00631|------------+------------------------------------------------------------------- +00632| 1 1| PR07: Test the parsing of == and += in macro definitions. +00633| 2 2| +00634| 3 3| Trip the parser so we don't get any further. +00635| 4 4| @> +00636| Error|.^The parser was at the top level and was expecting +00637| |.^one of: {Directive, Text, Macro definition, EOF}. +00638| 5 5| +00639| 6 6| 1. Test with no equals. +00640| 7 7| @$@<Sloth@>@{No equals in this macro definition.@} + +----- +00601| Error|.............^Expecting "==@{" or "+=@{" or just "@{". +00602| |.............^(or @Z or @M if they have not already appeared). +00603| |.............^Note: FunnelWeb is intolerant of spaces at this point. +00604| |......................................................^Skipping after error to the next major construct... +00605| 33 33| @A@<Error recovery point@> +00606| |.^...skipped to here after the error. +00607| 34 34| +00608| 35 35| +00609| 36 36| +00610| | <End-Of-File> +00611|------------+------------------------------------------------------------------- +00612| +00613|There were 7 Errors. + +----- + + +----- +00641| 8 8| +00642| 9 9| 2. Test with ==. +00643| 10 10| @$@<Sloth with equals@>==@{No equals in this macro definition.@} +00644| 11 11| +00645| 12 12| 3. Test with +=. +00646| 13 13| @$@<Sloth with plus@>+=@{No equals in this macro definition.@} +00647| 14 14| +00648| 15 15| 4. Test with syntax errors. +00649| 16 16| +00650| 17 17| @$@<Error1@>++@{No equals in this macro definition.@} +00651| Error|.............^Expecting "==@{" or "+=@{" or just "@{". +00652| |.............^(or @Z or @M if they have not already appeared). +00653| |.............^Note: FunnelWeb is intolerant of spaces at this point. +00654| |...............^Skipping after error to the next major construct... +00655| 18 18| @A@<Error recovery point@> +00656| |.^...skipped to here after the error. +00657| 19 19| +00658| 20 20| @$@<Error2@>@+=@{No equals in this macro definition.@} +00659| Error|.............^Expecting "==@{" or "+=@{" or just "@{". +00660| |.............^(or @Z or @M if they have not already appeared). +00661| |.............^Note: FunnelWeb is intolerant of spaces at this point. +00662| |................^Skipping after error to the next major construct... +00663| 21 21| @A@<Error recovery point@> +00664| |.^...skipped to here after the error. +00665| 22 22| +00666| 23 23| @$@<Error3@>+==+@{No equals in this macro definition.@} +00667| Error|.............^Expecting "==@{" or "+=@{" or just "@{". +00668| |.............^(or @Z or @M if they have not already appeared). +00669| |.............^Note: FunnelWeb is intolerant of spaces at this point. +00670| |.................^Skipping after error to the next major construct... +00671| 24 24| @A@<Error recovery point@> +00672| |.^...skipped to here after the error. +00673| 25 25| +00674| 26 26| @$@<Error4@>=+@{No equals in this macro definition.@} +00675| Error|.............^Expecting "==@{" or "+=@{" or just "@{". +00676| |.............^(or @Z or @M if they have not already appeared). +00677| |.............^Note: FunnelWeb is intolerant of spaces at this point. +00678| |...............^Skipping after error to the next major construct... +00679| 27 27| @A@<Error recovery point@> +00680| |.^...skipped to here after the error. +00681| 28 28| +00682| 29 29| @$@<Error4@>@=@=@{No equals in this macro definition.@} +00683| Error|................^Expecting "==@{" or "+=@{" or just "@{". +00684| |................^(or @Z or @M if they have not already appeared). +00685| |................^Note: FunnelWeb is intolerant of spaces at this point. +00686| |.................^Skipping after error to the next major construct... +00687| 30 30| @A@<Error recovery point@> +00688| |.^...skipped to here after the error. +00689| 31 31| +00690| 32 32| @$@<Error4@>@+@=@{No equals in this macro definition.@} +00691| Error|.............^Expecting "==@{" or "+=@{" or just "@{". +00692| |.............^(or @Z or @M if they have not already appeared). +00693| |.............^Note: FunnelWeb is intolerant of spaces at this point. +00694| |......................................................^Skipping after error to the next major construct... +00695| 33 33| @A@<Error recovery point@> +00696| |.^...skipped to here after the error. +00697| 34 34| +00698| 35 35| +00699| 36 36| +00700| | <End-Of-File> +00701|------------+------------------------------------------------------------------- +00702| +00703|There were 7 Errors. + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/pr08.lis" + with "/usr/var/tmp/funnelweb/answers/pr08.lis". + + +----- +00584|Macro Name : "#file" +00585|Defined? : Yes. +00586|Parameters : 0 +00587|Additive? : No. + +----- +00584|Macro Name : "Elephant" +00585|Defined? : Yes. +00586|Parameters : 0 +00587|Additive? : Yes. + +----- + + +----- +00591|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00597|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +----- +00596|Body part 1: Seqnum=4, Pos(L,C)=(48,3), Expression follows: + +----- + + +----- +00601|--- Start Special Function --- +00602|---- End Special Function ---- + +----- +00600|----- Start Text Element ----- +00601|Text scrap[Grey]="Turkey" +00602|------ End Text Element ------ + +----- + + +----- +00613|Macro Name : "#line" +00614|Defined? : Yes. +00615|Parameters : 0 +00616|Additive? : No. +00617|Zero Calls? : Yes. +00618|Many Calls? : Yes. +00619|Output File?: No. +00620|Automatic Line Directive Macro?: No. + +----- +00613|Macro Name : "Many" +00614|Defined? : Yes. +00615|Parameters : 7 +00616|Additive? : No. +00617|Zero Calls? : Yes. +00618|Many Calls? : No. +00619|Output File?: No. + +----- + + +----- +00626|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +----- +00625|Body part 1: Seqnum=7, Pos(L,C)=(60,3), Expression follows: + +----- + + +----- +00630|--- Start Special Function --- +00631|---- End Special Function ---- + +----- +00629|----- Start Text Element ----- +00630|Text scrap[Grey]="Sloth" +00631|------ End Text Element ------ +00632| +00633| +00634|-- Start Parameter Element -- +00635|Parameter number=8. +00636|Parameter is of macro "Many". +00637|--- End Parameter Element --- +00638| +00639| +00640|----- Start Text Element ----- +00641|Text scrap[Grey]="Walrus" +00642|------ End Text Element ------ + +----- + + +----- +00642|Macro Name : "#timestamp" +00643|Defined? : Yes. +00644|Parameters : 0 +00645|Additive? : No. +00646|Zero Calls? : Yes. +00647|Many Calls? : Yes. +00648|Output File?: No. +00649|Automatic Line Directive Macro?: No. + +----- +00653|Macro Name : "One" +00654|Defined? : Yes. +00655|Parameters : 1 +00656|Additive? : No. +00657|Zero Calls? : Yes. +00658|Many Calls? : No. +00659|Output File?: No. + +----- + + +----- +00655|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +----- +00665|Body part 1: Seqnum=6, Pos(L,C)=(57,3), Expression follows: + +----- + + +----- +00659|--- Start Special Function --- +00660|---- End Special Function ---- + +----- +00669|----- Start Text Element ----- +00670|Text scrap[Grey]="Sloth" +00671|------ End Text Element ------ +00672| +00673| +00674|-- Start Parameter Element -- +00675|Parameter number=2. +00676|Parameter is of macro "One". +00677|--- End Parameter Element --- +00678| +00679| +00680|----- Start Text Element ----- +00681|Text scrap[Grey]="Walrus" +00682|------ End Text Element ------ + +----- + + +----- +00671|Macro Name : "Elephant" +00672|Defined? : Yes. +00673|Parameters : 0 +00674|Additive? : Yes. +00675|Zero Calls? : Yes. +00676|Many Calls? : Yes. +00677|Output File?: No. +00678|Automatic Line Directive Macro?: No. +00679|Call list : +00680|Macro body : +00681| +00682|--Start of List of Body Parts-- +00683|This macro has 1 body part. +00684|Body part 1: Seqnum=4, Pos(L,C)=(48,3), Expression follows: +00685| +00686|---- Start of Expression ---- +00687| +00688|----- Start Text Element ----- +00689|Text scrap[Grey]="Turkey" +00690|------ End Text Element ------ +00691| +00692|----- End of Expression ----- +00693| +00694|---End of List of Body Parts--- +00695| + +----- +00693|Macro Name : "Sloth 1" +00694|Defined? : No. + +----- + + +----- +00701|Macro Name : "Many" +00702|Defined? : Yes. +00703|Parameters : 7 +00704|Additive? : No. +00705|Zero Calls? : Yes. +00706|Many Calls? : No. +00707|Output File?: No. +00708|Automatic Line Directive Macro?: No. +00709|Call list : +00710|Macro body : +00711| +00712|--Start of List of Body Parts-- +00713|This macro has 1 body part. +00714|Body part 1: Seqnum=7, Pos(L,C)=(60,3), Expression follows: +00715| +00716|---- Start of Expression ---- +00717| +00718|----- Start Text Element ----- +00719|Text scrap[Grey]="Sloth" +00720|------ End Text Element ------ +00721| +00722| +00723|-- Start Parameter Element -- +00724|Parameter number=8. +00725|Parameter is of macro "Many". +00726|--- End Parameter Element --- +00727| +00728| +00729|----- Start Text Element ----- +00730|Text scrap[Grey]="Walrus" +00731|------ End Text Element ------ +00732| +00733|----- End of Expression ----- +00734| +00735|---End of List of Body Parts--- +00736| + +----- +00700|Macro Name : "Sloth 2" +00701|Defined? : No. + +----- + + +----- +00742|Macro Name : "One" +00743|Defined? : Yes. +00744|Parameters : 1 +00745|Additive? : No. +00746|Zero Calls? : Yes. +00747|Many Calls? : No. +00748|Output File?: No. +00749|Automatic Line Directive Macro?: No. + +----- +00707|Macro Name : "Sloth 3" +00708|Defined? : No. +00709|-------------------- End of Macro Dump --------------------- +00710| +00711| +00712| +00713|------------------- Start of Macro Dump -------------------- +00714|Macro Name : "Sloth 4" +00715|Defined? : No. +00716|-------------------- End of Macro Dump --------------------- +00717| +00718| +00719| +00720|------------------- Start of Macro Dump -------------------- +00721|Macro Name : "Sloth 5" +00722|Defined? : No. +00723|-------------------- End of Macro Dump --------------------- +00724| +00725| +00726| +00727|------------------- Start of Macro Dump -------------------- +00728|Macro Name : "Unicorn" +00729|Defined? : Yes. +00730|Parameters : 3 +00731|Additive? : Yes. +00732|Zero Calls? : No. +00733|Many Calls? : No. +00734|Output File?: No. + +----- + + +----- +00755|Body part 1: Seqnum=6, Pos(L,C)=(57,3), Expression follows: + +----- +00740|Body part 1: Seqnum=3, Pos(L,C)=(43,3), Expression follows: + +----- + + +----- +00760|Text scrap[Grey]="Sloth" +00761|------ End Text Element ------ +00762| +00763| +00764|-- Start Parameter Element -- +00765|Parameter number=2. +00766|Parameter is of macro "One". +00767|--- End Parameter Element --- +00768| +00769| +00770|----- Start Text Element ----- +00771|Text scrap[Grey]="Walrus" + +----- +00745|Text scrap[Grey]="Turkey" + +----- + + +----- +00783|Macro Name : "Sloth 1" +00784|Defined? : No. + +----- +00757|Macro Name : "Walrus 1" +00758|Defined? : Yes. +00759|Parameters : 0 +00760|Additive? : No. +00761|Zero Calls? : No. +00762|Many Calls? : No. +00763|Output File?: No. +00764|Call list : +00765|Macro body : +00766| +00767|--Start of List of Body Parts-- +00768|This macro has 1 body part. +00769|Body part 1: Seqnum=1, Pos(L,C)=(33,3), Expression follows: +00770| +00771|---- Start of Expression ---- +00772| +00773|----- Start Text Element ----- +00774|Text scrap[Grey]="Sloth" +00775|------ End Text Element ------ +00776| +00777|----- End of Expression ----- +00778| +00779|---End of List of Body Parts--- +00780| + +----- + + +----- +00790|Macro Name : "Sloth 2" +00791|Defined? : No. + +----- +00786|Macro Name : "Walrus 2" +00787|Defined? : Yes. +00788|Parameters : 0 +00789|Additive? : Yes. +00790|Zero Calls? : No. +00791|Many Calls? : No. +00792|Output File?: No. +00793|Call list : +00794|Macro body : +00795| +00796|--Start of List of Body Parts-- +00797|This macro has 1 body part. +00798|Body part 1: Seqnum=2, Pos(L,C)=(38,3), Expression follows: +00799| +00800|---- Start of Expression ---- +00801| +00802|----- Start Text Element ----- +00803|Text scrap[Grey]="Sloth" +00804|------ End Text Element ------ +00805| +00806|----- End of Expression ----- +00807| +00808|---End of List of Body Parts--- +00809| + +----- + + +----- +00797|Macro Name : "Sloth 3" +00798|Defined? : No. +00799|-------------------- End of Macro Dump --------------------- +00800| +00801| +00802| +00803|------------------- Start of Macro Dump -------------------- +00804|Macro Name : "Sloth 4" +00805|Defined? : No. +00806|-------------------- End of Macro Dump --------------------- +00807| +00808| +00809| +00810|------------------- Start of Macro Dump -------------------- +00811|Macro Name : "Sloth 5" +00812|Defined? : No. +00813|-------------------- End of Macro Dump --------------------- +00814| +00815| +00816| +00817|------------------- Start of Macro Dump -------------------- +00818|Macro Name : "Unicorn" +00819|Defined? : Yes. +00820|Parameters : 3 +00821|Additive? : Yes. +00822|Zero Calls? : No. +00823|Many Calls? : No. +00824|Output File?: No. +00825|Automatic Line Directive Macro?: No. + +----- +00815|Macro Name : "Zero" +00816|Defined? : Yes. +00817|Parameters : 0 +00818|Additive? : No. +00819|Zero Calls? : Yes. +00820|Many Calls? : No. +00821|Output File?: No. + +----- + + +----- +00831|Body part 1: Seqnum=3, Pos(L,C)=(43,3), Expression follows: + +----- +00827|Body part 1: Seqnum=5, Pos(L,C)=(54,3), Expression follows: + +----- + + +----- +00836|Text scrap[Grey]="Turkey" + +----- +00832|Text scrap[Grey]="Sloth" +00833|------ End Text Element ------ +00834| +00835| +00836|-- Start Parameter Element -- +00837|Parameter number=1. +00838|Parameter is of macro "Zero". +00839|--- End Parameter Element --- +00840| +00841| +00842|----- Start Text Element ----- +00843|Text scrap[Grey]="Walrus" + +----- + + +----- +00847|------------------- Start of Macro Dump -------------------- +00848|Macro Name : "Walrus 1" +00849|Defined? : Yes. +00850|Parameters : 0 +00851|Additive? : No. +00852|Zero Calls? : No. +00853|Many Calls? : No. +00854|Output File?: No. +00855|Automatic Line Directive Macro?: No. +00856|Call list : +00857|Macro body : +00858| +00859|--Start of List of Body Parts-- +00860|This macro has 1 body part. +00861|Body part 1: Seqnum=1, Pos(L,C)=(33,3), Expression follows: +00862| +00863|---- Start of Expression ---- +00864| +00865|----- Start Text Element ----- +00866|Text scrap[Grey]="Sloth" +00867|------ End Text Element ------ +00868| +00869|----- End of Expression ----- +00870| +00871|---End of List of Body Parts--- +00872| +00873|-------------------- End of Macro Dump --------------------- +00874| +00875| +00876| +00877|------------------- Start of Macro Dump -------------------- +00878|Macro Name : "Walrus 2" +00879|Defined? : Yes. +00880|Parameters : 0 +00881|Additive? : Yes. +00882|Zero Calls? : No. +00883|Many Calls? : No. +00884|Output File?: No. +00885|Automatic Line Directive Macro?: No. +00886|Call list : +00887|Macro body : +00888| +00889|--Start of List of Body Parts-- +00890|This macro has 1 body part. +00891|Body part 1: Seqnum=2, Pos(L,C)=(38,3), Expression follows: +00892| +00893|---- Start of Expression ---- +00894| +00895|----- Start Text Element ----- +00896|Text scrap[Grey]="Sloth" +00897|------ End Text Element ------ +00898| +00899|----- End of Expression ----- +00900| +00901|---End of List of Body Parts--- +00902| +00903|-------------------- End of Macro Dump --------------------- +00904| +00905| +00906| +00907|------------------- Start of Macro Dump -------------------- +00908|Macro Name : "Zero" +00909|Defined? : Yes. +00910|Parameters : 0 + +----- +00854|=========================== End of MACRO TABLE DUMP ============================ +00855| +00856| +00857|========================= Start of DOCUMENT LIST DUMP ========================== +00858| +00859| +00860|TEXT COMPONENT: Pos(L,C)=(1,1). +00861| +00862|-- Start of Text Scrap List -- +00863|Text scrap[Grey]="PR08: Test semantic checking of macro definitions.<010> +00864|<010> +00865|Trip parser to be sure that we won't get any output files!<010> +00866|" +00867|--- End of Text Scrap List --- +00868| +00869| +00870|TEXT COMPONENT: Pos(L,C)=(4,3). +00871| +00872|-- Start of Text Scrap List -- +00873|Text scrap[Grey]="<010> +00874|<010> +00875|1. File macro has parameters. Error.<010> +00876|" +00877|--- End of Text Scrap List --- +00878| +00879| +00880|TYPESETTER DIRECTIVE COMPONENT: +00881| Section "1", Section name="Error recovery point". +00882| +00883|TEXT COMPONENT: Pos(L,C)=(8,27). +00884| +00885|-- Start of Text Scrap List -- +00886|Text scrap[Grey]="<010> +00887|<010> +00888|2. File macro is additive. Error.<010> +00889|" +00890|--- End of Text Scrap List --- +00891| +00892| +00893|TYPESETTER DIRECTIVE COMPONENT: +00894| Section "2", Section name="Error recovery point". +00895| +00896|TEXT COMPONENT: Pos(L,C)=(12,27). +00897| +00898|-- Start of Text Scrap List -- +00899|Text scrap[Grey]="<010> +00900|<010> +00901|3. File macro has too long a name. The test name has 1200 characters. Err.<010> +00902|Note: This test can't test the error message if the maximum length of a<010> +00903|macro name is less than the maximum length of a file name as the name<010> +00904|error is caught first.<010> +00905|" +00906|--- End of Text Scrap List --- +00907| +00908| +00909|TYPESETTER DIRECTIVE COMPONENT: +00910| Section "3", Section name="Error recovery point". +00911| +00912|TEXT COMPONENT: Pos(L,C)=(20,27). +00913| +00914|-- Start of Text Scrap List -- +00915|Text scrap[Grey]="<010> +00916|<010> +00917|4. File macro has zero or many attributes. Error.<010> + +----- + + +----- +00911|Additive? : No. +00912|Zero Calls? : Yes. +00913|Many Calls? : No. +00914|Output File?: No. +00915|Automatic Line Directive Macro?: No. +00916|Call list : +00917|Macro body : +00918| +00919|--Start of List of Body Parts-- +00920|This macro has 1 body part. +00921|Body part 1: Seqnum=5, Pos(L,C)=(54,3), Expression follows: +00922| +00923|---- Start of Expression ---- +00924| +00925|----- Start Text Element ----- +00926|Text scrap[Grey]="Sloth" +00927|------ End Text Element ------ +00928| +00929| +00930|-- Start Parameter Element -- +00931|Parameter number=1. +00932|Parameter is of macro "Zero". +00933|--- End Parameter Element --- +00934| +00935| +00936|----- Start Text Element ----- +00937|Text scrap[Grey]="Walrus" +00938|------ End Text Element ------ +00939| +00940|----- End of Expression ----- +00941| +00942|---End of List of Body Parts--- +00943| +00944|-------------------- End of Macro Dump --------------------- +00945| +00946| +00947| +00948|=========================== End of MACRO TABLE DUMP ============================ +00949| +00950| +00951|========================= Start of DOCUMENT LIST DUMP ========================== +00952| +00953| +00954|TEXT COMPONENT: Pos(L,C)=(1,1). +00955| +00956|-- Start of Text Scrap List -- +00957|Text scrap[Grey]="PR08: Test semantic checking of macro definitions.<010> +00958|<010> +00959|Trip parser to be sure that we won't get any output files!<010> + +----- + +----- + + +----- +00964|TEXT COMPONENT: Pos(L,C)=(4,3). +00965| +00966|-- Start of Text Scrap List -- +00967|Text scrap[Grey]="<010> +00968|<010> +00969|1. File macro has parameters. Error.<010> + +----- +00922|TYPESETTER DIRECTIVE COMPONENT: +00923| Section "4", Section name="Error recovery point". +00924| +00925|TEXT COMPONENT: Pos(L,C)=(24,27). +00926| +00927|-- Start of Text Scrap List -- +00928|Text scrap[White]="<010> +00929|<010> + +----- + + +----- +00975| Section "1", Section name="Error recovery point". +00976| +00977|TEXT COMPONENT: Pos(L,C)=(8,27). +00978| +00979|-- Start of Text Scrap List -- +00980|Text scrap[Grey]="<010> +00981|<010> +00982|2. File macro is additive. Error.<010> + +----- +00935| Section "5", Section name="Error recovery point". +00936| +00937|TEXT COMPONENT: Pos(L,C)=(27,27). +00938| +00939|-- Start of Text Scrap List -- +00940|Text scrap[White]="<010> +00941|<010> + +----- + + +----- +00988| Section "2", Section name="Error recovery point". +00989| +00990|TEXT COMPONENT: Pos(L,C)=(12,27). + +----- +00947| Section "6", Section name="Error recovery point". +00948| +00949|TEXT COMPONENT: Pos(L,C)=(30,27). + +----- + + +----- +00995|3. File macro has too long a name. The test name has 1200 characters. Err.<010> +00996|Note: This test can't test the error message if the maximum length of a<010> +00997|macro name is less than the maximum length of a file name as the name<010> +00998|error is caught first.<010> + +----- +00954|5. Previous definition is full, current is additive.<010> + +----- + + +----- +01003|TYPESETTER DIRECTIVE COMPONENT: +01004| Section "3", Section name="Error recovery point". +01005| +01006|TEXT COMPONENT: Pos(L,C)=(20,27). +01007| +01008|-- Start of Text Scrap List -- +01009|Text scrap[Grey]="<010> +01010|<010> +01011|4. File macro has zero or many attributes. Error.<010> + +----- +00959|MACRO DEFINITION COMPONENT: Pos(L,C)=(33,1). +00960|Part 1 of macro @<Walrus 1@>. +00961| +00962|TEXT COMPONENT: Pos(L,C)=(33,26). +00963| +00964|-- Start of Text Scrap List -- +00965|Text scrap[White]="<010> + +----- + + +----- +01017| Section "4", Section name="Error recovery point". +01018| +01019|TEXT COMPONENT: Pos(L,C)=(24,27). +01020| +01021|-- Start of Text Scrap List -- +01022|Text scrap[White]="<010> +01023|<010> + +----- +00971| Section "7", Section name="Error recovery point". +00972| +00973|TEXT COMPONENT: Pos(L,C)=(35,27). +00974| +00975|-- Start of Text Scrap List -- +00976|Text scrap[Grey]="<010> +00977|<010> +00978|6. Previous definition is additive, current is full.<010> + +----- + + +----- +01028|TYPESETTER DIRECTIVE COMPONENT: +01029| Section "5", Section name="Error recovery point". +01030| +01031|TEXT COMPONENT: Pos(L,C)=(27,27). + +----- +00983|MACRO DEFINITION COMPONENT: Pos(L,C)=(38,1). +00984|Part 1 of macro @<Walrus 2@>. +00985| +00986|TEXT COMPONENT: Pos(L,C)=(38,26). + +----- + + +----- +01035|<010> + +----- + +----- + + +----- +01041| Section "6", Section name="Error recovery point". +01042| +01043|TEXT COMPONENT: Pos(L,C)=(30,27). + +----- +00995| Section "8", Section name="Error recovery point". +00996| +00997|TEXT COMPONENT: Pos(L,C)=(40,27). + +----- + + +----- +01048|5. Previous definition is full, current is additive.<010> + +----- +01002|7. Non-first body part of partial has parameter.<010> + +----- + + +----- +01053|MACRO DEFINITION COMPONENT: Pos(L,C)=(33,1). +01054|Part 1 of macro @<Walrus 1@>. +01055| +01056|TEXT COMPONENT: Pos(L,C)=(33,26). + +----- +01007|MACRO DEFINITION COMPONENT: Pos(L,C)=(43,1). +01008|Part 1 of macro @<Unicorn@>. +01009| +01010|TEXT COMPONENT: Pos(L,C)=(43,32). + +----- + + +----- +01065| Section "7", Section name="Error recovery point". +01066| +01067|TEXT COMPONENT: Pos(L,C)=(35,27). + +----- +01019| Section "9", Section name="Error recovery point". +01020| +01021|TEXT COMPONENT: Pos(L,C)=(45,27). + +----- + + +----- +01072|6. Previous definition is additive, current is full.<010> + +----- +01026|8. Zero or many attributes on non-first body part of additive.<010> + +----- + + +----- +01077|MACRO DEFINITION COMPONENT: Pos(L,C)=(38,1). +01078|Part 1 of macro @<Walrus 2@>. +01079| +01080|TEXT COMPONENT: Pos(L,C)=(38,26). + +----- +01031|MACRO DEFINITION COMPONENT: Pos(L,C)=(48,1). +01032|Part 1 of macro @<Elephant@>. +01033| +01034|TEXT COMPONENT: Pos(L,C)=(48,31). + +----- + + +----- +01089| Section "8", Section name="Error recovery point". +01090| +01091|TEXT COMPONENT: Pos(L,C)=(40,27). + +----- +01043| Section "10", Section name="Error recovery point". +01044| +01045|TEXT COMPONENT: Pos(L,C)=(50,27). + +----- + + +----- +01096|7. Non-first body part of partial has parameter.<010> + +----- +01050|9. Check that non-existent formal parameters are caught.<010> +01051|<010> + +----- + + +----- +01101|MACRO DEFINITION COMPONENT: Pos(L,C)=(43,1). +01102|Part 1 of macro @<Unicorn@>. +01103| +01104|TEXT COMPONENT: Pos(L,C)=(43,32). + +----- +01056|MACRO DEFINITION COMPONENT: Pos(L,C)=(54,1). +01057|Part 1 of macro @<Zero@>. +01058| +01059|TEXT COMPONENT: Pos(L,C)=(54,30). + +----- + + +----- +01113| Section "9", Section name="Error recovery point". +01114| +01115|TEXT COMPONENT: Pos(L,C)=(45,27). +01116| +01117|-- Start of Text Scrap List -- +01118|Text scrap[Grey]="<010> +01119|<010> +01120|8. Zero or many attributes on non-first body part of additive.<010> + +----- +01068| Section "11", Section name="Error recovery point". +01069| +01070|TEXT COMPONENT: Pos(L,C)=(55,27). +01071| +01072|-- Start of Text Scrap List -- +01073|Text scrap[White]="<010> +01074|<010> + +----- + + +----- +01125|MACRO DEFINITION COMPONENT: Pos(L,C)=(48,1). +01126|Part 1 of macro @<Elephant@>. +01127| +01128|TEXT COMPONENT: Pos(L,C)=(48,31). + +----- +01079|MACRO DEFINITION COMPONENT: Pos(L,C)=(57,1). +01080|Part 1 of macro @<One@>. +01081| +01082|TEXT COMPONENT: Pos(L,C)=(57,35). + +----- + + +----- +01137| Section "10", Section name="Error recovery point". +01138| +01139|TEXT COMPONENT: Pos(L,C)=(50,27). +01140| +01141|-- Start of Text Scrap List -- +01142|Text scrap[Grey]="<010> +01143|<010> +01144|9. Check that non-existent formal parameters are caught.<010> + +----- +01091| Section "12", Section name="Error recovery point". +01092| +01093|TEXT COMPONENT: Pos(L,C)=(58,27). +01094| +01095|-- Start of Text Scrap List -- +01096|Text scrap[White]="<010> + +----- + + +----- +01150|MACRO DEFINITION COMPONENT: Pos(L,C)=(54,1). +01151|Part 1 of macro @<Zero@>. +01152| +01153|TEXT COMPONENT: Pos(L,C)=(54,30). + +----- +01102|MACRO DEFINITION COMPONENT: Pos(L,C)=(60,1). +01103|Part 1 of macro @<Many@>. +01104| +01105|TEXT COMPONENT: Pos(L,C)=(60,36). + +----- + + +----- +01162| Section "11", Section name="Error recovery point". +01163| +01164|TEXT COMPONENT: Pos(L,C)=(55,27). + +----- +01114| Section "13", Section name="Error recovery point". +01115| +01116|TEXT COMPONENT: Pos(L,C)=(61,27). + +----- + + +----- +01168|<010> + +----- + +----- + + +----- +01173|MACRO DEFINITION COMPONENT: Pos(L,C)=(57,1). +01174|Part 1 of macro @<One@>. +01175| +01176|TEXT COMPONENT: Pos(L,C)=(57,35). +01177| +01178|-- Start of Text Scrap List -- +01179|Text scrap[White]="<010> +01180|" +01181|--- End of Text Scrap List --- +01182| +01183| +01184|TYPESETTER DIRECTIVE COMPONENT: +01185| Section "12", Section name="Error recovery point". +01186| +01187|TEXT COMPONENT: Pos(L,C)=(58,27). +01188| +01189|-- Start of Text Scrap List -- +01190|Text scrap[White]="<010> +01191|<010> +01192|" +01193|--- End of Text Scrap List --- +01194| +01195| +01196|MACRO DEFINITION COMPONENT: Pos(L,C)=(60,1). +01197|Part 1 of macro @<Many@>. +01198| +01199|TEXT COMPONENT: Pos(L,C)=(60,36). +01200| +01201|-- Start of Text Scrap List -- +01202|Text scrap[White]="<010> +01203|" +01204|--- End of Text Scrap List --- +01205| +01206| +01207|TYPESETTER DIRECTIVE COMPONENT: +01208| Section "13", Section name="Error recovery point". +01209| +01210|TEXT COMPONENT: Pos(L,C)=(61,27). +01211| +01212|-- Start of Text Scrap List -- +01213|Text scrap[White]="<010> +01214|" +01215|--- End of Text Scrap List --- +01216| +01217| + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/pr09.lis" + with "/usr/var/tmp/funnelweb/answers/pr09.lis". + + +----- +00825|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00844|Macro Name : "#file" + +----- +00843|Macro Name : "Error1" + +----- + + +----- +00848|Zero Calls? : Yes. +00849|Many Calls? : Yes. +00850|Output File?: No. +00851|Automatic Line Directive Macro?: No. + +----- +00847|Zero Calls? : No. +00848|Many Calls? : No. +00849|Output File?: No. + +----- + + +----- +00856|This macro has 1 body part. +00857|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00858| +00859|---- Start of Expression ---- +00860| +00861|--- Start Special Function --- +00862|---- End Special Function ---- +00863| +00864|----- End of Expression ----- +00865| + +----- +00854|This macro has 0 body parts. + +----- + + +----- +00873|Macro Name : "#line" + +----- +00862|Macro Name : "Error2" + +----- + + +----- +00877|Zero Calls? : Yes. +00878|Many Calls? : Yes. +00879|Output File?: No. +00880|Automatic Line Directive Macro?: No. + +----- +00866|Zero Calls? : No. +00867|Many Calls? : No. +00868|Output File?: No. + +----- + + +----- +00885|This macro has 1 body part. +00886|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00887| +00888|---- Start of Expression ---- +00889| +00890|--- Start Special Function --- +00891|---- End Special Function ---- +00892| +00893|----- End of Expression ----- +00894| + +----- +00873|This macro has 0 body parts. + +----- + + +----- +00902|Macro Name : "#timestamp" + +----- +00881|Macro Name : "Error3" + +----- + + +----- +00906|Zero Calls? : Yes. +00907|Many Calls? : Yes. +00908|Output File?: No. +00909|Automatic Line Directive Macro?: No. + +----- +00885|Zero Calls? : No. +00886|Many Calls? : No. +00887|Output File?: No. + +----- + + +----- +00914|This macro has 1 body part. +00915|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00916| +00917|---- Start of Expression ---- +00918| +00919|--- Start Special Function --- +00920|---- End Special Function ---- +00921| +00922|----- End of Expression ----- +00923| + +----- +00892|This macro has 0 body parts. + +----- + + +----- +00931|Macro Name : "Error1" + +----- +00900|Macro Name : "Error4" + +----- + + +----- +00938|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00951|Macro Name : "Error2" + +----- +00919|Macro Name : "Error5" + +----- + + +----- +00958|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00963|This macro has 0 body parts. + +----- +00930|This macro has 1 body part. +00931|Body part 1: Seqnum=8, Pos(L,C)=(75,3), Expression follows: +00932| +00933|---- Start of Expression ---- +00934| +00935|----- Start Text Element ----- +00936|Text scrap[White]="<010> +00937|" +00938|------ End Text Element ------ +00939| +00940| +00941|-- Begin Invocation Element -- +00942|Invocation of macro @<Two@> +00943|This invocation has 1 actual parameters. +00944|Actual parameter list follows as a sequence of expressions: +00945|(Text crud before and after parameter has been omitted). +00946|Expression for parameter number 1: +00947| +00948|---- Start of Expression ---- +00949| +00950|----- Start Text Element ----- +00951|Text scrap[Grey]="Toucan" +00952|------ End Text Element ------ +00953| +00954|----- End of Expression ----- +00955| +00956|--- End Invocation Element --- +00957| +00958| +00959|----- Start Text Element ----- +00960|Text scrap[White]="<010> +00961|" +00962|------ End Text Element ------ +00963| +00964|----- End of Expression ----- +00965| + +----- + + +----- +00971|Macro Name : "Error3" + +----- +00973|Macro Name : "Error6" + +----- + + +----- +00978|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00991|Macro Name : "Error4" + +----- +00992|Macro Name : "Error7" + +----- + + +----- +00998|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +01011|Macro Name : "Error5" + +----- +01011|Macro Name : "Macro containing the test macro calls." + +----- + + +----- +01018|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +01024|Body part 1: Seqnum=8, Pos(L,C)=(75,3), Expression follows: + +----- +01023|Body part 1: Seqnum=7, Pos(L,C)=(17,3), Expression follows: + +----- + + +----- +01029|Text scrap[White]="<010> + +----- +01028|Text scrap[Grey]="<010> +01029|1. Test macro call with no parameter list.<010> + +----- + + +----- +01035|Invocation of macro @<Two@> +01036|This invocation has 1 actual parameters. +01037|Actual parameter list follows as a sequence of expressions: +01038|(Text crud before and after parameter has been omitted). +01039|Expression for parameter number 1: +01040| +01041|---- Start of Expression ---- +01042| +01043|----- Start Text Element ----- +01044|Text scrap[Grey]="Toucan" +01045|------ End Text Element ------ +01046| +01047|----- End of Expression ----- +01048| + +----- +01035|Invocation of macro @<Zero@> +01036|No actual parameters. + +----- + + +----- +01053|Text scrap[White]="<010> + +----- +01041|Text scrap[Grey]="<010> +01042|<010> +01043|2. Test macro call with quick name.<010> + +----- + + +----- +01057|----- End of Expression ----- +01058| +01059|---End of List of Body Parts--- +01060| +01061|-------------------- End of Macro Dump --------------------- +01062| +01063| +01064| +01065|------------------- Start of Macro Dump -------------------- +01066|Macro Name : "Error6" +01067|Defined? : Yes. +01068|Parameters : 0 +01069|Additive? : No. +01070|Zero Calls? : No. +01071|Many Calls? : No. +01072|Output File?: No. +01073|Automatic Line Directive Macro?: No. +01074|Call list : +01075|Macro body : +01076| +01077|--Start of List of Body Parts-- +01078|This macro has 0 body parts. +01079|---End of List of Body Parts--- +01080| +01081|-------------------- End of Macro Dump --------------------- +01082| +01083| +01084| +01085|------------------- Start of Macro Dump -------------------- +01086|Macro Name : "Error7" +01087|Defined? : Yes. +01088|Parameters : 0 +01089|Additive? : No. +01090|Zero Calls? : No. +01091|Many Calls? : No. +01092|Output File?: No. +01093|Automatic Line Directive Macro?: No. +01094|Call list : +01095|Macro body : +01096| +01097|--Start of List of Body Parts-- +01098|This macro has 0 body parts. +01099|---End of List of Body Parts--- +01100| +01101|-------------------- End of Macro Dump --------------------- +01102| +01103| +01104| +01105|------------------- Start of Macro Dump -------------------- +01106|Macro Name : "Macro containing the test macro calls." +01107|Defined? : Yes. +01108|Parameters : 0 +01109|Additive? : No. +01110|Zero Calls? : No. +01111|Many Calls? : No. +01112|Output File?: No. +01113|Automatic Line Directive Macro?: No. +01114|Call list : +01115|Macro body : +01116| +01117|--Start of List of Body Parts-- +01118|This macro has 1 body part. +01119|Body part 1: Seqnum=7, Pos(L,C)=(17,3), Expression follows: +01120| + +----- +01047| +01048|-- Begin Invocation Element -- +01049|Invocation of macro @<"@> +01050|No actual parameters. +01051|--- End Invocation Element --- +01052| +01053| +01054|----- Start Text Element ----- +01055|Text scrap[Grey]="<010> +01056|<010> +01057|3. Test macro call with one parameter.<010> +01058|" +01059|------ End Text Element ------ +01060| +01061| +01062|-- Begin Invocation Element -- +01063|Invocation of macro @<One@> +01064|This invocation has 1 actual parameters. +01065|Actual parameter list follows as a sequence of expressions: +01066|(Text crud before and after parameter has been omitted). +01067|Expression for parameter number 1: +01068| +01069|---- Start of Expression ---- +01070| +01071|----- Start Text Element ----- +01072|Text scrap[Grey]="Toucan" +01073|------ End Text Element ------ +01074| +01075|----- End of Expression ----- +01076| +01077|--- End Invocation Element --- +01078| +01079| +01080|----- Start Text Element ----- +01081|Text scrap[Grey]="<010> +01082|<010> +01083|4. Test macro call with many parameters.<010> +01084|" +01085|------ End Text Element ------ +01086| +01087| +01088|-- Begin Invocation Element -- +01089|Invocation of macro @<Two@> +01090|This invocation has 2 actual parameters. +01091|Actual parameter list follows as a sequence of expressions: +01092|(Text crud before and after parameter has been omitted). +01093|Expression for parameter number 1: +01094| +01095|---- Start of Expression ---- +01096| +01097|----- Start Text Element ----- +01098|Text scrap[Grey]="Toucan" +01099|------ End Text Element ------ +01100| +01101|----- End of Expression ----- +01102| +01103|Expression for parameter number 2: +01104| +01105|---- Start of Expression ---- +01106| +01107|----- Start Text Element ----- +01108|Text scrap[Grey]="Teapot" +01109|------ End Text Element ------ +01110| + +----- + + +----- +01121|---- Start of Expression ---- +01122| +01123|----- Start Text Element ----- +01124|Text scrap[Grey]="<010> +01125|1. Test macro call with no parameter list.<010> + +----- +01111|----- End of Expression ----- +01112| +01113|--- End Invocation Element --- +01114| +01115| +01116|----- Start Text Element ----- +01117|Text scrap[White]="<010> + +----- + + +----- +01131|Invocation of macro @<Zero@> +01132|No actual parameters. +01133|--- End Invocation Element --- +01134| +01135| +01136|----- Start Text Element ----- +01137|Text scrap[Grey]="<010> +01138|<010> +01139|2. Test macro call with quick name.<010> +01140|" +01141|------ End Text Element ------ +01142| +01143| +01144|-- Begin Invocation Element -- +01145|Invocation of macro @<"@> +01146|No actual parameters. +01147|--- End Invocation Element --- +01148| +01149| +01150|----- Start Text Element ----- +01151|Text scrap[Grey]="<010> +01152|<010> +01153|3. Test macro call with one parameter.<010> +01154|" +01155|------ End Text Element ------ +01156| +01157| +01158|-- Begin Invocation Element -- +01159|Invocation of macro @<One@> +01160|This invocation has 1 actual parameters. + +----- +01123|Invocation of macro @<Three@> +01124|This invocation has 3 actual parameters. + +----- + + +----- +01173|--- End Invocation Element --- +01174| +01175| +01176|----- Start Text Element ----- +01177|Text scrap[Grey]="<010> +01178|<010> +01179|4. Test macro call with many parameters.<010> +01180|" +01181|------ End Text Element ------ +01182| +01183| +01184|-- Begin Invocation Element -- +01185|Invocation of macro @<Two@> +01186|This invocation has 2 actual parameters. +01187|Actual parameter list follows as a sequence of expressions: +01188|(Text crud before and after parameter has been omitted). +01189|Expression for parameter number 1: + +----- +01137|Expression for parameter number 2: + +----- + + +----- +01194|Text scrap[Grey]="Toucan" + +----- +01142|Text scrap[Grey]="Teapot" + +----- + + +----- +01199|Expression for parameter number 2: + +----- +01147|Expression for parameter number 3: + +----- + + +----- +01204|Text scrap[Grey]="Teapot" + +----- +01152|Text scrap[Grey]="Walrus" + +----- + + +----- +01219|Invocation of macro @<Three@> +01220|This invocation has 3 actual parameters. + +----- +01167|Invocation of macro @<Nine@> +01168|This invocation has 9 actual parameters. + +----- + + +----- +01253|--- End Invocation Element --- +01254| +01255| +01256|----- Start Text Element ----- +01257|Text scrap[White]="<010> +01258|" +01259|------ End Text Element ------ +01260| +01261| +01262|-- Begin Invocation Element -- +01263|Invocation of macro @<Nine@> +01264|This invocation has 9 actual parameters. +01265|Actual parameter list follows as a sequence of expressions: +01266|(Text crud before and after parameter has been omitted). +01267|Expression for parameter number 1: + +----- +01201|Expression for parameter number 4: + +----- + + +----- +01272|Text scrap[Grey]="Toucan" + +----- +01206|Text scrap[Grey]="<010> +01207| Toucan" + +----- + + +----- +01277|Expression for parameter number 2: + +----- +01212|Expression for parameter number 5: + +----- + + +----- +01287|Expression for parameter number 3: + +----- +01222|Expression for parameter number 6: + +----- + + +----- +01297|Expression for parameter number 4: + +----- +01232|Expression for parameter number 7: + +----- + + +----- +01308|Expression for parameter number 5: + +----- +01243|Expression for parameter number 8: + +----- + + +----- +01318|Expression for parameter number 6: + +----- +01253|Expression for parameter number 9: + +----- + + +----- +01328|Expression for parameter number 7: +01329| +01330|---- Start of Expression ---- + +----- +01263|--- End Invocation Element --- +01264| + +----- + + +----- +01334| Toucan" +01335|------ End Text Element ------ +01336| +01337|----- End of Expression ----- +01338| +01339|Expression for parameter number 8: + +----- +01268|<010> +01269|5. Test macro calls with double quotes on parameters.<010> +01270|" +01271|------ End Text Element ------ +01272| +01273| +01274|-- Begin Invocation Element -- +01275|Invocation of macro @<One@> +01276|This invocation has 1 actual parameters. +01277|Actual parameter list follows as a sequence of expressions: +01278|(Text crud before and after parameter has been omitted). +01279|Expression for parameter number 1: + +----- + + +----- +01344|Text scrap[Grey]="Teapot" + +----- +01284|Text scrap[Grey]="Toucan" + +----- + + +----- +01349|Expression for parameter number 9: +01350| +01351|---- Start of Expression ---- +01352| +01353|----- Start Text Element ----- +01354|Text scrap[Grey]="Walrus" +01355|------ End Text Element ------ +01356| +01357|----- End of Expression ----- +01358| + +----- + +----- + + +----- +01363|Text scrap[Grey]="<010> +01364|<010> +01365|5. Test macro calls with double quotes on parameters.<010> + +----- +01293|Text scrap[White]="<010> + +----- + + +----- +01371|Invocation of macro @<One@> +01372|This invocation has 1 actual parameters. + +----- +01299|Invocation of macro @<Two@> +01300|This invocation has 2 actual parameters. + +----- + + +----- + +----- +01313|Expression for parameter number 2: +01314| +01315|---- Start of Expression ---- +01316| +01317|----- Start Text Element ----- +01318|Text scrap[Grey]="Teapot" +01319|------ End Text Element ------ +01320| +01321|----- End of Expression ----- +01322| + +----- + + +----- +01395|Invocation of macro @<Two@> +01396|This invocation has 2 actual parameters. + +----- +01333|Invocation of macro @<Three@> +01334|This invocation has 3 actual parameters. + +----- + + +----- + +----- +01357|Expression for parameter number 3: +01358| +01359|---- Start of Expression ---- +01360| +01361|----- Start Text Element ----- +01362|Text scrap[Grey]="Walrus" +01363|------ End Text Element ------ +01364| +01365|----- End of Expression ----- +01366| + +----- + + +----- +01429|Invocation of macro @<Three@> +01430|This invocation has 3 actual parameters. + +----- +01377|Invocation of macro @<Nine@> +01378|This invocation has 9 actual parameters. + +----- + + +----- +01463|--- End Invocation Element --- +01464| +01465| +01466|----- Start Text Element ----- +01467|Text scrap[White]="<010> +01468|" +01469|------ End Text Element ------ +01470| +01471| +01472|-- Begin Invocation Element -- +01473|Invocation of macro @<Nine@> +01474|This invocation has 9 actual parameters. +01475|Actual parameter list follows as a sequence of expressions: +01476|(Text crud before and after parameter has been omitted). +01477|Expression for parameter number 1: + +----- +01411|Expression for parameter number 4: + +----- + + +----- +01487|Expression for parameter number 2: + +----- +01421|Expression for parameter number 5: + +----- + + +----- +01497|Expression for parameter number 3: + +----- +01431|Expression for parameter number 6: + +----- + + +----- +01507|Expression for parameter number 4: + +----- +01441|Expression for parameter number 7: + +----- + + +----- +01517|Expression for parameter number 5: + +----- +01451|Expression for parameter number 8: + +----- + + +----- +01527|Expression for parameter number 6: + +----- +01461|Expression for parameter number 9: + +----- + + +----- +01537|Expression for parameter number 7: + +----- +01471|--- End Invocation Element --- +01472| +01473| +01474|----- Start Text Element ----- +01475|Text scrap[Grey]="<010> +01476|<010> +01477|7. Test macro calls with mixed double quotes on parameters.<010> +01478|" +01479|------ End Text Element ------ +01480| +01481| +01482|-- Begin Invocation Element -- +01483|Invocation of macro @<Two@> +01484|This invocation has 2 actual parameters. +01485|Actual parameter list follows as a sequence of expressions: +01486|(Text crud before and after parameter has been omitted). +01487|Expression for parameter number 1: + +----- + + +----- +01547|Expression for parameter number 8: + +----- +01497|Expression for parameter number 2: + +----- + + +----- +01557|Expression for parameter number 9: +01558| +01559|---- Start of Expression ---- +01560| +01561|----- Start Text Element ----- +01562|Text scrap[Grey]="Walrus" +01563|------ End Text Element ------ +01564| +01565|----- End of Expression ----- +01566| + +----- + +----- + + +----- +01571|Text scrap[Grey]="<010> +01572|<010> +01573|7. Test macro calls with mixed double quotes on parameters.<010> + +----- +01511|Text scrap[White]="<010> + +----- + + +----- +01579|Invocation of macro @<Two@> +01580|This invocation has 2 actual parameters. + +----- +01517|Invocation of macro @<Three@> +01518|This invocation has 3 actual parameters. + +----- + + +----- + +----- +01541|Expression for parameter number 3: +01542| +01543|---- Start of Expression ---- +01544| +01545|----- Start Text Element ----- +01546|Text scrap[Grey]="Walrus" +01547|------ End Text Element ------ +01548| +01549|----- End of Expression ----- +01550| + +----- + + +----- +01613|Invocation of macro @<Three@> +01614|This invocation has 3 actual parameters. + +----- +01561|Invocation of macro @<Nine@> +01562|This invocation has 9 actual parameters. + +----- + + +----- +01642|Text scrap[Grey]="Walrus" + +----- +01590|Text scrap[Grey]=" Walrus " + +----- + + +----- +01647|--- End Invocation Element --- +01648| +01649| +01650|----- Start Text Element ----- +01651|Text scrap[White]="<010> +01652|" +01653|------ End Text Element ------ +01654| +01655| +01656|-- Begin Invocation Element -- +01657|Invocation of macro @<Nine@> +01658|This invocation has 9 actual parameters. +01659|Actual parameter list follows as a sequence of expressions: +01660|(Text crud before and after parameter has been omitted). +01661|Expression for parameter number 1: + +----- +01595|Expression for parameter number 4: + +----- + + +----- +01671|Expression for parameter number 2: + +----- +01605|Expression for parameter number 5: + +----- + + +----- +01676|Text scrap[Grey]="Teapot" + +----- +01610|Text scrap[Grey]=" Teapot " + +----- + + +----- +01681|Expression for parameter number 3: + +----- +01615|Expression for parameter number 6: + +----- + + +----- +01686|Text scrap[Grey]=" Walrus " + +----- +01620|Text scrap[Grey]="Walrus" + +----- + + +----- +01691|Expression for parameter number 4: + +----- +01625|Expression for parameter number 7: + +----- + + +----- +01701|Expression for parameter number 5: + +----- +01635|Expression for parameter number 8: + +----- + + +----- +01706|Text scrap[Grey]=" Teapot " + +----- +01640|Text scrap[Grey]="Teapot" + +----- + + +----- +01711|Expression for parameter number 6: + +----- +01645|Expression for parameter number 9: + +----- + + +----- +01721|Expression for parameter number 7: +01722| +01723|---- Start of Expression ---- +01724| +01725|----- Start Text Element ----- +01726|Text scrap[Grey]="Toucan" + +----- +01655|--- End Invocation Element --- +01656| +01657| +01658|----- Start Text Element ----- +01659|Text scrap[White]="<010> +01660|<010> +01661|" + +----- + + +----- +01731|Expression for parameter number 8: +01732| +01733|---- Start of Expression ---- +01734| +01735|----- Start Text Element ----- +01736|Text scrap[Grey]="Teapot" +01737|------ End Text Element ------ +01738| +01739|----- End of Expression ----- +01740| +01741|Expression for parameter number 9: +01742| +01743|---- Start of Expression ---- +01744| +01745|----- Start Text Element ----- +01746|Text scrap[Grey]="Walrus" +01747|------ End Text Element ------ +01748| +01749|----- End of Expression ----- +01750| +01751|--- End Invocation Element --- +01752| +01753| +01754|----- Start Text Element ----- +01755|Text scrap[White]="<010> +01756|<010> +01757|" +01758|------ End Text Element ------ +01759| +01760|----- End of Expression ----- +01761| + +----- + +----- + + +----- +01776|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +01804|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +01831|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +01859|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +01888|Automatic Line Directive Macro?: No. + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/pr10.lis" + with "/usr/var/tmp/funnelweb/answers/pr10.lis". + + +----- +00204|Macro Name : "#file" + +----- +00204|Macro Name : "Sloth1" + +----- + + +----- +00208|Zero Calls? : Yes. +00209|Many Calls? : Yes. +00210|Output File?: No. +00211|Automatic Line Directive Macro?: No. + +----- +00208|Zero Calls? : No. +00209|Many Calls? : No. +00210|Output File?: No. + +----- + + +----- +00216|This macro has 1 body part. +00217|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00218| +00219|---- Start of Expression ---- +00220| +00221|--- Start Special Function --- +00222|---- End Special Function ---- +00223| +00224|----- End of Expression ----- +00225| + +----- +00215|This macro has 0 body parts. + +----- + + +----- +00233|Macro Name : "#line" + +----- +00223|Macro Name : "Sloth2" + +----- + + +----- +00237|Zero Calls? : Yes. +00238|Many Calls? : Yes. +00239|Output File?: No. +00240|Automatic Line Directive Macro?: No. + +----- +00227|Zero Calls? : No. +00228|Many Calls? : No. +00229|Output File?: No. + +----- + + +----- +00245|This macro has 1 body part. +00246|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00247| +00248|---- Start of Expression ---- +00249| +00250|--- Start Special Function --- +00251|---- End Special Function ---- +00252| +00253|----- End of Expression ----- +00254| + +----- +00234|This macro has 0 body parts. + +----- + + +----- +00262|Macro Name : "#timestamp" + +----- +00242|Macro Name : "Sloth3" + +----- + + +----- +00266|Zero Calls? : Yes. +00267|Many Calls? : Yes. +00268|Output File?: No. +00269|Automatic Line Directive Macro?: No. + +----- +00246|Zero Calls? : No. +00247|Many Calls? : No. +00248|Output File?: No. + +----- + + +----- +00274|This macro has 1 body part. +00275|Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: +00276| +00277|---- Start of Expression ---- +00278| +00279|--- Start Special Function --- +00280|---- End Special Function ---- +00281| +00282|----- End of Expression ----- +00283| + +----- +00253|This macro has 0 body parts. + +----- + + +----- +00291|Macro Name : "Sloth1" + +----- +00261|Macro Name : "Sloth4" + +----- + + +----- +00298|Automatic Line Directive Macro?: No. + +----- + +----- + + +----- +00310|------------------- Start of Macro Dump -------------------- +00311|Macro Name : "Sloth2" +00312|Defined? : Yes. +00313|Parameters : 0 +00314|Additive? : No. +00315|Zero Calls? : No. +00316|Many Calls? : No. +00317|Output File?: No. +00318|Automatic Line Directive Macro?: No. +00319|Call list : +00320|Macro body : +00321| +00322|--Start of List of Body Parts-- +00323|This macro has 0 body parts. +00324|---End of List of Body Parts--- +00325| +00326|-------------------- End of Macro Dump --------------------- +00327| +00328| +00329| +00330|------------------- Start of Macro Dump -------------------- +00331|Macro Name : "Sloth3" +00332|Defined? : Yes. +00333|Parameters : 0 +00334|Additive? : No. +00335|Zero Calls? : No. +00336|Many Calls? : No. +00337|Output File?: No. +00338|Automatic Line Directive Macro?: No. +00339|Call list : +00340|Macro body : +00341| +00342|--Start of List of Body Parts-- +00343|This macro has 0 body parts. +00344|---End of List of Body Parts--- +00345| +00346|-------------------- End of Macro Dump --------------------- +00347| +00348| +00349| +00350|------------------- Start of Macro Dump -------------------- +00351|Macro Name : "Sloth4" +00352|Defined? : Yes. +00353|Parameters : 0 +00354|Additive? : No. +00355|Zero Calls? : No. +00356|Many Calls? : No. +00357|Output File?: No. +00358|Automatic Line Directive Macro?: No. +00359|Call list : +00360|Macro body : +00361| +00362|--Start of List of Body Parts-- +00363|This macro has 0 body parts. +00364|---End of List of Body Parts--- +00365| +00366|-------------------- End of Macro Dump --------------------- +00367| +00368| +00369| + +----- + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/an01.lis" + with "/usr/var/tmp/funnelweb/answers/an01.lis". + + +----- + +----- +00004|E: No macros defined. + +----- + + +----- +00011|There was 1 Error. + +----- +00012|There were 2 Errors. + +----- + + +Comparing "/usr/var/tmp/funnelweb/results/an02.lis" + with "/usr/var/tmp/funnelweb/answers/an02.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/an03.lis" + with "/usr/var/tmp/funnelweb/answers/an03.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/an04.lis" + with "/usr/var/tmp/funnelweb/answers/an04.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg01.lis" + with "/usr/var/tmp/funnelweb/answers/tg01.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg01.out" + with "/usr/var/tmp/funnelweb/answers/tg01.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg02.lis" + with "/usr/var/tmp/funnelweb/answers/tg02.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg02.out" + with "/usr/var/tmp/funnelweb/answers/tg02.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg03.lis" + with "/usr/var/tmp/funnelweb/answers/tg03.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg03.out" + with "/usr/var/tmp/funnelweb/answers/tg03.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg04.lis" + with "/usr/var/tmp/funnelweb/answers/tg04.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg04.out" + with "/usr/var/tmp/funnelweb/answers/tg04.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg05.lis" + with "/usr/var/tmp/funnelweb/answers/tg05.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg05.out" + with "/usr/var/tmp/funnelweb/answers/tg05.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg06.lis" + with "/usr/var/tmp/funnelweb/answers/tg06.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg06.out" + with "/usr/var/tmp/funnelweb/answers/tg06.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg07.lis" + with "/usr/var/tmp/funnelweb/answers/tg07.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg07.out" + with "/usr/var/tmp/funnelweb/answers/tg07.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg08.lis" + with "/usr/var/tmp/funnelweb/answers/tg08.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg08.out" + with "/usr/var/tmp/funnelweb/answers/tg08.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg09.lis" + with "/usr/var/tmp/funnelweb/answers/tg09.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/tg09.out" + with "/usr/var/tmp/funnelweb/answers/tg09.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/wv01.lis" + with "/usr/var/tmp/funnelweb/answers/wv01.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/wv01.tex" + with "/usr/var/tmp/funnelweb/answers/wv01.tex". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/wv02.lis" + with "/usr/var/tmp/funnelweb/answers/wv02.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/wv02.tex" + with "/usr/var/tmp/funnelweb/answers/wv02.tex". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/wv03.lis" + with "/usr/var/tmp/funnelweb/answers/wv03.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/wv03.tex" + with "/usr/var/tmp/funnelweb/answers/wv03.tex". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/wv04.lis" + with "/usr/var/tmp/funnelweb/answers/wv04.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/wv04.tex" + with "/usr/var/tmp/funnelweb/answers/wv04.tex". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/wv05.lis" + with "/usr/var/tmp/funnelweb/answers/wv05.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/wv05.tex" + with "/usr/var/tmp/funnelweb/answers/wv05.tex". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/wv06.lis" + with "/usr/var/tmp/funnelweb/answers/wv06.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/wv06.tex" + with "/usr/var/tmp/funnelweb/answers/wv06.tex". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex01.lis" + with "/usr/var/tmp/funnelweb/answers/ex01.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex01.out" + with "/usr/var/tmp/funnelweb/answers/ex01.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex02.lis" + with "/usr/var/tmp/funnelweb/answers/ex02.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex02.out" + with "/usr/var/tmp/funnelweb/answers/ex02.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex03.lis" + with "/usr/var/tmp/funnelweb/answers/ex03.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex04.lis" + with "/usr/var/tmp/funnelweb/answers/ex04.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex04.out" + with "/usr/var/tmp/funnelweb/answers/ex04.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex05.lis" + with "/usr/var/tmp/funnelweb/answers/ex05.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex05.out" + with "/usr/var/tmp/funnelweb/answers/ex05.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex06.lis" + with "/usr/var/tmp/funnelweb/answers/ex06.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex06.out" + with "/usr/var/tmp/funnelweb/answers/ex06.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex07.lis" + with "/usr/var/tmp/funnelweb/answers/ex07.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex07.out" + with "/usr/var/tmp/funnelweb/answers/ex07.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex08.lis" + with "/usr/var/tmp/funnelweb/answers/ex08.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex08.out" + with "/usr/var/tmp/funnelweb/answers/ex08.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex09.lis" + with "/usr/var/tmp/funnelweb/answers/ex09.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex09.out" + with "/usr/var/tmp/funnelweb/answers/ex09.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex10.lis" + with "/usr/var/tmp/funnelweb/answers/ex10.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex10.out" + with "/usr/var/tmp/funnelweb/answers/ex10.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex11.lis" + with "/usr/var/tmp/funnelweb/answers/ex11.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex11.tex" + with "/usr/var/tmp/funnelweb/answers/ex11.tex". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex12.lis" + with "/usr/var/tmp/funnelweb/answers/ex12.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex12.tex" + with "/usr/var/tmp/funnelweb/answers/ex12.tex". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex13.lis" + with "/usr/var/tmp/funnelweb/answers/ex13.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex13.tex" + with "/usr/var/tmp/funnelweb/answers/ex13.tex". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex14.lis" + with "/usr/var/tmp/funnelweb/answers/ex14.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex14.tex" + with "/usr/var/tmp/funnelweb/answers/ex14.tex". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex15.lis" + with "/usr/var/tmp/funnelweb/answers/ex15.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex15.tex" + with "/usr/var/tmp/funnelweb/answers/ex15.tex". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex16.lis" + with "/usr/var/tmp/funnelweb/answers/ex16.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex16.out" + with "/usr/var/tmp/funnelweb/answers/ex16.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/ex16.tex" + with "/usr/var/tmp/funnelweb/answers/ex16.tex". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi01.lis" + with "/usr/var/tmp/funnelweb/answers/hi01.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi01.out" + with "/usr/var/tmp/funnelweb/answers/hi01.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi02.lis" + with "/usr/var/tmp/funnelweb/answers/hi02.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi02.out" + with "/usr/var/tmp/funnelweb/answers/hi02.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi03.lis" + with "/usr/var/tmp/funnelweb/answers/hi03.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi03.out" + with "/usr/var/tmp/funnelweb/answers/hi03.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi04.lis" + with "/usr/var/tmp/funnelweb/answers/hi04.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi04.out" + with "/usr/var/tmp/funnelweb/answers/hi04.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi05.lis" + with "/usr/var/tmp/funnelweb/answers/hi05.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi05.out" + with "/usr/var/tmp/funnelweb/answers/hi05.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi06.lis" + with "/usr/var/tmp/funnelweb/answers/hi06.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi06a.out" + with "/usr/var/tmp/funnelweb/answers/hi06a.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi06b.out" + with "/usr/var/tmp/funnelweb/answers/hi06b.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi07.lis" + with "/usr/var/tmp/funnelweb/answers/hi07.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi07a.out" + with "/usr/var/tmp/funnelweb/answers/hi07a.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi07b.out" + with "/usr/var/tmp/funnelweb/answers/hi07b.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi08.lis" + with "/usr/var/tmp/funnelweb/answers/hi08.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi08.out" + with "/usr/var/tmp/funnelweb/answers/hi08.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi09.lis" + with "/usr/var/tmp/funnelweb/answers/hi09.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi09.out" + with "/usr/var/tmp/funnelweb/answers/hi09.out". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi10.lis" + with "/usr/var/tmp/funnelweb/answers/hi10.lis". +The two files are IDENTICAL. + + +Comparing "/usr/var/tmp/funnelweb/results/hi10.out" + with "/usr/var/tmp/funnelweb/answers/hi10.out". +The two files are IDENTICAL. diff --git a/web/funnelAC/results/an01.lis b/web/funnelAC/results/an01.lis new file mode 100644 index 0000000000..cb554e6d28 --- /dev/null +++ b/web/funnelAC/results/an01.lis @@ -0,0 +1,11 @@ +FUNNELWEB LISTING FILE +====================== + +E: No output files specified. + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +There was 1 Error. diff --git a/web/funnelAC/results/an02.lis b/web/funnelAC/results/an02.lis new file mode 100644 index 0000000000..cb554e6d28 --- /dev/null +++ b/web/funnelAC/results/an02.lis @@ -0,0 +1,11 @@ +FUNNELWEB LISTING FILE +====================== + +E: No output files specified. + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +There was 1 Error. diff --git a/web/funnelAC/results/an03.lis b/web/funnelAC/results/an03.lis new file mode 100644 index 0000000000..8cda130586 --- /dev/null +++ b/web/funnelAC/results/an03.lis @@ -0,0 +1,86 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| AN03: Test semantics checking of macros. + 2 2| + 3 3| First define some macros to call. + 4 4| @$@<Zero@>@Z@M@{@} + 5 5| @$@<One@>@(@1@)@Z@M@{@} + 6 6| @$@<Two@>@(@2@)@Z@M@{@} + 7 7| + 8 8| 1. Test call to undefined macro. + 9 9| @$@<Sloth1@>@Z==@{@<Walrus@>@} + Error|...................^Call to undefined macro. + 10 10| + 11 11| 2. Test calls with wrong number of parameters. + 12 12| @$@<Sloth2@>@Z==@{ + 13 13| @<Zero@> + 14 14| @<Zero@>@(@) + Error|.^Call has 1 parameter, but the macro + |.^definition at line 4 specifies 0 parameters. + |.^Note: If your call looks like this: @<Macro@>@(@) then you + |.^should be aware that FunnelWeb treats this as a call with + |.^a single parameter consisting of the empty string. This + |.^is a consequence of parameter delimiters @"@" being optional. + 15 15| @<Zero@>@(@,@) + Error|.^Call has 2 parameters, but the macro + |.^definition at line 4 specifies 0 parameters. + 16 16| @<One@> + Error|.^Call has 0 parameters, but the macro + |.^definition at line 5 specifies 1 parameter. + 17 17| @<One@>@(@) + 18 18| @<One@>@(Walrus@,@) + Error|.^Call has 2 parameters, but the macro + |.^definition at line 5 specifies 1 parameter. + 19 19| @<Two@>@(Sloth@) + Error|.^Call has 1 parameter, but the macro + |.^definition at line 6 specifies 2 parameters. + 20 20| @} + 21 21| + 22 22| 3. Test call to file macro. + 23 23| @O@<deleteme.txt@>@{@} + |.^This file macro is called one or more times. + |.^Each call has been flagged with an error message. + 24 24| @$@<Teapot@>@Z@{@<deleteme.txt@>@} + Error|.................^Calls to file macros are not allowed. + |.................^Reason: It should be possible to comment out a + |.................^file macro without a big fuss. Calling a file macro + |.................^just tangles it up in the macro structure, + |.................^making it more difficult to comment out later. + 25 25| + 26 26| 4. Test macro never used and has <special>Z. + 27 27| @$@<Elephant@>@Z@{@} + 28 28| + 29 29| 5. Test macro often used and has <special>M. + 30 30| @$@<Giraffe@>@M@{@} + 31 31| @$@<Use Giraffe@>@Z@{@<Giraffe@>@<Giraffe@>@} + 32 32| + 33 33| 6. Test macro never used and no <special>Z + 34 34| @$@<Zebra@>@{@} + Error|.^This macro is never used (and has no @Z). + 35 35| + 36 36| 7. Test multiply used and no <special>M. + 37 37| @$@<Monkey@>@{@} + Error|.^This macro is used more than once (and has no @M). + 38 38| @$@<Use Monkey@>@Z@{@<Monkey@>@<Monkey@>@} + 39 39| + 40 40| 8. Test directly recursive macro. + 41 41| @$@<Who do ya call?@>@{@<Who do ya call?@>@} + Error|.^This macro has an infinite expansion. + 42 42| + 43 43| 9. Test indirectly recursive macro. + 44 44| @$@<X@>@M@{@<Y@>@} + Error|.^This macro has an infinite expansion. + 45 45| @$@<Y@>@{@<X@>@} + Error|.^This macro has an infinite expansion. + 46 46| + 47 47| 10. Test callers of recursive macros. + 48 48| @$@<Z@>@Z@{@<X@>@} + Error|.^This macro has an infinite expansion. + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 13 Errors. diff --git a/web/funnelAC/results/an04.lis b/web/funnelAC/results/an04.lis new file mode 100644 index 0000000000..46c3409a8e --- /dev/null +++ b/web/funnelAC/results/an04.lis @@ -0,0 +1,28 @@ +FUNNELWEB LISTING FILE +====================== + +E: No output files specified. + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| AN04: Test document list checks. + 2 2| + 3 3| 1. Test for sections with no names. + 4 4| + 5 5| @A@<This section has both a name and a macro@> + 6 6| @$@<Sloth@>@Z@{@} + 7 7| + 8 8| @A@<This section has an explicit name but no macro@> + 9 9| + 10 10| @A + 11 11| @$@<This section has no explicit name but does have a macro@>@Z@{@} + 12 12| + 13 13| @A This section has no name and no macro to inherit one from. + Error|.^This section has no name. + |.^You can give it one explicitly (As in @A@<Sloth@>) or implicitly by + |.^defining a macro (whose name will be inherited) within the section. + 14 14| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 2 Errors. diff --git a/web/funnelAC/results/ex01.lis b/web/funnelAC/results/ex01.lis new file mode 100644 index 0000000000..9cb0a6b7c9 --- /dev/null +++ b/web/funnelAC/results/ex01.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed ex01.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex01.out b/web/funnelAC/results/ex01.out new file mode 100644 index 0000000000..557db03de9 --- /dev/null +++ b/web/funnelAC/results/ex01.out @@ -0,0 +1 @@ +Hello World diff --git a/web/funnelAC/results/ex02.lis b/web/funnelAC/results/ex02.lis new file mode 100644 index 0000000000..1f31a5ff30 --- /dev/null +++ b/web/funnelAC/results/ex02.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed ex02.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex02.out b/web/funnelAC/results/ex02.out new file mode 100644 index 0000000000..557db03de9 --- /dev/null +++ b/web/funnelAC/results/ex02.out @@ -0,0 +1 @@ +Hello World diff --git a/web/funnelAC/results/ex03.lis b/web/funnelAC/results/ex03.lis new file mode 100644 index 0000000000..beb06214aa --- /dev/null +++ b/web/funnelAC/results/ex03.lis @@ -0,0 +1,50 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| EX03: An example containing errors to do with the number of times + 2 2| that macros are called. + 3 3| + 4 4| @O@<ex03.out@>==@{@- + 5 5| @<Include Files@> + 6 6| @<Include Files@> + 7 7| @<Main Program@> + 8 8| @} + 9 9| + 10 10| @$@<Main Program@>==@{@- + 11 11| main() + 12 12| { + 13 13| doit(); + 14 14| } + 15 15| @} + 16 16| + 17 17| @$@<Subroutine@>==@{@- + Error|.^This macro is never used (and has no @Z). + 18 18| void doit() + 19 19| { + 20 20| int i; + 21 21| for (i=0;i<10;i++) + 22 22| { + 23 23| @<Print@> + 24 24| @<Print@> + 25 25| } + 26 26| }@} + 27 27| + 28 28| @$@<Print@>==@{@- + Error|.^This macro is used more than once (and has no @M). + 29 29| printf("Hello World!"); + 30 30| printf("\n");@} + 31 31| + 32 32| @$@<Scan@>==@{scanf@} + Error|.^This macro is never used (and has no @Z). + 33 33| + 34 34| @$@<Include Files@>==@{@- + Error|.^This macro is used more than once (and has no @M). + 35 35| #include <stdio.h> + 36 36| #include <stdlib.h>@} + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 4 Errors. diff --git a/web/funnelAC/results/ex04.lis b/web/funnelAC/results/ex04.lis new file mode 100644 index 0000000000..780c9c7f77 --- /dev/null +++ b/web/funnelAC/results/ex04.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed ex04.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex04.out b/web/funnelAC/results/ex04.out new file mode 100644 index 0000000000..939a0cdf82 --- /dev/null +++ b/web/funnelAC/results/ex04.out @@ -0,0 +1,18 @@ +#include <stdio.h> +#include <stdlib.h> +void doit() +{ + int i; + for (i=0;i<10;i++) + { + printf("Hello World!"); + printf("\n"); + printf("Hello World!"); + printf("\n"); + } +} +main() +{ + doit(); +} + diff --git a/web/funnelAC/results/ex05.lis b/web/funnelAC/results/ex05.lis new file mode 100644 index 0000000000..a7e84fcdaa --- /dev/null +++ b/web/funnelAC/results/ex05.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed ex05.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex05.out b/web/funnelAC/results/ex05.out new file mode 100644 index 0000000000..4a12476ca9 --- /dev/null +++ b/web/funnelAC/results/ex05.out @@ -0,0 +1,18 @@ +program adt(input,output); +type buffer_type = + record + length : integer; + buf : array[1..100] of char; + end; +type complex_type = record r,i : real; end; + +bigbuf : buffer_type; + +procedure buf_init (var b : buffer_type ) {Body of buf_init} +procedure buf_add (var b : buffer_type; ch : char) {Body of buf_add} +procedure buf_get (var b : buffer_type; var ch : char) {Body of buf_get} +procedure cm_set (var c: complex_type; a,b: real) {Body of cm_set} +procedure cm_add (a,b: complex_type; var c: complex_type) {Body of cm_add} +{Other procedures and functions} + +begin startproc; end. diff --git a/web/funnelAC/results/ex06.lis b/web/funnelAC/results/ex06.lis new file mode 100644 index 0000000000..5a2782517d --- /dev/null +++ b/web/funnelAC/results/ex06.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed ex06.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex06.out b/web/funnelAC/results/ex06.out new file mode 100644 index 0000000000..03ac7feb13 --- /dev/null +++ b/web/funnelAC/results/ex06.out @@ -0,0 +1,22 @@ +program adt(input,output); +type buffer_type = record + length : integer; + buf : array[1..100] of char; + end; + +type complex_type = record r,i : real; end; + + +bigbuf : buffer_type; + + +procedure buf_init(var b : buffer_type) {Body of buf_init} +procedure buf_add(var b : buffer_type; ch : char) {Body of buf_add} +procedure buf_get(var b : buffer_type; var ch : char) {Body of buf_get} + +procedure cm_set(var c: complex_type; a,b : real) {Body of cm_set} +procedure cm_add(a,b : complex_type; var c: complex_type) {Body of cm_add} +{Other procedures and functions} + + +begin startproc; end. diff --git a/web/funnelAC/results/ex07.lis b/web/funnelAC/results/ex07.lis new file mode 100644 index 0000000000..b354e7c18e --- /dev/null +++ b/web/funnelAC/results/ex07.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed ex07.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex07.out b/web/funnelAC/results/ex07.out new file mode 100644 index 0000000000..b6e41eea63 --- /dev/null +++ b/web/funnelAC/results/ex07.out @@ -0,0 +1,24 @@ + + +x=1; +while (x<=10) + { + printf("X=%u\n",x); + } + + +x:=1; +while (x<=10) + { + printf("X=%u\n",x); + } + + +x=1; +while (x<=10) + { + printf("X=%u\n",x); + } + + + diff --git a/web/funnelAC/results/ex08.lis b/web/funnelAC/results/ex08.lis new file mode 100644 index 0000000000..17d93d8838 --- /dev/null +++ b/web/funnelAC/results/ex08.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed ex08.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex08.out b/web/funnelAC/results/ex08.out new file mode 100644 index 0000000000..5820d58ba2 --- /dev/null +++ b/web/funnelAC/results/ex08.out @@ -0,0 +1,107 @@ +The Twelve Bugs of Christmas +---------------------------- +For the first bug of Christmas, my manager said to me + See if they can do it again. + +For the second bug of Christmas, my manager said to me + Ask them how they did it and + See if they can do it again. + +For the third bug of Christmas, my manager said to me + Try to reproduce it + Ask them how they did it and + See if they can do it again. + +For the fourth bug of Christmas, my manager said to me + Run with the debugger + Try to reproduce it + Ask them how they did it and + See if they can do it again. + +For the fifth bug of Christmas, my manager said to me + Ask for a dump + Run with the debugger + Try to reproduce it + Ask them how they did it and + See if they can do it again. + +For the sixth bug of Christmas, my manager said to me + Reinstall the software + Ask for a dump + Run with the debugger + Try to reproduce it + Ask them how they did it and + See if they can do it again. + +For the seventh bug of Christmas, my manager said to me + Say they need an upgrade + Reinstall the software + Ask for a dump + Run with the debugger + Try to reproduce it + Ask them how they did it and + See if they can do it again. + +For the eighth bug of Christmas, my manager said to me + Find a way around it + Say they need an upgrade + Reinstall the software + Ask for a dump + Run with the debugger + Try to reproduce it + Ask them how they did it and + See if they can do it again. + +For the ninth bug of Christmas, my manager said to me + Blame it on the hardware + Find a way around it + Say they need an upgrade + Reinstall the software + Ask for a dump + Run with the debugger + Try to reproduce it + Ask them how they did it and + See if they can do it again. + +For the tenth bug of Christmas, my manager said to me + Change the documentation + Blame it on the hardware + Find a way around it + Say they need an upgrade + Reinstall the software + Ask for a dump + Run with the debugger + Try to reproduce it + Ask them how they did it and + See if they can do it again. + +For the eleventh bug of Christmas, my manager said to me + Say it's not supported + Change the documentation + Blame it on the hardware + Find a way around it + Say they need an upgrade + Reinstall the software + Ask for a dump + Run with the debugger + Try to reproduce it + Ask them how they did it and + See if they can do it again. + +For the twelfth bug of Christmas, my manager said to me + Tell them it's a feature + Say it's not supported + Change the documentation + Blame it on the hardware + Find a way around it + Say they need an upgrade + Reinstall the software + Ask for a dump + Run with the debugger + Try to reproduce it + Ask them how they did it and + See if they can do it again. + + +This song appeared in the internet newsgroup rec.humor.funny on 24-Dec-1991. +It was contributed by Pat Scannell (scannell@darkstar.ma30.bull.com). diff --git a/web/funnelAC/results/ex09.lis b/web/funnelAC/results/ex09.lis new file mode 100644 index 0000000000..1fdc31299c --- /dev/null +++ b/web/funnelAC/results/ex09.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed ex09.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex09.out b/web/funnelAC/results/ex09.out new file mode 100644 index 0000000000..80fbfc9f1f --- /dev/null +++ b/web/funnelAC/results/ex09.out @@ -0,0 +1,6 @@ + +I like to go shooting, it's a whole lot of fun, +'Cos I shoot with a camera instead of a gun. +The animals flock to be petted and fed, +Cos they know my camera isn't loaded with lead. +- RNW, 04-Jan-1991. diff --git a/web/funnelAC/results/ex10.lis b/web/funnelAC/results/ex10.lis new file mode 100644 index 0000000000..613224af3d --- /dev/null +++ b/web/funnelAC/results/ex10.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed ex10.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex10.out b/web/funnelAC/results/ex10.out new file mode 100644 index 0000000000..9672b09b88 --- /dev/null +++ b/web/funnelAC/results/ex10.out @@ -0,0 +1,2 @@ +This is the text of the sloth macro. + diff --git a/web/funnelAC/results/ex11.lis b/web/funnelAC/results/ex11.lis new file mode 100644 index 0000000000..342bdb414d --- /dev/null +++ b/web/funnelAC/results/ex11.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Weave: Completed <<Suppressed>>. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex11.tex b/web/funnelAC/results/ex11.tex new file mode 100644 index 0000000000..b5e6714dd2 --- /dev/null +++ b/web/funnelAC/results/ex11.tex @@ -0,0 +1,384 @@ + +%******************************************************************************* +%* START OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* +%* * +%* This TeX file was automatically generated by the FunnelWeb preprocessor. * +%* You can typeset this file to produce printed documentation by running it * +%* through the TeX typesetter using a command such as: * +%* tex thisfilename * +%* The resultant file thisfilename.dvi can be printed using a command such as: * +%* lpr -Pcslw -d thisfilename.dvi * +%* * +%* FunnelWeb is a preprocessor that allows programmers to weave programs and * +%* their documentation together in a single document. The FunnelWeb program * +%* analyses such documents producing both program files and typeset * +%* documentation such as this TeX file. * +%* FunnelWeb was created by Ross Williams. * +%* * +%* For more information on FunnelWeb look in the following FTP archive: * +%* Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. * +%* Directory: ~pub/funnelweb/ * +%* (or some other appropriately named directory). * +%* or email Ross Williams at ross@spam.adelaide.edu.au * +%* * +%******************************************************************************* + + +%===================== Start of FunnelWeb TeX Definitions ====================== + + +% Version +% ------- +% This is FunnelWeb TeX Macro Library Version 1.0. + + +% Copyright +% --------- +% This set of FunnelWeb TeX definitions was written by Ross Williams and was +% originally Copyright (C) 1992 Ross N. Williams. However, I, Ross Williams, +% hereby forego any claim to Copyright in this set of FunnelWeb TeX definitions +% and hereby authorize that the set of TeX definitions pass into the public +% domain. -- Ross N. Williams, 3:41pm 07-May-1992, Adelaide, Australia. + + +% Modification +% ------------ +% Please record all modifications to these TeX definitions here. Unless +% otherwise specified, all modified definitions fall in the public domain too. +% +% Programmers: +% RNW Ross N. Williams ross@spam.adelaide.edu.au +% +% Changes: +% 07-May-1992 RNW Prepared this work for public domain release. +% + + +% General Comments +% ---------------- +% This set of TeX definitions exists for two reasons: +% +% 1. To shorten and neaten the FunnelWeb TeX output. +% 2. To allow users to fiddle with the output format in their input files +% (by inserting redefining "\def"s) without having to resort to +% modifying the FunnelWeb code. +% +% The user is warned that these definitions may be changed from time to time +% (but probably not much). The user should not be too sneaky. In particular, +% users wishing to redefine some of these macros should do so in an explicitly +% defined section at the top of their input file. This will mean that in the +% event of problems, that section can simply be deleted or commented out to +% allow the document to at least be typeset in the default format. Users should +% limit themselves to redefining these macros in such a section and should +% refrain from using the macros throughout their documents. + + +% Environment Parameters +% ---------------------- +% \tolerance tells TeX how tolerant it should be about making bad line and +% page breaks. Here we set it to it's maximum, as +% 1) Computer programs are likely to cause lots of bad breaks. +% 2) In most cases the user would probably rather get the TeX file through +% TeX without any errors than fiddle with spacings for perfection. +\tolerance=10000 + +% I don't like indentation as it makes the page look more busy. Instead, +% paragraphs are separated by a little space (see next). +\parindent=0pt + +% In many cases, users will produce documents with long runs of paragraphs. +% In order to space out these paragraphs, it is convenient to maintain a +% prevailing non-zero \parskip (end-of-paragaph skip). The only trouble is +% that the skip becomes a problem in macro definitions which require no skip +% and so we have to turn the skip on and off. The following two macros +% simplify this process. +\def\fwparskipon{\parskip=\medskipamount} +\def\fwparskipoff{\parskip=0pt} +\fwparskipon + +% Setting raggedbottom allows TeX to leave a bit of space at the bottom of the +% page in order to better vertically align the rest of the page (e.g. skips +% won't stretch as much). It also means that headings are less likely to be +% isolated at the bottom of the page without any following text. +\raggedbottom + + +% Fonts +% ----- +% Most of the typeset output is set in 10pt roman and 10pt tt font. +% The major extra font needs spring from titles and headings. +% For portability's sake we use only the following fonts: +% cmr10 +% cmbx10 +% cmtt10 +% and some enlargements of them. These fonts are all "standard" fonts +% in Plain TeX. See The TeXbook p.350. +\font\fwfontnote=cmr7 + +\font\fwfontnorm=cmr10 +\font\fwfontnorma=cmr10 scaled \magstep1 +\font\fwfontnormb=cmr10 scaled \magstep2 + +\font\fwfontbold=cmbx10 +\font\fwfontbolda=cmbx10 scaled \magstep1 +\font\fwfontboldb=cmbx10 scaled \magstep2 +\font\fwfontboldc=cmbx10 scaled \magstep3 +\font\fwfontboldd=cmbx10 scaled \magstep4 + + +% Macros for Stylistic Details +% ---------------------------- +% This section contains all the fiddly little macros for setting the details +% of each macro definition. + +% Macro definitions are sandwiched by calls to these macros which can be used +% to sort out the spacing before and after the macro definition. +\def\fwbeginmacro{\fwparskipoff\bigskip} +\def\fwendmacro{\fwparskipon\par} + +% These macros deal with the macro name and definition line. +\def\fwmacroname#1#2{{\sl #1\/}$\lbrack$#2$\rbrack$} +\def\fwfilename#1#2{{\bf #1}$\lbrack$#2$\rbrack$} +\def\fwzero#1{{\bf Z}} +\def\fwmany#1{{\bf M}} +\def\fwequals{ $\equiv$} +\def\fwplusequals{ $+\equiv$} + +% Now for the actual body of the definition. It looks nice to have the tt +% code indented a little. Again, we use macros instead of writing direct TeX, +% so as to allow the user to fiddle this stuff to taste without having to +% modify the FunnelWeb C code. +\def\fwodef{\parindent=15pt\vskip0pt$\lbrace$\parindent=20pt} +\def\fwcdef{$\rbrace$\vskip0pt\parindent=0pt} +\def\fwoquote{`} +\def\fwcquote{'} +\def\fwoparen{$($} +\def\fwcomma{$,$} +\def\fwcparen{$)$} +\def\fwparam#1{$\diamond #1$} +\def\fwparams#1{$(\diamond #1)$} + +% These macros deal with the notes that are appended at the end of each +% macro definition. Note that even though \fwisafile,\fwusedin, and \fwseealso +% have the same definition, they are given different names so as to allow the +% user to redefine these macros to typeset each kind of information differently +% if desired. +\def\fwbeginmacronotes{\begingroup\baselineskip=9pt\smallskip} +\def\fwnote#1{{\fwfontnote #1}\par} +\def\fwisafile#1{\fwnote{#1}} +\def\fwusedin#1{\fwnote{#1}} +\def\fwseealso#1{\fwnote{#1}} +\def\fwendmacronotes{\endgroup} + + +% Macros to Typeset Program Code Verbatim +% --------------------------------------- +% This is by far the hairiest and most difficult part of the typesetting task +% because we have to turn off most of TeX's natural instincts in order to +% typeset the program text exactly as it appears in the input file. +% Two macros are defined to pull this off: \fwbtx and \fwverbatimgobble. +% Their code was inspired by the following sections of "The TeXbook": +% Appendix D: Dirty Tricks, 3.Verbatim listing, p.380-382. +% Appendix E: Example Formats, p.421. +% The \fwbtx[ (for "FunnelWeb Begin TeXt") macro does most of the hard work. +% The liberal use of "%" is because I don't understand TeX well enough to +% understand when an end of line will cause trouble, and I am playing it safe. + +% Before defining the main \fwbtx macro, we have to stash away some definitions +% in the hidden part of TeX's environment. Let's hope that these "hidden" +% definitions don't affect anything except what is desired to be affected. + +% The tt font in which we wish to set the text has two Latin lurking ligatures! +% These are ?` and !`. To disable them, we define the left quote when ACTIVE +% to be defined in such a way as to prevent ligatures. The main TeX text will +% normally not be exposed to this definition because normally the leftquote +% character is not active. The \fwbtx macro temporarily makes the left quote +% character active thus activating the deactivation of left quote ligatures. +% See The TeXbook p.381. +{\catcode`\`=\active \gdef`{\relax\lq}} + +% TeX is fairly carefree about spaces and so we have to make it more serious. +% To do so we pull the same trick as above, setting up a definition for active +% space, but only making space active during the span of the verbatim text. +% In Plain TeX the active space is defined to be simply a space, but here we +% define it to be a control space. This ensures that the space cannot +% be gobbled up by one of TeX's mysterious mechanisms when activated. +% See The TeXbook, p.381 and p.352. +{\obeyspaces\global\let =\ } + +% Here is the main \fwbtx verbatim text macro. +% Note: The order in which all these pieces of business have to be done is +% still a partial mystery to me. Don't fiddle with this stuff unless you +% think you know what you are doing. +\def\fwbtx[{% +% +% The funnies involved in getting verbatim output are safely housed inside +% this \begingroup, and the \endgroup in \fwverbatimgobble. Groups are used +% instead of curly braces because we have to be able to signal the end of +% this macro with a curly brace. +\begingroup% +% +% \pars at the end of empty lines in the verbatim text won't come out normally +% because TeX is in vertical mode and they get gobbled up. To prevent this, +% we force \par to exit vertical mode first. See The TeXbook p.381. +\def\par{\leavevmode\endgraf}% +% +% Activate the leftquote character so as to avoid ligatures (see above). +\catcode`\`=\active% +% +% The \obeylines macro simply defines end of line (^M) to be \par. This ensures +% that TeX will treat each verbatim line as a new paragraph. +\obeylines% +% +% To get verbatim output, we have to desex all the special characters. This +% is explained in detail in The TeXbook p.380. +\def\do##1{\catcode`##1=12 }\dospecials% +% +% Activate the space character so as to make TeX treat blanks seriously. +% This activation invokes an eralier definition (see above). +\obeyspaces +% +% Interparagraph skips do not help the cause. +% Note: We have to preserve the indentation though, as the code is actually +% indented in the final output. See \fwodef in an earlier section. +\parskip=0pt% +% +% We typeset the verbatim text in tt font (courier on the Macintosh) for a +% number of reasons: +% - tt font has the same horizontal spacing for each character. +% - tt font covers the ASCII character set. +% - tt font doesn't have many surprises (e.g. ligatures). +% - tt font looks much what you might see on a computer terminal screen. +\tt% +% +% Having set up an environment for verbatim, we are ready to use it. +% By invoking \fwverbatimgobble, this \fwbtx macro gobbles up text verbatim (as +% part of the parameter of \fwverbatimgobble) until it sees the termination +% string "]fwetx=" (the "=" was thrown in to add obscurity as this sequence +% must never occur in the verbatim text). +\fwverbatimgobble} + +% The \fwverbatimgobble macro exists to allow \fwbtx to bracket verbatim text. +\def\fwverbatimgobble#1]fwetx={#1\endgroup} + + +% Table of Contents +% ----------------- +% The five levels of table of contents that FunnelWeb supports are identified +% by the five letters [A..E]. These are used throughout the following macros. + +% The following macros are utilities to the TOC macros to follow. +\def\fwrule{\medskip\hrule\medskip} +\def\fwqh{\hskip1.5em\relax} +\def\fwbeforesec{\penalty-200\bigskip\medskip\par} + +% The following macros are used to typeset the table of contents. +\def\fwtocstart#1{\fwrule\leftline{\fwfontbolda Table of Contents}\fwrule} +\def\fwtoca#1#2{\leftline{{\bf #1 #2}}} +\def\fwtocb#1#2{\leftline{\fwqh #1 #2}} +\def\fwtocc#1#2{\leftline{\fwqh\fwqh #1 #2}} +\def\fwtocd#1#2{\leftline{\fwqh\fwqh\fwqh #1 #2}} +\def\fwtoce#1#2{\leftline{\fwqh\fwqh\fwqh\fwqh #1 #2}} +\def\fwtocfinish#1{\fwrule} + +% The following "library" macros define five different strengths of headings +% which can be used later in the section macros. +\def\fwliba#1#2{\vfill\eject{\fwfontboldc #1 #2}\penalty200\smallskip} +\def\fwlibb#1#2{\fwbeforesec{\fwfontboldb #1 #2}\penalty200\smallskip} +\def\fwlibc#1#2{\fwbeforesec{\fwfontnormb #1 #2}\penalty200\smallskip} +\def\fwlibd#1#2{\fwbeforesec{\bf #1 #2}\penalty200} +\def\fwlibe#1#2{\fwbeforesec{\bf #1 #2}} + +% Here are the macros that actually typeset the section headings throughout +% the document. The fwlib system has been employed so as to easily allow the +% user to redefine the strengths of headings to taste. For example, the +% user could insert in the input document a similar set of definitions to these +% but with the b..e headings set to \fwlibc. This would tone down the output. +\def\fwseca#1#2{\fwliba{#1}{#2}} +\def\fwsecb#1#2{\fwlibb{#1}{#2}} +\def\fwsecc#1#2{\fwlibc{#1}{#2}} +\def\fwsecd#1#2{\fwlibd{#1}{#2}} +\def\fwsece#1#2{\fwlibe{#1}{#2}} + + +% Support for Explicit Typesetting +% -------------------------------- +% FunnelWeb supports pragmas and other constructs that allow +% typesetter-independent typesetting commands to be given. The +% following macros support these features. + +% The in-text literal @{sloth@} and emphasise @[walrus@] features. +\def\fwlit#1{{\tt #1}} +\def\fwemp#1{{\it #1}} + +% The "@p new_page" pragma. +\def\fwnewpage{\vfill\eject} + +% The "@p vskip Nmm" pragma. +\def\fwvskip#1{\null\vskip #1mm} + +% The "@p title <font> <align> <text>" pragma. +\def\fwfontnormal#1{{\fwfontnorm {#1}}} +\def\fwfonttitle#1{{\fwfontboldd {#1}}} +\def\fwfontsmalltitle#1{{\fwfontboldb {#1}}} +\def\fwleftline#1{\leftline{#1}} +\def\fwcenterline#1{\centerline{#1}} +\def\fwrightline#1{\rightline{#1}} + + +% Support for Old FunnelWeb +% ------------------------- +% The following macros were used extensively in the first version of +% FunnelWeb and are retained so that these older input files will still +% typeset cleanly. +\def\p#1{{\tt #1}} % P for Program text. +\def\flagpage#1#2{ + \null + \vfill + \centerline{\fwfontboldd #1} + \vskip 1cm + \centerline{\fwfontboldd #2} + \vfill + \null + \vfill +} + +%====================== End of FunnelWeb TeX Definitions ======================= +EX11: This example shows how FunnelWeb typesets macros, typesetter commands + and free text. + +You are reading some free text before the macro. Free text can consist +of any text (not containing the FunnelWeb special character) including +typesetter commands +such as \$, \%, \#, and $\backslash$TeX$\{$$\}$ which +will be typeset to appear exactly as they do in the input file! +Look out! Here comes a macro! + +\fwbeginmacro +\fwfilename{ex11.out}{1}\fwequals \fwodef \fwbtx[This text is part of +a macro definition. +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwisafile{This macro is attached to an output file.} +\fwendmacronotes +\fwendmacro + + +This is free text following the macro. This sentence contains +two \fwlit{inline} typesetter \fwemp{directives}. +Now here is a non-inline typesetting directive. + + +\fwnewpage + + +This sentence will appear on the next page. +\bye + + +%******************************************************************************* +%* END OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* + diff --git a/web/funnelAC/results/ex12.lis b/web/funnelAC/results/ex12.lis new file mode 100644 index 0000000000..342bdb414d --- /dev/null +++ b/web/funnelAC/results/ex12.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Weave: Completed <<Suppressed>>. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex12.tex b/web/funnelAC/results/ex12.tex new file mode 100644 index 0000000000..145d1d111f --- /dev/null +++ b/web/funnelAC/results/ex12.tex @@ -0,0 +1,385 @@ + +%******************************************************************************* +%* START OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* +%* * +%* This TeX file was automatically generated by the FunnelWeb preprocessor. * +%* You can typeset this file to produce printed documentation by running it * +%* through the TeX typesetter using a command such as: * +%* tex thisfilename * +%* The resultant file thisfilename.dvi can be printed using a command such as: * +%* lpr -Pcslw -d thisfilename.dvi * +%* * +%* FunnelWeb is a preprocessor that allows programmers to weave programs and * +%* their documentation together in a single document. The FunnelWeb program * +%* analyses such documents producing both program files and typeset * +%* documentation such as this TeX file. * +%* FunnelWeb was created by Ross Williams. * +%* * +%* For more information on FunnelWeb look in the following FTP archive: * +%* Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. * +%* Directory: ~pub/funnelweb/ * +%* (or some other appropriately named directory). * +%* or email Ross Williams at ross@spam.adelaide.edu.au * +%* * +%******************************************************************************* + + +%===================== Start of FunnelWeb TeX Definitions ====================== + + +% Version +% ------- +% This is FunnelWeb TeX Macro Library Version 1.0. + + +% Copyright +% --------- +% This set of FunnelWeb TeX definitions was written by Ross Williams and was +% originally Copyright (C) 1992 Ross N. Williams. However, I, Ross Williams, +% hereby forego any claim to Copyright in this set of FunnelWeb TeX definitions +% and hereby authorize that the set of TeX definitions pass into the public +% domain. -- Ross N. Williams, 3:41pm 07-May-1992, Adelaide, Australia. + + +% Modification +% ------------ +% Please record all modifications to these TeX definitions here. Unless +% otherwise specified, all modified definitions fall in the public domain too. +% +% Programmers: +% RNW Ross N. Williams ross@spam.adelaide.edu.au +% +% Changes: +% 07-May-1992 RNW Prepared this work for public domain release. +% + + +% General Comments +% ---------------- +% This set of TeX definitions exists for two reasons: +% +% 1. To shorten and neaten the FunnelWeb TeX output. +% 2. To allow users to fiddle with the output format in their input files +% (by inserting redefining "\def"s) without having to resort to +% modifying the FunnelWeb code. +% +% The user is warned that these definitions may be changed from time to time +% (but probably not much). The user should not be too sneaky. In particular, +% users wishing to redefine some of these macros should do so in an explicitly +% defined section at the top of their input file. This will mean that in the +% event of problems, that section can simply be deleted or commented out to +% allow the document to at least be typeset in the default format. Users should +% limit themselves to redefining these macros in such a section and should +% refrain from using the macros throughout their documents. + + +% Environment Parameters +% ---------------------- +% \tolerance tells TeX how tolerant it should be about making bad line and +% page breaks. Here we set it to it's maximum, as +% 1) Computer programs are likely to cause lots of bad breaks. +% 2) In most cases the user would probably rather get the TeX file through +% TeX without any errors than fiddle with spacings for perfection. +\tolerance=10000 + +% I don't like indentation as it makes the page look more busy. Instead, +% paragraphs are separated by a little space (see next). +\parindent=0pt + +% In many cases, users will produce documents with long runs of paragraphs. +% In order to space out these paragraphs, it is convenient to maintain a +% prevailing non-zero \parskip (end-of-paragaph skip). The only trouble is +% that the skip becomes a problem in macro definitions which require no skip +% and so we have to turn the skip on and off. The following two macros +% simplify this process. +\def\fwparskipon{\parskip=\medskipamount} +\def\fwparskipoff{\parskip=0pt} +\fwparskipon + +% Setting raggedbottom allows TeX to leave a bit of space at the bottom of the +% page in order to better vertically align the rest of the page (e.g. skips +% won't stretch as much). It also means that headings are less likely to be +% isolated at the bottom of the page without any following text. +\raggedbottom + + +% Fonts +% ----- +% Most of the typeset output is set in 10pt roman and 10pt tt font. +% The major extra font needs spring from titles and headings. +% For portability's sake we use only the following fonts: +% cmr10 +% cmbx10 +% cmtt10 +% and some enlargements of them. These fonts are all "standard" fonts +% in Plain TeX. See The TeXbook p.350. +\font\fwfontnote=cmr7 + +\font\fwfontnorm=cmr10 +\font\fwfontnorma=cmr10 scaled \magstep1 +\font\fwfontnormb=cmr10 scaled \magstep2 + +\font\fwfontbold=cmbx10 +\font\fwfontbolda=cmbx10 scaled \magstep1 +\font\fwfontboldb=cmbx10 scaled \magstep2 +\font\fwfontboldc=cmbx10 scaled \magstep3 +\font\fwfontboldd=cmbx10 scaled \magstep4 + + +% Macros for Stylistic Details +% ---------------------------- +% This section contains all the fiddly little macros for setting the details +% of each macro definition. + +% Macro definitions are sandwiched by calls to these macros which can be used +% to sort out the spacing before and after the macro definition. +\def\fwbeginmacro{\fwparskipoff\bigskip} +\def\fwendmacro{\fwparskipon\par} + +% These macros deal with the macro name and definition line. +\def\fwmacroname#1#2{{\sl #1\/}$\lbrack$#2$\rbrack$} +\def\fwfilename#1#2{{\bf #1}$\lbrack$#2$\rbrack$} +\def\fwzero#1{{\bf Z}} +\def\fwmany#1{{\bf M}} +\def\fwequals{ $\equiv$} +\def\fwplusequals{ $+\equiv$} + +% Now for the actual body of the definition. It looks nice to have the tt +% code indented a little. Again, we use macros instead of writing direct TeX, +% so as to allow the user to fiddle this stuff to taste without having to +% modify the FunnelWeb C code. +\def\fwodef{\parindent=15pt\vskip0pt$\lbrace$\parindent=20pt} +\def\fwcdef{$\rbrace$\vskip0pt\parindent=0pt} +\def\fwoquote{`} +\def\fwcquote{'} +\def\fwoparen{$($} +\def\fwcomma{$,$} +\def\fwcparen{$)$} +\def\fwparam#1{$\diamond #1$} +\def\fwparams#1{$(\diamond #1)$} + +% These macros deal with the notes that are appended at the end of each +% macro definition. Note that even though \fwisafile,\fwusedin, and \fwseealso +% have the same definition, they are given different names so as to allow the +% user to redefine these macros to typeset each kind of information differently +% if desired. +\def\fwbeginmacronotes{\begingroup\baselineskip=9pt\smallskip} +\def\fwnote#1{{\fwfontnote #1}\par} +\def\fwisafile#1{\fwnote{#1}} +\def\fwusedin#1{\fwnote{#1}} +\def\fwseealso#1{\fwnote{#1}} +\def\fwendmacronotes{\endgroup} + + +% Macros to Typeset Program Code Verbatim +% --------------------------------------- +% This is by far the hairiest and most difficult part of the typesetting task +% because we have to turn off most of TeX's natural instincts in order to +% typeset the program text exactly as it appears in the input file. +% Two macros are defined to pull this off: \fwbtx and \fwverbatimgobble. +% Their code was inspired by the following sections of "The TeXbook": +% Appendix D: Dirty Tricks, 3.Verbatim listing, p.380-382. +% Appendix E: Example Formats, p.421. +% The \fwbtx[ (for "FunnelWeb Begin TeXt") macro does most of the hard work. +% The liberal use of "%" is because I don't understand TeX well enough to +% understand when an end of line will cause trouble, and I am playing it safe. + +% Before defining the main \fwbtx macro, we have to stash away some definitions +% in the hidden part of TeX's environment. Let's hope that these "hidden" +% definitions don't affect anything except what is desired to be affected. + +% The tt font in which we wish to set the text has two Latin lurking ligatures! +% These are ?` and !`. To disable them, we define the left quote when ACTIVE +% to be defined in such a way as to prevent ligatures. The main TeX text will +% normally not be exposed to this definition because normally the leftquote +% character is not active. The \fwbtx macro temporarily makes the left quote +% character active thus activating the deactivation of left quote ligatures. +% See The TeXbook p.381. +{\catcode`\`=\active \gdef`{\relax\lq}} + +% TeX is fairly carefree about spaces and so we have to make it more serious. +% To do so we pull the same trick as above, setting up a definition for active +% space, but only making space active during the span of the verbatim text. +% In Plain TeX the active space is defined to be simply a space, but here we +% define it to be a control space. This ensures that the space cannot +% be gobbled up by one of TeX's mysterious mechanisms when activated. +% See The TeXbook, p.381 and p.352. +{\obeyspaces\global\let =\ } + +% Here is the main \fwbtx verbatim text macro. +% Note: The order in which all these pieces of business have to be done is +% still a partial mystery to me. Don't fiddle with this stuff unless you +% think you know what you are doing. +\def\fwbtx[{% +% +% The funnies involved in getting verbatim output are safely housed inside +% this \begingroup, and the \endgroup in \fwverbatimgobble. Groups are used +% instead of curly braces because we have to be able to signal the end of +% this macro with a curly brace. +\begingroup% +% +% \pars at the end of empty lines in the verbatim text won't come out normally +% because TeX is in vertical mode and they get gobbled up. To prevent this, +% we force \par to exit vertical mode first. See The TeXbook p.381. +\def\par{\leavevmode\endgraf}% +% +% Activate the leftquote character so as to avoid ligatures (see above). +\catcode`\`=\active% +% +% The \obeylines macro simply defines end of line (^M) to be \par. This ensures +% that TeX will treat each verbatim line as a new paragraph. +\obeylines% +% +% To get verbatim output, we have to desex all the special characters. This +% is explained in detail in The TeXbook p.380. +\def\do##1{\catcode`##1=12 }\dospecials% +% +% Activate the space character so as to make TeX treat blanks seriously. +% This activation invokes an eralier definition (see above). +\obeyspaces +% +% Interparagraph skips do not help the cause. +% Note: We have to preserve the indentation though, as the code is actually +% indented in the final output. See \fwodef in an earlier section. +\parskip=0pt% +% +% We typeset the verbatim text in tt font (courier on the Macintosh) for a +% number of reasons: +% - tt font has the same horizontal spacing for each character. +% - tt font covers the ASCII character set. +% - tt font doesn't have many surprises (e.g. ligatures). +% - tt font looks much what you might see on a computer terminal screen. +\tt% +% +% Having set up an environment for verbatim, we are ready to use it. +% By invoking \fwverbatimgobble, this \fwbtx macro gobbles up text verbatim (as +% part of the parameter of \fwverbatimgobble) until it sees the termination +% string "]fwetx=" (the "=" was thrown in to add obscurity as this sequence +% must never occur in the verbatim text). +\fwverbatimgobble} + +% The \fwverbatimgobble macro exists to allow \fwbtx to bracket verbatim text. +\def\fwverbatimgobble#1]fwetx={#1\endgroup} + + +% Table of Contents +% ----------------- +% The five levels of table of contents that FunnelWeb supports are identified +% by the five letters [A..E]. These are used throughout the following macros. + +% The following macros are utilities to the TOC macros to follow. +\def\fwrule{\medskip\hrule\medskip} +\def\fwqh{\hskip1.5em\relax} +\def\fwbeforesec{\penalty-200\bigskip\medskip\par} + +% The following macros are used to typeset the table of contents. +\def\fwtocstart#1{\fwrule\leftline{\fwfontbolda Table of Contents}\fwrule} +\def\fwtoca#1#2{\leftline{{\bf #1 #2}}} +\def\fwtocb#1#2{\leftline{\fwqh #1 #2}} +\def\fwtocc#1#2{\leftline{\fwqh\fwqh #1 #2}} +\def\fwtocd#1#2{\leftline{\fwqh\fwqh\fwqh #1 #2}} +\def\fwtoce#1#2{\leftline{\fwqh\fwqh\fwqh\fwqh #1 #2}} +\def\fwtocfinish#1{\fwrule} + +% The following "library" macros define five different strengths of headings +% which can be used later in the section macros. +\def\fwliba#1#2{\vfill\eject{\fwfontboldc #1 #2}\penalty200\smallskip} +\def\fwlibb#1#2{\fwbeforesec{\fwfontboldb #1 #2}\penalty200\smallskip} +\def\fwlibc#1#2{\fwbeforesec{\fwfontnormb #1 #2}\penalty200\smallskip} +\def\fwlibd#1#2{\fwbeforesec{\bf #1 #2}\penalty200} +\def\fwlibe#1#2{\fwbeforesec{\bf #1 #2}} + +% Here are the macros that actually typeset the section headings throughout +% the document. The fwlib system has been employed so as to easily allow the +% user to redefine the strengths of headings to taste. For example, the +% user could insert in the input document a similar set of definitions to these +% but with the b..e headings set to \fwlibc. This would tone down the output. +\def\fwseca#1#2{\fwliba{#1}{#2}} +\def\fwsecb#1#2{\fwlibb{#1}{#2}} +\def\fwsecc#1#2{\fwlibc{#1}{#2}} +\def\fwsecd#1#2{\fwlibd{#1}{#2}} +\def\fwsece#1#2{\fwlibe{#1}{#2}} + + +% Support for Explicit Typesetting +% -------------------------------- +% FunnelWeb supports pragmas and other constructs that allow +% typesetter-independent typesetting commands to be given. The +% following macros support these features. + +% The in-text literal @{sloth@} and emphasise @[walrus@] features. +\def\fwlit#1{{\tt #1}} +\def\fwemp#1{{\it #1}} + +% The "@p new_page" pragma. +\def\fwnewpage{\vfill\eject} + +% The "@p vskip Nmm" pragma. +\def\fwvskip#1{\null\vskip #1mm} + +% The "@p title <font> <align> <text>" pragma. +\def\fwfontnormal#1{{\fwfontnorm {#1}}} +\def\fwfonttitle#1{{\fwfontboldd {#1}}} +\def\fwfontsmalltitle#1{{\fwfontboldb {#1}}} +\def\fwleftline#1{\leftline{#1}} +\def\fwcenterline#1{\centerline{#1}} +\def\fwrightline#1{\rightline{#1}} + + +% Support for Old FunnelWeb +% ------------------------- +% The following macros were used extensively in the first version of +% FunnelWeb and are retained so that these older input files will still +% typeset cleanly. +\def\p#1{{\tt #1}} % P for Program text. +\def\flagpage#1#2{ + \null + \vfill + \centerline{\fwfontboldd #1} + \vskip 1cm + \centerline{\fwfontboldd #2} + \vfill + \null + \vfill +} + +%====================== End of FunnelWeb TeX Definitions ======================= +EX12: This example gives some simple headings and demonstrates heading name + inheritance. + +\fwbeginmacro +\fwfilename{ex12.out}{1}\fwequals \fwodef \fwbtx[dummy text]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwisafile{This macro is attached to an output file.} +\fwendmacronotes +\fwendmacro + + +\fwseca{1}{Feed the Penguins and Save the World} +\fwsecb{1.1}{Feed the Penguins} +\fwsecc{1.1.1}{Feed the little penguins} +\fwsecc{1.1.2}{Feed the big penguins} +\fwsecb{1.2}{Save the World} +\fwsecc{1.2.1}{Save Europe} +\fwsecc{1.2.2}{Save Africa} + +\fwsecc{1.2.3}{Save the rest of the world} This heading hasn't been given an explicit name, but will inherit the +name $\backslash$p$\{$Save the rest of the world$\}$ from the macro definition below. + +\fwbeginmacro +\fwmacroname{Save the rest of the world}{2}\fwzero{}\fwequals \fwodef \fwbtx[...]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + +\bye + + +%******************************************************************************* +%* END OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* + diff --git a/web/funnelAC/results/ex13.lis b/web/funnelAC/results/ex13.lis new file mode 100644 index 0000000000..342bdb414d --- /dev/null +++ b/web/funnelAC/results/ex13.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Weave: Completed <<Suppressed>>. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex13.tex b/web/funnelAC/results/ex13.tex new file mode 100644 index 0000000000..835ae999e6 --- /dev/null +++ b/web/funnelAC/results/ex13.tex @@ -0,0 +1,499 @@ + +%******************************************************************************* +%* START OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* +%* * +%* This TeX file was automatically generated by the FunnelWeb preprocessor. * +%* You can typeset this file to produce printed documentation by running it * +%* through the TeX typesetter using a command such as: * +%* tex thisfilename * +%* The resultant file thisfilename.dvi can be printed using a command such as: * +%* lpr -Pcslw -d thisfilename.dvi * +%* * +%* FunnelWeb is a preprocessor that allows programmers to weave programs and * +%* their documentation together in a single document. The FunnelWeb program * +%* analyses such documents producing both program files and typeset * +%* documentation such as this TeX file. * +%* FunnelWeb was created by Ross Williams. * +%* * +%* For more information on FunnelWeb look in the following FTP archive: * +%* Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. * +%* Directory: ~pub/funnelweb/ * +%* (or some other appropriately named directory). * +%* or email Ross Williams at ross@spam.adelaide.edu.au * +%* * +%******************************************************************************* + + +%===================== Start of FunnelWeb TeX Definitions ====================== + + +% Version +% ------- +% This is FunnelWeb TeX Macro Library Version 1.0. + + +% Copyright +% --------- +% This set of FunnelWeb TeX definitions was written by Ross Williams and was +% originally Copyright (C) 1992 Ross N. Williams. However, I, Ross Williams, +% hereby forego any claim to Copyright in this set of FunnelWeb TeX definitions +% and hereby authorize that the set of TeX definitions pass into the public +% domain. -- Ross N. Williams, 3:41pm 07-May-1992, Adelaide, Australia. + + +% Modification +% ------------ +% Please record all modifications to these TeX definitions here. Unless +% otherwise specified, all modified definitions fall in the public domain too. +% +% Programmers: +% RNW Ross N. Williams ross@spam.adelaide.edu.au +% +% Changes: +% 07-May-1992 RNW Prepared this work for public domain release. +% + + +% General Comments +% ---------------- +% This set of TeX definitions exists for two reasons: +% +% 1. To shorten and neaten the FunnelWeb TeX output. +% 2. To allow users to fiddle with the output format in their input files +% (by inserting redefining "\def"s) without having to resort to +% modifying the FunnelWeb code. +% +% The user is warned that these definitions may be changed from time to time +% (but probably not much). The user should not be too sneaky. In particular, +% users wishing to redefine some of these macros should do so in an explicitly +% defined section at the top of their input file. This will mean that in the +% event of problems, that section can simply be deleted or commented out to +% allow the document to at least be typeset in the default format. Users should +% limit themselves to redefining these macros in such a section and should +% refrain from using the macros throughout their documents. + + +% Environment Parameters +% ---------------------- +% \tolerance tells TeX how tolerant it should be about making bad line and +% page breaks. Here we set it to it's maximum, as +% 1) Computer programs are likely to cause lots of bad breaks. +% 2) In most cases the user would probably rather get the TeX file through +% TeX without any errors than fiddle with spacings for perfection. +\tolerance=10000 + +% I don't like indentation as it makes the page look more busy. Instead, +% paragraphs are separated by a little space (see next). +\parindent=0pt + +% In many cases, users will produce documents with long runs of paragraphs. +% In order to space out these paragraphs, it is convenient to maintain a +% prevailing non-zero \parskip (end-of-paragaph skip). The only trouble is +% that the skip becomes a problem in macro definitions which require no skip +% and so we have to turn the skip on and off. The following two macros +% simplify this process. +\def\fwparskipon{\parskip=\medskipamount} +\def\fwparskipoff{\parskip=0pt} +\fwparskipon + +% Setting raggedbottom allows TeX to leave a bit of space at the bottom of the +% page in order to better vertically align the rest of the page (e.g. skips +% won't stretch as much). It also means that headings are less likely to be +% isolated at the bottom of the page without any following text. +\raggedbottom + + +% Fonts +% ----- +% Most of the typeset output is set in 10pt roman and 10pt tt font. +% The major extra font needs spring from titles and headings. +% For portability's sake we use only the following fonts: +% cmr10 +% cmbx10 +% cmtt10 +% and some enlargements of them. These fonts are all "standard" fonts +% in Plain TeX. See The TeXbook p.350. +\font\fwfontnote=cmr7 + +\font\fwfontnorm=cmr10 +\font\fwfontnorma=cmr10 scaled \magstep1 +\font\fwfontnormb=cmr10 scaled \magstep2 + +\font\fwfontbold=cmbx10 +\font\fwfontbolda=cmbx10 scaled \magstep1 +\font\fwfontboldb=cmbx10 scaled \magstep2 +\font\fwfontboldc=cmbx10 scaled \magstep3 +\font\fwfontboldd=cmbx10 scaled \magstep4 + + +% Macros for Stylistic Details +% ---------------------------- +% This section contains all the fiddly little macros for setting the details +% of each macro definition. + +% Macro definitions are sandwiched by calls to these macros which can be used +% to sort out the spacing before and after the macro definition. +\def\fwbeginmacro{\fwparskipoff\bigskip} +\def\fwendmacro{\fwparskipon\par} + +% These macros deal with the macro name and definition line. +\def\fwmacroname#1#2{{\sl #1\/}$\lbrack$#2$\rbrack$} +\def\fwfilename#1#2{{\bf #1}$\lbrack$#2$\rbrack$} +\def\fwzero#1{{\bf Z}} +\def\fwmany#1{{\bf M}} +\def\fwequals{ $\equiv$} +\def\fwplusequals{ $+\equiv$} + +% Now for the actual body of the definition. It looks nice to have the tt +% code indented a little. Again, we use macros instead of writing direct TeX, +% so as to allow the user to fiddle this stuff to taste without having to +% modify the FunnelWeb C code. +\def\fwodef{\parindent=15pt\vskip0pt$\lbrace$\parindent=20pt} +\def\fwcdef{$\rbrace$\vskip0pt\parindent=0pt} +\def\fwoquote{`} +\def\fwcquote{'} +\def\fwoparen{$($} +\def\fwcomma{$,$} +\def\fwcparen{$)$} +\def\fwparam#1{$\diamond #1$} +\def\fwparams#1{$(\diamond #1)$} + +% These macros deal with the notes that are appended at the end of each +% macro definition. Note that even though \fwisafile,\fwusedin, and \fwseealso +% have the same definition, they are given different names so as to allow the +% user to redefine these macros to typeset each kind of information differently +% if desired. +\def\fwbeginmacronotes{\begingroup\baselineskip=9pt\smallskip} +\def\fwnote#1{{\fwfontnote #1}\par} +\def\fwisafile#1{\fwnote{#1}} +\def\fwusedin#1{\fwnote{#1}} +\def\fwseealso#1{\fwnote{#1}} +\def\fwendmacronotes{\endgroup} + + +% Macros to Typeset Program Code Verbatim +% --------------------------------------- +% This is by far the hairiest and most difficult part of the typesetting task +% because we have to turn off most of TeX's natural instincts in order to +% typeset the program text exactly as it appears in the input file. +% Two macros are defined to pull this off: \fwbtx and \fwverbatimgobble. +% Their code was inspired by the following sections of "The TeXbook": +% Appendix D: Dirty Tricks, 3.Verbatim listing, p.380-382. +% Appendix E: Example Formats, p.421. +% The \fwbtx[ (for "FunnelWeb Begin TeXt") macro does most of the hard work. +% The liberal use of "%" is because I don't understand TeX well enough to +% understand when an end of line will cause trouble, and I am playing it safe. + +% Before defining the main \fwbtx macro, we have to stash away some definitions +% in the hidden part of TeX's environment. Let's hope that these "hidden" +% definitions don't affect anything except what is desired to be affected. + +% The tt font in which we wish to set the text has two Latin lurking ligatures! +% These are ?` and !`. To disable them, we define the left quote when ACTIVE +% to be defined in such a way as to prevent ligatures. The main TeX text will +% normally not be exposed to this definition because normally the leftquote +% character is not active. The \fwbtx macro temporarily makes the left quote +% character active thus activating the deactivation of left quote ligatures. +% See The TeXbook p.381. +{\catcode`\`=\active \gdef`{\relax\lq}} + +% TeX is fairly carefree about spaces and so we have to make it more serious. +% To do so we pull the same trick as above, setting up a definition for active +% space, but only making space active during the span of the verbatim text. +% In Plain TeX the active space is defined to be simply a space, but here we +% define it to be a control space. This ensures that the space cannot +% be gobbled up by one of TeX's mysterious mechanisms when activated. +% See The TeXbook, p.381 and p.352. +{\obeyspaces\global\let =\ } + +% Here is the main \fwbtx verbatim text macro. +% Note: The order in which all these pieces of business have to be done is +% still a partial mystery to me. Don't fiddle with this stuff unless you +% think you know what you are doing. +\def\fwbtx[{% +% +% The funnies involved in getting verbatim output are safely housed inside +% this \begingroup, and the \endgroup in \fwverbatimgobble. Groups are used +% instead of curly braces because we have to be able to signal the end of +% this macro with a curly brace. +\begingroup% +% +% \pars at the end of empty lines in the verbatim text won't come out normally +% because TeX is in vertical mode and they get gobbled up. To prevent this, +% we force \par to exit vertical mode first. See The TeXbook p.381. +\def\par{\leavevmode\endgraf}% +% +% Activate the leftquote character so as to avoid ligatures (see above). +\catcode`\`=\active% +% +% The \obeylines macro simply defines end of line (^M) to be \par. This ensures +% that TeX will treat each verbatim line as a new paragraph. +\obeylines% +% +% To get verbatim output, we have to desex all the special characters. This +% is explained in detail in The TeXbook p.380. +\def\do##1{\catcode`##1=12 }\dospecials% +% +% Activate the space character so as to make TeX treat blanks seriously. +% This activation invokes an eralier definition (see above). +\obeyspaces +% +% Interparagraph skips do not help the cause. +% Note: We have to preserve the indentation though, as the code is actually +% indented in the final output. See \fwodef in an earlier section. +\parskip=0pt% +% +% We typeset the verbatim text in tt font (courier on the Macintosh) for a +% number of reasons: +% - tt font has the same horizontal spacing for each character. +% - tt font covers the ASCII character set. +% - tt font doesn't have many surprises (e.g. ligatures). +% - tt font looks much what you might see on a computer terminal screen. +\tt% +% +% Having set up an environment for verbatim, we are ready to use it. +% By invoking \fwverbatimgobble, this \fwbtx macro gobbles up text verbatim (as +% part of the parameter of \fwverbatimgobble) until it sees the termination +% string "]fwetx=" (the "=" was thrown in to add obscurity as this sequence +% must never occur in the verbatim text). +\fwverbatimgobble} + +% The \fwverbatimgobble macro exists to allow \fwbtx to bracket verbatim text. +\def\fwverbatimgobble#1]fwetx={#1\endgroup} + + +% Table of Contents +% ----------------- +% The five levels of table of contents that FunnelWeb supports are identified +% by the five letters [A..E]. These are used throughout the following macros. + +% The following macros are utilities to the TOC macros to follow. +\def\fwrule{\medskip\hrule\medskip} +\def\fwqh{\hskip1.5em\relax} +\def\fwbeforesec{\penalty-200\bigskip\medskip\par} + +% The following macros are used to typeset the table of contents. +\def\fwtocstart#1{\fwrule\leftline{\fwfontbolda Table of Contents}\fwrule} +\def\fwtoca#1#2{\leftline{{\bf #1 #2}}} +\def\fwtocb#1#2{\leftline{\fwqh #1 #2}} +\def\fwtocc#1#2{\leftline{\fwqh\fwqh #1 #2}} +\def\fwtocd#1#2{\leftline{\fwqh\fwqh\fwqh #1 #2}} +\def\fwtoce#1#2{\leftline{\fwqh\fwqh\fwqh\fwqh #1 #2}} +\def\fwtocfinish#1{\fwrule} + +% The following "library" macros define five different strengths of headings +% which can be used later in the section macros. +\def\fwliba#1#2{\vfill\eject{\fwfontboldc #1 #2}\penalty200\smallskip} +\def\fwlibb#1#2{\fwbeforesec{\fwfontboldb #1 #2}\penalty200\smallskip} +\def\fwlibc#1#2{\fwbeforesec{\fwfontnormb #1 #2}\penalty200\smallskip} +\def\fwlibd#1#2{\fwbeforesec{\bf #1 #2}\penalty200} +\def\fwlibe#1#2{\fwbeforesec{\bf #1 #2}} + +% Here are the macros that actually typeset the section headings throughout +% the document. The fwlib system has been employed so as to easily allow the +% user to redefine the strengths of headings to taste. For example, the +% user could insert in the input document a similar set of definitions to these +% but with the b..e headings set to \fwlibc. This would tone down the output. +\def\fwseca#1#2{\fwliba{#1}{#2}} +\def\fwsecb#1#2{\fwlibb{#1}{#2}} +\def\fwsecc#1#2{\fwlibc{#1}{#2}} +\def\fwsecd#1#2{\fwlibd{#1}{#2}} +\def\fwsece#1#2{\fwlibe{#1}{#2}} + + +% Support for Explicit Typesetting +% -------------------------------- +% FunnelWeb supports pragmas and other constructs that allow +% typesetter-independent typesetting commands to be given. The +% following macros support these features. + +% The in-text literal @{sloth@} and emphasise @[walrus@] features. +\def\fwlit#1{{\tt #1}} +\def\fwemp#1{{\it #1}} + +% The "@p new_page" pragma. +\def\fwnewpage{\vfill\eject} + +% The "@p vskip Nmm" pragma. +\def\fwvskip#1{\null\vskip #1mm} + +% The "@p title <font> <align> <text>" pragma. +\def\fwfontnormal#1{{\fwfontnorm {#1}}} +\def\fwfonttitle#1{{\fwfontboldd {#1}}} +\def\fwfontsmalltitle#1{{\fwfontboldb {#1}}} +\def\fwleftline#1{\leftline{#1}} +\def\fwcenterline#1{\centerline{#1}} +\def\fwrightline#1{\rightline{#1}} + + +% Support for Old FunnelWeb +% ------------------------- +% The following macros were used extensively in the first version of +% FunnelWeb and are retained so that these older input files will still +% typeset cleanly. +\def\p#1{{\tt #1}} % P for Program text. +\def\flagpage#1#2{ + \null + \vfill + \centerline{\fwfontboldd #1} + \vskip 1cm + \centerline{\fwfontboldd #2} + \vfill + \null + \vfill +} + +%====================== End of FunnelWeb TeX Definitions ======================= +EX13: This example is used to generate typeset documentation which is + discussed in the tutorial in the FunnelWeb user's manual. + + +\fwseca{1}{Table of Contents} + + +\fwtocstart{} +\fwtoca{1}{Table of Contents} +\fwtoca{2}{Macros for Moral Support} +\fwtoca{3}{An Extremely Imperative Stack Abstraction} +\fwtocb{3.1}{Define the Stack} +\fwtocb{3.2}{Push the Stack} +\fwtocb{3.3}{Pop the Stack} +\fwtocb{3.4}{Rough the Stack Up a Bit} +\fwtocfinish{} + + +\fwseca{2}{Macros for Moral Support} + +The following macro contain comments that provide moral support in the +output code. + +\fwbeginmacro +\fwmacroname{Programmer's Cheer}{1}\fwmany{}\fwequals \fwodef \fwbtx[ +-- Shift to the left! +-- Shift to the right! +-- Pop up, push down! +-- Byte! Byte! Byte! +-- (From "The New Hacker's Dictionary"). +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is invoked in definitions 6 and 8.} +\fwendmacronotes +\fwendmacro + + +The next macro is similar but is distributed throughout the program. +\fwbeginmacro +\fwmacroname{Hacker's Cheer}{2}\fwplusequals \fwodef \fwbtx[ +-- Pointer to the left +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 2, 3, 5, 7, and 9.} +\fwusedin{This macro is invoked in definition 10.} +\fwendmacronotes +\fwendmacro + + +\fwseca{3}{An Extremely Imperative Stack Abstraction} + +\fwsecb{3.1}{Define the Stack} +\fwbeginmacro +\fwmacroname{Hacker's Cheer}{3}\fwplusequals \fwodef \fwbtx[-- Pointer to the right +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 2, 3, 5, 7, and 9.} +\fwusedin{This macro is invoked in definition 10.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{Stack Type}{4}\fwzero{}\fwequals \fwodef \fwbtx[type stack = record ... end;]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +\fwsecb{3.2}{Push the Stack} +\fwbeginmacro +\fwmacroname{Hacker's Cheer}{5}\fwplusequals \fwodef \fwbtx[-- Hack that code +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 2, 3, 5, 7, and 9.} +\fwusedin{This macro is invoked in definition 10.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{Push Procedure}{6}\fwzero{}\fwequals \fwodef \fwbtx[procedure push(var b:stack; v:value); ]fwetx=% +\fwmacroname{Programmer's Cheer}{1}\fwbtx[ {...}]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +\fwsecb{3.3}{Pop the Stack} +\fwbeginmacro +\fwmacroname{Hacker's Cheer}{7}\fwplusequals \fwodef \fwbtx[-- Tight! Tight! Tight! +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 2, 3, 5, 7, and 9.} +\fwusedin{This macro is invoked in definition 10.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{Pop Procedure}{8}\fwzero{}\fwequals \fwodef \fwbtx[procedure pop(var b:stack); ]fwetx=% +\fwmacroname{Programmer's Cheer}{1}\fwbtx[ {...}]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +\fwsecb{3.4}{Rough the Stack Up a Bit} +\fwbeginmacro +\fwmacroname{Hacker's Cheer}{9}\fwplusequals \fwodef \fwbtx[-- (RNW, 04-Jan-1991). +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 2, 3, 5, 7, and 9.} +\fwusedin{This macro is invoked in definition 10.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{Rough Procedure}{10}\fwzero{}\fwequals \fwodef \fwbtx[procedure rough(var b:stack); ]fwetx=% +\fwmacroname{Hacker's Cheer}{2}\fwbtx[ {...}]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +\fwbeginmacro +\fwfilename{dummy.txt}{11}\fwequals \fwodef \fwbtx[dummy +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwisafile{This macro is attached to an output file.} +\fwendmacronotes +\fwendmacro + +\bye + + +%******************************************************************************* +%* END OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* + diff --git a/web/funnelAC/results/ex14.lis b/web/funnelAC/results/ex14.lis new file mode 100644 index 0000000000..342bdb414d --- /dev/null +++ b/web/funnelAC/results/ex14.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Weave: Completed <<Suppressed>>. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex14.tex b/web/funnelAC/results/ex14.tex new file mode 100644 index 0000000000..1de1e8756b --- /dev/null +++ b/web/funnelAC/results/ex14.tex @@ -0,0 +1,369 @@ + +%******************************************************************************* +%* START OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* +%* * +%* This TeX file was automatically generated by the FunnelWeb preprocessor. * +%* You can typeset this file to produce printed documentation by running it * +%* through the TeX typesetter using a command such as: * +%* tex thisfilename * +%* The resultant file thisfilename.dvi can be printed using a command such as: * +%* lpr -Pcslw -d thisfilename.dvi * +%* * +%* FunnelWeb is a preprocessor that allows programmers to weave programs and * +%* their documentation together in a single document. The FunnelWeb program * +%* analyses such documents producing both program files and typeset * +%* documentation such as this TeX file. * +%* FunnelWeb was created by Ross Williams. * +%* * +%* For more information on FunnelWeb look in the following FTP archive: * +%* Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. * +%* Directory: ~pub/funnelweb/ * +%* (or some other appropriately named directory). * +%* or email Ross Williams at ross@spam.adelaide.edu.au * +%* * +%******************************************************************************* + + +%===================== Start of FunnelWeb TeX Definitions ====================== + + +% Version +% ------- +% This is FunnelWeb TeX Macro Library Version 1.0. + + +% Copyright +% --------- +% This set of FunnelWeb TeX definitions was written by Ross Williams and was +% originally Copyright (C) 1992 Ross N. Williams. However, I, Ross Williams, +% hereby forego any claim to Copyright in this set of FunnelWeb TeX definitions +% and hereby authorize that the set of TeX definitions pass into the public +% domain. -- Ross N. Williams, 3:41pm 07-May-1992, Adelaide, Australia. + + +% Modification +% ------------ +% Please record all modifications to these TeX definitions here. Unless +% otherwise specified, all modified definitions fall in the public domain too. +% +% Programmers: +% RNW Ross N. Williams ross@spam.adelaide.edu.au +% +% Changes: +% 07-May-1992 RNW Prepared this work for public domain release. +% + + +% General Comments +% ---------------- +% This set of TeX definitions exists for two reasons: +% +% 1. To shorten and neaten the FunnelWeb TeX output. +% 2. To allow users to fiddle with the output format in their input files +% (by inserting redefining "\def"s) without having to resort to +% modifying the FunnelWeb code. +% +% The user is warned that these definitions may be changed from time to time +% (but probably not much). The user should not be too sneaky. In particular, +% users wishing to redefine some of these macros should do so in an explicitly +% defined section at the top of their input file. This will mean that in the +% event of problems, that section can simply be deleted or commented out to +% allow the document to at least be typeset in the default format. Users should +% limit themselves to redefining these macros in such a section and should +% refrain from using the macros throughout their documents. + + +% Environment Parameters +% ---------------------- +% \tolerance tells TeX how tolerant it should be about making bad line and +% page breaks. Here we set it to it's maximum, as +% 1) Computer programs are likely to cause lots of bad breaks. +% 2) In most cases the user would probably rather get the TeX file through +% TeX without any errors than fiddle with spacings for perfection. +\tolerance=10000 + +% I don't like indentation as it makes the page look more busy. Instead, +% paragraphs are separated by a little space (see next). +\parindent=0pt + +% In many cases, users will produce documents with long runs of paragraphs. +% In order to space out these paragraphs, it is convenient to maintain a +% prevailing non-zero \parskip (end-of-paragaph skip). The only trouble is +% that the skip becomes a problem in macro definitions which require no skip +% and so we have to turn the skip on and off. The following two macros +% simplify this process. +\def\fwparskipon{\parskip=\medskipamount} +\def\fwparskipoff{\parskip=0pt} +\fwparskipon + +% Setting raggedbottom allows TeX to leave a bit of space at the bottom of the +% page in order to better vertically align the rest of the page (e.g. skips +% won't stretch as much). It also means that headings are less likely to be +% isolated at the bottom of the page without any following text. +\raggedbottom + + +% Fonts +% ----- +% Most of the typeset output is set in 10pt roman and 10pt tt font. +% The major extra font needs spring from titles and headings. +% For portability's sake we use only the following fonts: +% cmr10 +% cmbx10 +% cmtt10 +% and some enlargements of them. These fonts are all "standard" fonts +% in Plain TeX. See The TeXbook p.350. +\font\fwfontnote=cmr7 + +\font\fwfontnorm=cmr10 +\font\fwfontnorma=cmr10 scaled \magstep1 +\font\fwfontnormb=cmr10 scaled \magstep2 + +\font\fwfontbold=cmbx10 +\font\fwfontbolda=cmbx10 scaled \magstep1 +\font\fwfontboldb=cmbx10 scaled \magstep2 +\font\fwfontboldc=cmbx10 scaled \magstep3 +\font\fwfontboldd=cmbx10 scaled \magstep4 + + +% Macros for Stylistic Details +% ---------------------------- +% This section contains all the fiddly little macros for setting the details +% of each macro definition. + +% Macro definitions are sandwiched by calls to these macros which can be used +% to sort out the spacing before and after the macro definition. +\def\fwbeginmacro{\fwparskipoff\bigskip} +\def\fwendmacro{\fwparskipon\par} + +% These macros deal with the macro name and definition line. +\def\fwmacroname#1#2{{\sl #1\/}$\lbrack$#2$\rbrack$} +\def\fwfilename#1#2{{\bf #1}$\lbrack$#2$\rbrack$} +\def\fwzero#1{{\bf Z}} +\def\fwmany#1{{\bf M}} +\def\fwequals{ $\equiv$} +\def\fwplusequals{ $+\equiv$} + +% Now for the actual body of the definition. It looks nice to have the tt +% code indented a little. Again, we use macros instead of writing direct TeX, +% so as to allow the user to fiddle this stuff to taste without having to +% modify the FunnelWeb C code. +\def\fwodef{\parindent=15pt\vskip0pt$\lbrace$\parindent=20pt} +\def\fwcdef{$\rbrace$\vskip0pt\parindent=0pt} +\def\fwoquote{`} +\def\fwcquote{'} +\def\fwoparen{$($} +\def\fwcomma{$,$} +\def\fwcparen{$)$} +\def\fwparam#1{$\diamond #1$} +\def\fwparams#1{$(\diamond #1)$} + +% These macros deal with the notes that are appended at the end of each +% macro definition. Note that even though \fwisafile,\fwusedin, and \fwseealso +% have the same definition, they are given different names so as to allow the +% user to redefine these macros to typeset each kind of information differently +% if desired. +\def\fwbeginmacronotes{\begingroup\baselineskip=9pt\smallskip} +\def\fwnote#1{{\fwfontnote #1}\par} +\def\fwisafile#1{\fwnote{#1}} +\def\fwusedin#1{\fwnote{#1}} +\def\fwseealso#1{\fwnote{#1}} +\def\fwendmacronotes{\endgroup} + + +% Macros to Typeset Program Code Verbatim +% --------------------------------------- +% This is by far the hairiest and most difficult part of the typesetting task +% because we have to turn off most of TeX's natural instincts in order to +% typeset the program text exactly as it appears in the input file. +% Two macros are defined to pull this off: \fwbtx and \fwverbatimgobble. +% Their code was inspired by the following sections of "The TeXbook": +% Appendix D: Dirty Tricks, 3.Verbatim listing, p.380-382. +% Appendix E: Example Formats, p.421. +% The \fwbtx[ (for "FunnelWeb Begin TeXt") macro does most of the hard work. +% The liberal use of "%" is because I don't understand TeX well enough to +% understand when an end of line will cause trouble, and I am playing it safe. + +% Before defining the main \fwbtx macro, we have to stash away some definitions +% in the hidden part of TeX's environment. Let's hope that these "hidden" +% definitions don't affect anything except what is desired to be affected. + +% The tt font in which we wish to set the text has two Latin lurking ligatures! +% These are ?` and !`. To disable them, we define the left quote when ACTIVE +% to be defined in such a way as to prevent ligatures. The main TeX text will +% normally not be exposed to this definition because normally the leftquote +% character is not active. The \fwbtx macro temporarily makes the left quote +% character active thus activating the deactivation of left quote ligatures. +% See The TeXbook p.381. +{\catcode`\`=\active \gdef`{\relax\lq}} + +% TeX is fairly carefree about spaces and so we have to make it more serious. +% To do so we pull the same trick as above, setting up a definition for active +% space, but only making space active during the span of the verbatim text. +% In Plain TeX the active space is defined to be simply a space, but here we +% define it to be a control space. This ensures that the space cannot +% be gobbled up by one of TeX's mysterious mechanisms when activated. +% See The TeXbook, p.381 and p.352. +{\obeyspaces\global\let =\ } + +% Here is the main \fwbtx verbatim text macro. +% Note: The order in which all these pieces of business have to be done is +% still a partial mystery to me. Don't fiddle with this stuff unless you +% think you know what you are doing. +\def\fwbtx[{% +% +% The funnies involved in getting verbatim output are safely housed inside +% this \begingroup, and the \endgroup in \fwverbatimgobble. Groups are used +% instead of curly braces because we have to be able to signal the end of +% this macro with a curly brace. +\begingroup% +% +% \pars at the end of empty lines in the verbatim text won't come out normally +% because TeX is in vertical mode and they get gobbled up. To prevent this, +% we force \par to exit vertical mode first. See The TeXbook p.381. +\def\par{\leavevmode\endgraf}% +% +% Activate the leftquote character so as to avoid ligatures (see above). +\catcode`\`=\active% +% +% The \obeylines macro simply defines end of line (^M) to be \par. This ensures +% that TeX will treat each verbatim line as a new paragraph. +\obeylines% +% +% To get verbatim output, we have to desex all the special characters. This +% is explained in detail in The TeXbook p.380. +\def\do##1{\catcode`##1=12 }\dospecials% +% +% Activate the space character so as to make TeX treat blanks seriously. +% This activation invokes an eralier definition (see above). +\obeyspaces +% +% Interparagraph skips do not help the cause. +% Note: We have to preserve the indentation though, as the code is actually +% indented in the final output. See \fwodef in an earlier section. +\parskip=0pt% +% +% We typeset the verbatim text in tt font (courier on the Macintosh) for a +% number of reasons: +% - tt font has the same horizontal spacing for each character. +% - tt font covers the ASCII character set. +% - tt font doesn't have many surprises (e.g. ligatures). +% - tt font looks much what you might see on a computer terminal screen. +\tt% +% +% Having set up an environment for verbatim, we are ready to use it. +% By invoking \fwverbatimgobble, this \fwbtx macro gobbles up text verbatim (as +% part of the parameter of \fwverbatimgobble) until it sees the termination +% string "]fwetx=" (the "=" was thrown in to add obscurity as this sequence +% must never occur in the verbatim text). +\fwverbatimgobble} + +% The \fwverbatimgobble macro exists to allow \fwbtx to bracket verbatim text. +\def\fwverbatimgobble#1]fwetx={#1\endgroup} + + +% Table of Contents +% ----------------- +% The five levels of table of contents that FunnelWeb supports are identified +% by the five letters [A..E]. These are used throughout the following macros. + +% The following macros are utilities to the TOC macros to follow. +\def\fwrule{\medskip\hrule\medskip} +\def\fwqh{\hskip1.5em\relax} +\def\fwbeforesec{\penalty-200\bigskip\medskip\par} + +% The following macros are used to typeset the table of contents. +\def\fwtocstart#1{\fwrule\leftline{\fwfontbolda Table of Contents}\fwrule} +\def\fwtoca#1#2{\leftline{{\bf #1 #2}}} +\def\fwtocb#1#2{\leftline{\fwqh #1 #2}} +\def\fwtocc#1#2{\leftline{\fwqh\fwqh #1 #2}} +\def\fwtocd#1#2{\leftline{\fwqh\fwqh\fwqh #1 #2}} +\def\fwtoce#1#2{\leftline{\fwqh\fwqh\fwqh\fwqh #1 #2}} +\def\fwtocfinish#1{\fwrule} + +% The following "library" macros define five different strengths of headings +% which can be used later in the section macros. +\def\fwliba#1#2{\vfill\eject{\fwfontboldc #1 #2}\penalty200\smallskip} +\def\fwlibb#1#2{\fwbeforesec{\fwfontboldb #1 #2}\penalty200\smallskip} +\def\fwlibc#1#2{\fwbeforesec{\fwfontnormb #1 #2}\penalty200\smallskip} +\def\fwlibd#1#2{\fwbeforesec{\bf #1 #2}\penalty200} +\def\fwlibe#1#2{\fwbeforesec{\bf #1 #2}} + +% Here are the macros that actually typeset the section headings throughout +% the document. The fwlib system has been employed so as to easily allow the +% user to redefine the strengths of headings to taste. For example, the +% user could insert in the input document a similar set of definitions to these +% but with the b..e headings set to \fwlibc. This would tone down the output. +\def\fwseca#1#2{\fwliba{#1}{#2}} +\def\fwsecb#1#2{\fwlibb{#1}{#2}} +\def\fwsecc#1#2{\fwlibc{#1}{#2}} +\def\fwsecd#1#2{\fwlibd{#1}{#2}} +\def\fwsece#1#2{\fwlibe{#1}{#2}} + + +% Support for Explicit Typesetting +% -------------------------------- +% FunnelWeb supports pragmas and other constructs that allow +% typesetter-independent typesetting commands to be given. The +% following macros support these features. + +% The in-text literal @{sloth@} and emphasise @[walrus@] features. +\def\fwlit#1{{\tt #1}} +\def\fwemp#1{{\it #1}} + +% The "@p new_page" pragma. +\def\fwnewpage{\vfill\eject} + +% The "@p vskip Nmm" pragma. +\def\fwvskip#1{\null\vskip #1mm} + +% The "@p title <font> <align> <text>" pragma. +\def\fwfontnormal#1{{\fwfontnorm {#1}}} +\def\fwfonttitle#1{{\fwfontboldd {#1}}} +\def\fwfontsmalltitle#1{{\fwfontboldb {#1}}} +\def\fwleftline#1{\leftline{#1}} +\def\fwcenterline#1{\centerline{#1}} +\def\fwrightline#1{\rightline{#1}} + + +% Support for Old FunnelWeb +% ------------------------- +% The following macros were used extensively in the first version of +% FunnelWeb and are retained so that these older input files will still +% typeset cleanly. +\def\p#1{{\tt #1}} % P for Program text. +\def\flagpage#1#2{ + \null + \vfill + \centerline{\fwfontboldd #1} + \vskip 1cm + \centerline{\fwfontboldd #2} + \vfill + \null + \vfill +} + +%====================== End of FunnelWeb TeX Definitions ======================= +EX14: This example demonstrates the literal and emphasis typesetting constructs. + +The following procedure \fwlit{put\_sloth} writes the \fwlit{sloth} variable to +the output file. Note: \fwemp{The output file must be opened for writing +at this point or the program will crash!} + +\fwbeginmacro +\fwfilename{ex14.out}{1}\fwequals \fwodef \fwbtx[dummy +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwisafile{This macro is attached to an output file.} +\fwendmacronotes +\fwendmacro + +\bye + + +%******************************************************************************* +%* END OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* + diff --git a/web/funnelAC/results/ex15.lis b/web/funnelAC/results/ex15.lis new file mode 100644 index 0000000000..342bdb414d --- /dev/null +++ b/web/funnelAC/results/ex15.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Weave: Completed <<Suppressed>>. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex15.tex b/web/funnelAC/results/ex15.tex new file mode 100644 index 0000000000..a82b33d2f2 --- /dev/null +++ b/web/funnelAC/results/ex15.tex @@ -0,0 +1,390 @@ + +%******************************************************************************* +%* START OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* +%* * +%* This TeX file was automatically generated by the FunnelWeb preprocessor. * +%* You can typeset this file to produce printed documentation by running it * +%* through the TeX typesetter using a command such as: * +%* tex thisfilename * +%* The resultant file thisfilename.dvi can be printed using a command such as: * +%* lpr -Pcslw -d thisfilename.dvi * +%* * +%* FunnelWeb is a preprocessor that allows programmers to weave programs and * +%* their documentation together in a single document. The FunnelWeb program * +%* analyses such documents producing both program files and typeset * +%* documentation such as this TeX file. * +%* FunnelWeb was created by Ross Williams. * +%* * +%* For more information on FunnelWeb look in the following FTP archive: * +%* Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. * +%* Directory: ~pub/funnelweb/ * +%* (or some other appropriately named directory). * +%* or email Ross Williams at ross@spam.adelaide.edu.au * +%* * +%******************************************************************************* + + +%===================== Start of FunnelWeb TeX Definitions ====================== + + +% Version +% ------- +% This is FunnelWeb TeX Macro Library Version 1.0. + + +% Copyright +% --------- +% This set of FunnelWeb TeX definitions was written by Ross Williams and was +% originally Copyright (C) 1992 Ross N. Williams. However, I, Ross Williams, +% hereby forego any claim to Copyright in this set of FunnelWeb TeX definitions +% and hereby authorize that the set of TeX definitions pass into the public +% domain. -- Ross N. Williams, 3:41pm 07-May-1992, Adelaide, Australia. + + +% Modification +% ------------ +% Please record all modifications to these TeX definitions here. Unless +% otherwise specified, all modified definitions fall in the public domain too. +% +% Programmers: +% RNW Ross N. Williams ross@spam.adelaide.edu.au +% +% Changes: +% 07-May-1992 RNW Prepared this work for public domain release. +% + + +% General Comments +% ---------------- +% This set of TeX definitions exists for two reasons: +% +% 1. To shorten and neaten the FunnelWeb TeX output. +% 2. To allow users to fiddle with the output format in their input files +% (by inserting redefining "\def"s) without having to resort to +% modifying the FunnelWeb code. +% +% The user is warned that these definitions may be changed from time to time +% (but probably not much). The user should not be too sneaky. In particular, +% users wishing to redefine some of these macros should do so in an explicitly +% defined section at the top of their input file. This will mean that in the +% event of problems, that section can simply be deleted or commented out to +% allow the document to at least be typeset in the default format. Users should +% limit themselves to redefining these macros in such a section and should +% refrain from using the macros throughout their documents. + + +% Environment Parameters +% ---------------------- +% \tolerance tells TeX how tolerant it should be about making bad line and +% page breaks. Here we set it to it's maximum, as +% 1) Computer programs are likely to cause lots of bad breaks. +% 2) In most cases the user would probably rather get the TeX file through +% TeX without any errors than fiddle with spacings for perfection. +\tolerance=10000 + +% I don't like indentation as it makes the page look more busy. Instead, +% paragraphs are separated by a little space (see next). +\parindent=0pt + +% In many cases, users will produce documents with long runs of paragraphs. +% In order to space out these paragraphs, it is convenient to maintain a +% prevailing non-zero \parskip (end-of-paragaph skip). The only trouble is +% that the skip becomes a problem in macro definitions which require no skip +% and so we have to turn the skip on and off. The following two macros +% simplify this process. +\def\fwparskipon{\parskip=\medskipamount} +\def\fwparskipoff{\parskip=0pt} +\fwparskipon + +% Setting raggedbottom allows TeX to leave a bit of space at the bottom of the +% page in order to better vertically align the rest of the page (e.g. skips +% won't stretch as much). It also means that headings are less likely to be +% isolated at the bottom of the page without any following text. +\raggedbottom + + +% Fonts +% ----- +% Most of the typeset output is set in 10pt roman and 10pt tt font. +% The major extra font needs spring from titles and headings. +% For portability's sake we use only the following fonts: +% cmr10 +% cmbx10 +% cmtt10 +% and some enlargements of them. These fonts are all "standard" fonts +% in Plain TeX. See The TeXbook p.350. +\font\fwfontnote=cmr7 + +\font\fwfontnorm=cmr10 +\font\fwfontnorma=cmr10 scaled \magstep1 +\font\fwfontnormb=cmr10 scaled \magstep2 + +\font\fwfontbold=cmbx10 +\font\fwfontbolda=cmbx10 scaled \magstep1 +\font\fwfontboldb=cmbx10 scaled \magstep2 +\font\fwfontboldc=cmbx10 scaled \magstep3 +\font\fwfontboldd=cmbx10 scaled \magstep4 + + +% Macros for Stylistic Details +% ---------------------------- +% This section contains all the fiddly little macros for setting the details +% of each macro definition. + +% Macro definitions are sandwiched by calls to these macros which can be used +% to sort out the spacing before and after the macro definition. +\def\fwbeginmacro{\fwparskipoff\bigskip} +\def\fwendmacro{\fwparskipon\par} + +% These macros deal with the macro name and definition line. +\def\fwmacroname#1#2{{\sl #1\/}$\lbrack$#2$\rbrack$} +\def\fwfilename#1#2{{\bf #1}$\lbrack$#2$\rbrack$} +\def\fwzero#1{{\bf Z}} +\def\fwmany#1{{\bf M}} +\def\fwequals{ $\equiv$} +\def\fwplusequals{ $+\equiv$} + +% Now for the actual body of the definition. It looks nice to have the tt +% code indented a little. Again, we use macros instead of writing direct TeX, +% so as to allow the user to fiddle this stuff to taste without having to +% modify the FunnelWeb C code. +\def\fwodef{\parindent=15pt\vskip0pt$\lbrace$\parindent=20pt} +\def\fwcdef{$\rbrace$\vskip0pt\parindent=0pt} +\def\fwoquote{`} +\def\fwcquote{'} +\def\fwoparen{$($} +\def\fwcomma{$,$} +\def\fwcparen{$)$} +\def\fwparam#1{$\diamond #1$} +\def\fwparams#1{$(\diamond #1)$} + +% These macros deal with the notes that are appended at the end of each +% macro definition. Note that even though \fwisafile,\fwusedin, and \fwseealso +% have the same definition, they are given different names so as to allow the +% user to redefine these macros to typeset each kind of information differently +% if desired. +\def\fwbeginmacronotes{\begingroup\baselineskip=9pt\smallskip} +\def\fwnote#1{{\fwfontnote #1}\par} +\def\fwisafile#1{\fwnote{#1}} +\def\fwusedin#1{\fwnote{#1}} +\def\fwseealso#1{\fwnote{#1}} +\def\fwendmacronotes{\endgroup} + + +% Macros to Typeset Program Code Verbatim +% --------------------------------------- +% This is by far the hairiest and most difficult part of the typesetting task +% because we have to turn off most of TeX's natural instincts in order to +% typeset the program text exactly as it appears in the input file. +% Two macros are defined to pull this off: \fwbtx and \fwverbatimgobble. +% Their code was inspired by the following sections of "The TeXbook": +% Appendix D: Dirty Tricks, 3.Verbatim listing, p.380-382. +% Appendix E: Example Formats, p.421. +% The \fwbtx[ (for "FunnelWeb Begin TeXt") macro does most of the hard work. +% The liberal use of "%" is because I don't understand TeX well enough to +% understand when an end of line will cause trouble, and I am playing it safe. + +% Before defining the main \fwbtx macro, we have to stash away some definitions +% in the hidden part of TeX's environment. Let's hope that these "hidden" +% definitions don't affect anything except what is desired to be affected. + +% The tt font in which we wish to set the text has two Latin lurking ligatures! +% These are ?` and !`. To disable them, we define the left quote when ACTIVE +% to be defined in such a way as to prevent ligatures. The main TeX text will +% normally not be exposed to this definition because normally the leftquote +% character is not active. The \fwbtx macro temporarily makes the left quote +% character active thus activating the deactivation of left quote ligatures. +% See The TeXbook p.381. +{\catcode`\`=\active \gdef`{\relax\lq}} + +% TeX is fairly carefree about spaces and so we have to make it more serious. +% To do so we pull the same trick as above, setting up a definition for active +% space, but only making space active during the span of the verbatim text. +% In Plain TeX the active space is defined to be simply a space, but here we +% define it to be a control space. This ensures that the space cannot +% be gobbled up by one of TeX's mysterious mechanisms when activated. +% See The TeXbook, p.381 and p.352. +{\obeyspaces\global\let =\ } + +% Here is the main \fwbtx verbatim text macro. +% Note: The order in which all these pieces of business have to be done is +% still a partial mystery to me. Don't fiddle with this stuff unless you +% think you know what you are doing. +\def\fwbtx[{% +% +% The funnies involved in getting verbatim output are safely housed inside +% this \begingroup, and the \endgroup in \fwverbatimgobble. Groups are used +% instead of curly braces because we have to be able to signal the end of +% this macro with a curly brace. +\begingroup% +% +% \pars at the end of empty lines in the verbatim text won't come out normally +% because TeX is in vertical mode and they get gobbled up. To prevent this, +% we force \par to exit vertical mode first. See The TeXbook p.381. +\def\par{\leavevmode\endgraf}% +% +% Activate the leftquote character so as to avoid ligatures (see above). +\catcode`\`=\active% +% +% The \obeylines macro simply defines end of line (^M) to be \par. This ensures +% that TeX will treat each verbatim line as a new paragraph. +\obeylines% +% +% To get verbatim output, we have to desex all the special characters. This +% is explained in detail in The TeXbook p.380. +\def\do##1{\catcode`##1=12 }\dospecials% +% +% Activate the space character so as to make TeX treat blanks seriously. +% This activation invokes an eralier definition (see above). +\obeyspaces +% +% Interparagraph skips do not help the cause. +% Note: We have to preserve the indentation though, as the code is actually +% indented in the final output. See \fwodef in an earlier section. +\parskip=0pt% +% +% We typeset the verbatim text in tt font (courier on the Macintosh) for a +% number of reasons: +% - tt font has the same horizontal spacing for each character. +% - tt font covers the ASCII character set. +% - tt font doesn't have many surprises (e.g. ligatures). +% - tt font looks much what you might see on a computer terminal screen. +\tt% +% +% Having set up an environment for verbatim, we are ready to use it. +% By invoking \fwverbatimgobble, this \fwbtx macro gobbles up text verbatim (as +% part of the parameter of \fwverbatimgobble) until it sees the termination +% string "]fwetx=" (the "=" was thrown in to add obscurity as this sequence +% must never occur in the verbatim text). +\fwverbatimgobble} + +% The \fwverbatimgobble macro exists to allow \fwbtx to bracket verbatim text. +\def\fwverbatimgobble#1]fwetx={#1\endgroup} + + +% Table of Contents +% ----------------- +% The five levels of table of contents that FunnelWeb supports are identified +% by the five letters [A..E]. These are used throughout the following macros. + +% The following macros are utilities to the TOC macros to follow. +\def\fwrule{\medskip\hrule\medskip} +\def\fwqh{\hskip1.5em\relax} +\def\fwbeforesec{\penalty-200\bigskip\medskip\par} + +% The following macros are used to typeset the table of contents. +\def\fwtocstart#1{\fwrule\leftline{\fwfontbolda Table of Contents}\fwrule} +\def\fwtoca#1#2{\leftline{{\bf #1 #2}}} +\def\fwtocb#1#2{\leftline{\fwqh #1 #2}} +\def\fwtocc#1#2{\leftline{\fwqh\fwqh #1 #2}} +\def\fwtocd#1#2{\leftline{\fwqh\fwqh\fwqh #1 #2}} +\def\fwtoce#1#2{\leftline{\fwqh\fwqh\fwqh\fwqh #1 #2}} +\def\fwtocfinish#1{\fwrule} + +% The following "library" macros define five different strengths of headings +% which can be used later in the section macros. +\def\fwliba#1#2{\vfill\eject{\fwfontboldc #1 #2}\penalty200\smallskip} +\def\fwlibb#1#2{\fwbeforesec{\fwfontboldb #1 #2}\penalty200\smallskip} +\def\fwlibc#1#2{\fwbeforesec{\fwfontnormb #1 #2}\penalty200\smallskip} +\def\fwlibd#1#2{\fwbeforesec{\bf #1 #2}\penalty200} +\def\fwlibe#1#2{\fwbeforesec{\bf #1 #2}} + +% Here are the macros that actually typeset the section headings throughout +% the document. The fwlib system has been employed so as to easily allow the +% user to redefine the strengths of headings to taste. For example, the +% user could insert in the input document a similar set of definitions to these +% but with the b..e headings set to \fwlibc. This would tone down the output. +\def\fwseca#1#2{\fwliba{#1}{#2}} +\def\fwsecb#1#2{\fwlibb{#1}{#2}} +\def\fwsecc#1#2{\fwlibc{#1}{#2}} +\def\fwsecd#1#2{\fwlibd{#1}{#2}} +\def\fwsece#1#2{\fwlibe{#1}{#2}} + + +% Support for Explicit Typesetting +% -------------------------------- +% FunnelWeb supports pragmas and other constructs that allow +% typesetter-independent typesetting commands to be given. The +% following macros support these features. + +% The in-text literal @{sloth@} and emphasise @[walrus@] features. +\def\fwlit#1{{\tt #1}} +\def\fwemp#1{{\it #1}} + +% The "@p new_page" pragma. +\def\fwnewpage{\vfill\eject} + +% The "@p vskip Nmm" pragma. +\def\fwvskip#1{\null\vskip #1mm} + +% The "@p title <font> <align> <text>" pragma. +\def\fwfontnormal#1{{\fwfontnorm {#1}}} +\def\fwfonttitle#1{{\fwfontboldd {#1}}} +\def\fwfontsmalltitle#1{{\fwfontboldb {#1}}} +\def\fwleftline#1{\leftline{#1}} +\def\fwcenterline#1{\centerline{#1}} +\def\fwrightline#1{\rightline{#1}} + + +% Support for Old FunnelWeb +% ------------------------- +% The following macros were used extensively in the first version of +% FunnelWeb and are retained so that these older input files will still +% typeset cleanly. +\def\p#1{{\tt #1}} % P for Program text. +\def\flagpage#1#2{ + \null + \vfill + \centerline{\fwfontboldd #1} + \vskip 1cm + \centerline{\fwfontboldd #2} + \vfill + \null + \vfill +} + +%====================== End of FunnelWeb TeX Definitions ======================= +EX15: This example demonstrates some of FunnelWeb's generic typesetting + constructs. + +\fwvskip{40} +\fwcenterline{\fwfonttitle{Hairy Wombat}} +\fwcenterline{\fwfonttitle{Simulation}} +\fwvskip{10} +\fwcenterline{\fwfontsmalltitle{A Program in Six Parts}} +\fwcenterline{\fwfontsmalltitle{Simulating the Life of Some Hairy Wombats}} +\fwvskip{20} +\fwleftline{\fwfontnormal{By Zqitzypbuswapzra Ypongtatoslrtzz}} + +\fwnewpage + + +\fwtocstart{} +\fwtoca{1}{Section One} +\fwtoca{2}{Section Two} +\fwtocfinish{} + + +\fwnewpage + + +\fwseca{1}{Section One} +\fwseca{2}{Section Two} + +\fwbeginmacro +\fwfilename{ex15.out}{1}\fwequals \fwodef \fwbtx[Dummy +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwisafile{This macro is attached to an output file.} +\fwendmacronotes +\fwendmacro + +\bye + + +%******************************************************************************* +%* END OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* + diff --git a/web/funnelAC/results/ex16.lis b/web/funnelAC/results/ex16.lis new file mode 100644 index 0000000000..46682a4458 --- /dev/null +++ b/web/funnelAC/results/ex16.lis @@ -0,0 +1,13 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed ex16.out. +Weave: Completed <<Suppressed>>. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/ex16.out b/web/funnelAC/results/ex16.out new file mode 100644 index 0000000000..a3b510afd9 --- /dev/null +++ b/web/funnelAC/results/ex16.out @@ -0,0 +1,18 @@ +with text_io; use text_io; + +procedure example is + n : constant natural := 10; -- How many numbers? (Ans: [1,n]). + p : constant natural := 5; -- How many powers? (Ans: [1,p]). +begin -- example + for i in 1..n loop + declare + ip : natural := 1; + begin + for power in 1..p loop + ip:=ip*i; + put(natural'image(ip) & " "); + end loop; + new_line; + end; + end loop; +end example; diff --git a/web/funnelAC/results/ex16.tex b/web/funnelAC/results/ex16.tex new file mode 100644 index 0000000000..c29b4ce43e --- /dev/null +++ b/web/funnelAC/results/ex16.tex @@ -0,0 +1,448 @@ + +%******************************************************************************* +%* START OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* +%* * +%* This TeX file was automatically generated by the FunnelWeb preprocessor. * +%* You can typeset this file to produce printed documentation by running it * +%* through the TeX typesetter using a command such as: * +%* tex thisfilename * +%* The resultant file thisfilename.dvi can be printed using a command such as: * +%* lpr -Pcslw -d thisfilename.dvi * +%* * +%* FunnelWeb is a preprocessor that allows programmers to weave programs and * +%* their documentation together in a single document. The FunnelWeb program * +%* analyses such documents producing both program files and typeset * +%* documentation such as this TeX file. * +%* FunnelWeb was created by Ross Williams. * +%* * +%* For more information on FunnelWeb look in the following FTP archive: * +%* Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. * +%* Directory: ~pub/funnelweb/ * +%* (or some other appropriately named directory). * +%* or email Ross Williams at ross@spam.adelaide.edu.au * +%* * +%******************************************************************************* + + +%===================== Start of FunnelWeb TeX Definitions ====================== + + +% Version +% ------- +% This is FunnelWeb TeX Macro Library Version 1.0. + + +% Copyright +% --------- +% This set of FunnelWeb TeX definitions was written by Ross Williams and was +% originally Copyright (C) 1992 Ross N. Williams. However, I, Ross Williams, +% hereby forego any claim to Copyright in this set of FunnelWeb TeX definitions +% and hereby authorize that the set of TeX definitions pass into the public +% domain. -- Ross N. Williams, 3:41pm 07-May-1992, Adelaide, Australia. + + +% Modification +% ------------ +% Please record all modifications to these TeX definitions here. Unless +% otherwise specified, all modified definitions fall in the public domain too. +% +% Programmers: +% RNW Ross N. Williams ross@spam.adelaide.edu.au +% +% Changes: +% 07-May-1992 RNW Prepared this work for public domain release. +% + + +% General Comments +% ---------------- +% This set of TeX definitions exists for two reasons: +% +% 1. To shorten and neaten the FunnelWeb TeX output. +% 2. To allow users to fiddle with the output format in their input files +% (by inserting redefining "\def"s) without having to resort to +% modifying the FunnelWeb code. +% +% The user is warned that these definitions may be changed from time to time +% (but probably not much). The user should not be too sneaky. In particular, +% users wishing to redefine some of these macros should do so in an explicitly +% defined section at the top of their input file. This will mean that in the +% event of problems, that section can simply be deleted or commented out to +% allow the document to at least be typeset in the default format. Users should +% limit themselves to redefining these macros in such a section and should +% refrain from using the macros throughout their documents. + + +% Environment Parameters +% ---------------------- +% \tolerance tells TeX how tolerant it should be about making bad line and +% page breaks. Here we set it to it's maximum, as +% 1) Computer programs are likely to cause lots of bad breaks. +% 2) In most cases the user would probably rather get the TeX file through +% TeX without any errors than fiddle with spacings for perfection. +\tolerance=10000 + +% I don't like indentation as it makes the page look more busy. Instead, +% paragraphs are separated by a little space (see next). +\parindent=0pt + +% In many cases, users will produce documents with long runs of paragraphs. +% In order to space out these paragraphs, it is convenient to maintain a +% prevailing non-zero \parskip (end-of-paragaph skip). The only trouble is +% that the skip becomes a problem in macro definitions which require no skip +% and so we have to turn the skip on and off. The following two macros +% simplify this process. +\def\fwparskipon{\parskip=\medskipamount} +\def\fwparskipoff{\parskip=0pt} +\fwparskipon + +% Setting raggedbottom allows TeX to leave a bit of space at the bottom of the +% page in order to better vertically align the rest of the page (e.g. skips +% won't stretch as much). It also means that headings are less likely to be +% isolated at the bottom of the page without any following text. +\raggedbottom + + +% Fonts +% ----- +% Most of the typeset output is set in 10pt roman and 10pt tt font. +% The major extra font needs spring from titles and headings. +% For portability's sake we use only the following fonts: +% cmr10 +% cmbx10 +% cmtt10 +% and some enlargements of them. These fonts are all "standard" fonts +% in Plain TeX. See The TeXbook p.350. +\font\fwfontnote=cmr7 + +\font\fwfontnorm=cmr10 +\font\fwfontnorma=cmr10 scaled \magstep1 +\font\fwfontnormb=cmr10 scaled \magstep2 + +\font\fwfontbold=cmbx10 +\font\fwfontbolda=cmbx10 scaled \magstep1 +\font\fwfontboldb=cmbx10 scaled \magstep2 +\font\fwfontboldc=cmbx10 scaled \magstep3 +\font\fwfontboldd=cmbx10 scaled \magstep4 + + +% Macros for Stylistic Details +% ---------------------------- +% This section contains all the fiddly little macros for setting the details +% of each macro definition. + +% Macro definitions are sandwiched by calls to these macros which can be used +% to sort out the spacing before and after the macro definition. +\def\fwbeginmacro{\fwparskipoff\bigskip} +\def\fwendmacro{\fwparskipon\par} + +% These macros deal with the macro name and definition line. +\def\fwmacroname#1#2{{\sl #1\/}$\lbrack$#2$\rbrack$} +\def\fwfilename#1#2{{\bf #1}$\lbrack$#2$\rbrack$} +\def\fwzero#1{{\bf Z}} +\def\fwmany#1{{\bf M}} +\def\fwequals{ $\equiv$} +\def\fwplusequals{ $+\equiv$} + +% Now for the actual body of the definition. It looks nice to have the tt +% code indented a little. Again, we use macros instead of writing direct TeX, +% so as to allow the user to fiddle this stuff to taste without having to +% modify the FunnelWeb C code. +\def\fwodef{\parindent=15pt\vskip0pt$\lbrace$\parindent=20pt} +\def\fwcdef{$\rbrace$\vskip0pt\parindent=0pt} +\def\fwoquote{`} +\def\fwcquote{'} +\def\fwoparen{$($} +\def\fwcomma{$,$} +\def\fwcparen{$)$} +\def\fwparam#1{$\diamond #1$} +\def\fwparams#1{$(\diamond #1)$} + +% These macros deal with the notes that are appended at the end of each +% macro definition. Note that even though \fwisafile,\fwusedin, and \fwseealso +% have the same definition, they are given different names so as to allow the +% user to redefine these macros to typeset each kind of information differently +% if desired. +\def\fwbeginmacronotes{\begingroup\baselineskip=9pt\smallskip} +\def\fwnote#1{{\fwfontnote #1}\par} +\def\fwisafile#1{\fwnote{#1}} +\def\fwusedin#1{\fwnote{#1}} +\def\fwseealso#1{\fwnote{#1}} +\def\fwendmacronotes{\endgroup} + + +% Macros to Typeset Program Code Verbatim +% --------------------------------------- +% This is by far the hairiest and most difficult part of the typesetting task +% because we have to turn off most of TeX's natural instincts in order to +% typeset the program text exactly as it appears in the input file. +% Two macros are defined to pull this off: \fwbtx and \fwverbatimgobble. +% Their code was inspired by the following sections of "The TeXbook": +% Appendix D: Dirty Tricks, 3.Verbatim listing, p.380-382. +% Appendix E: Example Formats, p.421. +% The \fwbtx[ (for "FunnelWeb Begin TeXt") macro does most of the hard work. +% The liberal use of "%" is because I don't understand TeX well enough to +% understand when an end of line will cause trouble, and I am playing it safe. + +% Before defining the main \fwbtx macro, we have to stash away some definitions +% in the hidden part of TeX's environment. Let's hope that these "hidden" +% definitions don't affect anything except what is desired to be affected. + +% The tt font in which we wish to set the text has two Latin lurking ligatures! +% These are ?` and !`. To disable them, we define the left quote when ACTIVE +% to be defined in such a way as to prevent ligatures. The main TeX text will +% normally not be exposed to this definition because normally the leftquote +% character is not active. The \fwbtx macro temporarily makes the left quote +% character active thus activating the deactivation of left quote ligatures. +% See The TeXbook p.381. +{\catcode`\`=\active \gdef`{\relax\lq}} + +% TeX is fairly carefree about spaces and so we have to make it more serious. +% To do so we pull the same trick as above, setting up a definition for active +% space, but only making space active during the span of the verbatim text. +% In Plain TeX the active space is defined to be simply a space, but here we +% define it to be a control space. This ensures that the space cannot +% be gobbled up by one of TeX's mysterious mechanisms when activated. +% See The TeXbook, p.381 and p.352. +{\obeyspaces\global\let =\ } + +% Here is the main \fwbtx verbatim text macro. +% Note: The order in which all these pieces of business have to be done is +% still a partial mystery to me. Don't fiddle with this stuff unless you +% think you know what you are doing. +\def\fwbtx[{% +% +% The funnies involved in getting verbatim output are safely housed inside +% this \begingroup, and the \endgroup in \fwverbatimgobble. Groups are used +% instead of curly braces because we have to be able to signal the end of +% this macro with a curly brace. +\begingroup% +% +% \pars at the end of empty lines in the verbatim text won't come out normally +% because TeX is in vertical mode and they get gobbled up. To prevent this, +% we force \par to exit vertical mode first. See The TeXbook p.381. +\def\par{\leavevmode\endgraf}% +% +% Activate the leftquote character so as to avoid ligatures (see above). +\catcode`\`=\active% +% +% The \obeylines macro simply defines end of line (^M) to be \par. This ensures +% that TeX will treat each verbatim line as a new paragraph. +\obeylines% +% +% To get verbatim output, we have to desex all the special characters. This +% is explained in detail in The TeXbook p.380. +\def\do##1{\catcode`##1=12 }\dospecials% +% +% Activate the space character so as to make TeX treat blanks seriously. +% This activation invokes an eralier definition (see above). +\obeyspaces +% +% Interparagraph skips do not help the cause. +% Note: We have to preserve the indentation though, as the code is actually +% indented in the final output. See \fwodef in an earlier section. +\parskip=0pt% +% +% We typeset the verbatim text in tt font (courier on the Macintosh) for a +% number of reasons: +% - tt font has the same horizontal spacing for each character. +% - tt font covers the ASCII character set. +% - tt font doesn't have many surprises (e.g. ligatures). +% - tt font looks much what you might see on a computer terminal screen. +\tt% +% +% Having set up an environment for verbatim, we are ready to use it. +% By invoking \fwverbatimgobble, this \fwbtx macro gobbles up text verbatim (as +% part of the parameter of \fwverbatimgobble) until it sees the termination +% string "]fwetx=" (the "=" was thrown in to add obscurity as this sequence +% must never occur in the verbatim text). +\fwverbatimgobble} + +% The \fwverbatimgobble macro exists to allow \fwbtx to bracket verbatim text. +\def\fwverbatimgobble#1]fwetx={#1\endgroup} + + +% Table of Contents +% ----------------- +% The five levels of table of contents that FunnelWeb supports are identified +% by the five letters [A..E]. These are used throughout the following macros. + +% The following macros are utilities to the TOC macros to follow. +\def\fwrule{\medskip\hrule\medskip} +\def\fwqh{\hskip1.5em\relax} +\def\fwbeforesec{\penalty-200\bigskip\medskip\par} + +% The following macros are used to typeset the table of contents. +\def\fwtocstart#1{\fwrule\leftline{\fwfontbolda Table of Contents}\fwrule} +\def\fwtoca#1#2{\leftline{{\bf #1 #2}}} +\def\fwtocb#1#2{\leftline{\fwqh #1 #2}} +\def\fwtocc#1#2{\leftline{\fwqh\fwqh #1 #2}} +\def\fwtocd#1#2{\leftline{\fwqh\fwqh\fwqh #1 #2}} +\def\fwtoce#1#2{\leftline{\fwqh\fwqh\fwqh\fwqh #1 #2}} +\def\fwtocfinish#1{\fwrule} + +% The following "library" macros define five different strengths of headings +% which can be used later in the section macros. +\def\fwliba#1#2{\vfill\eject{\fwfontboldc #1 #2}\penalty200\smallskip} +\def\fwlibb#1#2{\fwbeforesec{\fwfontboldb #1 #2}\penalty200\smallskip} +\def\fwlibc#1#2{\fwbeforesec{\fwfontnormb #1 #2}\penalty200\smallskip} +\def\fwlibd#1#2{\fwbeforesec{\bf #1 #2}\penalty200} +\def\fwlibe#1#2{\fwbeforesec{\bf #1 #2}} + +% Here are the macros that actually typeset the section headings throughout +% the document. The fwlib system has been employed so as to easily allow the +% user to redefine the strengths of headings to taste. For example, the +% user could insert in the input document a similar set of definitions to these +% but with the b..e headings set to \fwlibc. This would tone down the output. +\def\fwseca#1#2{\fwliba{#1}{#2}} +\def\fwsecb#1#2{\fwlibb{#1}{#2}} +\def\fwsecc#1#2{\fwlibc{#1}{#2}} +\def\fwsecd#1#2{\fwlibd{#1}{#2}} +\def\fwsece#1#2{\fwlibe{#1}{#2}} + + +% Support for Explicit Typesetting +% -------------------------------- +% FunnelWeb supports pragmas and other constructs that allow +% typesetter-independent typesetting commands to be given. The +% following macros support these features. + +% The in-text literal @{sloth@} and emphasise @[walrus@] features. +\def\fwlit#1{{\tt #1}} +\def\fwemp#1{{\it #1}} + +% The "@p new_page" pragma. +\def\fwnewpage{\vfill\eject} + +% The "@p vskip Nmm" pragma. +\def\fwvskip#1{\null\vskip #1mm} + +% The "@p title <font> <align> <text>" pragma. +\def\fwfontnormal#1{{\fwfontnorm {#1}}} +\def\fwfonttitle#1{{\fwfontboldd {#1}}} +\def\fwfontsmalltitle#1{{\fwfontboldb {#1}}} +\def\fwleftline#1{\leftline{#1}} +\def\fwcenterline#1{\centerline{#1}} +\def\fwrightline#1{\rightline{#1}} + + +% Support for Old FunnelWeb +% ------------------------- +% The following macros were used extensively in the first version of +% FunnelWeb and are retained so that these older input files will still +% typeset cleanly. +\def\p#1{{\tt #1}} % P for Program text. +\def\flagpage#1#2{ + \null + \vfill + \centerline{\fwfontboldd #1} + \vskip 1cm + \centerline{\fwfontboldd #2} + \vfill + \null + \vfill +} + +%====================== End of FunnelWeb TeX Definitions ======================= + +\fwvskip{40} +\fwcenterline{\fwfonttitle{Powers:}} +\fwcenterline{\fwfonttitle{An Example of}} +\fwcenterline{\fwfonttitle{A Short}} +\fwcenterline{\fwfonttitle{FunnelWeb .fw File}} +\fwvskip{10} +\fwcenterline{\fwfontsmalltitle{by Ross Williams}} +\fwcenterline{\fwfontsmalltitle{26 January 1992}} +\fwvskip{20} + +\fwtocstart{} +\fwtoca{1}{FunnelWeb Example Program} +\fwtocb{1.1}{ex16.out} +\fwtocb{1.2}{Pull in packages} +\fwtocb{1.3}{Write out the first p powers of i on a single line} +\fwtocfinish{} + + +\fwseca{1}{FunnelWeb Example Program} + +This program writes out each of the first \fwlit{p} powers of the first \fwlit{n} +integers. These constant parameters are located here so that they are easy to +change. + +\fwbeginmacro +\fwmacroname{Constants}{1}\fwequals \fwodef \fwbtx[n : constant natural := 10; -- How many numbers? (Ans: [1,n]). +p : constant natural := 5; -- How many powers? (Ans: [1,p]).]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is invoked in definition 2.} +\fwendmacronotes +\fwendmacro + + +\fwsecb{1.1}{ex16.out} Here is the outline of the program. This FunnelWeb file generates a single +Ada output file called \fwlit{Power.ada}. The main program consists of a loop that +iterates once for each number to be written out. + +\fwbeginmacro +\fwfilename{ex16.out}{2}\fwequals \fwodef \fwmacroname{Pull in packages}{3}\fwbtx[ + +procedure example is + ]fwetx=% +\fwmacroname{Constants}{1}\fwbtx[ +begin -- example + for i in 1..n loop + ]fwetx=% +\fwmacroname{Write out the first p powers of i on a single line}{4}\fwbtx[ + end loop; +end example; +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwisafile{This macro is attached to an output file.} +\fwendmacronotes +\fwendmacro + + +\fwsecb{1.2}{Pull in packages} In this section, we pull in the packages that this program needs to run. In +fact, all we need is the IO package so that we can write out the results. To use +the IO package, we first of all need to haul it in (\fwlit{with text\_io}) and then +we need to make all its identifiers visible at the top level (\fwlit{use text\_io}). + +\fwbeginmacro +\fwmacroname{Pull in packages}{3}\fwequals \fwodef \fwbtx[with text_io; use text_io;]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is invoked in definition 2.} +\fwendmacronotes +\fwendmacro + + +\fwsecb{1.3}{Write out the first p powers of i on a single line} Here is the bit that writes out the first \fwlit{p} powers of \fwlit{i}. The power +values are calculated incrementally in \fwlit{ip} to avoid the use of the +exponentiation operator. + +\fwbeginmacro +\fwmacroname{Write out the first p powers of i on a single line}{4}\fwequals \fwodef \fwbtx[declare + ip : natural := 1; +begin + for power in 1..p loop + ip:=ip*i; + put(natural'image(ip) & " "); + end loop; + new_line; +end;]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is invoked in definition 2.} +\fwendmacronotes +\fwendmacro + + +\bye + + +%******************************************************************************* +%* END OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* + diff --git a/web/funnelAC/results/generate.lis b/web/funnelAC/results/generate.lis new file mode 100644 index 0000000000..8588c0fca9 --- /dev/null +++ b/web/funnelAC/results/generate.lis @@ -0,0 +1,15 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed sc06.fw. +Tangle: Completed sc08.fw. +Tangle: Completed sc09.fw. +Tangle: Completed sc13e.fwi. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/hi01.lis b/web/funnelAC/results/hi01.lis new file mode 100644 index 0000000000..58682d7c0d --- /dev/null +++ b/web/funnelAC/results/hi01.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed hi01.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/hi01.out b/web/funnelAC/results/hi01.out new file mode 100644 index 0000000000..9ab646f4ff --- /dev/null +++ b/web/funnelAC/results/hi01.out @@ -0,0 +1,9 @@ + +while the_walrus_is_sleepy do + begin + writeln('zzzzzzz'); + + wake_up_the_walrus(the_walrus); + + writeln('Umpharumpha...'); + end; diff --git a/web/funnelAC/results/hi02.lis b/web/funnelAC/results/hi02.lis new file mode 100644 index 0000000000..2c342e0954 --- /dev/null +++ b/web/funnelAC/results/hi02.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed hi02.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/hi02.out b/web/funnelAC/results/hi02.out new file mode 100644 index 0000000000..d1a9b3e8cf --- /dev/null +++ b/web/funnelAC/results/hi02.out @@ -0,0 +1,6 @@ + +while sloth<walrus loop + assert(sloth<walrus,"AWK! sloth>=walrus!!!!!!!"); + assert(timer<timermax,"AWK! timer>=timermax!!!"); + inc(sloth); +end loop diff --git a/web/funnelAC/results/hi03.lis b/web/funnelAC/results/hi03.lis new file mode 100644 index 0000000000..80014f814d --- /dev/null +++ b/web/funnelAC/results/hi03.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed hi03.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/hi03.out b/web/funnelAC/results/hi03.out new file mode 100644 index 0000000000..5b1b66b552 --- /dev/null +++ b/web/funnelAC/results/hi03.out @@ -0,0 +1,6 @@ + +while sloth<walrus loop + assert(sloth<walrus,"AWK! sloth>=walrus!!!!!!!"); + assert(timer<timermax,"AWK! timer>=timermax!!!"); + inc(sloth); +end loop diff --git a/web/funnelAC/results/hi04.lis b/web/funnelAC/results/hi04.lis new file mode 100644 index 0000000000..c215c0f14b --- /dev/null +++ b/web/funnelAC/results/hi04.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed hi04.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/hi04.out b/web/funnelAC/results/hi04.out new file mode 100644 index 0000000000..7069503f68 --- /dev/null +++ b/web/funnelAC/results/hi04.out @@ -0,0 +1,3 @@ +------- +get_command_line(comline) +------- diff --git a/web/funnelAC/results/hi05.lis b/web/funnelAC/results/hi05.lis new file mode 100644 index 0000000000..422de4e7eb --- /dev/null +++ b/web/funnelAC/results/hi05.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed hi05.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/hi05.out b/web/funnelAC/results/hi05.out new file mode 100644 index 0000000000..d2143079f1 --- /dev/null +++ b/web/funnelAC/results/hi05.out @@ -0,0 +1,7 @@ +Unreadable Postscript code +/print { push pop pop push turn around and jump up and down and print it} def + +Unreadable Postscript code +/zap { push pop pop push turn around and jump up and down and print it} def + +Unreadable Postscript code diff --git a/web/funnelAC/results/hi06.lis b/web/funnelAC/results/hi06.lis new file mode 100644 index 0000000000..e053ffc8bf --- /dev/null +++ b/web/funnelAC/results/hi06.lis @@ -0,0 +1,13 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed hi06a.out. +Tangle: Completed hi06b.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/hi06a.out b/web/funnelAC/results/hi06a.out new file mode 100644 index 0000000000..b6645c6f7d --- /dev/null +++ b/web/funnelAC/results/hi06a.out @@ -0,0 +1,3 @@ +DCL commands +copy printme.txt unixnode:: +DCL commands diff --git a/web/funnelAC/results/hi06b.out b/web/funnelAC/results/hi06b.out new file mode 100644 index 0000000000..d26ba0f49c --- /dev/null +++ b/web/funnelAC/results/hi06b.out @@ -0,0 +1,3 @@ +unix commands +print printme.txt +unix commands diff --git a/web/funnelAC/results/hi07.lis b/web/funnelAC/results/hi07.lis new file mode 100644 index 0000000000..5a23a3ee91 --- /dev/null +++ b/web/funnelAC/results/hi07.lis @@ -0,0 +1,13 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed hi07a.out. +Tangle: Completed hi07b.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/hi07a.out b/web/funnelAC/results/hi07a.out new file mode 100644 index 0000000000..052b1c079a --- /dev/null +++ b/web/funnelAC/results/hi07a.out @@ -0,0 +1,4 @@ +First lump of text shared by both documents. +Text for first document +Second lump of text shared by both documents. + diff --git a/web/funnelAC/results/hi07b.out b/web/funnelAC/results/hi07b.out new file mode 100644 index 0000000000..8c94004628 --- /dev/null +++ b/web/funnelAC/results/hi07b.out @@ -0,0 +1,4 @@ +First lump of text shared by both documents. +Text for second document +Second lump of text shared by both documents. + diff --git a/web/funnelAC/results/hi08.lis b/web/funnelAC/results/hi08.lis new file mode 100644 index 0000000000..e0fa58dddb --- /dev/null +++ b/web/funnelAC/results/hi08.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed hi08.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/hi08.out b/web/funnelAC/results/hi08.out new file mode 100644 index 0000000000..87b344c98f --- /dev/null +++ b/web/funnelAC/results/hi08.out @@ -0,0 +1,8 @@ +1992 ANNUAL REPORT TO Shareholders +================================== +This has been a very good year for The Very Big Corporation of America. +With your help, we have been able to successfully +screw the customers for every cent they have. +With gross earnings approaching six trillion dollars, we have been able to +increase dividends. +We expect to have an even better year next year. diff --git a/web/funnelAC/results/hi09.lis b/web/funnelAC/results/hi09.lis new file mode 100644 index 0000000000..fb069219c0 --- /dev/null +++ b/web/funnelAC/results/hi09.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed hi09.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/hi09.out b/web/funnelAC/results/hi09.out new file mode 100644 index 0000000000..0f7aeebe64 --- /dev/null +++ b/web/funnelAC/results/hi09.out @@ -0,0 +1,98 @@ + +[inherit ('NaryTree'), environment ('NaryTreeSet')] + +module NaryTreeSet; + +type NaryTreeSet = ^NaryTreeSetRecord; + NaryTreeSetRecord = record + Member: NaryTree; + Next: NaryTreeSet; + end; + +procedure NullNaryTreeSet (var Result: NaryTreeSet); +begin new (Result); +Result^.Member := (- MaxInt)::NaryTree; +Result^.Next := nil end; + +function IsNullNaryTreeSet (S: NaryTreeSet): boolean; +begin IsNullNaryTreeSet := S^.Member::integer = - MaxInt end; + +procedure ForEachNaryTree (S: NaryTreeSet; procedure DoIt (i: NaryTree)); +var ThisS, NextS: NaryTreeSet; +begin ThisS := S; +while ThisS^.Member::integer <> - MaxInt do + begin NextS := ThisS^.Next; + DoIt (ThisS^.Member); + ThisS := NextS end; +end; + +function FirstNaryTree (S: NaryTreeSet): NaryTree; +begin FirstNaryTree := S^.Member end; + +function IsNaryTreeInSet (i: NaryTree; S: NaryTreeSet): boolean; + procedure TestEquals (j: NaryTree); + begin if EqualNaryTree (i, j) then IsNaryTreeInSet := true; end; +begin IsNaryTreeInSet := false; ForEachNaryTree (S, TestEquals); end; + +function IncludesNaryTreeSet (S1, S2: NaryTreeSet): boolean; +var Result: boolean; + procedure TestIfInS1 (i: NaryTree); + begin if Result then if not IsNaryTreeInSet (i, S1) then Result := false; end; +begin Result := true; +ForEachNaryTree (S2, TestIfInS1); +IncludesNaryTreeSet := Result end; + +function DisjointNaryTreeSets (S1, S2: NaryTreeSet): boolean; +var Result: boolean; + procedure TestIfInS1 (i: NaryTree); + begin if Result then if IsNaryTreeInSet (i, S1) then Result := false; end; +begin Result := true; +ForEachNaryTree (S2, TestIfInS1); +DisjointNaryTreeSets := Result end; + +function EqualNaryTreeSet (S1, S2: NaryTreeSet): boolean; +begin +EqualNaryTreeSet := IncludesNaryTreeSet (S1, S2) and IncludesNaryTreeSet (S2, S1); +end; + +procedure InsertNaryTree (i: NaryTree; var S: NaryTreeSet); +var This, Pred, Succ: NaryTreeSet; +begin +if not IsNaryTreeInSet (i, S) then + begin + Pred := nil; Succ := S; + while Succ^.Member::integer > i::integer do begin + Pred := Succ; Succ := Succ^.Next end; + if Succ^.Member::integer < i::integer then begin + new (This); This^.Next := Succ; This^.Member := i; + if Pred <> nil then Pred^.Next := This else S := This; + end; + end; +end; + +procedure InsertNaryTrees (S1: NaryTreeSet; var S2: NaryTreeSet); +var This, Pred, Succ: NaryTreeSet; + procedure AddNaryTree (i: NaryTree); + begin InsertNaryTree (i, S2) end; +begin +ForEachNaryTree (S1, AddNaryTree); +end; + +procedure RemoveNaryTree (i: NaryTree; var S: NaryTreeSet); +var Pred, This: NaryTreeSet; +begin +Pred := nil; This := S; +while not EqualNaryTree (This^.Member, i) do begin + Pred := This; This := This^.Next end; +if Pred <> nil then Pred^.Next := This^.Next else S := This^.Next; +Dispose (This); +end; + +procedure DisposeNaryTreeSet (var S: NaryTreeSet); +var Old: NaryTreeSet; +begin +while S <> nil do begin Old := S; S := S^.Next; Dispose (Old) end; +end; + +end. + diff --git a/web/funnelAC/results/hi10.lis b/web/funnelAC/results/hi10.lis new file mode 100644 index 0000000000..fbe12da983 --- /dev/null +++ b/web/funnelAC/results/hi10.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed hi10.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/hi10.out b/web/funnelAC/results/hi10.out new file mode 100644 index 0000000000..a7ec61c0f6 --- /dev/null +++ b/web/funnelAC/results/hi10.out @@ -0,0 +1,23 @@ + +/* Pre: sorted(b). */ +i=1; p=1; +while (i != N) + { + /* Invariant: sorted(b) and 1<=i<=N and */ + /* p is len of longest run in b[1..i]. */ + i++; if (b[i] != b[i-p]) p++; + } +/* Post: sorted(b) and p is the length of the longest run in b[1..N]. */ + + +bool comp(p,q) +char *p,*q; +{ + while (TRUE) + { + if (*p != *q ) return FALSE; + if (*p == '\0') return TRUE; + p++; q++; + } +} + diff --git a/web/funnelAC/results/pr01.lis b/web/funnelAC/results/pr01.lis new file mode 100644 index 0000000000..116c1daef6 --- /dev/null +++ b/web/funnelAC/results/pr01.lis @@ -0,0 +1,544 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 50 52 30 31 3A 20 54 65 73 74 20 74 68 65 20 69 | PR01: Test the i | +| 6E 6C 69 6E 65 20 74 79 70 65 73 65 74 74 69 6E | nline typesettin | +| 67 20 66 65 61 74 75 72 65 73 2E 0A 0A 31 2E 20 | g features...1. | +| 46 69 72 73 74 20 77 65 20 74 65 73 74 20 74 68 | First we test th | +| 65 20 6C 65 67 61 6C 20 75 73 65 20 6F 66 20 74 | e legal use of t | +| 68 65 20 40 7B 6C 69 74 65 72 61 6C 40 7D 20 63 | he @{literal@} c | +| 6F 6E 73 74 72 75 63 74 2E 0A 0A 32 2E 54 65 73 | onstruct...2.Tes | +| 74 20 40 7B 40 7D 20 28 69 6C 6C 65 67 61 6C 29 | t @{@} (illegal) | +| 2E 0A 40 41 40 3C 45 72 72 6F 72 20 52 65 63 6F | ..@A@<Error Reco | +| 76 65 72 79 20 50 6F 69 6E 74 40 3E 0A 0A 33 2E | very Point@>..3. | +| 20 54 65 73 74 20 74 68 65 20 63 6F 6E 73 74 72 | Test the constr | +| 75 63 74 20 40 7B 61 63 72 6F 73 73 0A 20 20 20 | uct @{across. | +| 6D 6F 72 65 20 74 68 61 6E 20 6F 6E 65 20 6C 69 | more than one li | +| 6E 65 40 7D 2E 0A 0A 34 2E 20 4E 6F 77 20 77 65 | ne@}...4. Now we | +| 20 74 65 73 74 20 74 68 65 20 63 6F 6E 73 74 72 | test the constr | +| 75 63 74 20 77 69 74 68 20 6E 6F 6E 2D 74 65 78 | uct with non-tex | +| 74 20 66 6F 6C 6C 6F 77 69 6E 67 20 69 74 2E 0A | t following it.. | +| 20 20 20 40 7B 40 3C 73 6C 6F 74 68 40 3E 40 7D | @{@<sloth@>@} | +| 0A 40 41 40 3C 45 72 72 6F 72 20 52 65 63 6F 76 | .@A@<Error Recov | +| 65 72 79 20 50 6F 69 6E 74 40 3E 0A 20 20 20 40 | ery Point@>. @ | +| 7B 20 20 20 20 20 40 3E 20 20 20 40 7D 0A 40 41 | { @> @}.@A | +| 40 3C 45 72 72 6F 72 20 52 65 63 6F 76 65 72 79 | @<Error Recovery | +| 20 50 6F 69 6E 74 40 3E 0A 0A 35 2E 20 54 65 73 | Point@>..5. Tes | +| 74 20 74 68 65 20 6C 65 67 61 6C 20 75 73 65 20 | t the legal use | +| 6F 66 20 74 68 65 20 40 2F 65 6D 70 68 61 73 69 | of the @/emphasi | +| 73 40 2F 20 63 6F 6E 73 74 72 75 63 74 2E 0A 0A | s@/ construct... | +| 36 2E 54 65 73 74 20 40 2F 40 2F 20 28 69 6C 6C | 6.Test @/@/ (ill | +| 65 67 61 6C 29 2E 0A 40 41 40 3C 45 72 72 6F 72 | egal)..@A@<Error | +| 20 52 65 63 6F 76 65 72 79 20 50 6F 69 6E 74 40 | Recovery Point@ | +| 3E 0A 0A 37 2E 20 54 65 73 74 20 74 68 65 20 63 | >..7. Test the c | +| 6F 6E 73 74 72 75 63 74 20 40 2F 61 63 72 6F 73 | onstruct @/acros | +| 73 0A 20 20 20 6D 6F 72 65 20 74 68 61 6E 20 6F | s. more than o | +| 6E 65 20 6C 69 6E 65 40 2F 2E 0A 0A 38 2E 20 4E | ne line@/...8. N | +| 6F 77 20 77 65 20 74 65 73 74 20 74 68 65 20 63 | ow we test the c | +| 6F 6E 73 74 72 75 63 74 20 77 69 74 68 20 6E 6F | onstruct with no | +| 6E 2D 74 65 78 74 20 66 6F 6C 6C 6F 77 69 6E 67 | n-text following | +| 20 69 74 2E 0A 20 20 20 40 2F 40 3C 73 6C 6F 74 | it.. @/@<slot | +| 68 40 3E 40 2F 0A 40 41 40 3C 45 72 72 6F 72 20 | h@>@/.@A@<Error | +| 52 65 63 6F 76 65 72 79 20 50 6F 69 6E 74 40 3E | Recovery Point@> | +| 0A 20 20 20 40 2F 20 20 20 20 20 40 3C 20 20 20 | . @/ @< | +| 40 2F 0A 0A 0A 0A | @/.... | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| PR01: Test the inline typesetting features.<010> +00002 00002| <010> +00003 00003| 1. First we test the legal use of the @{literal@} construct.<010> +00004 00004| <010> +00005 00005| 2.Test @{@} (illegal).<010> +00006 00006| @A@<Error Recovery Point@><010> +00007 00007| <010> +00008 00008| 3. Test the construct @{across<010> +00009 00009| more than one line@}.<010> +00010 00010| <010> +00011 00011| 4. Now we test the construct with non-text following it.<010> +00012 00012| @{@<sloth@>@}<010> +00013 00013| @A@<Error Recovery Point@><010> +00014 00014| @{ @> @}<010> +00015 00015| @A@<Error Recovery Point@><010> +00016 00016| <010> +00017 00017| 5. Test the legal use of the @/emphasis@/ construct.<010> +00018 00018| <010> +00019 00019| 6.Test @/@/ (illegal).<010> +00020 00020| @A@<Error Recovery Point@><010> +00021 00021| <010> +00022 00022| 7. Test the construct @/across<010> +00023 00023| more than one line@/.<010> +00024 00024| <010> +00025 00025| 8. Now we test the construct with non-text following it.<010> +00026 00026| @/@<sloth@>@/<010> +00027 00027| @A@<Error Recovery Point@><010> +00028 00028| @/ @< @/<010> +00029 00029| <010> +00030 00030| <010> +00031 00031| <010> +00032 00032| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 73 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="PR01: Test the inline typesetting features.<010> +<010> +1. First we test the legal use of the " +0003[39]: @{ Open defn. +0003[41]: Text. Text scrap[Grey]="literal" +0003[48]: @} Close defn. +0003[50]: Text. Text scrap[Grey]=" construct.<010> +<010> +2.Test " +0005[08]: @{ Open defn. +0005[10]: @} Close defn. +0005[12]: Text. Text scrap[Grey]=" (illegal).<010> +" +0006[01]: @A New section (Level 1). +0006[03]: @< Open name. +0006[05]: Text. Text scrap[Grey]="Error Recovery Point" +0006[25]: @> Close name. +0006[27]: Text. Text scrap[Grey]="<010> +<010> +3. Test the construct " +0008[23]: @{ Open defn. +0008[25]: Text. Text scrap[Grey]="across<010> + more than one line" +0009[22]: @} Close defn. +0009[24]: Text. Text scrap[Grey]=".<010> +<010> +4. Now we test the construct with non-text following it.<010> + " +0012[04]: @{ Open defn. +0012[06]: @< Open name. +0012[08]: Text. Text scrap[Grey]="sloth" +0012[13]: @> Close name. +0012[15]: @} Close defn. +0012[17]: Text. Text scrap[White]="<010> +" +0013[01]: @A New section (Level 1). +0013[03]: @< Open name. +0013[05]: Text. Text scrap[Grey]="Error Recovery Point" +0013[25]: @> Close name. +0013[27]: Text. Text scrap[White]="<010> + " +0014[04]: @{ Open defn. +0014[06]: Text. Text scrap[White]=" " +0014[11]: @> Close name. +0014[13]: Text. Text scrap[White]=" " +0014[16]: @} Close defn. +0014[18]: Text. Text scrap[White]="<010> +" +0015[01]: @A New section (Level 1). +0015[03]: @< Open name. +0015[05]: Text. Text scrap[Grey]="Error Recovery Point" +0015[25]: @> Close name. +0015[27]: Text. Text scrap[Grey]="<010> +<010> +5. Test the legal use of the " +0017[30]: @/ Emphasise. +0017[32]: Text. Text scrap[Grey]="emphasis" +0017[40]: @/ Emphasise. +0017[42]: Text. Text scrap[Grey]=" construct.<010> +<010> +6.Test " +0019[08]: @/ Emphasise. +0019[10]: @/ Emphasise. +0019[12]: Text. Text scrap[Grey]=" (illegal).<010> +" +0020[01]: @A New section (Level 1). +0020[03]: @< Open name. +0020[05]: Text. Text scrap[Grey]="Error Recovery Point" +0020[25]: @> Close name. +0020[27]: Text. Text scrap[Grey]="<010> +<010> +7. Test the construct " +0022[23]: @/ Emphasise. +0022[25]: Text. Text scrap[Grey]="across<010> + more than one line" +0023[22]: @/ Emphasise. +0023[24]: Text. Text scrap[Grey]=".<010> +<010> +8. Now we test the construct with non-text following it.<010> + " +0026[04]: @/ Emphasise. +0026[06]: @< Open name. +0026[08]: Text. Text scrap[Grey]="sloth" +0026[13]: @> Close name. +0026[15]: @/ Emphasise. +0026[17]: Text. Text scrap[White]="<010> +" +0027[01]: @A New section (Level 1). +0027[03]: @< Open name. +0027[05]: Text. Text scrap[Grey]="Error Recovery Point" +0027[25]: @> Close name. +0027[27]: Text. Text scrap[White]="<010> + " +0028[04]: @/ Emphasise. +0028[06]: Text. Text scrap[White]=" " +0028[11]: @< Open name. +0028[13]: Text. Text scrap[White]=" " +0028[16]: @/ Emphasise. +0028[18]: Text. Text scrap[White]="<010> +<010> +<010> +<010> +" +0032[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="PR01: Test the inline typesetting features.<010> +<010> +1. First we test the legal use of the " +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Open literal. + +TEXT COMPONENT: Pos(L,C)=(3,41). + +-- Start of Text Scrap List -- +Text scrap[Grey]="literal" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Close literal. + +TEXT COMPONENT: Pos(L,C)=(3,50). + +-- Start of Text Scrap List -- +Text scrap[Grey]=" construct.<010> +<010> +2.Test " +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Open literal. + +TYPESETTER DIRECTIVE COMPONENT: + Section "1", Section name="Error Recovery Point". + +TEXT COMPONENT: Pos(L,C)=(6,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +3. Test the construct " +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Open literal. + +TEXT COMPONENT: Pos(L,C)=(8,25). + +-- Start of Text Scrap List -- +Text scrap[Grey]="across<010> + more than one line" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Close literal. + +TEXT COMPONENT: Pos(L,C)=(9,24). + +-- Start of Text Scrap List -- +Text scrap[Grey]=".<010> +<010> +4. Now we test the construct with non-text following it.<010> + " +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Open literal. + +TYPESETTER DIRECTIVE COMPONENT: + Section "2", Section name="Error Recovery Point". + +TEXT COMPONENT: Pos(L,C)=(13,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> + " +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Open literal. + +TEXT COMPONENT: Pos(L,C)=(14,6). + +-- Start of Text Scrap List -- +Text scrap[White]=" " +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "3", Section name="Error Recovery Point". + +TEXT COMPONENT: Pos(L,C)=(15,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +5. Test the legal use of the " +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Open emphasise. + +TEXT COMPONENT: Pos(L,C)=(17,32). + +-- Start of Text Scrap List -- +Text scrap[Grey]="emphasis" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Close emphasise. + +TEXT COMPONENT: Pos(L,C)=(17,42). + +-- Start of Text Scrap List -- +Text scrap[Grey]=" construct.<010> +<010> +6.Test " +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Open emphasise. + +TYPESETTER DIRECTIVE COMPONENT: + Section "4", Section name="Error Recovery Point". + +TEXT COMPONENT: Pos(L,C)=(20,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +7. Test the construct " +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Open emphasise. + +TEXT COMPONENT: Pos(L,C)=(22,25). + +-- Start of Text Scrap List -- +Text scrap[Grey]="across<010> + more than one line" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Close emphasise. + +TEXT COMPONENT: Pos(L,C)=(23,24). + +-- Start of Text Scrap List -- +Text scrap[Grey]=".<010> +<010> +8. Now we test the construct with non-text following it.<010> + " +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Open emphasise. + +TYPESETTER DIRECTIVE COMPONENT: + Section "5", Section name="Error Recovery Point". + +TEXT COMPONENT: Pos(L,C)=(27,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> + " +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Open emphasise. + +TEXT COMPONENT: Pos(L,C)=(28,6). + +-- Start of Text Scrap List -- +Text scrap[White]=" " +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| PR01: Test the inline typesetting features. + 2 2| + 3 3| 1. First we test the legal use of the @{literal@} construct. + 4 4| + 5 5| 2.Test @{@} (illegal). + Error|..........^Text expected after open literal token "@{". + |..........^Sorry, empty literal strings are not allowed. + |..........^Skipping after error to the next major construct... + 6 6| @A@<Error Recovery Point@> + |.^...skipped to here after the error. + 7 7| + 8 8| 3. Test the construct @{across + 9 9| more than one line@}. + 10 10| + 11 11| 4. Now we test the construct with non-text following it. + 12 12| @{@<sloth@>@} + Error|......^Text expected after open literal token "@{". + |......^Skipping after error to the next major construct... + 13 13| @A@<Error Recovery Point@> + |.^...skipped to here after the error. + 14 14| @{ @> @} + Error|...........^Expecting '@}'. + |...........^Skipping after error to the next major construct... + 15 15| @A@<Error Recovery Point@> + |.^...skipped to here after the error. + 16 16| + 17 17| 5. Test the legal use of the @/emphasis@/ construct. + 18 18| + 19 19| 6.Test @/@/ (illegal). + Error|..........^Text expected after open emphasise token "@/". + |..........^Sorry, empty emphasised strings are not allowed. + |..........^Skipping after error to the next major construct... + 20 20| @A@<Error Recovery Point@> + |.^...skipped to here after the error. + 21 21| + 22 22| 7. Test the construct @/across + 23 23| more than one line@/. + 24 24| + 25 25| 8. Now we test the construct with non-text following it. + 26 26| @/@<sloth@>@/ + Error|......^Text expected after open emphasise token "@/". + |......^Skipping after error to the next major construct... + 27 27| @A@<Error Recovery Point@> + |.^...skipped to here after the error. + 28 28| @/ @< @/ + Error|...........^Expecting '@/'. + |...........^Skipping after error to the next major construct... + 29 29| + 30 30| + 31 31| + | <End-Of-File> + |.^...skipped to here after the error. +------------+------------------------------------------------------------------- + +There were 6 Errors. diff --git a/web/funnelAC/results/pr02.lis b/web/funnelAC/results/pr02.lis new file mode 100644 index 0000000000..5051dfb106 --- /dev/null +++ b/web/funnelAC/results/pr02.lis @@ -0,0 +1,249 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 50 52 30 32 3A 20 54 65 73 74 20 74 68 65 20 70 | PR02: Test the p | +| 61 72 73 69 6E 67 20 6F 66 20 74 79 70 65 73 65 | arsing of typese | +| 74 74 65 72 20 64 69 72 65 63 74 69 76 65 73 2E | tter directives. | +| 0A 0A 31 2E 20 54 65 73 74 20 70 61 72 73 69 6E | ..1. Test parsin | +| 67 20 6F 66 20 6E 65 77 20 70 61 67 65 20 64 69 | g of new page di | +| 72 65 63 74 69 76 65 2E 0A 40 74 20 6E 65 77 5F | rective..@t new_ | +| 70 61 67 65 0A 0A 32 2E 20 54 65 73 74 20 70 61 | page..2. Test pa | +| 72 73 69 6E 67 20 6F 66 20 74 61 62 6C 65 20 6F | rsing of table o | +| 66 20 63 6F 6E 74 65 6E 74 73 20 64 69 72 65 63 | f contents direc | +| 74 69 76 65 2E 0A 40 74 20 74 61 62 6C 65 5F 6F | tive..@t table_o | +| 66 5F 63 6F 6E 74 65 6E 74 73 0A 0A 33 2E 20 54 | f_contents..3. T | +| 65 73 74 20 70 61 72 73 69 6E 67 20 6F 66 20 76 | est parsing of v | +| 73 6B 69 70 20 64 69 72 65 63 74 69 76 65 2E 0A | skip directive.. | +| 40 74 20 76 73 6B 69 70 20 33 32 20 6D 6D 0A 0A | @t vskip 32 mm.. | +| 34 2E 20 54 65 73 74 20 70 61 72 73 69 6E 67 20 | 4. Test parsing | +| 6F 66 20 74 69 74 6C 65 20 64 69 72 65 63 74 69 | of title directi | +| 76 65 2E 0A 40 74 20 74 69 74 6C 65 20 74 69 74 | ve..@t title tit | +| 6C 65 66 6F 6E 74 20 6C 65 66 74 20 22 53 6C 6F | lefont left "Slo | +| 74 68 22 0A 0A | th".. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| PR02: Test the parsing of typesetter directives.<010> +00002 00002| <010> +00003 00003| 1. Test parsing of new page directive.<010> +00004 00004| @t new_page<010> +00005 00005| <010> +00006 00006| 2. Test parsing of table of contents directive.<010> +00007 00007| @t table_of_contents<010> +00008 00008| <010> +00009 00009| 3. Test parsing of vskip directive.<010> +00010 00010| @t vskip 32 mm<010> +00011 00011| <010> +00012 00012| 4. Test parsing of title directive.<010> +00013 00013| @t title titlefont left "Sloth"<010> +00014 00014| <010> +00015 00015| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 10 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="PR02: Test the parsing of typesetter directives.<010> +<010> +1. Test parsing of new page directive.<010> +" +0004[01]: @t.. Newpage. +0005[01]: Text. Text scrap[Grey]="<010> +2. Test parsing of table of contents directive.<010> +" +0007[01]: @t.. TOC. +0008[01]: Text. Text scrap[Grey]="<010> +3. Test parsing of vskip directive.<010> +" +0010[01]: @t.. Vertical skip. Vertical space skipped=32mm. +0011[01]: Text. Text scrap[Grey]="<010> +4. Test parsing of title directive.<010> +" +0013[01]: @t.. Title. Font=Title, Alignment=Left. Title text follows: +Text scrap[Grey]="Sloth" +0014[01]: Text. Text scrap[White]="<010> +" +0015[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="PR02: Test the parsing of typesetter directives.<010> +<010> +1. Test parsing of new page directive.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: New page. + +TEXT COMPONENT: Pos(L,C)=(5,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +2. Test parsing of table of contents directive.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Table of contents. + +TEXT COMPONENT: Pos(L,C)=(8,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +3. Test parsing of vskip directive.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Vertical skip by 32 mm. + +TEXT COMPONENT: Pos(L,C)=(11,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +4. Test parsing of title directive.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: Font=Title, Alignment=Left. Title text follows: +Text scrap[Grey]="Sloth" + +TEXT COMPONENT: Pos(L,C)=(14,1). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + +E: No output files specified. + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +There was 1 Error. diff --git a/web/funnelAC/results/pr03.lis b/web/funnelAC/results/pr03.lis new file mode 100644 index 0000000000..76b9388f30 --- /dev/null +++ b/web/funnelAC/results/pr03.lis @@ -0,0 +1,557 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 50 52 30 33 3A 20 54 65 73 74 20 74 68 65 20 70 | PR03: Test the p | +| 61 72 73 69 6E 67 20 61 6E 64 20 73 65 6D 61 6E | arsing and seman | +| 74 69 63 73 20 6F 66 20 73 65 63 74 69 6F 6E 73 | tics of sections | +| 2E 0A 0A 34 2E 20 54 65 73 74 20 66 69 72 73 74 | ...4. Test first | +| 20 73 65 63 74 69 6F 6E 20 6F 66 20 64 6F 63 75 | section of docu | +| 6D 65 6E 74 20 69 73 20 6E 6F 74 20 3C 73 70 65 | ment is not <spe | +| 63 69 61 6C 3E 41 2E 0A 40 42 40 3C 54 68 69 73 | cial>A..@B@<This | +| 20 73 65 63 74 69 6F 6E 20 69 73 20 6F 75 74 20 | section is out | +| 6F 66 20 6F 72 64 65 72 20 28 61 6E 64 20 73 6F | of order (and so | +| 20 69 73 20 74 68 69 73 20 74 65 73 74 21 29 40 | is this test!)@ | +| 3E 0A 0A 31 2E 20 54 65 73 74 20 73 65 63 74 69 | >..1. Test secti | +| 6F 6E 20 77 69 74 68 20 6E 6F 20 6E 61 6D 65 2E | on with no name. | +| 0A 40 41 20 54 68 69 73 20 73 65 63 74 69 6F 6E | .@A This section | +| 20 68 61 73 20 6E 6F 20 6E 61 6D 65 2E 0A 40 24 | has no name..@$ | +| 40 3C 54 68 65 20 73 65 63 74 69 6F 6E 20 6E 61 | @<The section na | +| 6D 65 20 69 6E 68 65 72 69 74 73 20 74 68 65 20 | me inherits the | +| 6E 61 6D 65 20 6F 66 20 74 68 69 73 20 6D 61 63 | name of this mac | +| 72 6F 40 3E 40 7B 57 61 6C 72 75 73 40 7D 0A 0A | ro@>@{Walrus@}.. | +| 32 2E 20 54 65 73 74 20 73 65 63 74 69 6F 6E 20 | 2. Test section | +| 77 69 74 68 20 61 20 6E 61 6D 65 0A 40 41 40 3C | with a name.@A@< | +| 54 68 69 73 20 73 65 63 74 69 6F 6E 20 68 61 73 | This section has | +| 20 6E 6F 20 6E 61 6D 65 2E 40 3E 0A 0A 33 2E 20 | no name.@>..3. | +| 54 65 73 74 20 74 68 65 20 65 6E 74 69 72 65 20 | Test the entire | +| 68 69 65 72 61 72 63 68 79 2E 0A 40 41 40 3C 4F | hierarchy..@A@<O | +| 6E 65 40 3E 0A 40 42 40 3C 54 77 6F 40 3E 0A 40 | ne@>.@B@<Two@>.@ | +| 43 40 3C 54 68 72 65 65 40 3E 0A 40 44 40 3C 46 | C@<Three@>.@D@<F | +| 6F 75 72 40 3E 0A 40 45 40 3C 46 69 76 65 40 3E | our@>.@E@<Five@> | +| 0A 0A 35 2E 20 54 65 73 74 20 64 65 74 65 63 74 | ..5. Test detect | +| 69 6F 6E 20 6F 66 20 64 69 73 63 6F 6E 74 69 6E | ion of discontin | +| 75 69 74 79 20 69 6E 20 6C 65 76 65 6C 73 2E 0A | uity in levels.. | +| 40 41 40 3C 4F 6E 65 40 3E 0A 40 43 40 3C 54 68 | @A@<One@>.@C@<Th | +| 72 65 65 40 3E 0A 40 45 40 3C 46 69 76 65 40 3E | ree@>.@E@<Five@> | +| 0A 0A 40 41 40 3C 4F 6E 65 40 3E 0A 40 42 40 3C | ..@A@<One@>.@B@< | +| 54 68 72 65 65 40 3E 0A 40 44 40 3C 46 69 76 65 | Three@>.@D@<Five | +| 40 3E 0A | @>. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| PR03: Test the parsing and semantics of sections.<010> +00002 00002| <010> +00003 00003| 4. Test first section of document is not <special>A.<010> +00004 00004| @B@<This section is out of order (and so is this test!)@><010> +00005 00005| <010> +00006 00006| 1. Test section with no name.<010> +00007 00007| @A This section has no name.<010> +00008 00008| @$@<The section name inherits the name of this macro@>@{Walrus@}<010> +00009 00009| <010> +00010 00010| 2. Test section with a name<010> +00011 00011| @A@<This section has no name.@><010> +00012 00012| <010> +00013 00013| 3. Test the entire hierarchy.<010> +00014 00014| @A@<One@><010> +00015 00015| @B@<Two@><010> +00016 00016| @C@<Three@><010> +00017 00017| @D@<Four@><010> +00018 00018| @E@<Five@><010> +00019 00019| <010> +00020 00020| 5. Test detection of discontinuity in levels.<010> +00021 00021| @A@<One@><010> +00022 00022| @C@<Three@><010> +00023 00023| @E@<Five@><010> +00024 00024| <010> +00025 00025| @A@<One@><010> +00026 00026| @B@<Three@><010> +00027 00027| @D@<Five@><010> +00028 00028| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 77 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="PR03: Test the parsing and semantics of sections.<010> +<010> +4. Test first section of document is not <special>A.<010> +" +0004[01]: @B New section (Level 2). +0004[03]: @< Open name. +0004[05]: Text. Text scrap[Grey]="This section is out of order (and so is this test!)" +0004[56]: @> Close name. +0004[58]: Text. Text scrap[Grey]="<010> +<010> +1. Test section with no name.<010> +" +0007[01]: @A New section (Level 1). +0007[03]: Text. Text scrap[Grey]=" This section has no name.<010> +" +0008[01]: @$ Macro defn. +0008[03]: @< Open name. +0008[05]: Text. Text scrap[Grey]="The section name inherits the name of this macro" +0008[53]: @> Close name. +0008[55]: @{ Open defn. +0008[57]: Text. Text scrap[Grey]="Walrus" +0008[63]: @} Close defn. +0008[65]: Text. Text scrap[Grey]="<010> +<010> +2. Test section with a name<010> +" +0011[01]: @A New section (Level 1). +0011[03]: @< Open name. +0011[05]: Text. Text scrap[Grey]="This section has no name." +0011[30]: @> Close name. +0011[32]: Text. Text scrap[Grey]="<010> +<010> +3. Test the entire hierarchy.<010> +" +0014[01]: @A New section (Level 1). +0014[03]: @< Open name. +0014[05]: Text. Text scrap[Grey]="One" +0014[08]: @> Close name. +0014[10]: Text. Text scrap[White]="<010> +" +0015[01]: @B New section (Level 2). +0015[03]: @< Open name. +0015[05]: Text. Text scrap[Grey]="Two" +0015[08]: @> Close name. +0015[10]: Text. Text scrap[White]="<010> +" +0016[01]: @C New section (Level 3). +0016[03]: @< Open name. +0016[05]: Text. Text scrap[Grey]="Three" +0016[10]: @> Close name. +0016[12]: Text. Text scrap[White]="<010> +" +0017[01]: @D New section (Level 4). +0017[03]: @< Open name. +0017[05]: Text. Text scrap[Grey]="Four" +0017[09]: @> Close name. +0017[11]: Text. Text scrap[White]="<010> +" +0018[01]: @E New section (Level 5). +0018[03]: @< Open name. +0018[05]: Text. Text scrap[Grey]="Five" +0018[09]: @> Close name. +0018[11]: Text. Text scrap[Grey]="<010> +<010> +5. Test detection of discontinuity in levels.<010> +" +0021[01]: @A New section (Level 1). +0021[03]: @< Open name. +0021[05]: Text. Text scrap[Grey]="One" +0021[08]: @> Close name. +0021[10]: Text. Text scrap[White]="<010> +" +0022[01]: @C New section (Level 3). +0022[03]: @< Open name. +0022[05]: Text. Text scrap[Grey]="Three" +0022[10]: @> Close name. +0022[12]: Text. Text scrap[White]="<010> +" +0023[01]: @E New section (Level 5). +0023[03]: @< Open name. +0023[05]: Text. Text scrap[Grey]="Five" +0023[09]: @> Close name. +0023[11]: Text. Text scrap[White]="<010> +<010> +" +0025[01]: @A New section (Level 1). +0025[03]: @< Open name. +0025[05]: Text. Text scrap[Grey]="One" +0025[08]: @> Close name. +0025[10]: Text. Text scrap[White]="<010> +" +0026[01]: @B New section (Level 2). +0026[03]: @< Open name. +0026[05]: Text. Text scrap[Grey]="Three" +0026[10]: @> Close name. +0026[12]: Text. Text scrap[White]="<010> +" +0027[01]: @D New section (Level 4). +0027[03]: @< Open name. +0027[05]: Text. Text scrap[Grey]="Five" +0027[09]: @> Close name. +0027[11]: Text. Text scrap[White]="<010> +" +0028[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "The section name inherits the name of this macro" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=1, Pos(L,C)=(8,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="PR03: Test the parsing and semantics of sections.<010> +<010> +4. Test first section of document is not <special>A.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "1.2", Section name="This section is out of order (and so is this test!)". + +TEXT COMPONENT: Pos(L,C)=(4,58). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +1. Test section with no name.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "2", Section name="The section name inherits the name of this macro". + +TEXT COMPONENT: Pos(L,C)=(7,3). + +-- Start of Text Scrap List -- +Text scrap[Grey]=" This section has no name.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(8,1). +Part 1 of macro @<The section name inherits the name of this macro@>. + +TEXT COMPONENT: Pos(L,C)=(8,65). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +2. Test section with a name<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "3", Section name="This section has no name.". + +TEXT COMPONENT: Pos(L,C)=(11,32). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +3. Test the entire hierarchy.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "4", Section name="One". + +TEXT COMPONENT: Pos(L,C)=(14,10). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "4.1", Section name="Two". + +TEXT COMPONENT: Pos(L,C)=(15,10). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "4.1.1", Section name="Three". + +TEXT COMPONENT: Pos(L,C)=(16,12). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "4.1.1.1", Section name="Four". + +TEXT COMPONENT: Pos(L,C)=(17,11). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "4.1.1.1.1", Section name="Five". + +TEXT COMPONENT: Pos(L,C)=(18,11). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +5. Test detection of discontinuity in levels.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "5", Section name="One". + +TEXT COMPONENT: Pos(L,C)=(21,10). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "1.1.2", Section name="Three". + +TEXT COMPONENT: Pos(L,C)=(22,12). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "1.1.1.1.2", Section name="Five". + +TEXT COMPONENT: Pos(L,C)=(23,11). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "2", Section name="One". + +TEXT COMPONENT: Pos(L,C)=(25,10). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "2.1", Section name="Three". + +TEXT COMPONENT: Pos(L,C)=(26,12). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "1.1.1.2", Section name="Five". + +TEXT COMPONENT: Pos(L,C)=(27,11). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| PR03: Test the parsing and semantics of sections. + 2 2| + 3 3| 4. Test first section of document is not <special>A. + 4 4| @B@<This section is out of order (and so is this test!)@> + Error|.^The first section in a document must be an @A section. + 5 5| + 6 6| 1. Test section with no name. + 7 7| @A This section has no name. + 8 8| @$@<The section name inherits the name of this macro@>@{Walrus@} + 9 9| + 10 10| 2. Test section with a name + 11 11| @A@<This section has no name.@> + 12 12| + 13 13| 3. Test the entire hierarchy. + 14 14| @A@<One@> + 15 15| @B@<Two@> + 16 16| @C@<Three@> + 17 17| @D@<Four@> + 18 18| @E@<Five@> + 19 19| + 20 20| 5. Test detection of discontinuity in levels. + 21 21| @A@<One@> + |.^The next section (at line 22) is too deep. + 22 22| @C@<Three@> + Error|.^This section is more than one level deeper than the last + |.^section (at line 21). Example: @B followed by @D is not allowed. + |.^The next section (at line 23) is too deep. + 23 23| @E@<Five@> + Error|.^This section is more than one level deeper than the last + |.^section (at line 22). Example: @B followed by @D is not allowed. + 24 24| + 25 25| @A@<One@> + 26 26| @B@<Three@> + |.^The next section (at line 27) is too deep. + 27 27| @D@<Five@> + Error|.^This section is more than one level deeper than the last + |.^section (at line 26). Example: @B followed by @D is not allowed. + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 4 Errors. diff --git a/web/funnelAC/results/pr04.lis b/web/funnelAC/results/pr04.lis new file mode 100644 index 0000000000..38d0680caf --- /dev/null +++ b/web/funnelAC/results/pr04.lis @@ -0,0 +1,751 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 50 52 30 34 3A 20 54 65 73 74 20 74 68 65 20 64 | PR04: Test the d | +| 65 66 69 6E 69 74 69 6F 6E 20 6F 66 20 6F 72 64 | efinition of ord | +| 69 6E 61 72 79 20 6D 61 63 72 6F 73 2E 0A 0A 31 | inary macros...1 | +| 2E 20 54 65 73 74 20 61 6E 20 6F 72 64 69 6E 61 | . Test an ordina | +| 72 79 20 6D 61 63 72 6F 20 64 65 66 69 6E 69 74 | ry macro definit | +| 69 6F 6E 2E 0A 40 24 40 3C 4F 72 64 69 6E 61 72 | ion..@$@<Ordinar | +| 79 40 3E 40 7B 54 68 65 20 74 65 78 74 20 6F 66 | y@>@{The text of | +| 20 6F 72 64 69 6E 61 72 79 40 7D 0A 0A 32 2E 20 | ordinary@}..2. | +| 54 65 73 74 20 61 6E 20 6F 72 64 69 6E 61 72 79 | Test an ordinary | +| 20 64 65 66 69 6E 69 74 69 6F 6E 20 75 73 69 6E | definition usin | +| 67 20 61 20 71 75 69 63 6B 6E 61 6D 65 2E 0A 40 | g a quickname..@ | +| 24 40 23 7C 40 7B 54 68 65 20 74 65 78 74 20 6F | $@#|@{The text o | +| 66 20 6F 72 64 69 6E 61 72 79 40 7D 0A 0A 33 2E | f ordinary@}..3. | +| 20 54 65 73 74 20 61 20 6E 61 6D 65 20 74 68 61 | Test a name tha | +| 74 20 69 6E 63 6C 75 64 65 73 20 45 4F 4C 2E 0A | t includes EOL.. | +| 40 24 40 3C 54 68 69 73 20 6E 61 6D 65 20 69 73 | @$@<This name is | +| 20 69 6C 6C 65 67 61 6C 20 62 65 63 61 75 73 65 | illegal because | +| 0A 69 74 20 63 72 6F 73 73 65 73 20 61 20 6C 69 | .it crosses a li | +| 6F 6E 40 3E 40 7B 41 6E 64 20 70 65 6F 70 6C 65 | on@>@{And people | +| 20 77 68 6F 20 63 72 6F 73 73 20 6C 69 6F 6E 73 | who cross lions | +| 20 74 65 6E 64 20 74 6F 20 67 65 74 20 65 61 74 | tend to get eat | +| 65 6E 2E 40 7D 0A 40 41 40 3C 45 72 72 6F 72 20 | en.@}.@A@<Error | +| 52 65 63 6F 76 65 72 79 20 50 6F 69 6E 74 40 3E | Recovery Point@> | +| 0A 0A 34 2E 20 54 65 73 74 20 74 68 65 20 6D 69 | ..4. Test the mi | +| 6E 69 6D 75 6D 20 6C 65 6E 67 74 68 20 6E 61 6D | nimum length nam | +| 65 20 28 74 68 65 20 65 6D 70 74 79 20 6E 61 6D | e (the empty nam | +| 65 29 2E 0A 40 24 40 3C 40 3E 40 7B 54 68 65 20 | e)..@$@<@>@{The | +| 65 6D 70 74 79 20 6D 61 63 72 6F 20 6E 61 6D 65 | empty macro name | +| 20 69 73 20 71 75 69 74 65 20 6C 65 67 61 6C 20 | is quite legal | +| 69 6E 20 46 75 6E 6E 65 6C 57 65 62 2E 40 7D 0A | in FunnelWeb.@}. | +| 0A 35 2E 20 54 65 73 74 20 61 20 6E 61 6D 65 20 | .5. Test a name | +| 61 74 20 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E | at the maximum n | +| 61 6D 65 20 6C 65 6E 67 74 68 20 6C 69 6D 69 74 | ame length limit | +| 20 28 38 30 29 2E 0A 4F 4E 6C 79 20 74 68 65 20 | (80)..ONly the | +| 73 65 63 6F 6E 64 20 6F 66 20 74 68 65 20 74 77 | second of the tw | +| 6F 20 6D 61 63 72 6F 73 20 73 68 6F 75 6C 64 20 | o macros should | +| 67 65 6E 65 72 61 74 65 20 61 6E 20 65 72 72 6F | generate an erro | +| 72 2E 0A 40 70 20 6D 61 78 69 6D 75 6D 5F 69 6E | r..@p maximum_in | +| 70 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 74 68 20 | put_line_length | +| 3D 20 31 30 30 0A 40 24 40 3C 31 32 33 34 35 36 | = 100.@$@<123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 40 3E 40 7B 40 7D | 1234567890@>@{@} | +| 0A 40 24 40 3C 31 32 33 34 35 36 37 38 39 30 31 | .@$@<12345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 40 3E 40 7B 40 7D 0A 40 41 40 | 678901@>@{@}.@A@ | +| 3C 45 72 72 6F 72 20 52 65 63 6F 76 65 72 79 20 | <Error Recovery | +| 50 6F 69 6E 74 40 3E 0A 0A 36 2E 20 54 65 73 74 | Point@>..6. Test | +| 20 6E 61 6D 65 73 20 77 69 74 68 20 61 6C 6C 20 | names with all | +| 6C 65 67 61 6C 20 63 68 61 72 61 63 74 65 72 73 | legal characters | +| 2E 20 54 68 65 72 65 20 73 68 6F 75 6C 64 20 62 | . There should b | +| 65 20 6E 6F 20 65 72 72 6F 72 73 2E 0A 40 24 40 | e no errors..@$@ | +| 3C 20 21 22 23 24 25 27 28 29 2A 2B 2C 2D 2E 2F | < !"#$%'()*+,-./ | +| 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F | 0123456789:;<=>? | +| 40 3E 40 7B 40 7D 0A 40 24 40 3C 41 42 43 44 45 | @>@{@}.@$@<ABCDE | +| 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 | FGHIJKLMNOPQRSTU | +| 56 57 58 59 5A 5B 5C 5D 5E 5F 60 40 3E 40 7B 40 | VWXYZ[\]^_`@>@{@ | +| 7D 0A 40 24 40 3C 61 62 63 64 65 66 67 68 69 6A | }.@$@<abcdefghij | +| 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A | klmnopqrstuvwxyz | +| 7B 7C 7D 7E 40 3E 40 7B 40 7D 0A 0A 37 2E 20 54 | {|}~@>@{@}..7. T | +| 65 73 74 20 61 20 6E 61 6D 65 20 74 68 61 74 20 | est a name that | +| 68 61 73 20 69 6E 73 65 72 74 65 64 20 74 65 78 | has inserted tex | +| 74 20 73 65 71 75 65 6E 63 65 73 2E 0A 0A 40 24 | t sequences...@$ | +| 40 3C 40 5E 44 28 30 36 35 29 40 40 40 3E 3D 3D | @<@^D(065)@@@>== | +| 40 7B 40 7D 0A 0A 0A | @{@}... | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| PR04: Test the definition of ordinary macros.<010> +00002 00002| <010> +00003 00003| 1. Test an ordinary macro definition.<010> +00004 00004| @$@<Ordinary@>@{The text of ordinary@}<010> +00005 00005| <010> +00006 00006| 2. Test an ordinary definition using a quickname.<010> +00007 00007| @$@#|@{The text of ordinary@}<010> +00008 00008| <010> +00009 00009| 3. Test a name that includes EOL.<010> +00010 00010| @$@<This name is illegal because<010> +00011 00011| it crosses a lion@>@{And people who cross lions tend to get eaten.@}<010> +00012 00012| @A@<Error Recovery Point@><010> +00013 00013| <010> +00014 00014| 4. Test the minimum length name (the empty name).<010> +00015 00015| @$@<@>@{The empty macro name is quite legal in FunnelWeb.@}<010> +00016 00016| <010> +00017 00017| 5. Test a name at the maximum name length limit (80).<010> +00018 00018| ONly the second of the two macros should generate an error.<010> +00019 00019| @p maximum_input_line_length = 100<010> +00020 00020| @$@<12345678901234567890123456789012345678901234567890123456789012345678901234567890@>@{@}<010> +00021 00021| @$@<123456789012345678901234567890123456789012345678901234567890123456789012345678901@>@{@}<010> +00022 00022| @A@<Error Recovery Point@><010> +00023 00023| <010> +00024 00024| 6. Test names with all legal characters. There should be no errors.<010> +00025 00025| @$@< !"#$%'()*+,-./0123456789:;<=>?@>@{@}<010> +00026 00026| @$@<ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`@>@{@}<010> +00027 00027| @$@<abcdefghijklmnopqrstuvwxyz{|}~@>@{@}<010> +00028 00028| <010> +00029 00029| 7. Test a name that has inserted text sequences.<010> +00030 00030| <010> +00031 00031| @$@<@^D(065)@@@>==@{@}<010> +00032 00032| <010> +00033 00033| <010> +00034 00034| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 85 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="PR04: Test the definition of ordinary macros.<010> +<010> +1. Test an ordinary macro definition.<010> +" +0004[01]: @$ Macro defn. +0004[03]: @< Open name. +0004[05]: Text. Text scrap[Grey]="Ordinary" +0004[13]: @> Close name. +0004[15]: @{ Open defn. +0004[17]: Text. Text scrap[Grey]="The text of ordinary" +0004[37]: @} Close defn. +0004[39]: Text. Text scrap[Grey]="<010> +<010> +2. Test an ordinary definition using a quickname.<010> +" +0007[01]: @$ Macro defn. +0007[03]: @# Name. Character='|'. +0007[06]: @{ Open defn. +0007[08]: Text. Text scrap[Grey]="The text of ordinary" +0007[28]: @} Close defn. +0007[30]: Text. Text scrap[Grey]="<010> +<010> +3. Test a name that includes EOL.<010> +" +0010[01]: @$ Macro defn. +0010[03]: @< Open name. +0010[05]: Text. Text scrap[Grey]="This name is illegal because<010> +it crosses a lion" +0011[18]: @> Close name. +0011[20]: @{ Open defn. +0011[22]: Text. Text scrap[Grey]="And people who cross lions tend to get eaten." +0011[67]: @} Close defn. +0011[69]: Text. Text scrap[White]="<010> +" +0012[01]: @A New section (Level 1). +0012[03]: @< Open name. +0012[05]: Text. Text scrap[Grey]="Error Recovery Point" +0012[25]: @> Close name. +0012[27]: Text. Text scrap[Grey]="<010> +<010> +4. Test the minimum length name (the empty name).<010> +" +0015[01]: @$ Macro defn. +0015[03]: @< Open name. +0015[05]: @> Close name. +0015[07]: @{ Open defn. +0015[09]: Text. Text scrap[Grey]="The empty macro name is quite legal in FunnelWeb." +0015[58]: @} Close defn. +0015[60]: Text. Text scrap[Grey]="<010> +<010> +5. Test a name at the maximum name length limit (80).<010> +ONly the second of the two macros should generate an error.<010> +" +0020[01]: @$ Macro defn. +0020[03]: @< Open name. +0020[05]: Text. Text scrap[Grey]="12345678901234567890123456789012345678901234567890123456789012345678901234567890" +0020[85]: @> Close name. +0020[87]: @{ Open defn. +0020[89]: @} Close defn. +0020[91]: Text. Text scrap[White]="<010> +" +0021[01]: @$ Macro defn. +0021[03]: @< Open name. +0021[05]: Text. Text scrap[Grey]="123456789012345678901234567890123456789012345678901234567890123456789012345678901" +0021[86]: @> Close name. +0021[88]: @{ Open defn. +0021[90]: @} Close defn. +0021[92]: Text. Text scrap[White]="<010> +" +0022[01]: @A New section (Level 1). +0022[03]: @< Open name. +0022[05]: Text. Text scrap[Grey]="Error Recovery Point" +0022[25]: @> Close name. +0022[27]: Text. Text scrap[Grey]="<010> +<010> +6. Test names with all legal characters. There should be no errors.<010> +" +0025[01]: @$ Macro defn. +0025[03]: @< Open name. +0025[05]: Text. Text scrap[Grey]=" !"#$%'()*+,-./0123456789:;<=>?" +0025[36]: @> Close name. +0025[38]: @{ Open defn. +0025[40]: @} Close defn. +0025[42]: Text. Text scrap[White]="<010> +" +0026[01]: @$ Macro defn. +0026[03]: @< Open name. +0026[05]: Text. Text scrap[Grey]="ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`" +0026[37]: @> Close name. +0026[39]: @{ Open defn. +0026[41]: @} Close defn. +0026[43]: Text. Text scrap[White]="<010> +" +0027[01]: @$ Macro defn. +0027[03]: @< Open name. +0027[05]: Text. Text scrap[Grey]="abcdefghijklmnopqrstuvwxyz{|}~" +0027[35]: @> Close name. +0027[37]: @{ Open defn. +0027[39]: @} Close defn. +0027[41]: Text. Text scrap[Grey]="<010> +<010> +7. Test a name that has inserted text sequences.<010> +<010> +" +0031[01]: @$ Macro defn. +0031[03]: @< Open name. +0031[05]: Text. Text scrap[Grey]="A" +0031[13]: Text. Text scrap[Grey]="@" +0031[15]: @> Close name. +0031[17]: Text. Text scrap[Grey]="==" +0031[19]: @{ Open defn. +0031[21]: @} Close defn. +0031[23]: Text. Text scrap[White]="<010> +<010> +<010> +" +0034[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=3, Pos(L,C)=(15,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="The empty macro name is quite legal in FunnelWeb." +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : " !"#$%'()*+,-./0123456789:;<=>?" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=5, Pos(L,C)=(25,3), Expression follows: + +---- Start of Expression ---- +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "12345678901234567890123456789012345678901234567890123456789012345678901234567890" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=4, Pos(L,C)=(20,3), Expression follows: + +---- Start of Expression ---- +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "A@" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=8, Pos(L,C)=(31,3), Expression follows: + +---- Start of Expression ---- +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=6, Pos(L,C)=(26,3), Expression follows: + +---- Start of Expression ---- +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Ordinary" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=1, Pos(L,C)=(4,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="The text of ordinary" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "abcdefghijklmnopqrstuvwxyz{|}~" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=7, Pos(L,C)=(27,3), Expression follows: + +---- Start of Expression ---- +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "|" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=2, Pos(L,C)=(7,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="The text of ordinary" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="PR04: Test the definition of ordinary macros.<010> +<010> +1. Test an ordinary macro definition.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(4,1). +Part 1 of macro @<Ordinary@>. + +TEXT COMPONENT: Pos(L,C)=(4,39). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +2. Test an ordinary definition using a quickname.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). +Part 1 of macro @<|@>. + +TEXT COMPONENT: Pos(L,C)=(7,30). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +3. Test a name that includes EOL.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "1", Section name="Error Recovery Point". + +TEXT COMPONENT: Pos(L,C)=(12,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +4. Test the minimum length name (the empty name).<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(15,1). +Part 1 of macro @<@>. + +TEXT COMPONENT: Pos(L,C)=(15,60). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +5. Test a name at the maximum name length limit (80).<010> +ONly the second of the two macros should generate an error.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(20,1). +Part 1 of macro @<12345678901234567890123456789012345678901234567890123456789012345678901234567890@>. + +TEXT COMPONENT: Pos(L,C)=(20,91). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "2", Section name="Error Recovery Point". + +TEXT COMPONENT: Pos(L,C)=(22,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +6. Test names with all legal characters. There should be no errors.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(25,1). +Part 1 of macro @< !"#$%'()*+,-./0123456789:;<=>?@>. + +TEXT COMPONENT: Pos(L,C)=(25,42). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(26,1). +Part 1 of macro @<ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`@>. + +TEXT COMPONENT: Pos(L,C)=(26,43). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(27,1). +Part 1 of macro @<abcdefghijklmnopqrstuvwxyz{|}~@>. + +TEXT COMPONENT: Pos(L,C)=(27,41). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +7. Test a name that has inserted text sequences.<010> +<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(31,1). +Part 1 of macro @<A@@>. + +TEXT COMPONENT: Pos(L,C)=(31,23). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| PR04: Test the definition of ordinary macros. + 2 2| + 3 3| 1. Test an ordinary macro definition. + 4 4| @$@<Ordinary@>@{The text of ordinary@} + 5 5| + 6 6| 2. Test an ordinary definition using a quickname. + 7 7| @$@#|@{The text of ordinary@} + 8 8| + 9 9| 3. Test a name that includes EOL. + 10 10| @$@<This name is illegal because + Error|.....^Names cannot cross lines. + |.....^Skipping after error to the next major construct... + 11 11| it crosses a lion@>@{And people who cross lions tend to get eaten.@} + 12 12| @A@<Error Recovery Point@> + |.^...skipped to here after the error. + 13 13| + 14 14| 4. Test the minimum length name (the empty name). + 15 15| @$@<@>@{The empty macro name is quite legal in FunnelWeb.@} + 16 16| + 17 17| 5. Test a name at the maximum name length limit (80). + 18 18| ONly the second of the two macros should generate an error. + 19 19| @p maximum_input_line_length = 100 + 20 20| @$@<12345678901234567890123456789012345678901234567890123456789012345678901234567890@>@{@} + 21 21| @$@<123456789012345678901234567890123456789012345678901234567890123456789012345678901@>@{@} + Error|.....^Name is too long. + |.....^The maximum length of a legal name is 80 characters. + |.....^Skipping after error to the next major construct... + 22 22| @A@<Error Recovery Point@> + |.^...skipped to here after the error. + 23 23| + 24 24| 6. Test names with all legal characters. There should be no errors. + 25 25| @$@< !"#$%'()*+,-./0123456789:;<=>?@>@{@} + 26 26| @$@<ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`@>@{@} + 27 27| @$@<abcdefghijklmnopqrstuvwxyz{|}~@>@{@} + 28 28| + 29 29| 7. Test a name that has inserted text sequences. + 30 30| + 31 31| @$@<@^D(065)@@@>==@{@} + 32 32| + 33 33| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 2 Errors. diff --git a/web/funnelAC/results/pr05.lis b/web/funnelAC/results/pr05.lis new file mode 100644 index 0000000000..8253f2091c --- /dev/null +++ b/web/funnelAC/results/pr05.lis @@ -0,0 +1,1105 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 50 52 30 35 3A 20 54 65 73 74 20 74 68 65 20 70 | PR05: Test the p | +| 61 72 73 69 6E 67 20 6F 66 20 66 6F 72 6D 61 6C | arsing of formal | +| 20 70 61 72 61 6D 65 74 65 72 20 6C 69 73 74 73 | parameter lists | +| 2E 0A 0A 46 69 72 73 74 20 74 72 69 70 20 74 68 | ...First trip th | +| 65 20 70 61 72 73 65 72 20 73 6F 20 77 65 20 64 | e parser so we d | +| 6F 6E 27 74 20 67 65 74 20 70 61 73 74 20 74 68 | on't get past th | +| 65 20 70 61 72 73 65 72 2E 0A 40 3E 0A 0A 31 2E | e parser..@>..1. | +| 20 54 65 73 74 20 6D 61 63 72 6F 20 64 65 66 69 | Test macro defi | +| 6E 69 74 69 6F 6E 20 77 69 74 68 20 6E 6F 20 66 | nition with no f | +| 6F 72 6D 61 6C 20 70 61 72 61 6D 65 74 65 72 73 | ormal parameters | +| 2E 0A 40 24 40 3C 53 6C 6F 74 68 40 3E 40 7B 53 | ..@$@<Sloth@>@{S | +| 6C 6F 74 68 74 65 78 74 40 7D 0A 0A 32 2E 20 54 | lothtext@}..2. T | +| 65 73 74 20 6D 61 63 72 6F 20 64 65 66 69 6E 69 | est macro defini | +| 74 69 6F 6E 20 77 69 74 68 20 6F 6E 65 20 66 6F | tion with one fo | +| 72 6D 61 6C 20 70 61 72 61 6D 65 74 65 72 2E 0A | rmal parameter.. | +| 40 24 40 3C 53 6C 6F 74 68 20 77 69 74 68 20 6F | @$@<Sloth with o | +| 6E 65 40 3E 40 28 40 31 40 29 40 7B 53 6C 6F 74 | ne@>@(@1@)@{Slot | +| 68 74 65 78 74 40 7D 0A 0A 33 2E 20 54 65 73 74 | htext@}..3. Test | +| 20 6D 61 63 72 6F 20 64 65 66 69 6E 69 74 69 6F | macro definitio | +| 6E 20 77 69 74 68 20 6D 61 6E 79 20 66 6F 72 6D | n with many form | +| 61 6C 20 70 61 72 61 6D 65 74 65 72 73 2E 0A 40 | al parameters..@ | +| 24 40 3C 53 6C 6F 74 68 20 77 69 74 68 20 32 40 | $@<Sloth with 2@ | +| 3E 40 28 40 32 40 29 40 7B 53 6C 6F 74 68 74 65 | >@(@2@)@{Slothte | +| 78 74 40 7D 0A 40 24 40 3C 53 6C 6F 74 68 20 77 | xt@}.@$@<Sloth w | +| 69 74 68 20 33 40 3E 40 28 40 33 40 29 40 7B 53 | ith 3@>@(@3@)@{S | +| 6C 6F 74 68 74 65 78 74 40 7D 0A 40 24 40 3C 53 | lothtext@}.@$@<S | +| 6C 6F 74 68 20 77 69 74 68 20 34 40 3E 40 28 40 | loth with 4@>@(@ | +| 34 40 29 40 7B 53 6C 6F 74 68 74 65 78 74 40 7D | 4@)@{Slothtext@} | +| 0A 40 24 40 3C 53 6C 6F 74 68 20 77 69 74 68 20 | .@$@<Sloth with | +| 35 40 3E 40 28 40 35 40 29 40 7B 53 6C 6F 74 68 | 5@>@(@5@)@{Sloth | +| 74 65 78 74 40 7D 0A 40 24 40 3C 53 6C 6F 74 68 | text@}.@$@<Sloth | +| 20 77 69 74 68 20 36 40 3E 40 28 40 36 40 29 40 | with 6@>@(@6@)@ | +| 7B 53 6C 6F 74 68 74 65 78 74 40 7D 0A 40 24 40 | {Slothtext@}.@$@ | +| 3C 53 6C 6F 74 68 20 77 69 74 68 20 37 40 3E 40 | <Sloth with 7@>@ | +| 28 40 37 40 29 40 7B 53 6C 6F 74 68 74 65 78 74 | (@7@)@{Slothtext | +| 40 7D 0A 40 24 40 3C 53 6C 6F 74 68 20 77 69 74 | @}.@$@<Sloth wit | +| 68 20 38 40 3E 40 28 40 38 40 29 40 7B 53 6C 6F | h 8@>@(@8@)@{Slo | +| 74 68 74 65 78 74 40 7D 0A 40 24 40 3C 53 6C 6F | thtext@}.@$@<Slo | +| 74 68 20 77 69 74 68 20 39 40 3E 40 28 40 39 40 | th with 9@>@(@9@ | +| 29 40 7B 53 6C 6F 74 68 74 65 78 74 40 7D 0A 0A | )@{Slothtext@}.. | +| 34 2E 20 54 65 73 74 20 77 69 74 68 20 73 79 6E | 4. Test with syn | +| 74 61 78 20 65 72 72 6F 72 73 20 69 6E 20 74 68 | tax errors in th | +| 65 20 70 61 72 61 6D 65 74 65 72 20 6C 69 73 74 | e parameter list | +| 2E 0A 0A 40 24 40 3C 53 6C 6F 74 68 20 61 40 3E | ...@$@<Sloth a@> | +| 40 28 40 2B 40 39 40 29 40 7B 53 6C 6F 74 68 74 | @(@+@9@)@{Slotht | +| 65 78 74 40 7D 0A 40 41 40 3C 45 72 72 6F 72 20 | ext@}.@A@<Error | +| 72 65 63 6F 76 65 72 79 20 70 6F 69 6E 74 40 3E | recovery point@> | +| 0A 0A 40 24 40 3C 53 6C 6F 74 68 20 62 40 3E 40 | ..@$@<Sloth b@>@ | +| 39 40 29 40 7B 53 6C 6F 74 68 74 65 78 74 40 7D | 9@)@{Slothtext@} | +| 0A 40 41 40 3C 45 72 72 6F 72 20 72 65 63 6F 76 | .@A@<Error recov | +| 65 72 79 20 70 6F 69 6E 74 40 3E 0A 0A 40 24 40 | ery point@>..@$@ | +| 3C 53 6C 6F 74 68 20 63 40 3E 40 28 39 40 29 40 | <Sloth c@>@(9@)@ | +| 7B 53 6C 6F 74 68 74 65 78 74 40 7D 0A 40 41 40 | {Slothtext@}.@A@ | +| 3C 45 72 72 6F 72 20 72 65 63 6F 76 65 72 79 20 | <Error recovery | +| 70 6F 69 6E 74 40 3E 0A 0A 40 24 40 3C 53 6C 6F | point@>..@$@<Slo | +| 74 68 20 64 40 3E 40 39 40 29 40 7B 53 6C 6F 74 | th d@>@9@)@{Slot | +| 68 74 65 78 74 40 7D 0A 40 41 40 3C 45 72 72 6F | htext@}.@A@<Erro | +| 72 20 72 65 63 6F 76 65 72 79 20 70 6F 69 6E 74 | r recovery point | +| 40 3E 0A 0A 40 24 40 3C 53 6C 6F 74 68 20 65 40 | @>..@$@<Sloth e@ | +| 3E 40 28 40 39 40 29 40 29 40 7B 53 6C 6F 74 68 | >@(@9@)@)@{Sloth | +| 74 65 78 74 40 7D 0A 40 41 40 3C 45 72 72 6F 72 | text@}.@A@<Error | +| 20 72 65 63 6F 76 65 72 79 20 70 6F 69 6E 74 40 | recovery point@ | +| 3E 0A 0A 0A 0A | >.... | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| PR05: Test the parsing of formal parameter lists.<010> +00002 00002| <010> +00003 00003| First trip the parser so we don't get past the parser.<010> +00004 00004| @><010> +00005 00005| <010> +00006 00006| 1. Test macro definition with no formal parameters.<010> +00007 00007| @$@<Sloth@>@{Slothtext@}<010> +00008 00008| <010> +00009 00009| 2. Test macro definition with one formal parameter.<010> +00010 00010| @$@<Sloth with one@>@(@1@)@{Slothtext@}<010> +00011 00011| <010> +00012 00012| 3. Test macro definition with many formal parameters.<010> +00013 00013| @$@<Sloth with 2@>@(@2@)@{Slothtext@}<010> +00014 00014| @$@<Sloth with 3@>@(@3@)@{Slothtext@}<010> +00015 00015| @$@<Sloth with 4@>@(@4@)@{Slothtext@}<010> +00016 00016| @$@<Sloth with 5@>@(@5@)@{Slothtext@}<010> +00017 00017| @$@<Sloth with 6@>@(@6@)@{Slothtext@}<010> +00018 00018| @$@<Sloth with 7@>@(@7@)@{Slothtext@}<010> +00019 00019| @$@<Sloth with 8@>@(@8@)@{Slothtext@}<010> +00020 00020| @$@<Sloth with 9@>@(@9@)@{Slothtext@}<010> +00021 00021| <010> +00022 00022| 4. Test with syntax errors in the parameter list.<010> +00023 00023| <010> +00024 00024| @$@<Sloth a@>@(@+@9@)@{Slothtext@}<010> +00025 00025| @A@<Error recovery point@><010> +00026 00026| <010> +00027 00027| @$@<Sloth b@>@9@)@{Slothtext@}<010> +00028 00028| @A@<Error recovery point@><010> +00029 00029| <010> +00030 00030| @$@<Sloth c@>@(9@)@{Slothtext@}<010> +00031 00031| @A@<Error recovery point@><010> +00032 00032| <010> +00033 00033| @$@<Sloth d@>@9@)@{Slothtext@}<010> +00034 00034| @A@<Error recovery point@><010> +00035 00035| <010> +00036 00036| @$@<Sloth e@>@(@9@)@)@{Slothtext@}<010> +00037 00037| @A@<Error recovery point@><010> +00038 00038| <010> +00039 00039| <010> +00040 00040| <010> +00041 00041| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 191 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="PR05: Test the parsing of formal parameter lists.<010> +<010> +First trip the parser so we don't get past the parser.<010> +" +0004[01]: @> Close name. +0004[03]: Text. Text scrap[Grey]="<010> +<010> +1. Test macro definition with no formal parameters.<010> +" +0007[01]: @$ Macro defn. +0007[03]: @< Open name. +0007[05]: Text. Text scrap[Grey]="Sloth" +0007[10]: @> Close name. +0007[12]: @{ Open defn. +0007[14]: Text. Text scrap[Grey]="Slothtext" +0007[23]: @} Close defn. +0007[25]: Text. Text scrap[Grey]="<010> +<010> +2. Test macro definition with one formal parameter.<010> +" +0010[01]: @$ Macro defn. +0010[03]: @< Open name. +0010[05]: Text. Text scrap[Grey]="Sloth with one" +0010[19]: @> Close name. +0010[21]: @( Open param. +0010[23]: @n Parameter. Parameterno=1. +0010[25]: @} Close param. +0010[27]: @{ Open defn. +0010[29]: Text. Text scrap[Grey]="Slothtext" +0010[38]: @} Close defn. +0010[40]: Text. Text scrap[Grey]="<010> +<010> +3. Test macro definition with many formal parameters.<010> +" +0013[01]: @$ Macro defn. +0013[03]: @< Open name. +0013[05]: Text. Text scrap[Grey]="Sloth with 2" +0013[17]: @> Close name. +0013[19]: @( Open param. +0013[21]: @n Parameter. Parameterno=2. +0013[23]: @} Close param. +0013[25]: @{ Open defn. +0013[27]: Text. Text scrap[Grey]="Slothtext" +0013[36]: @} Close defn. +0013[38]: Text. Text scrap[White]="<010> +" +0014[01]: @$ Macro defn. +0014[03]: @< Open name. +0014[05]: Text. Text scrap[Grey]="Sloth with 3" +0014[17]: @> Close name. +0014[19]: @( Open param. +0014[21]: @n Parameter. Parameterno=3. +0014[23]: @} Close param. +0014[25]: @{ Open defn. +0014[27]: Text. Text scrap[Grey]="Slothtext" +0014[36]: @} Close defn. +0014[38]: Text. Text scrap[White]="<010> +" +0015[01]: @$ Macro defn. +0015[03]: @< Open name. +0015[05]: Text. Text scrap[Grey]="Sloth with 4" +0015[17]: @> Close name. +0015[19]: @( Open param. +0015[21]: @n Parameter. Parameterno=4. +0015[23]: @} Close param. +0015[25]: @{ Open defn. +0015[27]: Text. Text scrap[Grey]="Slothtext" +0015[36]: @} Close defn. +0015[38]: Text. Text scrap[White]="<010> +" +0016[01]: @$ Macro defn. +0016[03]: @< Open name. +0016[05]: Text. Text scrap[Grey]="Sloth with 5" +0016[17]: @> Close name. +0016[19]: @( Open param. +0016[21]: @n Parameter. Parameterno=5. +0016[23]: @} Close param. +0016[25]: @{ Open defn. +0016[27]: Text. Text scrap[Grey]="Slothtext" +0016[36]: @} Close defn. +0016[38]: Text. Text scrap[White]="<010> +" +0017[01]: @$ Macro defn. +0017[03]: @< Open name. +0017[05]: Text. Text scrap[Grey]="Sloth with 6" +0017[17]: @> Close name. +0017[19]: @( Open param. +0017[21]: @n Parameter. Parameterno=6. +0017[23]: @} Close param. +0017[25]: @{ Open defn. +0017[27]: Text. Text scrap[Grey]="Slothtext" +0017[36]: @} Close defn. +0017[38]: Text. Text scrap[White]="<010> +" +0018[01]: @$ Macro defn. +0018[03]: @< Open name. +0018[05]: Text. Text scrap[Grey]="Sloth with 7" +0018[17]: @> Close name. +0018[19]: @( Open param. +0018[21]: @n Parameter. Parameterno=7. +0018[23]: @} Close param. +0018[25]: @{ Open defn. +0018[27]: Text. Text scrap[Grey]="Slothtext" +0018[36]: @} Close defn. +0018[38]: Text. Text scrap[White]="<010> +" +0019[01]: @$ Macro defn. +0019[03]: @< Open name. +0019[05]: Text. Text scrap[Grey]="Sloth with 8" +0019[17]: @> Close name. +0019[19]: @( Open param. +0019[21]: @n Parameter. Parameterno=8. +0019[23]: @} Close param. +0019[25]: @{ Open defn. +0019[27]: Text. Text scrap[Grey]="Slothtext" +0019[36]: @} Close defn. +0019[38]: Text. Text scrap[White]="<010> +" +0020[01]: @$ Macro defn. +0020[03]: @< Open name. +0020[05]: Text. Text scrap[Grey]="Sloth with 9" +0020[17]: @> Close name. +0020[19]: @( Open param. +0020[21]: @n Parameter. Parameterno=9. +0020[23]: @} Close param. +0020[25]: @{ Open defn. +0020[27]: Text. Text scrap[Grey]="Slothtext" +0020[36]: @} Close defn. +0020[38]: Text. Text scrap[Grey]="<010> +<010> +4. Test with syntax errors in the parameter list.<010> +<010> +" +0024[01]: @$ Macro defn. +0024[03]: @< Open name. +0024[05]: Text. Text scrap[Grey]="Sloth a" +0024[12]: @> Close name. +0024[14]: @( Open param. +0024[16]: Text. Text scrap[White]="<010> +" +0024[18]: @n Parameter. Parameterno=9. +0024[20]: @} Close param. +0024[22]: @{ Open defn. +0024[24]: Text. Text scrap[Grey]="Slothtext" +0024[33]: @} Close defn. +0024[35]: Text. Text scrap[White]="<010> +" +0025[01]: @A New section (Level 1). +0025[03]: @< Open name. +0025[05]: Text. Text scrap[Grey]="Error recovery point" +0025[25]: @> Close name. +0025[27]: Text. Text scrap[White]="<010> +<010> +" +0027[01]: @$ Macro defn. +0027[03]: @< Open name. +0027[05]: Text. Text scrap[Grey]="Sloth b" +0027[12]: @> Close name. +0027[14]: @n Parameter. Parameterno=9. +0027[16]: @} Close param. +0027[18]: @{ Open defn. +0027[20]: Text. Text scrap[Grey]="Slothtext" +0027[29]: @} Close defn. +0027[31]: Text. Text scrap[White]="<010> +" +0028[01]: @A New section (Level 1). +0028[03]: @< Open name. +0028[05]: Text. Text scrap[Grey]="Error recovery point" +0028[25]: @> Close name. +0028[27]: Text. Text scrap[White]="<010> +<010> +" +0030[01]: @$ Macro defn. +0030[03]: @< Open name. +0030[05]: Text. Text scrap[Grey]="Sloth c" +0030[12]: @> Close name. +0030[14]: @( Open param. +0030[16]: Text. Text scrap[Grey]="9" +0030[17]: @} Close param. +0030[19]: @{ Open defn. +0030[21]: Text. Text scrap[Grey]="Slothtext" +0030[30]: @} Close defn. +0030[32]: Text. Text scrap[White]="<010> +" +0031[01]: @A New section (Level 1). +0031[03]: @< Open name. +0031[05]: Text. Text scrap[Grey]="Error recovery point" +0031[25]: @> Close name. +0031[27]: Text. Text scrap[White]="<010> +<010> +" +0033[01]: @$ Macro defn. +0033[03]: @< Open name. +0033[05]: Text. Text scrap[Grey]="Sloth d" +0033[12]: @> Close name. +0033[14]: @n Parameter. Parameterno=9. +0033[16]: @} Close param. +0033[18]: @{ Open defn. +0033[20]: Text. Text scrap[Grey]="Slothtext" +0033[29]: @} Close defn. +0033[31]: Text. Text scrap[White]="<010> +" +0034[01]: @A New section (Level 1). +0034[03]: @< Open name. +0034[05]: Text. Text scrap[Grey]="Error recovery point" +0034[25]: @> Close name. +0034[27]: Text. Text scrap[White]="<010> +<010> +" +0036[01]: @$ Macro defn. +0036[03]: @< Open name. +0036[05]: Text. Text scrap[Grey]="Sloth e" +0036[12]: @> Close name. +0036[14]: @( Open param. +0036[16]: @n Parameter. Parameterno=9. +0036[18]: @} Close param. +0036[20]: @} Close param. +0036[22]: @{ Open defn. +0036[24]: Text. Text scrap[Grey]="Slothtext" +0036[33]: @} Close defn. +0036[35]: Text. Text scrap[White]="<010> +" +0037[01]: @A New section (Level 1). +0037[03]: @< Open name. +0037[05]: Text. Text scrap[Grey]="Error recovery point" +0037[25]: @> Close name. +0037[27]: Text. Text scrap[White]="<010> +<010> +<010> +<010> +" +0041[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=1, Pos(L,C)=(7,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Slothtext" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth a" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth b" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth c" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth d" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth e" +Defined? : Yes. +Parameters : 9 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth with 2" +Defined? : Yes. +Parameters : 2 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=3, Pos(L,C)=(13,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Slothtext" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth with 3" +Defined? : Yes. +Parameters : 3 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=4, Pos(L,C)=(14,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Slothtext" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth with 4" +Defined? : Yes. +Parameters : 4 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=5, Pos(L,C)=(15,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Slothtext" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth with 5" +Defined? : Yes. +Parameters : 5 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=6, Pos(L,C)=(16,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Slothtext" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth with 6" +Defined? : Yes. +Parameters : 6 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=7, Pos(L,C)=(17,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Slothtext" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth with 7" +Defined? : Yes. +Parameters : 7 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=8, Pos(L,C)=(18,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Slothtext" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth with 8" +Defined? : Yes. +Parameters : 8 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=9, Pos(L,C)=(19,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Slothtext" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth with 9" +Defined? : Yes. +Parameters : 9 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=10, Pos(L,C)=(20,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Slothtext" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth with one" +Defined? : Yes. +Parameters : 1 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=2, Pos(L,C)=(10,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Slothtext" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="PR05: Test the parsing of formal parameter lists.<010> +<010> +First trip the parser so we don't get past the parser.<010> +" +--- End of Text Scrap List --- + + +TEXT COMPONENT: Pos(L,C)=(4,3). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +1. Test macro definition with no formal parameters.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). +Part 1 of macro @<Sloth@>. + +TEXT COMPONENT: Pos(L,C)=(7,25). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +2. Test macro definition with one formal parameter.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(10,1). +Part 1 of macro @<Sloth with one@>. + +TEXT COMPONENT: Pos(L,C)=(10,40). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +3. Test macro definition with many formal parameters.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(13,1). +Part 1 of macro @<Sloth with 2@>. + +TEXT COMPONENT: Pos(L,C)=(13,38). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(14,1). +Part 1 of macro @<Sloth with 3@>. + +TEXT COMPONENT: Pos(L,C)=(14,38). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(15,1). +Part 1 of macro @<Sloth with 4@>. + +TEXT COMPONENT: Pos(L,C)=(15,38). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(16,1). +Part 1 of macro @<Sloth with 5@>. + +TEXT COMPONENT: Pos(L,C)=(16,38). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(17,1). +Part 1 of macro @<Sloth with 6@>. + +TEXT COMPONENT: Pos(L,C)=(17,38). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(18,1). +Part 1 of macro @<Sloth with 7@>. + +TEXT COMPONENT: Pos(L,C)=(18,38). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(19,1). +Part 1 of macro @<Sloth with 8@>. + +TEXT COMPONENT: Pos(L,C)=(19,38). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(20,1). +Part 1 of macro @<Sloth with 9@>. + +TEXT COMPONENT: Pos(L,C)=(20,38). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +4. Test with syntax errors in the parameter list.<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "1", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(25,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "2", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(28,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "3", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(31,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "4", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(34,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "5", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(37,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +<010> +<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| PR05: Test the parsing of formal parameter lists. + 2 2| + 3 3| First trip the parser so we don't get past the parser. + 4 4| @> + Error|.^The parser was at the top level and was expecting + |.^one of: {Directive, Text, Macro definition, EOF}. + 5 5| + 6 6| 1. Test macro definition with no formal parameters. + 7 7| @$@<Sloth@>@{Slothtext@} + 8 8| + 9 9| 2. Test macro definition with one formal parameter. + 10 10| @$@<Sloth with one@>@(@1@)@{Slothtext@} + 11 11| + 12 12| 3. Test macro definition with many formal parameters. + 13 13| @$@<Sloth with 2@>@(@2@)@{Slothtext@} + 14 14| @$@<Sloth with 3@>@(@3@)@{Slothtext@} + 15 15| @$@<Sloth with 4@>@(@4@)@{Slothtext@} + 16 16| @$@<Sloth with 5@>@(@5@)@{Slothtext@} + 17 17| @$@<Sloth with 6@>@(@6@)@{Slothtext@} + 18 18| @$@<Sloth with 7@>@(@7@)@{Slothtext@} + 19 19| @$@<Sloth with 8@>@(@8@)@{Slothtext@} + 20 20| @$@<Sloth with 9@>@(@9@)@{Slothtext@} + 21 21| + 22 22| 4. Test with syntax errors in the parameter list. + 23 23| + 24 24| @$@<Sloth a@>@(@+@9@)@{Slothtext@} + Error|................^Expecting one of [@1..@9]. + |................^Skipping after error to the next major construct... + 25 25| @A@<Error recovery point@> + |.^...skipped to here after the error. + 26 26| + 27 27| @$@<Sloth b@>@9@)@{Slothtext@} + Error|..............^Expecting '@{'. + |..............^Skipping after error to the next major construct... + 28 28| @A@<Error recovery point@> + |.^...skipped to here after the error. + 29 29| + 30 30| @$@<Sloth c@>@(9@)@{Slothtext@} + Error|................^Expecting one of [@1..@9]. + |................^Skipping after error to the next major construct... + 31 31| @A@<Error recovery point@> + |.^...skipped to here after the error. + 32 32| + 33 33| @$@<Sloth d@>@9@)@{Slothtext@} + Error|..............^Expecting '@{'. + |..............^Skipping after error to the next major construct... + 34 34| @A@<Error recovery point@> + |.^...skipped to here after the error. + 35 35| + 36 36| @$@<Sloth e@>@(@9@)@)@{Slothtext@} + Error|....................^Expecting '@{'. + |....................^Skipping after error to the next major construct... + 37 37| @A@<Error recovery point@> + |.^...skipped to here after the error. + 38 38| + 39 39| + 40 40| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 6 Errors. diff --git a/web/funnelAC/results/pr06.lis b/web/funnelAC/results/pr06.lis new file mode 100644 index 0000000000..9a01fd7d7f --- /dev/null +++ b/web/funnelAC/results/pr06.lis @@ -0,0 +1,791 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 50 52 30 36 3A 20 54 65 73 74 20 74 68 65 20 70 | PR06: Test the p | +| 61 72 73 69 6E 67 20 6F 6E 20 69 6E 76 6F 63 61 | arsing on invoca | +| 74 69 6F 6E 20 6E 75 6D 62 65 72 20 63 6F 6E 73 | tion number cons | +| 74 72 61 69 6E 74 73 2E 0A 0A 54 72 69 70 20 74 | traints...Trip t | +| 68 65 20 70 61 72 73 65 72 20 73 6F 20 77 65 20 | he parser so we | +| 64 6F 6E 27 74 20 67 65 74 20 70 61 73 74 20 69 | don't get past i | +| 74 2E 0A 40 3E 0A 0A 31 2E 20 54 65 73 74 20 77 | t..@>..1. Test w | +| 69 74 68 20 6E 6F 20 7A 65 72 6F 20 61 6E 64 20 | ith no zero and | +| 6E 6F 20 6D 61 6E 79 2E 0A 40 24 40 3C 53 6C 6F | no many..@$@<Slo | +| 74 68 40 3E 40 7B 4E 6F 20 7A 65 72 6F 20 61 6E | th@>@{No zero an | +| 64 20 6E 6F 20 6D 61 6E 79 20 69 6E 20 74 68 69 | d no many in thi | +| 73 20 6D 61 63 72 6F 40 7D 0A 0A 32 2E 20 54 65 | s macro@}..2. Te | +| 73 74 20 77 69 74 68 20 61 20 7A 65 72 6F 2E 0A | st with a zero.. | +| 40 24 40 3C 53 6C 6F 74 68 20 7A 65 72 6F 40 3E | @$@<Sloth zero@> | +| 40 5A 40 7B 43 61 6E 20 62 65 20 63 61 6C 6C 65 | @Z@{Can be calle | +| 64 20 66 72 6F 6D 20 30 20 74 6F 20 31 20 74 69 | d from 0 to 1 ti | +| 6D 65 73 2E 40 7D 0A 0A 33 2E 20 54 65 73 74 20 | mes.@}..3. Test | +| 77 69 74 68 20 61 20 6D 61 6E 79 2E 0A 40 24 40 | with a many..@$@ | +| 3C 53 6C 6F 74 68 20 6D 61 6E 79 40 3E 40 4D 40 | <Sloth many@>@M@ | +| 7B 43 61 6E 20 62 65 20 63 61 6C 6C 65 64 20 66 | {Can be called f | +| 72 6F 6D 20 31 20 74 6F 20 69 6E 66 69 6E 69 74 | rom 1 to infinit | +| 79 20 74 69 6D 65 73 2E 40 7D 0A 0A 34 2E 20 54 | y times.@}..4. T | +| 65 73 74 20 77 69 74 68 20 61 20 7A 65 72 6F 20 | est with a zero | +| 61 6E 64 20 61 20 6D 61 6E 79 2E 0A 40 24 40 3C | and a many..@$@< | +| 53 6C 6F 74 68 20 7A 65 72 6F 6D 61 6E 79 40 3E | Sloth zeromany@> | +| 40 5A 40 4D 40 7B 43 61 6E 20 62 65 20 63 61 6C | @Z@M@{Can be cal | +| 6C 65 64 20 66 72 6F 6D 20 30 20 74 6F 20 69 6E | led from 0 to in | +| 66 69 6E 69 74 79 20 74 69 6D 65 73 2E 40 7D 0A | finity times.@}. | +| 0A 35 2E 20 54 65 73 74 20 77 69 74 68 20 61 20 | .5. Test with a | +| 7A 65 72 6F 20 61 6E 64 20 61 20 6D 61 6E 79 20 | zero and a many | +| 62 75 74 20 6F 75 74 20 6F 66 20 6F 72 64 65 72 | but out of order | +| 20 28 73 68 6F 75 6C 64 20 67 69 76 65 20 65 72 | (should give er | +| 72 6F 72 29 2E 0A 40 24 40 3C 53 6C 6F 74 68 20 | ror)..@$@<Sloth | +| 6D 61 6E 79 7A 65 72 6F 40 3E 40 4D 40 5A 40 7B | manyzero@>@M@Z@{ | +| 4F 6F 70 73 2E 40 7D 0A 40 41 40 3C 45 72 72 6F | Oops.@}.@A@<Erro | +| 72 20 72 65 63 6F 76 65 72 79 20 70 6F 69 6E 74 | r recovery point | +| 40 3E 0A 0A 36 2E 20 54 65 73 74 20 77 69 74 68 | @>..6. Test with | +| 20 73 79 6E 74 61 63 74 69 63 20 65 72 72 6F 72 | syntactic error | +| 73 2E 0A 0A 40 24 40 3C 53 6C 6F 74 68 20 61 40 | s...@$@<Sloth a@ | +| 3E 20 40 4D 20 40 5A 20 40 7B 4F 6F 70 73 2E 40 | > @M @Z @{Oops.@ | +| 7D 0A 40 41 40 3C 45 72 72 6F 72 20 72 65 63 6F | }.@A@<Error reco | +| 76 65 72 79 20 70 6F 69 6E 74 40 3E 0A 0A 40 24 | very point@>..@$ | +| 40 3C 53 6C 6F 74 68 20 62 40 3E 40 5A 40 5A 40 | @<Sloth b@>@Z@Z@ | +| 7B 4F 6F 70 73 2E 40 7D 0A 40 41 40 3C 45 72 72 | {Oops.@}.@A@<Err | +| 6F 72 20 72 65 63 6F 76 65 72 79 20 70 6F 69 6E | or recovery poin | +| 74 40 3E 0A 0A 40 24 40 3C 53 6C 6F 74 68 20 63 | t@>..@$@<Sloth c | +| 40 5A 40 3E 40 7B 4F 6F 70 73 2E 40 7D 0A 40 41 | @Z@>@{Oops.@}.@A | +| 40 3C 45 72 72 6F 72 20 72 65 63 6F 76 65 72 79 | @<Error recovery | +| 20 70 6F 69 6E 74 40 3E 0A 0A 40 24 40 3C 53 6C | point@>..@$@<Sl | +| 6F 74 68 20 64 40 3E 5A 40 7B 4F 6F 70 73 2E 40 | oth d@>Z@{Oops.@ | +| 7D 0A 40 41 40 3C 45 72 72 6F 72 20 72 65 63 6F | }.@A@<Error reco | +| 76 65 72 79 20 70 6F 69 6E 74 40 3E 0A 0A 40 24 | very point@>..@$ | +| 40 3C 53 6C 6F 74 68 20 64 40 3E 40 5A 4D 40 7B | @<Sloth d@>@ZM@{ | +| 4F 6F 70 73 2E 40 7D 0A 40 41 40 3C 45 72 72 6F | Oops.@}.@A@<Erro | +| 72 20 72 65 63 6F 76 65 72 79 20 70 6F 69 6E 74 | r recovery point | +| 40 3E 0A 0A 0A | @>... | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| PR06: Test the parsing on invocation number constraints.<010> +00002 00002| <010> +00003 00003| Trip the parser so we don't get past it.<010> +00004 00004| @><010> +00005 00005| <010> +00006 00006| 1. Test with no zero and no many.<010> +00007 00007| @$@<Sloth@>@{No zero and no many in this macro@}<010> +00008 00008| <010> +00009 00009| 2. Test with a zero.<010> +00010 00010| @$@<Sloth zero@>@Z@{Can be called from 0 to 1 times.@}<010> +00011 00011| <010> +00012 00012| 3. Test with a many.<010> +00013 00013| @$@<Sloth many@>@M@{Can be called from 1 to infinity times.@}<010> +00014 00014| <010> +00015 00015| 4. Test with a zero and a many.<010> +00016 00016| @$@<Sloth zeromany@>@Z@M@{Can be called from 0 to infinity times.@}<010> +00017 00017| <010> +00018 00018| 5. Test with a zero and a many but out of order (should give error).<010> +00019 00019| @$@<Sloth manyzero@>@M@Z@{Oops.@}<010> +00020 00020| @A@<Error recovery point@><010> +00021 00021| <010> +00022 00022| 6. Test with syntactic errors.<010> +00023 00023| <010> +00024 00024| @$@<Sloth a@> @M @Z @{Oops.@}<010> +00025 00025| @A@<Error recovery point@><010> +00026 00026| <010> +00027 00027| @$@<Sloth b@>@Z@Z@{Oops.@}<010> +00028 00028| @A@<Error recovery point@><010> +00029 00029| <010> +00030 00030| @$@<Sloth c@Z@>@{Oops.@}<010> +00031 00031| @A@<Error recovery point@><010> +00032 00032| <010> +00033 00033| @$@<Sloth d@>Z@{Oops.@}<010> +00034 00034| @A@<Error recovery point@><010> +00035 00035| <010> +00036 00036| @$@<Sloth d@>@ZM@{Oops.@}<010> +00037 00037| @A@<Error recovery point@><010> +00038 00038| <010> +00039 00039| <010> +00040 00040| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 131 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="PR06: Test the parsing on invocation number constraints.<010> +<010> +Trip the parser so we don't get past it.<010> +" +0004[01]: @> Close name. +0004[03]: Text. Text scrap[Grey]="<010> +<010> +1. Test with no zero and no many.<010> +" +0007[01]: @$ Macro defn. +0007[03]: @< Open name. +0007[05]: Text. Text scrap[Grey]="Sloth" +0007[10]: @> Close name. +0007[12]: @{ Open defn. +0007[14]: Text. Text scrap[Grey]="No zero and no many in this macro" +0007[47]: @} Close defn. +0007[49]: Text. Text scrap[Grey]="<010> +<010> +2. Test with a zero.<010> +" +0010[01]: @$ Macro defn. +0010[03]: @< Open name. +0010[05]: Text. Text scrap[Grey]="Sloth zero" +0010[15]: @> Close name. +0010[17]: @Z Zero calls. +0010[19]: @{ Open defn. +0010[21]: Text. Text scrap[Grey]="Can be called from 0 to 1 times." +0010[53]: @} Close defn. +0010[55]: Text. Text scrap[Grey]="<010> +<010> +3. Test with a many.<010> +" +0013[01]: @$ Macro defn. +0013[03]: @< Open name. +0013[05]: Text. Text scrap[Grey]="Sloth many" +0013[15]: @> Close name. +0013[17]: @M Many calls. +0013[19]: @{ Open defn. +0013[21]: Text. Text scrap[Grey]="Can be called from 1 to infinity times." +0013[60]: @} Close defn. +0013[62]: Text. Text scrap[Grey]="<010> +<010> +4. Test with a zero and a many.<010> +" +0016[01]: @$ Macro defn. +0016[03]: @< Open name. +0016[05]: Text. Text scrap[Grey]="Sloth zeromany" +0016[19]: @> Close name. +0016[21]: @Z Zero calls. +0016[23]: @M Many calls. +0016[25]: @{ Open defn. +0016[27]: Text. Text scrap[Grey]="Can be called from 0 to infinity times." +0016[66]: @} Close defn. +0016[68]: Text. Text scrap[Grey]="<010> +<010> +5. Test with a zero and a many but out of order (should give error).<010> +" +0019[01]: @$ Macro defn. +0019[03]: @< Open name. +0019[05]: Text. Text scrap[Grey]="Sloth manyzero" +0019[19]: @> Close name. +0019[21]: @M Many calls. +0019[23]: @Z Zero calls. +0019[25]: @{ Open defn. +0019[27]: Text. Text scrap[Grey]="Oops." +0019[32]: @} Close defn. +0019[34]: Text. Text scrap[White]="<010> +" +0020[01]: @A New section (Level 1). +0020[03]: @< Open name. +0020[05]: Text. Text scrap[Grey]="Error recovery point" +0020[25]: @> Close name. +0020[27]: Text. Text scrap[Grey]="<010> +<010> +6. Test with syntactic errors.<010> +<010> +" +0024[01]: @$ Macro defn. +0024[03]: @< Open name. +0024[05]: Text. Text scrap[Grey]="Sloth a" +0024[12]: @> Close name. +0024[14]: Text. Text scrap[White]=" " +0024[15]: @M Many calls. +0024[17]: Text. Text scrap[White]=" " +0024[18]: @Z Zero calls. +0024[20]: Text. Text scrap[White]=" " +0024[21]: @{ Open defn. +0024[23]: Text. Text scrap[Grey]="Oops." +0024[28]: @} Close defn. +0024[30]: Text. Text scrap[White]="<010> +" +0025[01]: @A New section (Level 1). +0025[03]: @< Open name. +0025[05]: Text. Text scrap[Grey]="Error recovery point" +0025[25]: @> Close name. +0025[27]: Text. Text scrap[White]="<010> +<010> +" +0027[01]: @$ Macro defn. +0027[03]: @< Open name. +0027[05]: Text. Text scrap[Grey]="Sloth b" +0027[12]: @> Close name. +0027[14]: @Z Zero calls. +0027[16]: @Z Zero calls. +0027[18]: @{ Open defn. +0027[20]: Text. Text scrap[Grey]="Oops." +0027[25]: @} Close defn. +0027[27]: Text. Text scrap[White]="<010> +" +0028[01]: @A New section (Level 1). +0028[03]: @< Open name. +0028[05]: Text. Text scrap[Grey]="Error recovery point" +0028[25]: @> Close name. +0028[27]: Text. Text scrap[White]="<010> +<010> +" +0030[01]: @$ Macro defn. +0030[03]: @< Open name. +0030[05]: Text. Text scrap[Grey]="Sloth c" +0030[12]: @Z Zero calls. +0030[14]: @> Close name. +0030[16]: @{ Open defn. +0030[18]: Text. Text scrap[Grey]="Oops." +0030[23]: @} Close defn. +0030[25]: Text. Text scrap[White]="<010> +" +0031[01]: @A New section (Level 1). +0031[03]: @< Open name. +0031[05]: Text. Text scrap[Grey]="Error recovery point" +0031[25]: @> Close name. +0031[27]: Text. Text scrap[White]="<010> +<010> +" +0033[01]: @$ Macro defn. +0033[03]: @< Open name. +0033[05]: Text. Text scrap[Grey]="Sloth d" +0033[12]: @> Close name. +0033[14]: Text. Text scrap[Grey]="Z" +0033[15]: @{ Open defn. +0033[17]: Text. Text scrap[Grey]="Oops." +0033[22]: @} Close defn. +0033[24]: Text. Text scrap[White]="<010> +" +0034[01]: @A New section (Level 1). +0034[03]: @< Open name. +0034[05]: Text. Text scrap[Grey]="Error recovery point" +0034[25]: @> Close name. +0034[27]: Text. Text scrap[White]="<010> +<010> +" +0036[01]: @$ Macro defn. +0036[03]: @< Open name. +0036[05]: Text. Text scrap[Grey]="Sloth d" +0036[12]: @> Close name. +0036[14]: @Z Zero calls. +0036[16]: Text. Text scrap[Grey]="M" +0036[17]: @{ Open defn. +0036[19]: Text. Text scrap[Grey]="Oops." +0036[24]: @} Close defn. +0036[26]: Text. Text scrap[White]="<010> +" +0037[01]: @A New section (Level 1). +0037[03]: @< Open name. +0037[05]: Text. Text scrap[Grey]="Error recovery point" +0037[25]: @> Close name. +0037[27]: Text. Text scrap[White]="<010> +<010> +<010> +" +0040[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=1, Pos(L,C)=(7,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="No zero and no many in this macro" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth a" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth b" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth d" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth many" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=3, Pos(L,C)=(13,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Can be called from 1 to infinity times." +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth manyzero" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth zero" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=2, Pos(L,C)=(10,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Can be called from 0 to 1 times." +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth zeromany" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=4, Pos(L,C)=(16,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Can be called from 0 to infinity times." +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="PR06: Test the parsing on invocation number constraints.<010> +<010> +Trip the parser so we don't get past it.<010> +" +--- End of Text Scrap List --- + + +TEXT COMPONENT: Pos(L,C)=(4,3). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +1. Test with no zero and no many.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). +Part 1 of macro @<Sloth@>. + +TEXT COMPONENT: Pos(L,C)=(7,49). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +2. Test with a zero.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(10,1). +Part 1 of macro @<Sloth zero@>. + +TEXT COMPONENT: Pos(L,C)=(10,55). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +3. Test with a many.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(13,1). +Part 1 of macro @<Sloth many@>. + +TEXT COMPONENT: Pos(L,C)=(13,62). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +4. Test with a zero and a many.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(16,1). +Part 1 of macro @<Sloth zeromany@>. + +TEXT COMPONENT: Pos(L,C)=(16,68). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +5. Test with a zero and a many but out of order (should give error).<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "1", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(20,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +6. Test with syntactic errors.<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "2", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(25,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "3", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(28,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "4", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(31,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "5", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(34,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "6", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(37,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| PR06: Test the parsing on invocation number constraints. + 2 2| + 3 3| Trip the parser so we don't get past it. + 4 4| @> + Error|.^The parser was at the top level and was expecting + |.^one of: {Directive, Text, Macro definition, EOF}. + 5 5| + 6 6| 1. Test with no zero and no many. + 7 7| @$@<Sloth@>@{No zero and no many in this macro@} + 8 8| + 9 9| 2. Test with a zero. + 10 10| @$@<Sloth zero@>@Z@{Can be called from 0 to 1 times.@} + 11 11| + 12 12| 3. Test with a many. + 13 13| @$@<Sloth many@>@M@{Can be called from 1 to infinity times.@} + 14 14| + 15 15| 4. Test with a zero and a many. + 16 16| @$@<Sloth zeromany@>@Z@M@{Can be called from 0 to infinity times.@} + 17 17| + 18 18| 5. Test with a zero and a many but out of order (should give error). + 19 19| @$@<Sloth manyzero@>@M@Z@{Oops.@} + Error|.......................^Expecting '@{'. + |.......................^Skipping after error to the next major construct... + 20 20| @A@<Error recovery point@> + |.^...skipped to here after the error. + 21 21| + 22 22| 6. Test with syntactic errors. + 23 23| + 24 24| @$@<Sloth a@> @M @Z @{Oops.@} + Error|..............^Expecting "==@{" or "+=@{" or just "@{". + |..............^(or @Z or @M if they have not already appeared). + |..............^Note: FunnelWeb is intolerant of spaces at this point. + |...............^Skipping after error to the next major construct... + 25 25| @A@<Error recovery point@> + |.^...skipped to here after the error. + 26 26| + 27 27| @$@<Sloth b@>@Z@Z@{Oops.@} + Error|................^Expecting '@{'. + |................^Skipping after error to the next major construct... + 28 28| @A@<Error recovery point@> + |.^...skipped to here after the error. + 29 29| + 30 30| @$@<Sloth c@Z@>@{Oops.@} + Error|............^Illegal character or symbol in name. + |............^Skipping after error to the next major construct... + 31 31| @A@<Error recovery point@> + |.^...skipped to here after the error. + 32 32| + 33 33| @$@<Sloth d@>Z@{Oops.@} + Error|..............^Expecting "==@{" or "+=@{" or just "@{". + |..............^(or @Z or @M if they have not already appeared). + |..............^Note: FunnelWeb is intolerant of spaces at this point. + |...............^Skipping after error to the next major construct... + 34 34| @A@<Error recovery point@> + |.^...skipped to here after the error. + 35 35| + 36 36| @$@<Sloth d@>@ZM@{Oops.@} + Error|................^Expecting "==@{" or "+=@{" or just "@{". + |................^(or @Z or @M if they have not already appeared). + |................^Note: FunnelWeb is intolerant of spaces at this point. + |.................^Skipping after error to the next major construct... + 37 37| @A@<Error recovery point@> + |.^...skipped to here after the error. + 38 38| + 39 39| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 7 Errors. diff --git a/web/funnelAC/results/pr07.lis b/web/funnelAC/results/pr07.lis new file mode 100644 index 0000000000..be11d727e6 --- /dev/null +++ b/web/funnelAC/results/pr07.lis @@ -0,0 +1,703 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 50 52 30 37 3A 20 54 65 73 74 20 74 68 65 20 70 | PR07: Test the p | +| 61 72 73 69 6E 67 20 6F 66 20 3D 3D 20 61 6E 64 | arsing of == and | +| 20 2B 3D 20 69 6E 20 6D 61 63 72 6F 20 64 65 66 | += in macro def | +| 69 6E 69 74 69 6F 6E 73 2E 0A 0A 54 72 69 70 20 | initions...Trip | +| 74 68 65 20 70 61 72 73 65 72 20 73 6F 20 77 65 | the parser so we | +| 20 64 6F 6E 27 74 20 67 65 74 20 61 6E 79 20 66 | don't get any f | +| 75 72 74 68 65 72 2E 0A 40 3E 0A 0A 31 2E 20 54 | urther..@>..1. T | +| 65 73 74 20 77 69 74 68 20 6E 6F 20 65 71 75 61 | est with no equa | +| 6C 73 2E 0A 40 24 40 3C 53 6C 6F 74 68 40 3E 40 | ls..@$@<Sloth@>@ | +| 7B 4E 6F 20 65 71 75 61 6C 73 20 69 6E 20 74 68 | {No equals in th | +| 69 73 20 6D 61 63 72 6F 20 64 65 66 69 6E 69 74 | is macro definit | +| 69 6F 6E 2E 40 7D 0A 0A 32 2E 20 54 65 73 74 20 | ion.@}..2. Test | +| 77 69 74 68 20 3D 3D 2E 0A 40 24 40 3C 53 6C 6F | with ==..@$@<Slo | +| 74 68 20 77 69 74 68 20 65 71 75 61 6C 73 40 3E | th with equals@> | +| 3D 3D 40 7B 4E 6F 20 65 71 75 61 6C 73 20 69 6E | ==@{No equals in | +| 20 74 68 69 73 20 6D 61 63 72 6F 20 64 65 66 69 | this macro defi | +| 6E 69 74 69 6F 6E 2E 40 7D 0A 0A 33 2E 20 54 65 | nition.@}..3. Te | +| 73 74 20 77 69 74 68 20 2B 3D 2E 0A 40 24 40 3C | st with +=..@$@< | +| 53 6C 6F 74 68 20 77 69 74 68 20 70 6C 75 73 40 | Sloth with plus@ | +| 3E 2B 3D 40 7B 4E 6F 20 65 71 75 61 6C 73 20 69 | >+=@{No equals i | +| 6E 20 74 68 69 73 20 6D 61 63 72 6F 20 64 65 66 | n this macro def | +| 69 6E 69 74 69 6F 6E 2E 40 7D 0A 0A 34 2E 20 54 | inition.@}..4. T | +| 65 73 74 20 77 69 74 68 20 73 79 6E 74 61 78 20 | est with syntax | +| 65 72 72 6F 72 73 2E 0A 0A 40 24 40 3C 45 72 72 | errors...@$@<Err | +| 6F 72 31 40 3E 2B 2B 40 7B 4E 6F 20 65 71 75 61 | or1@>++@{No equa | +| 6C 73 20 69 6E 20 74 68 69 73 20 6D 61 63 72 6F | ls in this macro | +| 20 64 65 66 69 6E 69 74 69 6F 6E 2E 40 7D 0A 40 | definition.@}.@ | +| 41 40 3C 45 72 72 6F 72 20 72 65 63 6F 76 65 72 | A@<Error recover | +| 79 20 70 6F 69 6E 74 40 3E 0A 0A 40 24 40 3C 45 | y point@>..@$@<E | +| 72 72 6F 72 32 40 3E 40 2B 3D 40 7B 4E 6F 20 65 | rror2@>@+=@{No e | +| 71 75 61 6C 73 20 69 6E 20 74 68 69 73 20 6D 61 | quals in this ma | +| 63 72 6F 20 64 65 66 69 6E 69 74 69 6F 6E 2E 40 | cro definition.@ | +| 7D 0A 40 41 40 3C 45 72 72 6F 72 20 72 65 63 6F | }.@A@<Error reco | +| 76 65 72 79 20 70 6F 69 6E 74 40 3E 0A 0A 40 24 | very point@>..@$ | +| 40 3C 45 72 72 6F 72 33 40 3E 2B 3D 3D 2B 40 7B | @<Error3@>+==+@{ | +| 4E 6F 20 65 71 75 61 6C 73 20 69 6E 20 74 68 69 | No equals in thi | +| 73 20 6D 61 63 72 6F 20 64 65 66 69 6E 69 74 69 | s macro definiti | +| 6F 6E 2E 40 7D 0A 40 41 40 3C 45 72 72 6F 72 20 | on.@}.@A@<Error | +| 72 65 63 6F 76 65 72 79 20 70 6F 69 6E 74 40 3E | recovery point@> | +| 0A 0A 40 24 40 3C 45 72 72 6F 72 34 40 3E 3D 2B | ..@$@<Error4@>=+ | +| 40 7B 4E 6F 20 65 71 75 61 6C 73 20 69 6E 20 74 | @{No equals in t | +| 68 69 73 20 6D 61 63 72 6F 20 64 65 66 69 6E 69 | his macro defini | +| 74 69 6F 6E 2E 40 7D 0A 40 41 40 3C 45 72 72 6F | tion.@}.@A@<Erro | +| 72 20 72 65 63 6F 76 65 72 79 20 70 6F 69 6E 74 | r recovery point | +| 40 3E 0A 0A 40 24 40 3C 45 72 72 6F 72 34 40 3E | @>..@$@<Error4@> | +| 40 3D 40 3D 40 7B 4E 6F 20 65 71 75 61 6C 73 20 | @=@=@{No equals | +| 69 6E 20 74 68 69 73 20 6D 61 63 72 6F 20 64 65 | in this macro de | +| 66 69 6E 69 74 69 6F 6E 2E 40 7D 0A 40 41 40 3C | finition.@}.@A@< | +| 45 72 72 6F 72 20 72 65 63 6F 76 65 72 79 20 70 | Error recovery p | +| 6F 69 6E 74 40 3E 0A 0A 40 24 40 3C 45 72 72 6F | oint@>..@$@<Erro | +| 72 34 40 3E 40 2B 40 3D 40 7B 4E 6F 20 65 71 75 | r4@>@+@=@{No equ | +| 61 6C 73 20 69 6E 20 74 68 69 73 20 6D 61 63 72 | als in this macr | +| 6F 20 64 65 66 69 6E 69 74 69 6F 6E 2E 40 7D 0A | o definition.@}. | +| 40 41 40 3C 45 72 72 6F 72 20 72 65 63 6F 76 65 | @A@<Error recove | +| 72 79 20 70 6F 69 6E 74 40 3E 0A 0A 0A 0A | ry point@>.... | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| PR07: Test the parsing of == and += in macro definitions.<010> +00002 00002| <010> +00003 00003| Trip the parser so we don't get any further.<010> +00004 00004| @><010> +00005 00005| <010> +00006 00006| 1. Test with no equals.<010> +00007 00007| @$@<Sloth@>@{No equals in this macro definition.@}<010> +00008 00008| <010> +00009 00009| 2. Test with ==.<010> +00010 00010| @$@<Sloth with equals@>==@{No equals in this macro definition.@}<010> +00011 00011| <010> +00012 00012| 3. Test with +=.<010> +00013 00013| @$@<Sloth with plus@>+=@{No equals in this macro definition.@}<010> +00014 00014| <010> +00015 00015| 4. Test with syntax errors.<010> +00016 00016| <010> +00017 00017| @$@<Error1@>++@{No equals in this macro definition.@}<010> +00018 00018| @A@<Error recovery point@><010> +00019 00019| <010> +00020 00020| @$@<Error2@>@+=@{No equals in this macro definition.@}<010> +00021 00021| @A@<Error recovery point@><010> +00022 00022| <010> +00023 00023| @$@<Error3@>+==+@{No equals in this macro definition.@}<010> +00024 00024| @A@<Error recovery point@><010> +00025 00025| <010> +00026 00026| @$@<Error4@>=+@{No equals in this macro definition.@}<010> +00027 00027| @A@<Error recovery point@><010> +00028 00028| <010> +00029 00029| @$@<Error4@>@=@=@{No equals in this macro definition.@}<010> +00030 00030| @A@<Error recovery point@><010> +00031 00031| <010> +00032 00032| @$@<Error4@>@+@=@{No equals in this macro definition.@}<010> +00033 00033| @A@<Error recovery point@><010> +00034 00034| <010> +00035 00035| <010> +00036 00036| <010> +00037 00037| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 114 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="PR07: Test the parsing of == and += in macro definitions.<010> +<010> +Trip the parser so we don't get any further.<010> +" +0004[01]: @> Close name. +0004[03]: Text. Text scrap[Grey]="<010> +<010> +1. Test with no equals.<010> +" +0007[01]: @$ Macro defn. +0007[03]: @< Open name. +0007[05]: Text. Text scrap[Grey]="Sloth" +0007[10]: @> Close name. +0007[12]: @{ Open defn. +0007[14]: Text. Text scrap[Grey]="No equals in this macro definition." +0007[49]: @} Close defn. +0007[51]: Text. Text scrap[Grey]="<010> +<010> +2. Test with ==.<010> +" +0010[01]: @$ Macro defn. +0010[03]: @< Open name. +0010[05]: Text. Text scrap[Grey]="Sloth with equals" +0010[22]: @> Close name. +0010[24]: Text. Text scrap[Grey]="==" +0010[26]: @{ Open defn. +0010[28]: Text. Text scrap[Grey]="No equals in this macro definition." +0010[63]: @} Close defn. +0010[65]: Text. Text scrap[Grey]="<010> +<010> +3. Test with +=.<010> +" +0013[01]: @$ Macro defn. +0013[03]: @< Open name. +0013[05]: Text. Text scrap[Grey]="Sloth with plus" +0013[20]: @> Close name. +0013[22]: Text. Text scrap[Grey]="+=" +0013[24]: @{ Open defn. +0013[26]: Text. Text scrap[Grey]="No equals in this macro definition." +0013[61]: @} Close defn. +0013[63]: Text. Text scrap[Grey]="<010> +<010> +4. Test with syntax errors.<010> +<010> +" +0017[01]: @$ Macro defn. +0017[03]: @< Open name. +0017[05]: Text. Text scrap[Grey]="Error1" +0017[11]: @> Close name. +0017[13]: Text. Text scrap[Grey]="++" +0017[15]: @{ Open defn. +0017[17]: Text. Text scrap[Grey]="No equals in this macro definition." +0017[52]: @} Close defn. +0017[54]: Text. Text scrap[White]="<010> +" +0018[01]: @A New section (Level 1). +0018[03]: @< Open name. +0018[05]: Text. Text scrap[Grey]="Error recovery point" +0018[25]: @> Close name. +0018[27]: Text. Text scrap[White]="<010> +<010> +" +0020[01]: @$ Macro defn. +0020[03]: @< Open name. +0020[05]: Text. Text scrap[Grey]="Error2" +0020[11]: @> Close name. +0020[13]: Text. Text scrap[White]="<010> +" +0020[15]: Text. Text scrap[Grey]="=" +0020[16]: @{ Open defn. +0020[18]: Text. Text scrap[Grey]="No equals in this macro definition." +0020[53]: @} Close defn. +0020[55]: Text. Text scrap[White]="<010> +" +0021[01]: @A New section (Level 1). +0021[03]: @< Open name. +0021[05]: Text. Text scrap[Grey]="Error recovery point" +0021[25]: @> Close name. +0021[27]: Text. Text scrap[White]="<010> +<010> +" +0023[01]: @$ Macro defn. +0023[03]: @< Open name. +0023[05]: Text. Text scrap[Grey]="Error3" +0023[11]: @> Close name. +0023[13]: Text. Text scrap[Grey]="+==+" +0023[17]: @{ Open defn. +0023[19]: Text. Text scrap[Grey]="No equals in this macro definition." +0023[54]: @} Close defn. +0023[56]: Text. Text scrap[White]="<010> +" +0024[01]: @A New section (Level 1). +0024[03]: @< Open name. +0024[05]: Text. Text scrap[Grey]="Error recovery point" +0024[25]: @> Close name. +0024[27]: Text. Text scrap[White]="<010> +<010> +" +0026[01]: @$ Macro defn. +0026[03]: @< Open name. +0026[05]: Text. Text scrap[Grey]="Error4" +0026[11]: @> Close name. +0026[13]: Text. Text scrap[Grey]="=+" +0026[15]: @{ Open defn. +0026[17]: Text. Text scrap[Grey]="No equals in this macro definition." +0026[52]: @} Close defn. +0026[54]: Text. Text scrap[White]="<010> +" +0027[01]: @A New section (Level 1). +0027[03]: @< Open name. +0027[05]: Text. Text scrap[Grey]="Error recovery point" +0027[25]: @> Close name. +0027[27]: Text. Text scrap[White]="<010> +<010> +" +0029[01]: @$ Macro defn. +0029[03]: @< Open name. +0029[05]: Text. Text scrap[Grey]="Error4" +0029[11]: @> Close name. +0029[16]: Text. Text scrap[Grey]="=" +0029[17]: @{ Open defn. +0029[19]: Text. Text scrap[Grey]="No equals in this macro definition." +0029[54]: @} Close defn. +0029[56]: Text. Text scrap[White]="<010> +" +0030[01]: @A New section (Level 1). +0030[03]: @< Open name. +0030[05]: Text. Text scrap[Grey]="Error recovery point" +0030[25]: @> Close name. +0030[27]: Text. Text scrap[White]="<010> +<010> +" +0032[01]: @$ Macro defn. +0032[03]: @< Open name. +0032[05]: Text. Text scrap[Grey]="Error4" +0032[11]: @> Close name. +0032[13]: Text. Text scrap[White]="<010> +" +0032[18]: Text. Text scrap[Grey]="{No equals in this macro definition." +0032[54]: @} Close defn. +0032[56]: Text. Text scrap[White]="<010> +" +0033[01]: @A New section (Level 1). +0033[03]: @< Open name. +0033[05]: Text. Text scrap[Grey]="Error recovery point" +0033[25]: @> Close name. +0033[27]: Text. Text scrap[White]="<010> +<010> +<010> +<010> +" +0037[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Error1" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Error2" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Error3" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Error4" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=1, Pos(L,C)=(7,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="No equals in this macro definition." +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth with equals" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=2, Pos(L,C)=(10,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="No equals in this macro definition." +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth with plus" +Defined? : Yes. +Parameters : 0 +Additive? : Yes. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=3, Pos(L,C)=(13,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="No equals in this macro definition." +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="PR07: Test the parsing of == and += in macro definitions.<010> +<010> +Trip the parser so we don't get any further.<010> +" +--- End of Text Scrap List --- + + +TEXT COMPONENT: Pos(L,C)=(4,3). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +1. Test with no equals.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(7,1). +Part 1 of macro @<Sloth@>. + +TEXT COMPONENT: Pos(L,C)=(7,51). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +2. Test with ==.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(10,1). +Part 1 of macro @<Sloth with equals@>. + +TEXT COMPONENT: Pos(L,C)=(10,65). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +3. Test with +=.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(13,1). +Part 1 of macro @<Sloth with plus@>. + +TEXT COMPONENT: Pos(L,C)=(13,63). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +4. Test with syntax errors.<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "1", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(18,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "2", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(21,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "3", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(24,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "4", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(27,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "5", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(30,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "6", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(33,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +<010> +<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| PR07: Test the parsing of == and += in macro definitions. + 2 2| + 3 3| Trip the parser so we don't get any further. + 4 4| @> + Error|.^The parser was at the top level and was expecting + |.^one of: {Directive, Text, Macro definition, EOF}. + 5 5| + 6 6| 1. Test with no equals. + 7 7| @$@<Sloth@>@{No equals in this macro definition.@} + 8 8| + 9 9| 2. Test with ==. + 10 10| @$@<Sloth with equals@>==@{No equals in this macro definition.@} + 11 11| + 12 12| 3. Test with +=. + 13 13| @$@<Sloth with plus@>+=@{No equals in this macro definition.@} + 14 14| + 15 15| 4. Test with syntax errors. + 16 16| + 17 17| @$@<Error1@>++@{No equals in this macro definition.@} + Error|.............^Expecting "==@{" or "+=@{" or just "@{". + |.............^(or @Z or @M if they have not already appeared). + |.............^Note: FunnelWeb is intolerant of spaces at this point. + |...............^Skipping after error to the next major construct... + 18 18| @A@<Error recovery point@> + |.^...skipped to here after the error. + 19 19| + 20 20| @$@<Error2@>@+=@{No equals in this macro definition.@} + Error|.............^Expecting "==@{" or "+=@{" or just "@{". + |.............^(or @Z or @M if they have not already appeared). + |.............^Note: FunnelWeb is intolerant of spaces at this point. + |................^Skipping after error to the next major construct... + 21 21| @A@<Error recovery point@> + |.^...skipped to here after the error. + 22 22| + 23 23| @$@<Error3@>+==+@{No equals in this macro definition.@} + Error|.............^Expecting "==@{" or "+=@{" or just "@{". + |.............^(or @Z or @M if they have not already appeared). + |.............^Note: FunnelWeb is intolerant of spaces at this point. + |.................^Skipping after error to the next major construct... + 24 24| @A@<Error recovery point@> + |.^...skipped to here after the error. + 25 25| + 26 26| @$@<Error4@>=+@{No equals in this macro definition.@} + Error|.............^Expecting "==@{" or "+=@{" or just "@{". + |.............^(or @Z or @M if they have not already appeared). + |.............^Note: FunnelWeb is intolerant of spaces at this point. + |...............^Skipping after error to the next major construct... + 27 27| @A@<Error recovery point@> + |.^...skipped to here after the error. + 28 28| + 29 29| @$@<Error4@>@=@=@{No equals in this macro definition.@} + Error|................^Expecting "==@{" or "+=@{" or just "@{". + |................^(or @Z or @M if they have not already appeared). + |................^Note: FunnelWeb is intolerant of spaces at this point. + |.................^Skipping after error to the next major construct... + 30 30| @A@<Error recovery point@> + |.^...skipped to here after the error. + 31 31| + 32 32| @$@<Error4@>@+@=@{No equals in this macro definition.@} + Error|.............^Expecting "==@{" or "+=@{" or just "@{". + |.............^(or @Z or @M if they have not already appeared). + |.............^Note: FunnelWeb is intolerant of spaces at this point. + |......................................................^Skipping after error to the next major construct... + 33 33| @A@<Error recovery point@> + |.^...skipped to here after the error. + 34 34| + 35 35| + 36 36| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 7 Errors. diff --git a/web/funnelAC/results/pr08.lis b/web/funnelAC/results/pr08.lis new file mode 100644 index 0000000000..daf44e8219 --- /dev/null +++ b/web/funnelAC/results/pr08.lis @@ -0,0 +1,1360 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 50 52 30 38 3A 20 54 65 73 74 20 73 65 6D 61 6E | PR08: Test seman | +| 74 69 63 20 63 68 65 63 6B 69 6E 67 20 6F 66 20 | tic checking of | +| 6D 61 63 72 6F 20 64 65 66 69 6E 69 74 69 6F 6E | macro definition | +| 73 2E 0A 0A 54 72 69 70 20 70 61 72 73 65 72 20 | s...Trip parser | +| 74 6F 20 62 65 20 73 75 72 65 20 74 68 61 74 20 | to be sure that | +| 77 65 20 77 6F 6E 27 74 20 67 65 74 20 61 6E 79 | we won't get any | +| 20 6F 75 74 70 75 74 20 66 69 6C 65 73 21 0A 40 | output files!.@ | +| 3E 0A 0A 31 2E 20 46 69 6C 65 20 6D 61 63 72 6F | >..1. File macro | +| 20 68 61 73 20 70 61 72 61 6D 65 74 65 72 73 2E | has parameters. | +| 20 45 72 72 6F 72 2E 0A 40 4F 40 3C 53 6C 6F 74 | Error..@O@<Slot | +| 68 20 31 40 3E 40 28 40 33 40 29 40 7B 57 61 6C | h 1@>@(@3@)@{Wal | +| 72 75 73 40 7D 0A 40 41 40 3C 45 72 72 6F 72 20 | rus@}.@A@<Error | +| 72 65 63 6F 76 65 72 79 20 70 6F 69 6E 74 40 3E | recovery point@> | +| 0A 0A 32 2E 20 46 69 6C 65 20 6D 61 63 72 6F 20 | ..2. File macro | +| 69 73 20 61 64 64 69 74 69 76 65 2E 20 45 72 72 | is additive. Err | +| 6F 72 2E 0A 40 4F 40 3C 53 6C 6F 74 68 20 32 40 | or..@O@<Sloth 2@ | +| 3E 2B 3D 40 7B 57 61 6C 72 75 73 40 7D 0A 40 41 | >+=@{Walrus@}.@A | +| 40 3C 45 72 72 6F 72 20 72 65 63 6F 76 65 72 79 | @<Error recovery | +| 20 70 6F 69 6E 74 40 3E 0A 0A 33 2E 20 46 69 6C | point@>..3. Fil | +| 65 20 6D 61 63 72 6F 20 68 61 73 20 74 6F 6F 20 | e macro has too | +| 6C 6F 6E 67 20 61 20 6E 61 6D 65 2E 20 54 68 65 | long a name. The | +| 20 74 65 73 74 20 6E 61 6D 65 20 68 61 73 20 31 | test name has 1 | +| 32 30 30 20 63 68 61 72 61 63 74 65 72 73 2E 20 | 200 characters. | +| 45 72 72 2E 0A 4E 6F 74 65 3A 20 54 68 69 73 20 | Err..Note: This | +| 74 65 73 74 20 63 61 6E 27 74 20 74 65 73 74 20 | test can't test | +| 74 68 65 20 65 72 72 6F 72 20 6D 65 73 73 61 67 | the error messag | +| 65 20 69 66 20 74 68 65 20 6D 61 78 69 6D 75 6D | e if the maximum | +| 20 6C 65 6E 67 74 68 20 6F 66 20 61 0A 6D 61 63 | length of a.mac | +| 72 6F 20 6E 61 6D 65 20 69 73 20 6C 65 73 73 20 | ro name is less | +| 74 68 61 6E 20 74 68 65 20 6D 61 78 69 6D 75 6D | than the maximum | +| 20 6C 65 6E 67 74 68 20 6F 66 20 61 20 66 69 6C | length of a fil | +| 65 20 6E 61 6D 65 20 61 73 20 74 68 65 20 6E 61 | e name as the na | +| 6D 65 0A 65 72 72 6F 72 20 69 73 20 63 61 75 67 | me.error is caug | +| 68 74 20 66 69 72 73 74 2E 0A 40 70 20 6D 61 78 | ht first..@p max | +| 69 6D 75 6D 5F 69 6E 70 75 74 5F 6C 69 6E 65 5F | imum_input_line_ | +| 6C 65 6E 67 74 68 20 3D 20 69 6E 66 69 6E 69 74 | length = infinit | +| 79 0A 40 4F 40 3C 31 32 33 34 35 36 37 38 39 30 | y.@O@<1234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 40 3E 40 7B 40 7D 0A 40 41 40 | 567890@>@{@}.@A@ | +| 3C 45 72 72 6F 72 20 72 65 63 6F 76 65 72 79 20 | <Error recovery | +| 70 6F 69 6E 74 40 3E 0A 0A 34 2E 20 46 69 6C 65 | point@>..4. File | +| 20 6D 61 63 72 6F 20 68 61 73 20 7A 65 72 6F 20 | macro has zero | +| 6F 72 20 6D 61 6E 79 20 61 74 74 72 69 62 75 74 | or many attribut | +| 65 73 2E 20 45 72 72 6F 72 2E 0A 40 4F 40 3C 53 | es. Error..@O@<S | +| 6C 6F 74 68 20 33 40 3E 40 5A 40 7B 57 61 6C 72 | loth 3@>@Z@{Walr | +| 75 73 40 7D 0A 40 41 40 3C 45 72 72 6F 72 20 72 | us@}.@A@<Error r | +| 65 63 6F 76 65 72 79 20 70 6F 69 6E 74 40 3E 0A | ecovery point@>. | +| 0A 40 4F 40 3C 53 6C 6F 74 68 20 34 40 3E 40 4D | .@O@<Sloth 4@>@M | +| 40 7B 57 61 6C 72 75 73 40 7D 0A 40 41 40 3C 45 | @{Walrus@}.@A@<E | +| 72 72 6F 72 20 72 65 63 6F 76 65 72 79 20 70 6F | rror recovery po | +| 69 6E 74 40 3E 0A 0A 40 4F 40 3C 53 6C 6F 74 68 | int@>..@O@<Sloth | +| 20 35 40 3E 40 5A 40 4D 40 7B 57 61 6C 72 75 73 | 5@>@Z@M@{Walrus | +| 40 7D 0A 40 41 40 3C 45 72 72 6F 72 20 72 65 63 | @}.@A@<Error rec | +| 6F 76 65 72 79 20 70 6F 69 6E 74 40 3E 0A 0A 35 | overy point@>..5 | +| 2E 20 50 72 65 76 69 6F 75 73 20 64 65 66 69 6E | . Previous defin | +| 69 74 69 6F 6E 20 69 73 20 66 75 6C 6C 2C 20 63 | ition is full, c | +| 75 72 72 65 6E 74 20 69 73 20 61 64 64 69 74 69 | urrent is additi | +| 76 65 2E 0A 40 24 40 3C 57 61 6C 72 75 73 20 31 | ve..@$@<Walrus 1 | +| 40 3E 3D 3D 40 7B 53 6C 6F 74 68 40 7D 0A 40 24 | @>==@{Sloth@}.@$ | +| 40 3C 57 61 6C 72 75 73 20 31 40 3E 2B 3D 40 7B | @<Walrus 1@>+=@{ | +| 41 61 72 64 76 61 72 6B 40 7D 0A 40 41 40 3C 45 | Aardvark@}.@A@<E | +| 72 72 6F 72 20 72 65 63 6F 76 65 72 79 20 70 6F | rror recovery po | +| 69 6E 74 40 3E 0A 0A 36 2E 20 50 72 65 76 69 6F | int@>..6. Previo | +| 75 73 20 64 65 66 69 6E 69 74 69 6F 6E 20 69 73 | us definition is | +| 20 61 64 64 69 74 69 76 65 2C 20 63 75 72 72 65 | additive, curre | +| 6E 74 20 69 73 20 66 75 6C 6C 2E 0A 40 24 40 3C | nt is full..@$@< | +| 57 61 6C 72 75 73 20 32 40 3E 2B 3D 40 7B 53 6C | Walrus 2@>+=@{Sl | +| 6F 74 68 40 7D 0A 40 24 40 3C 57 61 6C 72 75 73 | oth@}.@$@<Walrus | +| 20 32 40 3E 3D 3D 40 7B 41 61 72 64 76 61 72 6B | 2@>==@{Aardvark | +| 40 7D 0A 40 41 40 3C 45 72 72 6F 72 20 72 65 63 | @}.@A@<Error rec | +| 6F 76 65 72 79 20 70 6F 69 6E 74 40 3E 0A 0A 37 | overy point@>..7 | +| 2E 20 4E 6F 6E 2D 66 69 72 73 74 20 62 6F 64 79 | . Non-first body | +| 20 70 61 72 74 20 6F 66 20 70 61 72 74 69 61 6C | part of partial | +| 20 68 61 73 20 70 61 72 61 6D 65 74 65 72 2E 0A | has parameter.. | +| 40 24 40 3C 55 6E 69 63 6F 72 6E 40 3E 40 28 40 | @$@<Unicorn@>@(@ | +| 33 40 29 2B 3D 40 7B 54 75 72 6B 65 79 40 7D 0A | 3@)+=@{Turkey@}. | +| 40 24 40 3C 55 6E 69 63 6F 72 6E 40 3E 40 28 40 | @$@<Unicorn@>@(@ | +| 33 40 29 2B 3D 40 7B 54 75 72 6B 65 79 40 7D 0A | 3@)+=@{Turkey@}. | +| 40 41 40 3C 45 72 72 6F 72 20 72 65 63 6F 76 65 | @A@<Error recove | +| 72 79 20 70 6F 69 6E 74 40 3E 0A 0A 38 2E 20 5A | ry point@>..8. Z | +| 65 72 6F 20 6F 72 20 6D 61 6E 79 20 61 74 74 72 | ero or many attr | +| 69 62 75 74 65 73 20 6F 6E 20 6E 6F 6E 2D 66 69 | ibutes on non-fi | +| 72 73 74 20 62 6F 64 79 20 70 61 72 74 20 6F 66 | rst body part of | +| 20 61 64 64 69 74 69 76 65 2E 0A 40 24 40 3C 45 | additive..@$@<E | +| 6C 65 70 68 61 6E 74 40 3E 40 5A 40 4D 2B 3D 40 | lephant@>@Z@M+=@ | +| 7B 54 75 72 6B 65 79 40 7D 0A 40 24 40 3C 45 6C | {Turkey@}.@$@<El | +| 65 70 68 61 6E 74 40 3E 40 5A 40 4D 2B 3D 40 7B | ephant@>@Z@M+=@{ | +| 54 75 72 6B 65 79 40 7D 0A 40 41 40 3C 45 72 72 | Turkey@}.@A@<Err | +| 6F 72 20 72 65 63 6F 76 65 72 79 20 70 6F 69 6E | or recovery poin | +| 74 40 3E 0A 0A 39 2E 20 43 68 65 63 6B 20 74 68 | t@>..9. Check th | +| 61 74 20 6E 6F 6E 2D 65 78 69 73 74 65 6E 74 20 | at non-existent | +| 66 6F 72 6D 61 6C 20 70 61 72 61 6D 65 74 65 72 | formal parameter | +| 73 20 61 72 65 20 63 61 75 67 68 74 2E 0A 0A 40 | s are caught...@ | +| 24 40 3C 5A 65 72 6F 40 3E 40 5A 40 7B 53 6C 6F | $@<Zero@>@Z@{Slo | +| 74 68 40 31 57 61 6C 72 75 73 40 7D 0A 40 41 40 | th@1Walrus@}.@A@ | +| 3C 45 72 72 6F 72 20 72 65 63 6F 76 65 72 79 20 | <Error recovery | +| 70 6F 69 6E 74 40 3E 0A 0A 40 24 40 3C 4F 6E 65 | point@>..@$@<One | +| 40 3E 40 28 40 31 40 29 40 5A 40 7B 53 6C 6F 74 | @>@(@1@)@Z@{Slot | +| 68 40 32 57 61 6C 72 75 73 40 7D 0A 40 41 40 3C | h@2Walrus@}.@A@< | +| 45 72 72 6F 72 20 72 65 63 6F 76 65 72 79 20 70 | Error recovery p | +| 6F 69 6E 74 40 3E 0A 0A 40 24 40 3C 4D 61 6E 79 | oint@>..@$@<Many | +| 40 3E 40 28 40 37 40 29 40 5A 40 7B 53 6C 6F 74 | @>@(@7@)@Z@{Slot | +| 68 40 38 57 61 6C 72 75 73 40 7D 0A 40 41 40 3C | h@8Walrus@}.@A@< | +| 45 72 72 6F 72 20 72 65 63 6F 76 65 72 79 20 70 | Error recovery p | +| 6F 69 6E 74 40 3E 0A | oint@>. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| PR08: Test semantic checking of macro definitions.<010> +00002 00002| <010> +00003 00003| Trip parser to be sure that we won't get any output files!<010> +00004 00004| @><010> +00005 00005| <010> +00006 00006| 1. File macro has parameters. Error.<010> +00007 00007| @O@<Sloth 1@>@(@3@)@{Walrus@}<010> +00008 00008| @A@<Error recovery point@><010> +00009 00009| <010> +00010 00010| 2. File macro is additive. Error.<010> +00011 00011| @O@<Sloth 2@>+=@{Walrus@}<010> +00012 00012| @A@<Error recovery point@><010> +00013 00013| <010> +00014 00014| 3. File macro has too long a name. The test name has 1200 characters. Err.<010> +00015 00015| Note: This test can't test the error message if the maximum length of a<010> +00016 00016| macro name is less than the maximum length of a file name as the name<010> +00017 00017| error is caught first.<010> +00018 00018| @p maximum_input_line_length = infinity<010> +00019 00019| @O@<123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890@>@{@}<010> +00020 00020| @A@<Error recovery point@><010> +00021 00021| <010> +00022 00022| 4. File macro has zero or many attributes. Error.<010> +00023 00023| @O@<Sloth 3@>@Z@{Walrus@}<010> +00024 00024| @A@<Error recovery point@><010> +00025 00025| <010> +00026 00026| @O@<Sloth 4@>@M@{Walrus@}<010> +00027 00027| @A@<Error recovery point@><010> +00028 00028| <010> +00029 00029| @O@<Sloth 5@>@Z@M@{Walrus@}<010> +00030 00030| @A@<Error recovery point@><010> +00031 00031| <010> +00032 00032| 5. Previous definition is full, current is additive.<010> +00033 00033| @$@<Walrus 1@>==@{Sloth@}<010> +00034 00034| @$@<Walrus 1@>+=@{Aardvark@}<010> +00035 00035| @A@<Error recovery point@><010> +00036 00036| <010> +00037 00037| 6. Previous definition is additive, current is full.<010> +00038 00038| @$@<Walrus 2@>+=@{Sloth@}<010> +00039 00039| @$@<Walrus 2@>==@{Aardvark@}<010> +00040 00040| @A@<Error recovery point@><010> +00041 00041| <010> +00042 00042| 7. Non-first body part of partial has parameter.<010> +00043 00043| @$@<Unicorn@>@(@3@)+=@{Turkey@}<010> +00044 00044| @$@<Unicorn@>@(@3@)+=@{Turkey@}<010> +00045 00045| @A@<Error recovery point@><010> +00046 00046| <010> +00047 00047| 8. Zero or many attributes on non-first body part of additive.<010> +00048 00048| @$@<Elephant@>@Z@M+=@{Turkey@}<010> +00049 00049| @$@<Elephant@>@Z@M+=@{Turkey@}<010> +00050 00050| @A@<Error recovery point@><010> +00051 00051| <010> +00052 00052| 9. Check that non-existent formal parameters are caught.<010> +00053 00053| <010> +00054 00054| @$@<Zero@>@Z@{Sloth@1Walrus@}<010> +00055 00055| @A@<Error recovery point@><010> +00056 00056| <010> +00057 00057| @$@<One@>@(@1@)@Z@{Sloth@2Walrus@}<010> +00058 00058| @A@<Error recovery point@><010> +00059 00059| <010> +00060 00060| @$@<Many@>@(@7@)@Z@{Sloth@8Walrus@}<010> +00061 00061| @A@<Error recovery point@><010> +00062 00062| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 245 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="PR08: Test semantic checking of macro definitions.<010> +<010> +Trip parser to be sure that we won't get any output files!<010> +" +0004[01]: @> Close name. +0004[03]: Text. Text scrap[Grey]="<010> +<010> +1. File macro has parameters. Error.<010> +" +0007[01]: @F File defn. +0007[03]: @< Open name. +0007[05]: Text. Text scrap[Grey]="Sloth 1" +0007[12]: @> Close name. +0007[14]: @( Open param. +0007[16]: @n Parameter. Parameterno=3. +0007[18]: @} Close param. +0007[20]: @{ Open defn. +0007[22]: Text. Text scrap[Grey]="Walrus" +0007[28]: @} Close defn. +0007[30]: Text. Text scrap[White]="<010> +" +0008[01]: @A New section (Level 1). +0008[03]: @< Open name. +0008[05]: Text. Text scrap[Grey]="Error recovery point" +0008[25]: @> Close name. +0008[27]: Text. Text scrap[Grey]="<010> +<010> +2. File macro is additive. Error.<010> +" +0011[01]: @F File defn. +0011[03]: @< Open name. +0011[05]: Text. Text scrap[Grey]="Sloth 2" +0011[12]: @> Close name. +0011[14]: Text. Text scrap[Grey]="+=" +0011[16]: @{ Open defn. +0011[18]: Text. Text scrap[Grey]="Walrus" +0011[24]: @} Close defn. +0011[26]: Text. Text scrap[White]="<010> +" +0012[01]: @A New section (Level 1). +0012[03]: @< Open name. +0012[05]: Text. Text scrap[Grey]="Error recovery point" +0012[25]: @> Close name. +0012[27]: Text. Text scrap[Grey]="<010> +<010> +3. File macro has too long a name. The test name has 1200 characters. Err.<010> +Note: This test can't test the error message if the maximum length of a<010> +macro name is less than the maximum length of a file name as the name<010> +error is caught first.<010> +" +0019[01]: @F File defn. +0019[03]: @< Open name. +0019[05]: Text. Text scrap[Grey]="123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" +0019[1205]: @> Close name. +0019[1207]: @{ Open defn. +0019[1209]: @} Close defn. +0019[1211]: Text. Text scrap[White]="<010> +" +0020[01]: @A New section (Level 1). +0020[03]: @< Open name. +0020[05]: Text. Text scrap[Grey]="Error recovery point" +0020[25]: @> Close name. +0020[27]: Text. Text scrap[Grey]="<010> +<010> +4. File macro has zero or many attributes. Error.<010> +" +0023[01]: @F File defn. +0023[03]: @< Open name. +0023[05]: Text. Text scrap[Grey]="Sloth 3" +0023[12]: @> Close name. +0023[14]: @Z Zero calls. +0023[16]: @{ Open defn. +0023[18]: Text. Text scrap[Grey]="Walrus" +0023[24]: @} Close defn. +0023[26]: Text. Text scrap[White]="<010> +" +0024[01]: @A New section (Level 1). +0024[03]: @< Open name. +0024[05]: Text. Text scrap[Grey]="Error recovery point" +0024[25]: @> Close name. +0024[27]: Text. Text scrap[White]="<010> +<010> +" +0026[01]: @F File defn. +0026[03]: @< Open name. +0026[05]: Text. Text scrap[Grey]="Sloth 4" +0026[12]: @> Close name. +0026[14]: @M Many calls. +0026[16]: @{ Open defn. +0026[18]: Text. Text scrap[Grey]="Walrus" +0026[24]: @} Close defn. +0026[26]: Text. Text scrap[White]="<010> +" +0027[01]: @A New section (Level 1). +0027[03]: @< Open name. +0027[05]: Text. Text scrap[Grey]="Error recovery point" +0027[25]: @> Close name. +0027[27]: Text. Text scrap[White]="<010> +<010> +" +0029[01]: @F File defn. +0029[03]: @< Open name. +0029[05]: Text. Text scrap[Grey]="Sloth 5" +0029[12]: @> Close name. +0029[14]: @Z Zero calls. +0029[16]: @M Many calls. +0029[18]: @{ Open defn. +0029[20]: Text. Text scrap[Grey]="Walrus" +0029[26]: @} Close defn. +0029[28]: Text. Text scrap[White]="<010> +" +0030[01]: @A New section (Level 1). +0030[03]: @< Open name. +0030[05]: Text. Text scrap[Grey]="Error recovery point" +0030[25]: @> Close name. +0030[27]: Text. Text scrap[Grey]="<010> +<010> +5. Previous definition is full, current is additive.<010> +" +0033[01]: @$ Macro defn. +0033[03]: @< Open name. +0033[05]: Text. Text scrap[Grey]="Walrus 1" +0033[13]: @> Close name. +0033[15]: Text. Text scrap[Grey]="==" +0033[17]: @{ Open defn. +0033[19]: Text. Text scrap[Grey]="Sloth" +0033[24]: @} Close defn. +0033[26]: Text. Text scrap[White]="<010> +" +0034[01]: @$ Macro defn. +0034[03]: @< Open name. +0034[05]: Text. Text scrap[Grey]="Walrus 1" +0034[13]: @> Close name. +0034[15]: Text. Text scrap[Grey]="+=" +0034[17]: @{ Open defn. +0034[19]: Text. Text scrap[Grey]="Aardvark" +0034[27]: @} Close defn. +0034[29]: Text. Text scrap[White]="<010> +" +0035[01]: @A New section (Level 1). +0035[03]: @< Open name. +0035[05]: Text. Text scrap[Grey]="Error recovery point" +0035[25]: @> Close name. +0035[27]: Text. Text scrap[Grey]="<010> +<010> +6. Previous definition is additive, current is full.<010> +" +0038[01]: @$ Macro defn. +0038[03]: @< Open name. +0038[05]: Text. Text scrap[Grey]="Walrus 2" +0038[13]: @> Close name. +0038[15]: Text. Text scrap[Grey]="+=" +0038[17]: @{ Open defn. +0038[19]: Text. Text scrap[Grey]="Sloth" +0038[24]: @} Close defn. +0038[26]: Text. Text scrap[White]="<010> +" +0039[01]: @$ Macro defn. +0039[03]: @< Open name. +0039[05]: Text. Text scrap[Grey]="Walrus 2" +0039[13]: @> Close name. +0039[15]: Text. Text scrap[Grey]="==" +0039[17]: @{ Open defn. +0039[19]: Text. Text scrap[Grey]="Aardvark" +0039[27]: @} Close defn. +0039[29]: Text. Text scrap[White]="<010> +" +0040[01]: @A New section (Level 1). +0040[03]: @< Open name. +0040[05]: Text. Text scrap[Grey]="Error recovery point" +0040[25]: @> Close name. +0040[27]: Text. Text scrap[Grey]="<010> +<010> +7. Non-first body part of partial has parameter.<010> +" +0043[01]: @$ Macro defn. +0043[03]: @< Open name. +0043[05]: Text. Text scrap[Grey]="Unicorn" +0043[12]: @> Close name. +0043[14]: @( Open param. +0043[16]: @n Parameter. Parameterno=3. +0043[18]: @} Close param. +0043[20]: Text. Text scrap[Grey]="+=" +0043[22]: @{ Open defn. +0043[24]: Text. Text scrap[Grey]="Turkey" +0043[30]: @} Close defn. +0043[32]: Text. Text scrap[White]="<010> +" +0044[01]: @$ Macro defn. +0044[03]: @< Open name. +0044[05]: Text. Text scrap[Grey]="Unicorn" +0044[12]: @> Close name. +0044[14]: @( Open param. +0044[16]: @n Parameter. Parameterno=3. +0044[18]: @} Close param. +0044[20]: Text. Text scrap[Grey]="+=" +0044[22]: @{ Open defn. +0044[24]: Text. Text scrap[Grey]="Turkey" +0044[30]: @} Close defn. +0044[32]: Text. Text scrap[White]="<010> +" +0045[01]: @A New section (Level 1). +0045[03]: @< Open name. +0045[05]: Text. Text scrap[Grey]="Error recovery point" +0045[25]: @> Close name. +0045[27]: Text. Text scrap[Grey]="<010> +<010> +8. Zero or many attributes on non-first body part of additive.<010> +" +0048[01]: @$ Macro defn. +0048[03]: @< Open name. +0048[05]: Text. Text scrap[Grey]="Elephant" +0048[13]: @> Close name. +0048[15]: @Z Zero calls. +0048[17]: @M Many calls. +0048[19]: Text. Text scrap[Grey]="+=" +0048[21]: @{ Open defn. +0048[23]: Text. Text scrap[Grey]="Turkey" +0048[29]: @} Close defn. +0048[31]: Text. Text scrap[White]="<010> +" +0049[01]: @$ Macro defn. +0049[03]: @< Open name. +0049[05]: Text. Text scrap[Grey]="Elephant" +0049[13]: @> Close name. +0049[15]: @Z Zero calls. +0049[17]: @M Many calls. +0049[19]: Text. Text scrap[Grey]="+=" +0049[21]: @{ Open defn. +0049[23]: Text. Text scrap[Grey]="Turkey" +0049[29]: @} Close defn. +0049[31]: Text. Text scrap[White]="<010> +" +0050[01]: @A New section (Level 1). +0050[03]: @< Open name. +0050[05]: Text. Text scrap[Grey]="Error recovery point" +0050[25]: @> Close name. +0050[27]: Text. Text scrap[Grey]="<010> +<010> +9. Check that non-existent formal parameters are caught.<010> +<010> +" +0054[01]: @$ Macro defn. +0054[03]: @< Open name. +0054[05]: Text. Text scrap[Grey]="Zero" +0054[09]: @> Close name. +0054[11]: @Z Zero calls. +0054[13]: @{ Open defn. +0054[15]: Text. Text scrap[Grey]="Sloth" +0054[20]: @n Parameter. Parameterno=1. +0054[22]: Text. Text scrap[Grey]="Walrus" +0054[28]: @} Close defn. +0054[30]: Text. Text scrap[White]="<010> +" +0055[01]: @A New section (Level 1). +0055[03]: @< Open name. +0055[05]: Text. Text scrap[Grey]="Error recovery point" +0055[25]: @> Close name. +0055[27]: Text. Text scrap[White]="<010> +<010> +" +0057[01]: @$ Macro defn. +0057[03]: @< Open name. +0057[05]: Text. Text scrap[Grey]="One" +0057[08]: @> Close name. +0057[10]: @( Open param. +0057[12]: @n Parameter. Parameterno=1. +0057[14]: @} Close param. +0057[16]: @Z Zero calls. +0057[18]: @{ Open defn. +0057[20]: Text. Text scrap[Grey]="Sloth" +0057[25]: @n Parameter. Parameterno=2. +0057[27]: Text. Text scrap[Grey]="Walrus" +0057[33]: @} Close defn. +0057[35]: Text. Text scrap[White]="<010> +" +0058[01]: @A New section (Level 1). +0058[03]: @< Open name. +0058[05]: Text. Text scrap[Grey]="Error recovery point" +0058[25]: @> Close name. +0058[27]: Text. Text scrap[White]="<010> +<010> +" +0060[01]: @$ Macro defn. +0060[03]: @< Open name. +0060[05]: Text. Text scrap[Grey]="Many" +0060[09]: @> Close name. +0060[11]: @( Open param. +0060[13]: @n Parameter. Parameterno=7. +0060[15]: @} Close param. +0060[17]: @Z Zero calls. +0060[19]: @{ Open defn. +0060[21]: Text. Text scrap[Grey]="Sloth" +0060[26]: @n Parameter. Parameterno=8. +0060[28]: Text. Text scrap[Grey]="Walrus" +0060[34]: @} Close defn. +0060[36]: Text. Text scrap[White]="<010> +" +0061[01]: @A New section (Level 1). +0061[03]: @< Open name. +0061[05]: Text. Text scrap[Grey]="Error recovery point" +0061[25]: @> Close name. +0061[27]: Text. Text scrap[White]="<010> +" +0062[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Elephant" +Defined? : Yes. +Parameters : 0 +Additive? : Yes. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=4, Pos(L,C)=(48,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Turkey" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Many" +Defined? : Yes. +Parameters : 7 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=7, Pos(L,C)=(60,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Sloth" +------ End Text Element ------ + + +-- Start Parameter Element -- +Parameter number=8. +Parameter is of macro "Many". +--- End Parameter Element --- + + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "One" +Defined? : Yes. +Parameters : 1 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=6, Pos(L,C)=(57,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Sloth" +------ End Text Element ------ + + +-- Start Parameter Element -- +Parameter number=2. +Parameter is of macro "One". +--- End Parameter Element --- + + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth 1" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth 2" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth 3" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth 4" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth 5" +Defined? : No. +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Unicorn" +Defined? : Yes. +Parameters : 3 +Additive? : Yes. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=3, Pos(L,C)=(43,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Turkey" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Walrus 1" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=1, Pos(L,C)=(33,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Sloth" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Walrus 2" +Defined? : Yes. +Parameters : 0 +Additive? : Yes. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=2, Pos(L,C)=(38,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Sloth" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Zero" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=5, Pos(L,C)=(54,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Sloth" +------ End Text Element ------ + + +-- Start Parameter Element -- +Parameter number=1. +Parameter is of macro "Zero". +--- End Parameter Element --- + + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="PR08: Test semantic checking of macro definitions.<010> +<010> +Trip parser to be sure that we won't get any output files!<010> +" +--- End of Text Scrap List --- + + +TEXT COMPONENT: Pos(L,C)=(4,3). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +1. File macro has parameters. Error.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "1", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(8,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +2. File macro is additive. Error.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "2", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(12,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +3. File macro has too long a name. The test name has 1200 characters. Err.<010> +Note: This test can't test the error message if the maximum length of a<010> +macro name is less than the maximum length of a file name as the name<010> +error is caught first.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "3", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(20,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +4. File macro has zero or many attributes. Error.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "4", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(24,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "5", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(27,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "6", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(30,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +5. Previous definition is full, current is additive.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(33,1). +Part 1 of macro @<Walrus 1@>. + +TEXT COMPONENT: Pos(L,C)=(33,26). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "7", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(35,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +6. Previous definition is additive, current is full.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(38,1). +Part 1 of macro @<Walrus 2@>. + +TEXT COMPONENT: Pos(L,C)=(38,26). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "8", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(40,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +7. Non-first body part of partial has parameter.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(43,1). +Part 1 of macro @<Unicorn@>. + +TEXT COMPONENT: Pos(L,C)=(43,32). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "9", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(45,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +8. Zero or many attributes on non-first body part of additive.<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(48,1). +Part 1 of macro @<Elephant@>. + +TEXT COMPONENT: Pos(L,C)=(48,31). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "10", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(50,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +9. Check that non-existent formal parameters are caught.<010> +<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(54,1). +Part 1 of macro @<Zero@>. + +TEXT COMPONENT: Pos(L,C)=(54,30). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "11", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(55,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(57,1). +Part 1 of macro @<One@>. + +TEXT COMPONENT: Pos(L,C)=(57,35). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "12", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(58,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(60,1). +Part 1 of macro @<Many@>. + +TEXT COMPONENT: Pos(L,C)=(60,36). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "13", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(61,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| PR08: Test semantic checking of macro definitions. + 2 2| + 3 3| Trip parser to be sure that we won't get any output files! + 4 4| @> + Error|.^The parser was at the top level and was expecting + |.^one of: {Directive, Text, Macro definition, EOF}. + 5 5| + 6 6| 1. File macro has parameters. Error. + 7 7| @O@<Sloth 1@>@(@3@)@{Walrus@} + |...^Macro definition ignored. + Error|................^Macros attached to output files cannot be parameterized. + |................^Reason: No actual parameters would be available during + |................^ output file generation. + |....................^Skipping after error to the next major construct... + 8 8| @A@<Error recovery point@> + |.^...skipped to here after the error. + 9 9| + 10 10| 2. File macro is additive. Error. + 11 11| @O@<Sloth 2@>+=@{Walrus@} + |...^Macro definition ignored. + Error|..............^Macros attached to output files cannot be additive. + |..............^Reason: Preventing this makes it easy to find output + |..............^file macros later, because there will be exactly one + |..............^@O declaration in the input file for each output file. + |..............^To do what you are trying to do, just create an additive + |..............^bridging macro, like this: + |..............^ @O@<prog.c@>@{@<Bridge@>@} + |..............^ @$@<Bridge@>+=@{void stringhack()...@} + |..............^ @$@<Bridge@>+=@{main()...@} + |................^Skipping after error to the next major construct... + 12 12| @A@<Error recovery point@> + |.^...skipped to here after the error. + 13 13| + 14 14| 3. File macro has too long a name. The test name has 1200 characters. Err. + 15 15| Note: This test can't test the error message if the maximum length of a + 16 16| macro name is less than the maximum length of a file name as the name + 17 17| error is caught first. + 18 18| @p maximum_input_line_length = infinity + 19 19| @O@<123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890@>@{@} + Error|.....^Name is too long. + |.....^The maximum length of a legal name is 80 characters. + |.....^Skipping after error to the next major construct... + 20 20| @A@<Error recovery point@> + |.^...skipped to here after the error. + 21 21| + 22 22| 4. File macro has zero or many attributes. Error. + 23 23| @O@<Sloth 3@>@Z@{Walrus@} + |...^Macro definition ignored. + Error|..............^Macros attached to output files cannot have @Z or @M. + |..............^Reason: They are always called once to generate their + |..............^output file and they cannot be called from other macros. + |..............^Hence they are always called exactly once and so there + |..............^can be no need for @Z or @M in their declarations. + |................^Skipping after error to the next major construct... + 24 24| @A@<Error recovery point@> + |.^...skipped to here after the error. + 25 25| + 26 26| @O@<Sloth 4@>@M@{Walrus@} + |...^Macro definition ignored. + Error|..............^Macros attached to output files cannot have @Z or @M. + |..............^Reason: They are always called once to generate their + |..............^output file and they cannot be called from other macros. + |..............^Hence they are always called exactly once and so there + |..............^can be no need for @Z or @M in their declarations. + |................^Skipping after error to the next major construct... + 27 27| @A@<Error recovery point@> + |.^...skipped to here after the error. + 28 28| + 29 29| @O@<Sloth 5@>@Z@M@{Walrus@} + |...^Macro definition ignored. + Error|..............^Macros attached to output files cannot have @Z or @M. + |..............^Reason: They are always called once to generate their + |..............^output file and they cannot be called from other macros. + |..............^Hence they are always called exactly once and so there + |..............^can be no need for @Z or @M in their declarations. + |..................^Skipping after error to the next major construct... + 30 30| @A@<Error recovery point@> + |.^...skipped to here after the error. + 31 31| + 32 32| 5. Previous definition is full, current is additive. + 33 33| @$@<Walrus 1@>==@{Sloth@} + 34 34| @$@<Walrus 1@>+=@{Aardvark@} + Error|...^A full definition of this macro appears at line 33. + |...^Full and additive definitions of the same macro cannot coexist. + |...^Macro definition ignored. + |.................^Skipping after error to the next major construct... + 35 35| @A@<Error recovery point@> + |.^...skipped to here after the error. + 36 36| + 37 37| 6. Previous definition is additive, current is full. + 38 38| @$@<Walrus 2@>+=@{Sloth@} + 39 39| @$@<Walrus 2@>==@{Aardvark@} + Error|...^An additive definition of this macro appears at line 38. + |...^Full and additive definitions of the same macro cannot coexist. + |...^Macro definition ignored. + |.................^Skipping after error to the next major construct... + 40 40| @A@<Error recovery point@> + |.^...skipped to here after the error. + 41 41| + 42 42| 7. Non-first body part of partial has parameter. + 43 43| @$@<Unicorn@>@(@3@)+=@{Turkey@} + 44 44| @$@<Unicorn@>@(@3@)+=@{Turkey@} + |...^Macro definition ignored. + Error|................^The formal parameter list of an additive macro + |................^must be placed only in the first definition part. + |................^The first part of this macro appears at line 43. + |......................^Skipping after error to the next major construct... + 45 45| @A@<Error recovery point@> + |.^...skipped to here after the error. + 46 46| + 47 47| 8. Zero or many attributes on non-first body part of additive. + 48 48| @$@<Elephant@>@Z@M+=@{Turkey@} + 49 49| @$@<Elephant@>@Z@M+=@{Turkey@} + |...^Macro definition ignored. + Error|...............^@Z and @M modifiers for additive macros must + |...............^be placed only in the first definition part. + |...............^The first part of this macro appears at line 48. + |.....................^Skipping after error to the next major construct... + 50 50| @A@<Error recovery point@> + |.^...skipped to here after the error. + 51 51| + 52 52| 9. Check that non-existent formal parameters are caught. + 53 53| + 54 54| @$@<Zero@>@Z@{Sloth@1Walrus@} + Error|....................^Macro being defined has only 0 parameters. + 55 55| @A@<Error recovery point@> + 56 56| + 57 57| @$@<One@>@(@1@)@Z@{Sloth@2Walrus@} + Error|.........................^Macro being defined has only 1 parameter. + 58 58| @A@<Error recovery point@> + 59 59| + 60 60| @$@<Many@>@(@7@)@Z@{Sloth@8Walrus@} + Error|..........................^Macro being defined has only 7 parameters. + 61 61| @A@<Error recovery point@> + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 14 Errors. diff --git a/web/funnelAC/results/pr09.lis b/web/funnelAC/results/pr09.lis new file mode 100644 index 0000000000..1b42ee5601 --- /dev/null +++ b/web/funnelAC/results/pr09.lis @@ -0,0 +1,2234 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 50 52 30 39 3A 20 54 65 73 74 20 63 61 6C 6C 73 | PR09: Test calls | +| 20 61 6E 64 20 61 63 74 75 61 6C 20 70 61 72 61 | and actual para | +| 6D 65 74 65 72 20 6C 69 73 74 73 2E 0A 0A 46 69 | meter lists...Fi | +| 72 73 74 20 74 72 69 70 20 75 70 20 74 68 65 20 | rst trip up the | +| 70 61 72 73 65 72 20 73 6F 20 77 65 20 64 6F 6E | parser so we don | +| 27 74 20 67 65 74 20 61 6E 79 20 66 75 72 74 68 | 't get any furth | +| 65 72 2E 0A 40 3E 0A 0A 4E 6F 77 20 64 65 66 69 | er..@>..Now defi | +| 6E 65 20 73 6F 6D 65 20 6D 61 63 72 6F 73 20 74 | ne some macros t | +| 6F 20 63 61 6C 6C 2E 20 4E 6F 20 65 72 72 6F 72 | o call. No error | +| 2E 0A 0A 40 24 40 3C 5A 65 72 6F 40 3E 40 7B 40 | ...@$@<Zero@>@{@ | +| 7D 0A 40 24 40 3C 4F 6E 65 40 3E 40 28 40 31 40 | }.@$@<One@>@(@1@ | +| 29 40 7B 40 7D 0A 40 24 40 3C 54 77 6F 40 3E 40 | )@{@}.@$@<Two@>@ | +| 28 40 32 40 29 40 7B 40 7D 0A 40 24 40 3C 54 68 | (@2@)@{@}.@$@<Th | +| 72 65 65 40 3E 40 28 40 33 40 29 40 7B 40 7D 0A | ree@>@(@3@)@{@}. | +| 40 24 40 3C 4E 69 6E 65 40 3E 40 28 40 39 40 29 | @$@<Nine@>@(@9@) | +| 40 7B 40 7D 0A 40 24 40 23 22 40 7B 40 7D 0A 0A | @{@}.@$@#"@{@}.. | +| 54 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 74 65 | The following te | +| 73 74 20 63 61 6C 6C 73 20 73 68 6F 75 6C 64 20 | st calls should | +| 4E 4F 54 20 67 65 6E 65 72 61 74 65 20 61 6E 79 | NOT generate any | +| 20 65 72 72 6F 72 73 2E 0A 0A 40 24 40 3C 4D 61 | errors...@$@<Ma | +| 63 72 6F 20 63 6F 6E 74 61 69 6E 69 6E 67 20 74 | cro containing t | +| 68 65 20 74 65 73 74 20 6D 61 63 72 6F 20 63 61 | he test macro ca | +| 6C 6C 73 2E 40 3E 3D 3D 40 7B 0A 31 2E 20 54 65 | lls.@>==@{.1. Te | +| 73 74 20 6D 61 63 72 6F 20 63 61 6C 6C 20 77 69 | st macro call wi | +| 74 68 20 6E 6F 20 70 61 72 61 6D 65 74 65 72 20 | th no parameter | +| 6C 69 73 74 2E 0A 40 3C 5A 65 72 6F 40 3E 0A 0A | list..@<Zero@>.. | +| 32 2E 20 54 65 73 74 20 6D 61 63 72 6F 20 63 61 | 2. Test macro ca | +| 6C 6C 20 77 69 74 68 20 71 75 69 63 6B 20 6E 61 | ll with quick na | +| 6D 65 2E 0A 40 23 22 0A 0A 33 2E 20 54 65 73 74 | me..@#"..3. Test | +| 20 6D 61 63 72 6F 20 63 61 6C 6C 20 77 69 74 68 | macro call with | +| 20 6F 6E 65 20 70 61 72 61 6D 65 74 65 72 2E 0A | one parameter.. | +| 40 3C 4F 6E 65 40 3E 40 28 54 6F 75 63 61 6E 40 | @<One@>@(Toucan@ | +| 29 0A 0A 34 2E 20 54 65 73 74 20 6D 61 63 72 6F | )..4. Test macro | +| 20 63 61 6C 6C 20 77 69 74 68 20 6D 61 6E 79 20 | call with many | +| 70 61 72 61 6D 65 74 65 72 73 2E 0A 40 3C 54 77 | parameters..@<Tw | +| 6F 40 3E 40 28 54 6F 75 63 61 6E 40 2C 54 65 61 | o@>@(Toucan@,Tea | +| 70 6F 74 40 29 0A 40 3C 54 68 72 65 65 40 3E 40 | pot@).@<Three@>@ | +| 28 54 6F 75 63 61 6E 40 2C 54 65 61 70 6F 74 40 | (Toucan@,Teapot@ | +| 2C 57 61 6C 72 75 73 40 29 0A 40 3C 4E 69 6E 65 | ,Walrus@).@<Nine | +| 40 3E 40 28 54 6F 75 63 61 6E 40 2C 54 65 61 70 | @>@(Toucan@,Teap | +| 6F 74 40 2C 57 61 6C 72 75 73 40 2C 0A 20 20 20 | ot@,Walrus@,. | +| 20 20 20 20 20 20 20 54 6F 75 63 61 6E 40 2C 54 | Toucan@,T | +| 65 61 70 6F 74 40 2C 57 61 6C 72 75 73 40 2C 0A | eapot@,Walrus@,. | +| 20 20 20 20 20 20 20 20 20 20 54 6F 75 63 61 6E | Toucan | +| 40 2C 54 65 61 70 6F 74 40 2C 57 61 6C 72 75 73 | @,Teapot@,Walrus | +| 40 29 0A 0A 35 2E 20 54 65 73 74 20 6D 61 63 72 | @)..5. Test macr | +| 6F 20 63 61 6C 6C 73 20 77 69 74 68 20 64 6F 75 | o calls with dou | +| 62 6C 65 20 71 75 6F 74 65 73 20 6F 6E 20 70 61 | ble quotes on pa | +| 72 61 6D 65 74 65 72 73 2E 0A 40 3C 4F 6E 65 40 | rameters..@<One@ | +| 3E 40 28 20 40 22 54 6F 75 63 61 6E 40 22 40 29 | >@( @"Toucan@"@) | +| 0A 40 3C 54 77 6F 40 3E 40 28 40 22 54 6F 75 63 | .@<Two@>@(@"Touc | +| 61 6E 40 22 20 20 20 40 2C 20 20 20 40 22 54 65 | an@" @, @"Te | +| 61 70 6F 74 40 22 40 29 0A 40 3C 54 68 72 65 65 | apot@"@).@<Three | +| 40 3E 40 28 40 22 54 6F 75 63 61 6E 40 22 20 40 | @>@(@"Toucan@" @ | +| 2C 0A 20 20 20 20 20 20 20 20 20 20 20 40 22 54 | ,. @"T | +| 65 61 70 6F 74 40 22 20 40 2C 0A 20 20 20 20 20 | eapot@" @,. | +| 20 20 20 20 20 20 40 22 57 61 6C 72 75 73 40 22 | @"Walrus@" | +| 20 40 29 0A 40 3C 4E 69 6E 65 40 3E 40 28 20 40 | @).@<Nine@>@( @ | +| 22 54 6F 75 63 61 6E 40 22 20 40 2C 20 40 22 54 | "Toucan@" @, @"T | +| 65 61 70 6F 74 40 22 20 40 2C 20 40 22 57 61 6C | eapot@" @, @"Wal | +| 72 75 73 40 22 20 40 2C 0A 20 20 20 20 20 20 20 | rus@" @,. | +| 20 20 20 20 40 22 54 6F 75 63 61 6E 40 22 20 40 | @"Toucan@" @ | +| 2C 20 40 22 54 65 61 70 6F 74 40 22 20 40 2C 20 | , @"Teapot@" @, | +| 40 22 57 61 6C 72 75 73 40 22 20 40 2C 0A 20 20 | @"Walrus@" @,. | +| 20 20 20 20 20 20 20 20 20 40 22 54 6F 75 63 61 | @"Touca | +| 6E 40 22 20 40 2C 20 40 22 54 65 61 70 6F 74 40 | n@" @, @"Teapot@ | +| 22 20 40 2C 20 40 22 57 61 6C 72 75 73 40 22 20 | " @, @"Walrus@" | +| 40 29 0A 0A 37 2E 20 54 65 73 74 20 6D 61 63 72 | @)..7. Test macr | +| 6F 20 63 61 6C 6C 73 20 77 69 74 68 20 6D 69 78 | o calls with mix | +| 65 64 20 64 6F 75 62 6C 65 20 71 75 6F 74 65 73 | ed double quotes | +| 20 6F 6E 20 70 61 72 61 6D 65 74 65 72 73 2E 0A | on parameters.. | +| 40 3C 54 77 6F 40 3E 40 28 40 22 54 6F 75 63 61 | @<Two@>@(@"Touca | +| 6E 40 22 20 20 20 40 2C 54 65 61 70 6F 74 40 29 | n@" @,Teapot@) | +| 0A 40 3C 54 68 72 65 65 40 3E 40 28 40 22 54 6F | .@<Three@>@(@"To | +| 75 63 61 6E 40 22 20 40 2C 0A 20 20 20 20 20 20 | ucan@" @,. | +| 20 20 20 20 20 40 22 54 65 61 70 6F 74 40 22 20 | @"Teapot@" | +| 40 2C 57 61 6C 72 75 73 40 29 0A 40 3C 4E 69 6E | @,Walrus@).@<Nin | +| 65 40 3E 40 28 20 40 22 54 6F 75 63 61 6E 40 22 | e@>@( @"Toucan@" | +| 20 40 2C 20 40 22 54 65 61 70 6F 74 40 22 20 40 | @, @"Teapot@" @ | +| 2C 20 20 20 57 61 6C 72 75 73 20 20 20 40 2C 0A | , Walrus @,. | +| 20 20 20 20 20 20 20 20 20 20 20 40 22 54 6F 75 | @"Tou | +| 63 61 6E 40 22 20 40 2C 20 20 20 54 65 61 70 6F | can@" @, Teapo | +| 74 20 20 20 40 2C 20 40 22 57 61 6C 72 75 73 40 | t @, @"Walrus@ | +| 22 20 40 2C 0A 20 20 20 20 20 20 20 20 20 20 20 | " @,. | +| 40 22 54 6F 75 63 61 6E 40 22 20 40 2C 20 40 22 | @"Toucan@" @, @" | +| 54 65 61 70 6F 74 40 22 20 40 2C 20 40 22 57 61 | Teapot@" @, @"Wa | +| 6C 72 75 73 40 22 20 40 29 0A 0A 40 7D 20 40 21 | lrus@" @)..@} @! | +| 20 45 6E 64 20 6F 66 20 6D 61 63 72 6F 20 64 65 | End of macro de | +| 66 69 6E 69 74 69 6F 6E 20 65 6E 63 6C 6F 73 69 | finition enclosi | +| 6E 67 20 61 6C 6C 20 74 68 65 73 65 20 6C 65 67 | ng all these leg | +| 61 6C 20 74 65 73 74 73 2E 0A 0A 38 2E 20 54 65 | al tests...8. Te | +| 73 74 20 6D 61 63 72 6F 20 63 61 6C 6C 73 20 77 | st macro calls w | +| 69 74 68 20 61 20 76 61 72 69 65 74 79 20 6F 66 | ith a variety of | +| 20 73 79 6E 74 61 78 20 65 72 72 6F 72 73 20 69 | syntax errors i | +| 6E 20 70 61 72 61 6D 65 74 65 72 20 6C 69 73 74 | n parameter list | +| 2E 0A 40 24 40 3C 45 72 72 6F 72 31 40 3E 40 7B | ..@$@<Error1@>@{ | +| 0A 40 3C 5A 65 72 6F 40 3E 40 28 0A 40 7D 0A 40 | .@<Zero@>@(.@}.@ | +| 41 40 3C 45 72 72 6F 72 20 72 65 63 6F 76 65 72 | A@<Error recover | +| 79 20 70 6F 69 6E 74 40 3E 0A 0A 40 24 40 3C 45 | y point@>..@$@<E | +| 72 72 6F 72 32 40 3E 40 7B 0A 40 3C 5A 65 72 6F | rror2@>@{.@<Zero | +| 40 3E 40 29 0A 40 7D 0A 40 41 40 3C 45 72 72 6F | @>@).@}.@A@<Erro | +| 72 20 72 65 63 6F 76 65 72 79 20 70 6F 69 6E 74 | r recovery point | +| 40 3E 0A 0A 40 24 40 3C 45 72 72 6F 72 33 40 3E | @>..@$@<Error3@> | +| 40 7B 0A 40 3C 4F 6E 65 40 3E 40 28 40 22 54 6F | @{.@<One@>@(@"To | +| 75 63 61 6E 40 29 0A 40 7D 0A 40 41 40 3C 45 72 | ucan@).@}.@A@<Er | +| 72 6F 72 20 72 65 63 6F 76 65 72 79 20 70 6F 69 | ror recovery poi | +| 6E 74 40 3E 0A 0A 40 24 40 3C 45 72 72 6F 72 34 | nt@>..@$@<Error4 | +| 40 3E 40 7B 0A 40 3C 4F 6E 65 40 3E 40 28 40 22 | @>@{.@<One@>@(@" | +| 54 6F 75 63 61 6E 40 22 40 22 53 6C 6F 74 68 40 | Toucan@"@"Sloth@ | +| 22 40 29 0A 40 7D 0A 40 41 40 3C 45 72 72 6F 72 | "@).@}.@A@<Error | +| 20 72 65 63 6F 76 65 72 79 20 70 6F 69 6E 74 40 | recovery point@ | +| 3E 0A 0A 40 24 40 3C 45 72 72 6F 72 35 40 3E 40 | >..@$@<Error5@>@ | +| 7B 0A 40 3C 54 77 6F 40 3E 40 28 40 22 54 6F 75 | {.@<Two@>@(@"Tou | +| 63 61 6E 40 22 54 65 61 70 6F 74 40 29 0A 40 7D | can@"Teapot@).@} | +| 0A 40 41 40 3C 45 72 72 6F 72 20 72 65 63 6F 76 | .@A@<Error recov | +| 65 72 79 20 70 6F 69 6E 74 40 3E 0A 0A 40 24 40 | ery point@>..@$@ | +| 3C 45 72 72 6F 72 36 40 3E 40 7B 0A 40 3C 54 77 | <Error6@>@{.@<Tw | +| 6F 40 3E 40 28 40 22 54 6F 75 63 61 6E 40 22 54 | o@>@(@"Toucan@"T | +| 65 61 70 6F 74 0A 40 7D 0A 40 41 40 3C 45 72 72 | eapot.@}.@A@<Err | +| 6F 72 20 72 65 63 6F 76 65 72 79 20 70 6F 69 6E | or recovery poin | +| 74 40 3E 0A 0A 40 24 40 3C 45 72 72 6F 72 37 40 | t@>..@$@<Error7@ | +| 3E 40 7B 0A 40 3C 54 77 6F 40 3E 40 28 40 22 54 | >@{.@<Two@>@(@"T | +| 6F 75 63 61 6E 40 22 54 65 61 70 6F 74 0A 40 3C | oucan@"Teapot.@< | +| 54 68 72 65 65 40 3E 40 28 54 6F 75 63 61 6E 40 | Three@>@(Toucan@ | +| 2C 0A 20 20 20 20 20 20 20 20 20 20 20 40 22 54 | ,. @"T | +| 65 61 70 6F 74 40 2C 57 61 6C 72 75 73 0A 0A 40 | eapot@,Walrus..@ | +| 7D 0A 40 41 40 3C 45 72 72 6F 72 20 72 65 63 6F | }.@A@<Error reco | +| 76 65 72 79 20 70 6F 69 6E 74 40 3E 0A 0A | very point@>.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| PR09: Test calls and actual parameter lists.<010> +00002 00002| <010> +00003 00003| First trip up the parser so we don't get any further.<010> +00004 00004| @><010> +00005 00005| <010> +00006 00006| Now define some macros to call. No error.<010> +00007 00007| <010> +00008 00008| @$@<Zero@>@{@}<010> +00009 00009| @$@<One@>@(@1@)@{@}<010> +00010 00010| @$@<Two@>@(@2@)@{@}<010> +00011 00011| @$@<Three@>@(@3@)@{@}<010> +00012 00012| @$@<Nine@>@(@9@)@{@}<010> +00013 00013| @$@#"@{@}<010> +00014 00014| <010> +00015 00015| The following test calls should NOT generate any errors.<010> +00016 00016| <010> +00017 00017| @$@<Macro containing the test macro calls.@>==@{<010> +00018 00018| 1. Test macro call with no parameter list.<010> +00019 00019| @<Zero@><010> +00020 00020| <010> +00021 00021| 2. Test macro call with quick name.<010> +00022 00022| @#"<010> +00023 00023| <010> +00024 00024| 3. Test macro call with one parameter.<010> +00025 00025| @<One@>@(Toucan@)<010> +00026 00026| <010> +00027 00027| 4. Test macro call with many parameters.<010> +00028 00028| @<Two@>@(Toucan@,Teapot@)<010> +00029 00029| @<Three@>@(Toucan@,Teapot@,Walrus@)<010> +00030 00030| @<Nine@>@(Toucan@,Teapot@,Walrus@,<010> +00031 00031| Toucan@,Teapot@,Walrus@,<010> +00032 00032| Toucan@,Teapot@,Walrus@)<010> +00033 00033| <010> +00034 00034| 5. Test macro calls with double quotes on parameters.<010> +00035 00035| @<One@>@( @"Toucan@"@)<010> +00036 00036| @<Two@>@(@"Toucan@" @, @"Teapot@"@)<010> +00037 00037| @<Three@>@(@"Toucan@" @,<010> +00038 00038| @"Teapot@" @,<010> +00039 00039| @"Walrus@" @)<010> +00040 00040| @<Nine@>@( @"Toucan@" @, @"Teapot@" @, @"Walrus@" @,<010> +00041 00041| @"Toucan@" @, @"Teapot@" @, @"Walrus@" @,<010> +00042 00042| @"Toucan@" @, @"Teapot@" @, @"Walrus@" @)<010> +00043 00043| <010> +00044 00044| 7. Test macro calls with mixed double quotes on parameters.<010> +00045 00045| @<Two@>@(@"Toucan@" @,Teapot@)<010> +00046 00046| @<Three@>@(@"Toucan@" @,<010> +00047 00047| @"Teapot@" @,Walrus@)<010> +00048 00048| @<Nine@>@( @"Toucan@" @, @"Teapot@" @, Walrus @,<010> +00049 00049| @"Toucan@" @, Teapot @, @"Walrus@" @,<010> +00050 00050| @"Toucan@" @, @"Teapot@" @, @"Walrus@" @)<010> +00051 00051| <010> +00052 00052| @} @! End of macro definition enclosing all these legal tests.<010> +00053 00053| <010> +00054 00054| 8. Test macro calls with a variety of syntax errors in parameter list.<010> +00055 00055| @$@<Error1@>@{<010> +00056 00056| @<Zero@>@(<010> +00057 00057| @}<010> +00058 00058| @A@<Error recovery point@><010> +00059 00059| <010> +00060 00060| @$@<Error2@>@{<010> +00061 00061| @<Zero@>@)<010> +00062 00062| @}<010> +00063 00063| @A@<Error recovery point@><010> +00064 00064| <010> +00065 00065| @$@<Error3@>@{<010> +00066 00066| @<One@>@(@"Toucan@)<010> +00067 00067| @}<010> +00068 00068| @A@<Error recovery point@><010> +00069 00069| <010> +00070 00070| @$@<Error4@>@{<010> +00071 00071| @<One@>@(@"Toucan@"@"Sloth@"@)<010> +00072 00072| @}<010> +00073 00073| @A@<Error recovery point@><010> +00074 00074| <010> +00075 00075| @$@<Error5@>@{<010> +00076 00076| @<Two@>@(@"Toucan@"Teapot@)<010> +00077 00077| @}<010> +00078 00078| @A@<Error recovery point@><010> +00079 00079| <010> +00080 00080| @$@<Error6@>@{<010> +00081 00081| @<Two@>@(@"Toucan@"Teapot<010> +00082 00082| @}<010> +00083 00083| @A@<Error recovery point@><010> +00084 00084| <010> +00085 00085| @$@<Error7@>@{<010> +00086 00086| @<Two@>@(@"Toucan@"Teapot<010> +00087 00087| @<Three@>@(Toucan@,<010> +00088 00088| @"Teapot@,Walrus<010> +00089 00089| <010> +00090 00090| @}<010> +00091 00091| @A@<Error recovery point@><010> +00092 00092| <010> +00093 00093| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 467 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="PR09: Test calls and actual parameter lists.<010> +<010> +First trip up the parser so we don't get any further.<010> +" +0004[01]: @> Close name. +0004[03]: Text. Text scrap[Grey]="<010> +<010> +Now define some macros to call. No error.<010> +<010> +" +0008[01]: @$ Macro defn. +0008[03]: @< Open name. +0008[05]: Text. Text scrap[Grey]="Zero" +0008[09]: @> Close name. +0008[11]: @{ Open defn. +0008[13]: @} Close defn. +0008[15]: Text. Text scrap[White]="<010> +" +0009[01]: @$ Macro defn. +0009[03]: @< Open name. +0009[05]: Text. Text scrap[Grey]="One" +0009[08]: @> Close name. +0009[10]: @( Open param. +0009[12]: @n Parameter. Parameterno=1. +0009[14]: @} Close param. +0009[16]: @{ Open defn. +0009[18]: @} Close defn. +0009[20]: Text. Text scrap[White]="<010> +" +0010[01]: @$ Macro defn. +0010[03]: @< Open name. +0010[05]: Text. Text scrap[Grey]="Two" +0010[08]: @> Close name. +0010[10]: @( Open param. +0010[12]: @n Parameter. Parameterno=2. +0010[14]: @} Close param. +0010[16]: @{ Open defn. +0010[18]: @} Close defn. +0010[20]: Text. Text scrap[White]="<010> +" +0011[01]: @$ Macro defn. +0011[03]: @< Open name. +0011[05]: Text. Text scrap[Grey]="Three" +0011[10]: @> Close name. +0011[12]: @( Open param. +0011[14]: @n Parameter. Parameterno=3. +0011[16]: @} Close param. +0011[18]: @{ Open defn. +0011[20]: @} Close defn. +0011[22]: Text. Text scrap[White]="<010> +" +0012[01]: @$ Macro defn. +0012[03]: @< Open name. +0012[05]: Text. Text scrap[Grey]="Nine" +0012[09]: @> Close name. +0012[11]: @( Open param. +0012[13]: @n Parameter. Parameterno=9. +0012[15]: @} Close param. +0012[17]: @{ Open defn. +0012[19]: @} Close defn. +0012[21]: Text. Text scrap[White]="<010> +" +0013[01]: @$ Macro defn. +0013[03]: @# Name. Character='"'. +0013[06]: @{ Open defn. +0013[08]: @} Close defn. +0013[10]: Text. Text scrap[Grey]="<010> +<010> +The following test calls should NOT generate any errors.<010> +<010> +" +0017[01]: @$ Macro defn. +0017[03]: @< Open name. +0017[05]: Text. Text scrap[Grey]="Macro containing the test macro calls." +0017[43]: @> Close name. +0017[45]: Text. Text scrap[Grey]="==" +0017[47]: @{ Open defn. +0017[49]: Text. Text scrap[Grey]="<010> +1. Test macro call with no parameter list.<010> +" +0019[01]: @< Open name. +0019[03]: Text. Text scrap[Grey]="Zero" +0019[07]: @> Close name. +0019[09]: Text. Text scrap[Grey]="<010> +<010> +2. Test macro call with quick name.<010> +" +0022[01]: @# Name. Character='"'. +0022[04]: Text. Text scrap[Grey]="<010> +<010> +3. Test macro call with one parameter.<010> +" +0025[01]: @< Open name. +0025[03]: Text. Text scrap[Grey]="One" +0025[06]: @> Close name. +0025[08]: @( Open param. +0025[10]: Text. Text scrap[Grey]="Toucan" +0025[16]: @} Close param. +0025[18]: Text. Text scrap[Grey]="<010> +<010> +4. Test macro call with many parameters.<010> +" +0028[01]: @< Open name. +0028[03]: Text. Text scrap[Grey]="Two" +0028[06]: @> Close name. +0028[08]: @( Open param. +0028[10]: Text. Text scrap[Grey]="Toucan" +0028[16]: @, Comma. +0028[18]: Text. Text scrap[Grey]="Teapot" +0028[24]: @} Close param. +0028[26]: Text. Text scrap[White]="<010> +" +0029[01]: @< Open name. +0029[03]: Text. Text scrap[Grey]="Three" +0029[08]: @> Close name. +0029[10]: @( Open param. +0029[12]: Text. Text scrap[Grey]="Toucan" +0029[18]: @, Comma. +0029[20]: Text. Text scrap[Grey]="Teapot" +0029[26]: @, Comma. +0029[28]: Text. Text scrap[Grey]="Walrus" +0029[34]: @} Close param. +0029[36]: Text. Text scrap[White]="<010> +" +0030[01]: @< Open name. +0030[03]: Text. Text scrap[Grey]="Nine" +0030[07]: @> Close name. +0030[09]: @( Open param. +0030[11]: Text. Text scrap[Grey]="Toucan" +0030[17]: @, Comma. +0030[19]: Text. Text scrap[Grey]="Teapot" +0030[25]: @, Comma. +0030[27]: Text. Text scrap[Grey]="Walrus" +0030[33]: @, Comma. +0030[35]: Text. Text scrap[Grey]="<010> + Toucan" +0031[17]: @, Comma. +0031[19]: Text. Text scrap[Grey]="Teapot" +0031[25]: @, Comma. +0031[27]: Text. Text scrap[Grey]="Walrus" +0031[33]: @, Comma. +0031[35]: Text. Text scrap[Grey]="<010> + Toucan" +0032[17]: @, Comma. +0032[19]: Text. Text scrap[Grey]="Teapot" +0032[25]: @, Comma. +0032[27]: Text. Text scrap[Grey]="Walrus" +0032[33]: @} Close param. +0032[35]: Text. Text scrap[Grey]="<010> +<010> +5. Test macro calls with double quotes on parameters.<010> +" +0035[01]: @< Open name. +0035[03]: Text. Text scrap[Grey]="One" +0035[06]: @> Close name. +0035[08]: @( Open param. +0035[10]: Text. Text scrap[White]=" " +0035[11]: @" Quote. +0035[13]: Text. Text scrap[Grey]="Toucan" +0035[19]: @" Quote. +0035[21]: @} Close param. +0035[23]: Text. Text scrap[White]="<010> +" +0036[01]: @< Open name. +0036[03]: Text. Text scrap[Grey]="Two" +0036[06]: @> Close name. +0036[08]: @( Open param. +0036[10]: @" Quote. +0036[12]: Text. Text scrap[Grey]="Toucan" +0036[18]: @" Quote. +0036[20]: Text. Text scrap[White]=" " +0036[23]: @, Comma. +0036[25]: Text. Text scrap[White]=" " +0036[28]: @" Quote. +0036[30]: Text. Text scrap[Grey]="Teapot" +0036[36]: @" Quote. +0036[38]: @} Close param. +0036[40]: Text. Text scrap[White]="<010> +" +0037[01]: @< Open name. +0037[03]: Text. Text scrap[Grey]="Three" +0037[08]: @> Close name. +0037[10]: @( Open param. +0037[12]: @" Quote. +0037[14]: Text. Text scrap[Grey]="Toucan" +0037[20]: @" Quote. +0037[22]: Text. Text scrap[White]=" " +0037[23]: @, Comma. +0037[25]: Text. Text scrap[White]="<010> + " +0038[12]: @" Quote. +0038[14]: Text. Text scrap[Grey]="Teapot" +0038[20]: @" Quote. +0038[22]: Text. Text scrap[White]=" " +0038[23]: @, Comma. +0038[25]: Text. Text scrap[White]="<010> + " +0039[12]: @" Quote. +0039[14]: Text. Text scrap[Grey]="Walrus" +0039[20]: @" Quote. +0039[22]: Text. Text scrap[White]=" " +0039[23]: @} Close param. +0039[25]: Text. Text scrap[White]="<010> +" +0040[01]: @< Open name. +0040[03]: Text. Text scrap[Grey]="Nine" +0040[07]: @> Close name. +0040[09]: @( Open param. +0040[11]: Text. Text scrap[White]=" " +0040[12]: @" Quote. +0040[14]: Text. Text scrap[Grey]="Toucan" +0040[20]: @" Quote. +0040[22]: Text. Text scrap[White]=" " +0040[23]: @, Comma. +0040[25]: Text. Text scrap[White]=" " +0040[26]: @" Quote. +0040[28]: Text. Text scrap[Grey]="Teapot" +0040[34]: @" Quote. +0040[36]: Text. Text scrap[White]=" " +0040[37]: @, Comma. +0040[39]: Text. Text scrap[White]=" " +0040[40]: @" Quote. +0040[42]: Text. Text scrap[Grey]="Walrus" +0040[48]: @" Quote. +0040[50]: Text. Text scrap[White]=" " +0040[51]: @, Comma. +0040[53]: Text. Text scrap[White]="<010> + " +0041[12]: @" Quote. +0041[14]: Text. Text scrap[Grey]="Toucan" +0041[20]: @" Quote. +0041[22]: Text. Text scrap[White]=" " +0041[23]: @, Comma. +0041[25]: Text. Text scrap[White]=" " +0041[26]: @" Quote. +0041[28]: Text. Text scrap[Grey]="Teapot" +0041[34]: @" Quote. +0041[36]: Text. Text scrap[White]=" " +0041[37]: @, Comma. +0041[39]: Text. Text scrap[White]=" " +0041[40]: @" Quote. +0041[42]: Text. Text scrap[Grey]="Walrus" +0041[48]: @" Quote. +0041[50]: Text. Text scrap[White]=" " +0041[51]: @, Comma. +0041[53]: Text. Text scrap[White]="<010> + " +0042[12]: @" Quote. +0042[14]: Text. Text scrap[Grey]="Toucan" +0042[20]: @" Quote. +0042[22]: Text. Text scrap[White]=" " +0042[23]: @, Comma. +0042[25]: Text. Text scrap[White]=" " +0042[26]: @" Quote. +0042[28]: Text. Text scrap[Grey]="Teapot" +0042[34]: @" Quote. +0042[36]: Text. Text scrap[White]=" " +0042[37]: @, Comma. +0042[39]: Text. Text scrap[White]=" " +0042[40]: @" Quote. +0042[42]: Text. Text scrap[Grey]="Walrus" +0042[48]: @" Quote. +0042[50]: Text. Text scrap[White]=" " +0042[51]: @} Close param. +0042[53]: Text. Text scrap[Grey]="<010> +<010> +7. Test macro calls with mixed double quotes on parameters.<010> +" +0045[01]: @< Open name. +0045[03]: Text. Text scrap[Grey]="Two" +0045[06]: @> Close name. +0045[08]: @( Open param. +0045[10]: @" Quote. +0045[12]: Text. Text scrap[Grey]="Toucan" +0045[18]: @" Quote. +0045[20]: Text. Text scrap[White]=" " +0045[23]: @, Comma. +0045[25]: Text. Text scrap[Grey]="Teapot" +0045[31]: @} Close param. +0045[33]: Text. Text scrap[White]="<010> +" +0046[01]: @< Open name. +0046[03]: Text. Text scrap[Grey]="Three" +0046[08]: @> Close name. +0046[10]: @( Open param. +0046[12]: @" Quote. +0046[14]: Text. Text scrap[Grey]="Toucan" +0046[20]: @" Quote. +0046[22]: Text. Text scrap[White]=" " +0046[23]: @, Comma. +0046[25]: Text. Text scrap[White]="<010> + " +0047[12]: @" Quote. +0047[14]: Text. Text scrap[Grey]="Teapot" +0047[20]: @" Quote. +0047[22]: Text. Text scrap[White]=" " +0047[23]: @, Comma. +0047[25]: Text. Text scrap[Grey]="Walrus" +0047[31]: @} Close param. +0047[33]: Text. Text scrap[White]="<010> +" +0048[01]: @< Open name. +0048[03]: Text. Text scrap[Grey]="Nine" +0048[07]: @> Close name. +0048[09]: @( Open param. +0048[11]: Text. Text scrap[White]=" " +0048[12]: @" Quote. +0048[14]: Text. Text scrap[Grey]="Toucan" +0048[20]: @" Quote. +0048[22]: Text. Text scrap[White]=" " +0048[23]: @, Comma. +0048[25]: Text. Text scrap[White]=" " +0048[26]: @" Quote. +0048[28]: Text. Text scrap[Grey]="Teapot" +0048[34]: @" Quote. +0048[36]: Text. Text scrap[White]=" " +0048[37]: @, Comma. +0048[39]: Text. Text scrap[Grey]=" Walrus " +0048[51]: @, Comma. +0048[53]: Text. Text scrap[White]="<010> + " +0049[12]: @" Quote. +0049[14]: Text. Text scrap[Grey]="Toucan" +0049[20]: @" Quote. +0049[22]: Text. Text scrap[White]=" " +0049[23]: @, Comma. +0049[25]: Text. Text scrap[Grey]=" Teapot " +0049[37]: @, Comma. +0049[39]: Text. Text scrap[White]=" " +0049[40]: @" Quote. +0049[42]: Text. Text scrap[Grey]="Walrus" +0049[48]: @" Quote. +0049[50]: Text. Text scrap[White]=" " +0049[51]: @, Comma. +0049[53]: Text. Text scrap[White]="<010> + " +0050[12]: @" Quote. +0050[14]: Text. Text scrap[Grey]="Toucan" +0050[20]: @" Quote. +0050[22]: Text. Text scrap[White]=" " +0050[23]: @, Comma. +0050[25]: Text. Text scrap[White]=" " +0050[26]: @" Quote. +0050[28]: Text. Text scrap[Grey]="Teapot" +0050[34]: @" Quote. +0050[36]: Text. Text scrap[White]=" " +0050[37]: @, Comma. +0050[39]: Text. Text scrap[White]=" " +0050[40]: @" Quote. +0050[42]: Text. Text scrap[Grey]="Walrus" +0050[48]: @" Quote. +0050[50]: Text. Text scrap[White]=" " +0050[51]: @} Close param. +0050[53]: Text. Text scrap[White]="<010> +<010> +" +0052[01]: @} Close defn. +0052[03]: Text. Text scrap[White]=" " +0053[01]: Text. Text scrap[Grey]="<010> +8. Test macro calls with a variety of syntax errors in parameter list.<010> +" +0055[01]: @$ Macro defn. +0055[03]: @< Open name. +0055[05]: Text. Text scrap[Grey]="Error1" +0055[11]: @> Close name. +0055[13]: @{ Open defn. +0055[15]: Text. Text scrap[White]="<010> +" +0056[01]: @< Open name. +0056[03]: Text. Text scrap[Grey]="Zero" +0056[07]: @> Close name. +0056[09]: @( Open param. +0056[11]: Text. Text scrap[White]="<010> +" +0057[01]: @} Close defn. +0057[03]: Text. Text scrap[White]="<010> +" +0058[01]: @A New section (Level 1). +0058[03]: @< Open name. +0058[05]: Text. Text scrap[Grey]="Error recovery point" +0058[25]: @> Close name. +0058[27]: Text. Text scrap[White]="<010> +<010> +" +0060[01]: @$ Macro defn. +0060[03]: @< Open name. +0060[05]: Text. Text scrap[Grey]="Error2" +0060[11]: @> Close name. +0060[13]: @{ Open defn. +0060[15]: Text. Text scrap[White]="<010> +" +0061[01]: @< Open name. +0061[03]: Text. Text scrap[Grey]="Zero" +0061[07]: @> Close name. +0061[09]: @} Close param. +0061[11]: Text. Text scrap[White]="<010> +" +0062[01]: @} Close defn. +0062[03]: Text. Text scrap[White]="<010> +" +0063[01]: @A New section (Level 1). +0063[03]: @< Open name. +0063[05]: Text. Text scrap[Grey]="Error recovery point" +0063[25]: @> Close name. +0063[27]: Text. Text scrap[White]="<010> +<010> +" +0065[01]: @$ Macro defn. +0065[03]: @< Open name. +0065[05]: Text. Text scrap[Grey]="Error3" +0065[11]: @> Close name. +0065[13]: @{ Open defn. +0065[15]: Text. Text scrap[White]="<010> +" +0066[01]: @< Open name. +0066[03]: Text. Text scrap[Grey]="One" +0066[06]: @> Close name. +0066[08]: @( Open param. +0066[10]: @" Quote. +0066[12]: Text. Text scrap[Grey]="Toucan" +0066[18]: @} Close param. +0066[20]: Text. Text scrap[White]="<010> +" +0067[01]: @} Close defn. +0067[03]: Text. Text scrap[White]="<010> +" +0068[01]: @A New section (Level 1). +0068[03]: @< Open name. +0068[05]: Text. Text scrap[Grey]="Error recovery point" +0068[25]: @> Close name. +0068[27]: Text. Text scrap[White]="<010> +<010> +" +0070[01]: @$ Macro defn. +0070[03]: @< Open name. +0070[05]: Text. Text scrap[Grey]="Error4" +0070[11]: @> Close name. +0070[13]: @{ Open defn. +0070[15]: Text. Text scrap[White]="<010> +" +0071[01]: @< Open name. +0071[03]: Text. Text scrap[Grey]="One" +0071[06]: @> Close name. +0071[08]: @( Open param. +0071[10]: @" Quote. +0071[12]: Text. Text scrap[Grey]="Toucan" +0071[18]: @" Quote. +0071[20]: @" Quote. +0071[22]: Text. Text scrap[Grey]="Sloth" +0071[27]: @" Quote. +0071[29]: @} Close param. +0071[31]: Text. Text scrap[White]="<010> +" +0072[01]: @} Close defn. +0072[03]: Text. Text scrap[White]="<010> +" +0073[01]: @A New section (Level 1). +0073[03]: @< Open name. +0073[05]: Text. Text scrap[Grey]="Error recovery point" +0073[25]: @> Close name. +0073[27]: Text. Text scrap[White]="<010> +<010> +" +0075[01]: @$ Macro defn. +0075[03]: @< Open name. +0075[05]: Text. Text scrap[Grey]="Error5" +0075[11]: @> Close name. +0075[13]: @{ Open defn. +0075[15]: Text. Text scrap[White]="<010> +" +0076[01]: @< Open name. +0076[03]: Text. Text scrap[Grey]="Two" +0076[06]: @> Close name. +0076[08]: @( Open param. +0076[10]: @" Quote. +0076[12]: Text. Text scrap[Grey]="Toucan" +0076[18]: @" Quote. +0076[20]: Text. Text scrap[Grey]="Teapot" +0076[26]: @} Close param. +0076[28]: Text. Text scrap[White]="<010> +" +0077[01]: @} Close defn. +0077[03]: Text. Text scrap[White]="<010> +" +0078[01]: @A New section (Level 1). +0078[03]: @< Open name. +0078[05]: Text. Text scrap[Grey]="Error recovery point" +0078[25]: @> Close name. +0078[27]: Text. Text scrap[White]="<010> +<010> +" +0080[01]: @$ Macro defn. +0080[03]: @< Open name. +0080[05]: Text. Text scrap[Grey]="Error6" +0080[11]: @> Close name. +0080[13]: @{ Open defn. +0080[15]: Text. Text scrap[White]="<010> +" +0081[01]: @< Open name. +0081[03]: Text. Text scrap[Grey]="Two" +0081[06]: @> Close name. +0081[08]: @( Open param. +0081[10]: @" Quote. +0081[12]: Text. Text scrap[Grey]="Toucan" +0081[18]: @" Quote. +0081[20]: Text. Text scrap[Grey]="Teapot<010> +" +0082[01]: @} Close defn. +0082[03]: Text. Text scrap[White]="<010> +" +0083[01]: @A New section (Level 1). +0083[03]: @< Open name. +0083[05]: Text. Text scrap[Grey]="Error recovery point" +0083[25]: @> Close name. +0083[27]: Text. Text scrap[White]="<010> +<010> +" +0085[01]: @$ Macro defn. +0085[03]: @< Open name. +0085[05]: Text. Text scrap[Grey]="Error7" +0085[11]: @> Close name. +0085[13]: @{ Open defn. +0085[15]: Text. Text scrap[White]="<010> +" +0086[01]: @< Open name. +0086[03]: Text. Text scrap[Grey]="Two" +0086[06]: @> Close name. +0086[08]: @( Open param. +0086[10]: @" Quote. +0086[12]: Text. Text scrap[Grey]="Toucan" +0086[18]: @" Quote. +0086[20]: Text. Text scrap[Grey]="Teapot<010> +" +0087[01]: @< Open name. +0087[03]: Text. Text scrap[Grey]="Three" +0087[08]: @> Close name. +0087[10]: @( Open param. +0087[12]: Text. Text scrap[Grey]="Toucan" +0087[18]: @, Comma. +0087[20]: Text. Text scrap[White]="<010> + " +0088[12]: @" Quote. +0088[14]: Text. Text scrap[Grey]="Teapot" +0088[20]: @, Comma. +0088[22]: Text. Text scrap[Grey]="Walrus<010> +<010> +" +0090[01]: @} Close defn. +0090[03]: Text. Text scrap[White]="<010> +" +0091[01]: @A New section (Level 1). +0091[03]: @< Open name. +0091[05]: Text. Text scrap[Grey]="Error recovery point" +0091[25]: @> Close name. +0091[27]: Text. Text scrap[White]="<010> +<010> +" +0093[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : """ +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : + Call 1: Parameters=0, Sequence num=7, Position(L,C)=(22,1). +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=6, Pos(L,C)=(13,3), Expression follows: + +---- Start of Expression ---- +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Error1" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Error2" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Error3" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Error4" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Error5" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=8, Pos(L,C)=(75,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[White]="<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<Two@> +This invocation has 1 actual parameters. +Actual parameter list follows as a sequence of expressions: +(Text crud before and after parameter has been omitted). +Expression for parameter number 1: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[White]="<010> +" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Error6" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Error7" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Macro containing the test macro calls." +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=7, Pos(L,C)=(17,3), Expression follows: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="<010> +1. Test macro call with no parameter list.<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<Zero@> +No actual parameters. +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[Grey]="<010> +<010> +2. Test macro call with quick name.<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<"@> +No actual parameters. +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[Grey]="<010> +<010> +3. Test macro call with one parameter.<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<One@> +This invocation has 1 actual parameters. +Actual parameter list follows as a sequence of expressions: +(Text crud before and after parameter has been omitted). +Expression for parameter number 1: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[Grey]="<010> +<010> +4. Test macro call with many parameters.<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<Two@> +This invocation has 2 actual parameters. +Actual parameter list follows as a sequence of expressions: +(Text crud before and after parameter has been omitted). +Expression for parameter number 1: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 2: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[White]="<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<Three@> +This invocation has 3 actual parameters. +Actual parameter list follows as a sequence of expressions: +(Text crud before and after parameter has been omitted). +Expression for parameter number 1: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 2: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 3: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[White]="<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<Nine@> +This invocation has 9 actual parameters. +Actual parameter list follows as a sequence of expressions: +(Text crud before and after parameter has been omitted). +Expression for parameter number 1: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 2: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 3: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 4: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="<010> + Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 5: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 6: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 7: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="<010> + Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 8: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 9: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[Grey]="<010> +<010> +5. Test macro calls with double quotes on parameters.<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<One@> +This invocation has 1 actual parameters. +Actual parameter list follows as a sequence of expressions: +(Text crud before and after parameter has been omitted). +Expression for parameter number 1: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[White]="<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<Two@> +This invocation has 2 actual parameters. +Actual parameter list follows as a sequence of expressions: +(Text crud before and after parameter has been omitted). +Expression for parameter number 1: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 2: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[White]="<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<Three@> +This invocation has 3 actual parameters. +Actual parameter list follows as a sequence of expressions: +(Text crud before and after parameter has been omitted). +Expression for parameter number 1: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 2: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 3: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[White]="<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<Nine@> +This invocation has 9 actual parameters. +Actual parameter list follows as a sequence of expressions: +(Text crud before and after parameter has been omitted). +Expression for parameter number 1: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 2: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 3: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 4: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 5: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 6: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 7: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 8: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 9: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[Grey]="<010> +<010> +7. Test macro calls with mixed double quotes on parameters.<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<Two@> +This invocation has 2 actual parameters. +Actual parameter list follows as a sequence of expressions: +(Text crud before and after parameter has been omitted). +Expression for parameter number 1: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 2: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[White]="<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<Three@> +This invocation has 3 actual parameters. +Actual parameter list follows as a sequence of expressions: +(Text crud before and after parameter has been omitted). +Expression for parameter number 1: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 2: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 3: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[White]="<010> +" +------ End Text Element ------ + + +-- Begin Invocation Element -- +Invocation of macro @<Nine@> +This invocation has 9 actual parameters. +Actual parameter list follows as a sequence of expressions: +(Text crud before and after parameter has been omitted). +Expression for parameter number 1: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 2: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 3: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]=" Walrus " +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 4: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 5: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]=" Teapot " +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 6: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 7: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Toucan" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 8: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Teapot" +------ End Text Element ------ + +----- End of Expression ----- + +Expression for parameter number 9: + +---- Start of Expression ---- + +----- Start Text Element ----- +Text scrap[Grey]="Walrus" +------ End Text Element ------ + +----- End of Expression ----- + +--- End Invocation Element --- + + +----- Start Text Element ----- +Text scrap[White]="<010> +<010> +" +------ End Text Element ------ + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Nine" +Defined? : Yes. +Parameters : 9 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : + Call 1: Parameters=9, Sequence num=7, Position(L,C)=(30,1). + Call 2: Parameters=9, Sequence num=7, Position(L,C)=(40,1). + Call 3: Parameters=9, Sequence num=7, Position(L,C)=(48,1). +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=5, Pos(L,C)=(12,3), Expression follows: + +---- Start of Expression ---- +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "One" +Defined? : Yes. +Parameters : 1 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : + Call 1: Parameters=1, Sequence num=7, Position(L,C)=(25,1). + Call 2: Parameters=1, Sequence num=7, Position(L,C)=(35,1). +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=2, Pos(L,C)=(9,3), Expression follows: + +---- Start of Expression ---- +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Three" +Defined? : Yes. +Parameters : 3 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : + Call 1: Parameters=3, Sequence num=7, Position(L,C)=(29,1). + Call 2: Parameters=3, Sequence num=7, Position(L,C)=(37,1). + Call 3: Parameters=3, Sequence num=7, Position(L,C)=(46,1). +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=4, Pos(L,C)=(11,3), Expression follows: + +---- Start of Expression ---- +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Two" +Defined? : Yes. +Parameters : 2 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : + Call 1: Parameters=2, Sequence num=7, Position(L,C)=(28,1). + Call 2: Parameters=2, Sequence num=7, Position(L,C)=(36,1). + Call 3: Parameters=2, Sequence num=7, Position(L,C)=(45,1). + Call 4: Parameters=1, Sequence num=8, Position(L,C)=(76,1). +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=3, Pos(L,C)=(10,3), Expression follows: + +---- Start of Expression ---- +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Zero" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : + Call 1: Parameters=0, Sequence num=7, Position(L,C)=(19,1). + Call 2: Parameters=0, Sequence num=8, Position(L,C)=(61,1). +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=1, Pos(L,C)=(8,3), Expression follows: + +---- Start of Expression ---- +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="PR09: Test calls and actual parameter lists.<010> +<010> +First trip up the parser so we don't get any further.<010> +" +--- End of Text Scrap List --- + + +TEXT COMPONENT: Pos(L,C)=(4,3). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +Now define some macros to call. No error.<010> +<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(8,1). +Part 1 of macro @<Zero@>. + +TEXT COMPONENT: Pos(L,C)=(8,15). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(9,1). +Part 1 of macro @<One@>. + +TEXT COMPONENT: Pos(L,C)=(9,20). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(10,1). +Part 1 of macro @<Two@>. + +TEXT COMPONENT: Pos(L,C)=(10,20). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(11,1). +Part 1 of macro @<Three@>. + +TEXT COMPONENT: Pos(L,C)=(11,22). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(12,1). +Part 1 of macro @<Nine@>. + +TEXT COMPONENT: Pos(L,C)=(12,21). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(13,1). +Part 1 of macro @<"@>. + +TEXT COMPONENT: Pos(L,C)=(13,10). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +The following test calls should NOT generate any errors.<010> +<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(17,1). +Part 1 of macro @<Macro containing the test macro calls.@>. + +TEXT COMPONENT: Pos(L,C)=(52,3). + +-- Start of Text Scrap List -- +Text scrap[White]=" " +Text scrap[Grey]="<010> +8. Test macro calls with a variety of syntax errors in parameter list.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "1", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(58,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "2", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(63,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "3", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(68,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "4", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(73,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +MACRO DEFINITION COMPONENT: Pos(L,C)=(75,1). +Part 1 of macro @<Error5@>. + +TEXT COMPONENT: Pos(L,C)=(77,3). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "5", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(78,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "6", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(83,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "7", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(91,27). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| PR09: Test calls and actual parameter lists. + 2 2| + 3 3| First trip up the parser so we don't get any further. + 4 4| @> + Error|.^The parser was at the top level and was expecting + |.^one of: {Directive, Text, Macro definition, EOF}. + 5 5| + 6 6| Now define some macros to call. No error. + 7 7| + 8 8| @$@<Zero@>@{@} + 9 9| @$@<One@>@(@1@)@{@} + 10 10| @$@<Two@>@(@2@)@{@} + 11 11| @$@<Three@>@(@3@)@{@} + 12 12| @$@<Nine@>@(@9@)@{@} + 13 13| @$@#"@{@} + 14 14| + 15 15| The following test calls should NOT generate any errors. + 16 16| + 17 17| @$@<Macro containing the test macro calls.@>==@{ + 18 18| 1. Test macro call with no parameter list. + 19 19| @<Zero@> + 20 20| + 21 21| 2. Test macro call with quick name. + 22 22| @#" + 23 23| + 24 24| 3. Test macro call with one parameter. + 25 25| @<One@>@(Toucan@) + 26 26| + 27 27| 4. Test macro call with many parameters. + 28 28| @<Two@>@(Toucan@,Teapot@) + 29 29| @<Three@>@(Toucan@,Teapot@,Walrus@) + 30 30| @<Nine@>@(Toucan@,Teapot@,Walrus@, + 31 31| Toucan@,Teapot@,Walrus@, + 32 32| Toucan@,Teapot@,Walrus@) + 33 33| + 34 34| 5. Test macro calls with double quotes on parameters. + 35 35| @<One@>@( @"Toucan@"@) + 36 36| @<Two@>@(@"Toucan@" @, @"Teapot@"@) + 37 37| @<Three@>@(@"Toucan@" @, + 38 38| @"Teapot@" @, + 39 39| @"Walrus@" @) + 40 40| @<Nine@>@( @"Toucan@" @, @"Teapot@" @, @"Walrus@" @, + 41 41| @"Toucan@" @, @"Teapot@" @, @"Walrus@" @, + 42 42| @"Toucan@" @, @"Teapot@" @, @"Walrus@" @) + 43 43| + 44 44| 7. Test macro calls with mixed double quotes on parameters. + 45 45| @<Two@>@(@"Toucan@" @,Teapot@) + 46 46| @<Three@>@(@"Toucan@" @, + 47 47| @"Teapot@" @,Walrus@) + 48 48| @<Nine@>@( @"Toucan@" @, @"Teapot@" @, Walrus @, + 49 49| @"Toucan@" @, Teapot @, @"Walrus@" @, + 50 50| @"Toucan@" @, @"Teapot@" @, @"Walrus@" @) + 51 51| + 52 52| @} @! End of macro definition enclosing all these legal tests. + 53 53| + 54 54| 8. Test macro calls with a variety of syntax errors in parameter list. + 55 55| @$@<Error1@>@{ + 56 56| @<Zero@>@( + 57 57| @} + Error|.^Expecting @" or @, or @). + |.^Skipping after error to the next major construct... + 58 58| @A@<Error recovery point@> + |.^...skipped to here after the error. + 59 59| + 60 60| @$@<Error2@>@{ + 61 61| @<Zero@>@) + Error|.........^Expecting '@}'. + |.........^Skipping after error to the next major construct... + 62 62| @} + 63 63| @A@<Error recovery point@> + |.^...skipped to here after the error. + 64 64| + 65 65| @$@<Error3@>@{ + 66 66| @<One@>@(@"Toucan@) + Error|..................^Expecting '@"'. + |..................^Skipping after error to the next major construct... + 67 67| @} + 68 68| @A@<Error recovery point@> + |.^...skipped to here after the error. + 69 69| + 70 70| @$@<Error4@>@{ + 71 71| @<One@>@(@"Toucan@"@"Sloth@"@) + Error|....................^Expecting @, or @). + |....................^Skipping after error to the next major construct... + 72 72| @} + 73 73| @A@<Error recovery point@> + |.^...skipped to here after the error. + 74 74| + 75 75| @$@<Error5@>@{ + 76 76| @<Two@>@(@"Toucan@"Teapot@) + Error|....................^Expecting whitespace text. + 77 77| @} + 78 78| @A@<Error recovery point@> + 79 79| + 80 80| @$@<Error6@>@{ + 81 81| @<Two@>@(@"Toucan@"Teapot + Error|....................^Expecting whitespace text. + 82 82| @} + Error|.^Expecting @, or @). + |.^Skipping after error to the next major construct... + 83 83| @A@<Error recovery point@> + |.^...skipped to here after the error. + 84 84| + 85 85| @$@<Error7@>@{ + 86 86| @<Two@>@(@"Toucan@"Teapot + Error|....................^Expecting whitespace text. + 87 87| @<Three@>@(Toucan@, + Error|.^Expecting @, or @). + |.^Skipping after error to the next major construct... + 88 88| @"Teapot@,Walrus + 89 89| + 90 90| @} + 91 91| @A@<Error recovery point@> + |.^...skipped to here after the error. + 92 92| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 10 Errors. diff --git a/web/funnelAC/results/pr10.lis b/web/funnelAC/results/pr10.lis new file mode 100644 index 0000000000..2575a8c12c --- /dev/null +++ b/web/funnelAC/results/pr10.lis @@ -0,0 +1,487 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 50 52 31 30 3A 20 54 65 73 74 20 73 79 6E 74 61 | PR10: Test synta | +| 63 74 69 63 20 65 72 72 6F 72 20 72 65 63 6F 76 | ctic error recov | +| 65 72 79 2E 0A 0A 31 2E 20 54 65 73 74 20 72 65 | ery...1. Test re | +| 63 6F 76 65 72 79 20 61 74 20 74 6F 70 20 70 61 | covery at top pa | +| 72 73 69 6E 67 20 6C 65 76 65 6C 2E 0A 40 3C 0A | rsing level..@<. | +| 0A 40 41 40 3C 45 72 72 6F 72 20 72 65 63 6F 76 | .@A@<Error recov | +| 65 72 79 20 70 6F 69 6E 74 40 3E 0A 0A 32 2E 20 | ery point@>..2. | +| 54 65 73 74 20 72 65 63 6F 76 65 72 79 20 69 6E | Test recovery in | +| 73 69 64 65 20 6D 61 63 72 6F 20 64 65 66 69 6E | side macro defin | +| 69 74 69 6F 6E 2E 0A 0A 40 24 40 3C 53 6C 6F 74 | ition...@$@<Slot | +| 68 31 40 3E 40 3E 3D 3D 40 7B 0A 57 61 6C 72 75 | h1@>@>==@{.Walru | +| 73 40 7D 0A 0A 40 24 40 3C 53 6C 6F 74 68 32 40 | s@}..@$@<Sloth2@ | +| 3E 3D 3D 40 7B 0A 40 3C 57 61 6C 72 75 73 40 3C | >==@{.@<Walrus@< | +| 0A 40 7D 0A 40 41 40 3C 45 72 72 6F 72 20 72 65 | .@}.@A@<Error re | +| 63 6F 76 65 72 79 20 70 6F 69 6E 74 40 3E 0A 0A | covery point@>.. | +| 33 2E 20 54 65 73 74 20 72 65 63 6F 76 65 72 79 | 3. Test recovery | +| 20 69 6E 73 69 64 65 20 61 63 74 75 61 6C 20 70 | inside actual p | +| 61 72 61 6D 65 74 65 72 20 6C 69 73 74 20 69 6E | arameter list in | +| 20 6D 61 63 72 6F 20 64 65 66 69 6E 69 74 69 6F | macro definitio | +| 6E 2E 0A 40 24 40 3C 53 6C 6F 74 68 33 40 3E 3D | n..@$@<Sloth3@>= | +| 3D 40 7B 0A 40 3C 57 61 6C 72 75 73 40 3E 40 28 | =@{.@<Walrus@>@( | +| 40 22 61 61 72 64 76 61 72 6B 40 3E 0A 40 7D 0A | @"aardvark@>.@}. | +| 40 41 40 3C 45 72 72 6F 72 20 72 65 63 6F 76 65 | @A@<Error recove | +| 72 79 20 70 6F 69 6E 74 40 3E 0A 0A 34 2E 20 54 | ry point@>..4. T | +| 65 73 74 20 45 4F 46 20 69 6E 20 74 68 65 20 6D | est EOF in the m | +| 69 64 64 6C 65 20 6F 66 20 61 20 63 6F 6D 70 6C | iddle of a compl | +| 69 63 61 74 65 64 20 63 6F 6E 73 74 72 75 63 74 | icated construct | +| 2E 0A 54 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 | ..The following | +| 6D 61 6B 65 73 20 74 68 65 20 65 6E 64 20 6F 66 | makes the end of | +| 20 74 68 65 20 66 69 6C 65 20 6C 6F 6F 6B 65 64 | the file looked | +| 20 63 68 6F 70 70 65 64 20 6F 66 66 2C 20 62 75 | chopped off, bu | +| 74 20 69 74 20 69 73 0A 61 63 74 75 61 6C 6C 79 | t it is.actually | +| 20 69 6E 74 65 6E 74 69 6F 6E 61 6C 2E 0A 40 24 | intentional..@$ | +| 40 3C 53 6C 6F 74 68 34 40 3E 3D 3D 40 7B 0A 40 | @<Sloth4@>==@{.@ | +| 3C 57 61 6C 72 75 73 40 3E 40 28 40 22 61 61 72 | <Walrus@>@(@"aar | +| 64 76 61 0A | dva. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| PR10: Test syntactic error recovery.<010> +00002 00002| <010> +00003 00003| 1. Test recovery at top parsing level.<010> +00004 00004| @<<010> +00005 00005| <010> +00006 00006| @A@<Error recovery point@><010> +00007 00007| <010> +00008 00008| 2. Test recovery inside macro definition.<010> +00009 00009| <010> +00010 00010| @$@<Sloth1@>@>==@{<010> +00011 00011| Walrus@}<010> +00012 00012| <010> +00013 00013| @$@<Sloth2@>==@{<010> +00014 00014| @<Walrus@<<010> +00015 00015| @}<010> +00016 00016| @A@<Error recovery point@><010> +00017 00017| <010> +00018 00018| 3. Test recovery inside actual parameter list in macro definition.<010> +00019 00019| @$@<Sloth3@>==@{<010> +00020 00020| @<Walrus@>@(@"aardvark@><010> +00021 00021| @}<010> +00022 00022| @A@<Error recovery point@><010> +00023 00023| <010> +00024 00024| 4. Test EOF in the middle of a complicated construct.<010> +00025 00025| The following makes the end of the file looked chopped off, but it is<010> +00026 00026| actually intentional.<010> +00027 00027| @$@<Sloth4@>==@{<010> +00028 00028| @<Walrus@>@(@"aardva<010> +00029 00029| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 72 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="PR10: Test syntactic error recovery.<010> +<010> +1. Test recovery at top parsing level.<010> +" +0004[01]: @< Open name. +0004[03]: Text. Text scrap[White]="<010> +<010> +" +0006[01]: @A New section (Level 1). +0006[03]: @< Open name. +0006[05]: Text. Text scrap[Grey]="Error recovery point" +0006[25]: @> Close name. +0006[27]: Text. Text scrap[Grey]="<010> +<010> +2. Test recovery inside macro definition.<010> +<010> +" +0010[01]: @$ Macro defn. +0010[03]: @< Open name. +0010[05]: Text. Text scrap[Grey]="Sloth1" +0010[11]: @> Close name. +0010[13]: @> Close name. +0010[15]: Text. Text scrap[Grey]="==" +0010[17]: @{ Open defn. +0010[19]: Text. Text scrap[Grey]="<010> +Walrus" +0011[07]: @} Close defn. +0011[09]: Text. Text scrap[White]="<010> +<010> +" +0013[01]: @$ Macro defn. +0013[03]: @< Open name. +0013[05]: Text. Text scrap[Grey]="Sloth2" +0013[11]: @> Close name. +0013[13]: Text. Text scrap[Grey]="==" +0013[15]: @{ Open defn. +0013[17]: Text. Text scrap[White]="<010> +" +0014[01]: @< Open name. +0014[03]: Text. Text scrap[Grey]="Walrus" +0014[09]: @< Open name. +0014[11]: Text. Text scrap[White]="<010> +" +0015[01]: @} Close defn. +0015[03]: Text. Text scrap[White]="<010> +" +0016[01]: @A New section (Level 1). +0016[03]: @< Open name. +0016[05]: Text. Text scrap[Grey]="Error recovery point" +0016[25]: @> Close name. +0016[27]: Text. Text scrap[Grey]="<010> +<010> +3. Test recovery inside actual parameter list in macro definition.<010> +" +0019[01]: @$ Macro defn. +0019[03]: @< Open name. +0019[05]: Text. Text scrap[Grey]="Sloth3" +0019[11]: @> Close name. +0019[13]: Text. Text scrap[Grey]="==" +0019[15]: @{ Open defn. +0019[17]: Text. Text scrap[White]="<010> +" +0020[01]: @< Open name. +0020[03]: Text. Text scrap[Grey]="Walrus" +0020[09]: @> Close name. +0020[11]: @( Open param. +0020[13]: @" Quote. +0020[15]: Text. Text scrap[Grey]="aardvark" +0020[23]: @> Close name. +0020[25]: Text. Text scrap[White]="<010> +" +0021[01]: @} Close defn. +0021[03]: Text. Text scrap[White]="<010> +" +0022[01]: @A New section (Level 1). +0022[03]: @< Open name. +0022[05]: Text. Text scrap[Grey]="Error recovery point" +0022[25]: @> Close name. +0022[27]: Text. Text scrap[Grey]="<010> +<010> +4. Test EOF in the middle of a complicated construct.<010> +The following makes the end of the file looked chopped off, but it is<010> +actually intentional.<010> +" +0027[01]: @$ Macro defn. +0027[03]: @< Open name. +0027[05]: Text. Text scrap[Grey]="Sloth4" +0027[11]: @> Close name. +0027[13]: Text. Text scrap[Grey]="==" +0027[15]: @{ Open defn. +0027[17]: Text. Text scrap[White]="<010> +" +0028[01]: @< Open name. +0028[03]: Text. Text scrap[Grey]="Walrus" +0028[09]: @> Close name. +0028[11]: @( Open param. +0028[13]: @" Quote. +0028[15]: Text. Text scrap[Grey]="aardva<010> +" +0029[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth1" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth2" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth3" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "Sloth4" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : No. +Many Calls? : No. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 0 body parts. +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="PR10: Test syntactic error recovery.<010> +<010> +1. Test recovery at top parsing level.<010> +" +--- End of Text Scrap List --- + + +TEXT COMPONENT: Pos(L,C)=(4,3). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "1", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(6,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +2. Test recovery inside macro definition.<010> +<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "2", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(16,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +3. Test recovery inside actual parameter list in macro definition.<010> +" +--- End of Text Scrap List --- + + +TYPESETTER DIRECTIVE COMPONENT: + Section "3", Section name="Error recovery point". + +TEXT COMPONENT: Pos(L,C)=(22,27). + +-- Start of Text Scrap List -- +Text scrap[Grey]="<010> +<010> +4. Test EOF in the middle of a complicated construct.<010> +The following makes the end of the file looked chopped off, but it is<010> +actually intentional.<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| PR10: Test syntactic error recovery. + 2 2| + 3 3| 1. Test recovery at top parsing level. + 4 4| @< + Error|.^The parser was at the top level and was expecting + |.^one of: {Directive, Text, Macro definition, EOF}. + 5 5| + 6 6| @A@<Error recovery point@> + 7 7| + 8 8| 2. Test recovery inside macro definition. + 9 9| + 10 10| @$@<Sloth1@>@>==@{ + Error|.............^Expecting '@{'. + |.............^Skipping after error to the next major construct... + 11 11| Walrus@} + 12 12| + 13 13| @$@<Sloth2@>==@{ + |.^...skipped to here after the error. + 14 14| @<Walrus@< + Error|.........^Illegal character or symbol in name. + |.........^Skipping after error to the next major construct... + 15 15| @} + 16 16| @A@<Error recovery point@> + |.^...skipped to here after the error. + 17 17| + 18 18| 3. Test recovery inside actual parameter list in macro definition. + 19 19| @$@<Sloth3@>==@{ + 20 20| @<Walrus@>@(@"aardvark@> + Error|.......................^Expecting '@"'. + |.......................^Skipping after error to the next major construct... + 21 21| @} + 22 22| @A@<Error recovery point@> + |.^...skipped to here after the error. + 23 23| + 24 24| 4. Test EOF in the middle of a complicated construct. + 25 25| The following makes the end of the file looked chopped off, but it is + 26 26| actually intentional. + 27 27| @$@<Sloth4@>==@{ + 28 28| @<Walrus@>@(@"aardva + | <End-Of-File> + Error|.^Expecting '@"'. + |.^Skipping after error to the next major construct... + |.^...skipped to here after the error. +------------+------------------------------------------------------------------- + +There were 5 Errors. diff --git a/web/funnelAC/results/sc01.lis b/web/funnelAC/results/sc01.lis new file mode 100644 index 0000000000..63a28eb6b6 --- /dev/null +++ b/web/funnelAC/results/sc01.lis @@ -0,0 +1,35 @@ +FUNNELWEB LISTING FILE +====================== + +S: Error opening input file "<<Suppressed>>". + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 1 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +There was 1 Severe error. diff --git a/web/funnelAC/results/sc02.lis b/web/funnelAC/results/sc02.lis new file mode 100644 index 0000000000..c56ff926c9 --- /dev/null +++ b/web/funnelAC/results/sc02.lis @@ -0,0 +1,143 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 1 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +========================== End of DOCUMENT LIST DUMP =========================== + +E: No output files specified. + +Global Local| Input File +------------+------------------------------------------------------------------- + | <End-Of-File> + Warning|.^Input file is empty (not a byte in syte)! +------------+------------------------------------------------------------------- + +There was 1 Error and 1 Warning. diff --git a/web/funnelAC/results/sc03.lis b/web/funnelAC/results/sc03.lis new file mode 100644 index 0000000000..7ab141b85a --- /dev/null +++ b/web/funnelAC/results/sc03.lis @@ -0,0 +1,154 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 0A | . | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| <010> +00002 00002| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 2 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[White]="<010> +" +0002[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + +E: No output files specified. + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +There was 1 Error. diff --git a/web/funnelAC/results/sc04.lis b/web/funnelAC/results/sc04.lis new file mode 100644 index 0000000000..7f5a985041 --- /dev/null +++ b/web/funnelAC/results/sc04.lis @@ -0,0 +1,157 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 0A 0A | .. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| <010> +00002 00002| <010> +00003 00003| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 2 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[White]="<010> +<010> +" +0003[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[White]="<010> +<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + +E: No output files specified. + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +There was 1 Error. diff --git a/web/funnelAC/results/sc05.lis b/web/funnelAC/results/sc05.lis new file mode 100644 index 0000000000..1a1d59e6d0 --- /dev/null +++ b/web/funnelAC/results/sc05.lis @@ -0,0 +1,158 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 30 35 3A 20 54 68 69 73 20 69 6E 70 75 74 | SC05: This input | +| 20 66 69 6C 65 20 63 6F 6E 74 61 69 6E 73 20 61 | file contains a | +| 20 73 69 6E 67 6C 65 20 6C 69 6E 65 20 63 6F 6E | single line con | +| 74 61 69 6E 69 6E 67 20 74 68 69 73 20 74 65 78 | taining this tex | +| 74 21 0A | t!. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC05: This input file contains a single line containing this text!<010> +00002 00002| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 2 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC05: This input file contains a single line containing this text!<010> +" +0002[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="SC05: This input file contains a single line containing this text!<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + +E: No output files specified. + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +There was 1 Error. diff --git a/web/funnelAC/results/sc06.lis b/web/funnelAC/results/sc06.lis new file mode 100644 index 0000000000..3eaf782140 --- /dev/null +++ b/web/funnelAC/results/sc06.lis @@ -0,0 +1,166 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 30 36 3A 20 54 65 73 74 20 46 75 6E 6E 65 | SC06: Test Funne | +| 6C 57 65 62 20 6F 6E 20 61 20 66 69 6C 65 20 77 | lWeb on a file w | +| 68 6F 73 65 20 6C 61 73 74 20 6C 69 6E 65 20 69 | hose last line i | +| 73 20 6E 6F 74 20 74 65 72 6D 69 6E 61 74 65 64 | s not terminated | +| 20 70 72 6F 70 65 72 6C 79 0A 77 69 74 68 20 61 | properly.with a | +| 6E 20 65 6E 64 20 6F 66 20 6C 69 6E 65 20 6D 61 | n end of line ma | +| 72 6B 65 72 2E 0A 0A | rker... | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC06: Test FunnelWeb on a file whose last line is not terminated properly<010> +00002 00002| with an end of line marker.<010> +00003 00003| <010> +00004 00004| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 2 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC06: Test FunnelWeb on a file whose last line is not terminated properly<010> +with an end of line marker.<010> +<010> +" +0004[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="SC06: Test FunnelWeb on a file whose last line is not terminated properly<010> +with an end of line marker.<010> +<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + +E: No output files specified. + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +There was 1 Error. diff --git a/web/funnelAC/results/sc07.lis b/web/funnelAC/results/sc07.lis new file mode 100644 index 0000000000..b4f069ddcf --- /dev/null +++ b/web/funnelAC/results/sc07.lis @@ -0,0 +1,187 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 30 37 3A 20 50 72 6F 63 65 73 73 69 6E 67 | SC07: Processing | +| 20 6F 66 20 6C 6F 6E 67 20 6C 69 6E 65 73 2E 0A | of long lines.. | +| 0A 53 43 30 37 2E 31 3A 20 44 65 74 65 63 74 69 | .SC07.1: Detecti | +| 6F 6E 20 6F 66 20 61 20 6C 69 6E 65 20 6C 6F 6E | on of a line lon | +| 67 65 72 20 74 68 61 6E 20 74 68 65 20 64 65 66 | ger than the def | +| 61 75 6C 74 20 6C 69 6D 69 74 2E 0A 0A 54 68 65 | ault limit...The | +| 20 64 65 66 61 75 6C 74 20 6C 69 6D 69 74 20 69 | default limit i | +| 73 20 38 30 20 63 68 61 72 61 63 74 65 72 73 20 | s 80 characters | +| 73 6F 20 77 65 20 77 69 6C 6C 20 74 65 73 74 20 | so we will test | +| 6F 6E 20 65 69 74 68 65 72 20 73 69 64 65 20 6F | on either side o | +| 66 0A 74 68 61 74 3A 0A 20 20 20 20 20 20 20 20 | f.that:. | +| 20 31 20 20 20 20 20 20 20 20 20 32 20 20 20 20 | 1 2 | +| 20 20 20 20 20 33 20 20 20 20 20 20 20 20 20 34 | 3 4 | +| 20 20 20 20 20 20 20 20 20 35 20 20 20 20 20 20 | 5 | +| 20 20 20 36 20 20 20 20 20 20 20 20 20 37 20 20 | 6 7 | +| 20 20 20 20 20 20 20 38 0A 31 32 33 34 35 36 37 | 8.1234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 0A 54 68 65 20 61 62 | 234567890.The ab | +| 6F 76 65 20 73 68 6F 75 6C 64 20 6E 6F 74 20 74 | ove should not t | +| 72 69 67 67 65 72 20 61 20 22 6C 69 6E 65 20 74 | rigger a "line t | +| 6F 6F 20 6C 6F 6E 67 20 65 72 72 6F 72 22 2E 20 | oo long error". | +| 42 75 74 20 74 68 69 73 20 6C 69 6E 65 20 73 68 | But this line sh | +| 6F 75 6C 64 21 2D 2D 2D 2D 2D 2D 0A 0A 53 43 30 | ould!------..SC0 | +| 37 2E 33 3A 20 54 65 73 74 20 74 68 65 20 6C 69 | 7.3: Test the li | +| 6D 69 74 20 73 65 74 20 61 74 20 69 6E 66 69 6E | mit set at infin | +| 69 74 79 2E 0A 0A 40 70 20 6D 61 78 69 6D 75 6D | ity...@p maximum | +| 5F 69 6E 70 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 | _input_line_leng | +| 74 68 20 3D 20 69 6E 66 69 6E 69 74 79 0A 0A 20 | th = infinity.. | +| 20 20 20 20 20 20 20 20 31 20 20 20 20 20 20 20 | 1 | +| 20 20 32 20 20 20 20 20 20 20 20 20 33 20 20 20 | 2 3 | +| 20 20 20 20 20 20 34 20 20 20 20 20 20 20 20 20 | 4 | +| 35 20 20 20 20 20 20 20 20 20 36 20 20 20 20 20 | 5 6 | +| 20 20 20 20 37 20 20 20 20 20 20 20 20 20 38 0A | 7 8. | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 0A 54 68 65 20 61 62 6F 76 65 20 73 68 6F 75 6C | .The above shoul | +| 64 20 6E 6F 74 20 74 72 69 67 67 65 72 20 61 20 | d not trigger a | +| 22 6C 69 6E 65 20 74 6F 6F 20 6C 6F 6E 67 20 65 | "line too long e | +| 72 72 6F 72 22 2E 20 4E 6F 72 20 73 68 6F 75 6C | rror". Nor shoul | +| 64 20 74 68 69 73 20 6F 6E 65 21 2D 2D 2D 2D 2D | d this one!----- | +| 2D 2D 0A 0A 53 43 30 37 2E 33 3A 20 54 65 73 74 | --..SC07.3: Test | +| 20 74 68 65 20 6C 69 6D 69 74 20 73 65 74 20 6C | the limit set l | +| 6F 77 65 72 2E 0A 0A 40 70 20 6D 61 78 69 6D 75 | ower...@p maximu | +| 6D 5F 69 6E 70 75 74 5F 6C 69 6E 65 5F 6C 65 6E | m_input_line_len | +| 67 74 68 20 3D 20 35 30 0A 0A 20 20 20 20 20 20 | gth = 50.. | +| 20 20 20 31 20 20 20 20 20 20 20 20 20 32 20 20 | 1 2 | +| 20 20 20 20 20 20 20 33 20 20 20 20 20 20 20 20 | 3 | +| 20 34 20 20 20 20 20 20 20 20 20 35 0A 31 32 33 | 4 5.123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 0A | 678901234567890. | +| 4E 6F 20 65 72 72 6F 72 20 66 6F 72 20 74 68 65 | No error for the | +| 20 61 62 6F 76 65 20 62 75 74 20 74 68 69 73 20 | above but this | +| 6C 69 6E 65 20 77 69 6C 6C 21 2D 2D 2D 2D 2D 2D | line will!------ | +| 2D 2D 2D 0A | ---. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC07: Processing of long lines.<010> +00002 00002| <010> +00003 00003| SC07.1: Detection of a line longer than the default limit.<010> +00004 00004| <010> +00005 00005| The default limit is 80 characters so we will test on either side of<010> +00006 00006| that:<010> +00007 00007| 1 2 3 4 5 6 7 8<010> +00008 00008| 12345678901234567890123456789012345678901234567890123456789012345678901234567890<010> +00009 00009| The above should not trigger a "line too long error". But this line should!------<010> +00010 00010| <010> +00011 00011| SC07.3: Test the limit set at infinity.<010> +00012 00012| <010> +00013 00013| @p maximum_input_line_length = infinity<010> +00014 00014| <010> +00015 00015| 1 2 3 4 5 6 7 8<010> +00016 00016| 12345678901234567890123456789012345678901234567890123456789012345678901234567890<010> +00017 00017| The above should not trigger a "line too long error". Nor should this one!-------<010> +00018 00018| <010> +00019 00019| SC07.3: Test the limit set lower.<010> +00020 00020| <010> +00021 00021| @p maximum_input_line_length = 50<010> +00022 00022| <010> +00023 00023| 1 2 3 4 5<010> +00024 00024| 12345678901234567890123456789012345678901234567890<010> +00025 00025| No error for the above but this line will!---------<010> +00026 00026| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 4 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC07: Processing of long lines.<010> +<010> +SC07.1: Detection of a line longer than the default limit.<010> +<010> +The default limit is 80 characters so we will test on either side of<010> +that:<010> + 1 2 3 4 5 6 7 8<010> +12345678901234567890123456789012345678901234567890123456789012345678901234567890<010> +The above should not trigger a "line too long error". But this line should!------<010> +<010> +SC07.3: Test the limit set at infinity.<010> +<010> +" +0014[01]: Text. Text scrap[Grey]="<010> + 1 2 3 4 5 6 7 8<010> +12345678901234567890123456789012345678901234567890123456789012345678901234567890<010> +The above should not trigger a "line too long error". Nor should this one!-------<010> +<010> +SC07.3: Test the limit set lower.<010> +<010> +" +0022[01]: Text. Text scrap[Grey]="<010> + 1 2 3 4 5<010> +12345678901234567890123456789012345678901234567890<010> +No error for the above but this line will!---------<010> +" +0026[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC07: Processing of long lines. + 2 2| + 3 3| SC07.1: Detection of a line longer than the default limit. + 4 4| + 5 5| The default limit is 80 characters so we will test on either side of + 6 6| that: + 7 7| 1 2 3 4 5 6 7 8 + 8 8| 12345678901234567890123456789012345678901234567890123456789012345678901234567890 + 9 9| The above should not trigger a "line too long error". But this line should!------ + Error|.................................................................................^Input line is too long (this character is the first offender). + |.................................................................................^Currently, the maximum allowable input line length is 80. + |.................................................................................^Note: You can change this using a pragma directive (@p). + 10 10| + 11 11| SC07.3: Test the limit set at infinity. + 12 12| + 13 13| @p maximum_input_line_length = infinity + 14 14| + 15 15| 1 2 3 4 5 6 7 8 + 16 16| 12345678901234567890123456789012345678901234567890123456789012345678901234567890 + 17 17| The above should not trigger a "line too long error". Nor should this one!------- + 18 18| + 19 19| SC07.3: Test the limit set lower. + 20 20| + 21 21| @p maximum_input_line_length = 50 + 22 22| + 23 23| 1 2 3 4 5 + 24 24| 12345678901234567890123456789012345678901234567890 + 25 25| No error for the above but this line will!--------- + Error|...................................................^Input line is too long (this character is the first offender). + |...................................................^Currently, the maximum allowable input line length is 50. + |...................................................^Note: You can change this using a pragma directive (@p). + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 2 Errors. diff --git a/web/funnelAC/results/sc08.lis b/web/funnelAC/results/sc08.lis new file mode 100644 index 0000000000..3651c0a371 --- /dev/null +++ b/web/funnelAC/results/sc08.lis @@ -0,0 +1,190 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 30 38 3A 20 44 65 74 65 63 74 69 6F 6E 20 | SC08: Detection | +| 6F 66 20 74 72 61 69 6C 69 6E 67 20 73 70 61 63 | of trailing spac | +| 65 73 2E 0A 0A 54 68 69 73 20 6C 69 6E 65 20 68 | es...This line h | +| 61 73 20 7A 65 72 6F 20 20 74 72 61 69 6C 69 6E | as zero trailin | +| 67 20 73 70 61 63 65 73 20 7C 0A 54 68 69 73 20 | g spaces |.This | +| 6C 69 6E 65 20 68 61 73 20 6F 6E 65 20 20 20 74 | line has one t | +| 72 61 69 6C 69 6E 67 20 73 70 61 63 65 20 20 7C | railing space | | +| 20 0A 54 68 69 73 20 6C 69 6E 65 20 68 61 73 20 | .This line has | +| 74 77 6F 20 20 20 74 72 61 69 6C 69 6E 67 20 73 | two trailing s | +| 70 61 63 65 73 20 7C 20 20 0A 54 68 69 73 20 6C | paces | .This l | +| 69 6E 65 20 68 61 73 20 74 68 72 65 65 20 74 72 | ine has three tr | +| 61 69 6C 69 6E 67 20 73 70 61 63 65 73 20 7C 20 | ailing spaces | | +| 20 20 0A | . | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC08: Detection of trailing spaces.<010> +00002 00002| <010> +00003 00003| This line has zero trailing spaces |<010> +00004 00004| This line has one trailing space | <010> +00005 00005| This line has two trailing spaces | <010> +00006 00006| This line has three trailing spaces | <010> +00007 00007| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 2 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC08: Detection of trailing spaces.<010> +<010> +This line has zero trailing spaces |<010> +This line has one trailing space | <010> +This line has two trailing spaces | <010> +This line has three trailing spaces | <010> +" +0007[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="SC08: Detection of trailing spaces.<010> +<010> +This line has zero trailing spaces |<010> +This line has one trailing space | <010> +This line has two trailing spaces | <010> +This line has three trailing spaces | <010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + +E: No output files specified. + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC08: Detection of trailing spaces. + 2 2| + 3 3| This line has zero trailing spaces | + 4 4| This line has one trailing space | + Warning|......................................^Line has trailing spaces up to and including this space. + 5 5| This line has two trailing spaces | + Warning|.......................................^Line has trailing spaces up to and including this space. + 6 6| This line has three trailing spaces | + Warning|........................................^Line has trailing spaces up to and including this space. + | <End-Of-File> +------------+------------------------------------------------------------------- + +There was 1 Error and 3 Warnings. diff --git a/web/funnelAC/results/sc09.lis b/web/funnelAC/results/sc09.lis new file mode 100644 index 0000000000..eeea2f8c82 --- /dev/null +++ b/web/funnelAC/results/sc09.lis @@ -0,0 +1,106 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 30 39 3A 20 44 65 74 65 63 74 69 6F 6E 20 | SC09: Detection | +| 6F 66 20 63 6F 6E 74 72 6F 6C 20 63 68 61 72 61 | of control chara | +| 63 74 65 72 73 2E 0A 0A 53 43 30 39 2E 31 20 54 | cters...SC09.1 T | +| 65 73 74 20 74 68 61 74 20 63 6F 6E 74 72 6F 6C | est that control | +| 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 | characters are | +| 64 65 74 65 63 74 65 64 20 61 6E 64 20 72 65 70 | detected and rep | +| 6C 61 63 65 64 20 62 79 20 22 3F 22 2E 0A 53 43 | laced by "?"..SC | +| 30 39 2E 32 20 54 65 73 74 20 6E 6F 6E 20 70 72 | 09.2 Test non pr | +| 69 6E 74 61 62 6C 65 20 74 68 61 74 20 68 61 73 | intable that has | +| 20 61 20 6D 6E 65 6D 6F 6E 69 63 2E 0A 0A 54 68 | a mnemonic...Th | +| 65 72 65 20 69 73 20 61 20 74 61 62 20 62 65 74 | ere is a tab bet | +| 77 65 65 6E 20 74 68 65 73 65 20 74 77 6F 20 62 | ween these two b | +| 61 72 73 20 7C 09 7C 20 77 68 69 63 68 20 73 68 | ars |.| which sh | +| 6F 75 6C 64 20 63 6F 6D 65 20 6F 75 74 20 61 73 | ould come out as | +| 20 22 3F 22 2E 0A 54 68 65 20 61 62 6F 76 65 20 | "?"..The above | +| 65 72 72 6F 72 20 6D 65 73 73 61 67 65 20 73 68 | error message sh | +| 6F 75 6C 64 20 63 6F 6E 74 61 69 6E 20 74 68 65 | ould contain the | +| 20 6D 6E 65 6D 6F 6E 69 63 20 22 48 54 22 2E 0A | mnemonic "HT".. | +| 0A 53 43 30 39 2E 33 20 54 65 73 74 20 6E 6F 6E | .SC09.3 Test non | +| 20 70 72 69 6E 74 61 62 6C 65 20 74 68 61 74 20 | printable that | +| 68 61 73 20 6E 6F 20 6D 6E 65 6D 6F 6E 69 63 2E | has no mnemonic. | +| 0A 0A 54 68 65 72 65 20 69 73 20 61 20 6E 6F 6E | ..There is a non | +| 2D 6D 6E 65 6D 6F 6E 69 63 20 63 6F 6E 74 72 6F | -mnemonic contro | +| 6C 20 63 68 61 72 61 63 74 65 72 20 62 65 74 77 | l character betw | +| 65 65 6E 20 74 68 65 73 65 20 62 61 72 73 20 7C | een these bars | | +| EA 7C 2E 0A | .|.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC09: Detection of control characters.<010> +00002 00002| <010> +00003 00003| SC09.1 Test that control characters are detected and replaced by "?".<010> +00004 00004| SC09.2 Test non printable that has a mnemonic.<010> +00005 00005| <010> +00006 00006| There is a tab between these two bars |?| which should come out as "?".<010> +00007 00007| The above error message should contain the mnemonic "HT".<010> +00008 00008| <010> +00009 00009| SC09.3 Test non printable that has no mnemonic.<010> +00010 00010| <010> +00011 00011| There is a non-mnemonic control character between these bars |?|.<010> +00012 00012| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 2 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC09: Detection of control characters.<010> +<010> +SC09.1 Test that control characters are detected and replaced by "?".<010> +SC09.2 Test non printable that has a mnemonic.<010> +<010> +There is a tab between these two bars |?| which should come out as "?".<010> +The above error message should contain the mnemonic "HT".<010> +<010> +SC09.3 Test non printable that has no mnemonic.<010> +<010> +There is a non-mnemonic control character between these bars |?|.<010> +" +0012[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC09: Detection of control characters. + 2 2| + 3 3| SC09.1 Test that control characters are detected and replaced by "?". + 4 4| SC09.2 Test non printable that has a mnemonic. + 5 5| + 6 6| There is a tab between these two bars |?| which should come out as "?". + Error|........................................^Non printable character (Sym=HT, Dec=009, Hex=09, Oct=011). + 7 7| The above error message should contain the mnemonic "HT". + 8 8| + 9 9| SC09.3 Test non printable that has no mnemonic. + 10 10| + 11 11| There is a non-mnemonic control character between these bars |?|. + Error|...............................................................^Non printable character (Sym=<none>, Dec=234, Hex=EA, Oct=352). + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 2 Errors. diff --git a/web/funnelAC/results/sc10.lis b/web/funnelAC/results/sc10.lis new file mode 100644 index 0000000000..55bfe19df8 --- /dev/null +++ b/web/funnelAC/results/sc10.lis @@ -0,0 +1,882 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 63 61 6E 6E 65 72 20 54 65 73 74 3A 20 53 70 | Scanner Test: Sp | +| 65 63 69 61 6C 20 53 65 71 75 65 6E 63 65 20 52 | ecial Sequence R | +| 65 63 6F 67 6E 69 74 69 6F 6E 0A 3D 3D 3D 3D 3D | ecognition.===== | +| 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D | ================ | +| 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D 3D | ================ | +| 3D 3D 3D 3D 3D 0A 54 68 69 73 20 74 65 73 74 20 | =====.This test | +| 74 65 73 74 73 20 74 6F 20 73 65 65 20 74 68 61 | tests to see tha | +| 74 20 46 75 6E 6E 65 6C 57 65 62 20 69 73 20 72 | t FunnelWeb is r | +| 65 63 6F 67 6E 69 73 69 6E 67 20 74 68 65 20 66 | ecognising the f | +| 75 6C 6C 20 73 65 74 20 6F 66 20 73 70 65 63 69 | ull set of speci | +| 61 6C 0A 73 65 71 75 65 6E 63 65 73 2E 0A 0A 54 | al.sequences...T | +| 75 72 6E 20 4F 66 66 20 74 68 65 20 50 61 72 73 | urn Off the Pars | +| 65 72 0A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D | er.------------- | +| 2D 2D 2D 2D 2D 2D 0A 46 69 72 73 74 20 77 65 20 | ------.First we | +| 63 61 75 73 65 20 61 20 64 65 6C 69 62 65 72 61 | cause a delibera | +| 74 65 20 73 63 61 6E 6E 65 72 20 65 72 72 6F 72 | te scanner error | +| 20 73 6F 20 61 73 20 74 6F 20 70 72 65 76 65 6E | so as to preven | +| 74 20 74 68 65 20 70 61 72 73 65 72 20 66 72 6F | t the parser fro | +| 6D 0A 67 65 6E 65 72 61 74 69 6E 67 20 6C 6F 74 | m.generating lot | +| 73 20 6F 66 20 65 72 72 6F 72 73 20 6F 76 65 72 | s of errors over | +| 20 74 68 65 20 73 79 6E 74 61 63 74 69 63 20 72 | the syntactic r | +| 75 62 62 69 73 68 20 70 72 65 73 65 6E 74 65 64 | ubbish presented | +| 20 68 65 72 65 2E 0A 0A 20 20 20 40 20 0A 0A 4C | here... @ ..L | +| 69 73 74 20 6F 66 20 41 6C 6C 20 50 6F 73 73 69 | ist of All Possi | +| 62 6C 65 20 53 70 65 63 69 61 6C 20 53 65 71 75 | ble Special Sequ | +| 65 6E 63 65 73 0A 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D | ences.---------- | +| 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D | ---------------- | +| 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 2D 0A 54 68 65 | ------------.The | +| 20 66 6F 6C 6C 6F 77 69 6E 67 20 69 73 20 61 20 | following is a | +| 6C 69 73 74 20 6F 66 20 74 68 65 20 64 65 66 61 | list of the defa | +| 75 6C 74 20 73 70 65 63 69 61 6C 20 63 68 61 72 | ult special char | +| 61 63 74 65 72 20 66 6F 6C 6C 6F 77 65 64 20 62 | acter followed b | +| 79 20 65 61 63 68 20 6F 66 0A 74 68 65 20 41 53 | y each of.the AS | +| 43 49 49 20 70 72 69 6E 74 61 62 6C 65 73 2E 0A | CII printables.. | +| 30 30 30 20 74 6F 20 30 33 31 20 61 72 65 20 75 | 000 to 031 are u | +| 6E 70 72 69 6E 74 61 62 6C 65 20 63 6F 6E 74 72 | nprintable contr | +| 6F 6C 20 63 68 61 72 61 63 74 65 72 73 2E 0A 0A | ol characters... | +| 30 33 32 20 20 40 20 20 20 20 2D 20 49 4C 4C 45 | 032 @ - ILLE | +| 47 41 4C 2E 20 20 28 4E 6F 74 65 3A 20 48 79 70 | GAL. (Note: Hyp | +| 68 65 6E 20 69 73 20 6E 65 65 64 65 64 20 74 6F | hen is needed to | +| 20 61 76 6F 69 64 20 74 72 61 69 6C 69 6E 67 20 | avoid trailing | +| 62 6C 61 6E 6B 73 20 65 72 72 6F 72 2E 29 0A 30 | blanks error.).0 | +| 33 33 20 20 40 21 20 20 20 2D 20 43 6F 6D 6D 65 | 33 @! - Comme | +| 6E 74 2E 0A 30 33 34 20 20 40 22 20 20 20 2D 20 | nt..034 @" - | +| 50 61 72 61 6D 65 74 65 72 20 64 65 6C 69 6D 65 | Parameter delime | +| 74 65 72 2E 0A 30 33 35 20 20 40 23 58 20 20 2D | ter..035 @#X - | +| 20 53 68 6F 72 74 20 6E 61 6D 65 20 73 65 71 75 | Short name sequ | +| 65 6E 63 65 2E 0A 40 24 20 20 20 30 33 36 20 20 | ence..@$ 036 | +| 2D 20 44 65 66 69 6E 65 20 6D 61 63 72 6F 2E 20 | - Define macro. | +| 48 61 73 20 74 6F 20 62 65 20 61 74 20 73 74 61 | Has to be at sta | +| 72 74 20 6F 66 20 6C 69 6E 65 2E 0A 30 33 37 20 | rt of line..037 | +| 20 40 25 20 20 20 2D 20 49 4C 4C 45 47 41 4C 2E | @% - ILLEGAL. | +| 0A 30 33 38 20 20 40 26 20 20 20 2D 20 49 4C 4C | .038 @& - ILL | +| 45 47 41 4C 2E 0A 30 33 39 20 20 40 27 20 20 20 | EGAL..039 @' | +| 2D 20 49 4C 4C 45 47 41 4C 2E 0A 30 34 30 20 20 | - ILLEGAL..040 | +| 40 28 20 20 20 2D 20 4F 70 65 6E 20 70 61 72 61 | @( - Open para | +| 6D 65 74 65 72 20 6C 69 73 74 2E 0A 30 34 31 20 | meter list..041 | +| 20 40 29 20 20 20 2D 20 43 6C 6F 73 65 20 70 61 | @) - Close pa | +| 72 61 6D 65 74 65 72 20 6C 69 73 74 2E 0A 30 34 | rameter list..04 | +| 32 0A 40 2A 20 20 20 20 20 20 20 20 2D 20 4F 6C | 2.@* - Ol | +| 64 20 66 61 73 68 69 6F 6E 65 64 20 73 65 63 74 | d fashioned sect | +| 69 6F 6E 20 6D 61 72 6B 65 72 20 28 68 61 73 20 | ion marker (has | +| 74 6F 20 62 65 20 61 74 20 73 74 61 72 74 20 6F | to be at start o | +| 66 20 61 20 6C 69 6E 65 2E 29 2E 0A 30 34 33 20 | f a line.)..043 | +| 20 40 2B 20 20 20 2D 20 49 6E 73 65 72 74 20 6E | @+ - Insert n | +| 65 77 6C 69 6E 65 2E 0A 30 34 34 20 20 40 2C 20 | ewline..044 @, | +| 20 20 2D 20 50 61 72 61 6D 65 74 65 72 20 73 65 | - Parameter se | +| 70 61 72 61 74 6F 72 2E 0A 30 34 35 20 20 40 2D | parator..045 @- | +| 0A 20 20 20 20 20 20 20 20 20 20 2D 20 49 67 6E | . - Ign | +| 6F 72 65 20 65 6E 64 20 6F 66 20 6C 69 6E 65 20 | ore end of line | +| 6D 61 72 6B 65 72 20 28 68 61 73 20 74 6F 20 62 | marker (has to b | +| 65 20 61 74 20 65 6E 64 20 6F 66 20 6C 69 6E 65 | e at end of line | +| 29 2E 0A 30 34 36 20 20 40 2E 20 20 20 2D 20 49 | )..046 @. - I | +| 4C 4C 45 47 41 4C 2E 0A 30 34 37 20 20 40 2F 20 | LLEGAL..047 @/ | +| 20 20 2D 20 45 6D 70 68 61 73 69 73 65 64 20 74 | - Emphasised t | +| 65 78 74 2E 0A 30 34 38 20 20 40 30 20 20 20 2D | ext..048 @0 - | +| 20 49 4C 4C 45 47 41 4C 2E 0A 30 34 39 20 20 40 | ILLEGAL..049 @ | +| 31 20 20 20 2D 20 46 6F 72 6D 61 6C 20 70 61 72 | 1 - Formal par | +| 61 6D 65 74 65 72 20 31 2E 0A 30 35 30 20 20 40 | ameter 1..050 @ | +| 32 20 20 20 2D 20 46 6F 72 6D 61 6C 20 70 61 72 | 2 - Formal par | +| 61 6D 65 74 65 72 20 32 2E 0A 30 35 31 20 20 40 | ameter 2..051 @ | +| 33 20 20 20 2D 20 46 6F 72 6D 61 6C 20 70 61 72 | 3 - Formal par | +| 61 6D 65 74 65 72 20 33 2E 0A 30 35 32 20 20 40 | ameter 3..052 @ | +| 34 20 20 20 2D 20 46 6F 72 6D 61 6C 20 70 61 72 | 4 - Formal par | +| 61 6D 65 74 65 72 20 34 2E 0A 30 35 33 20 20 40 | ameter 4..053 @ | +| 35 20 20 20 2D 20 46 6F 72 6D 61 6C 20 70 61 72 | 5 - Formal par | +| 61 6D 65 74 65 72 20 35 2E 0A 30 35 34 20 20 40 | ameter 5..054 @ | +| 36 20 20 20 2D 20 46 6F 72 6D 61 6C 20 70 61 72 | 6 - Formal par | +| 61 6D 65 74 65 72 20 36 2E 0A 30 35 35 20 20 40 | ameter 6..055 @ | +| 37 20 20 20 2D 20 46 6F 72 6D 61 6C 20 70 61 72 | 7 - Formal par | +| 61 6D 65 74 65 72 20 37 2E 0A 30 35 36 20 20 40 | ameter 7..056 @ | +| 38 20 20 20 2D 20 46 6F 72 6D 61 6C 20 70 61 72 | 8 - Formal par | +| 61 6D 65 74 65 72 20 38 2E 0A 30 35 37 20 20 40 | ameter 8..057 @ | +| 39 20 20 20 2D 20 46 6F 72 6D 61 6C 20 70 61 72 | 9 - Formal par | +| 61 6D 65 74 65 72 20 39 2E 0A 30 35 38 20 20 40 | ameter 9..058 @ | +| 3A 20 20 20 2D 20 49 4C 4C 45 47 41 4C 2E 0A 30 | : - ILLEGAL..0 | +| 35 39 20 20 40 3B 20 20 20 2D 20 49 4C 4C 45 47 | 59 @; - ILLEG | +| 41 4C 2E 0A 30 36 30 20 20 40 3C 20 20 20 2D 20 | AL..060 @< - | +| 4F 70 65 6E 20 6D 61 63 72 6F 20 6E 61 6D 65 2E | Open macro name. | +| 0A 30 36 31 20 20 40 3D 40 20 20 2D 20 53 65 74 | .061 @=@ - Set | +| 20 73 70 65 63 69 61 6C 20 63 68 61 72 61 63 74 | special charact | +| 65 72 2E 0A 30 36 32 20 20 40 3E 20 20 20 2D 20 | er..062 @> - | +| 43 6C 6F 73 65 20 6D 61 63 72 6F 20 6E 61 6D 65 | Close macro name | +| 2E 0A 30 36 33 20 20 40 3F 20 20 20 2D 20 49 4C | ..063 @? - IL | +| 4C 45 47 41 4C 2E 0A 30 36 34 20 20 40 40 20 20 | LEGAL..064 @@ | +| 20 2D 20 49 6E 73 65 72 74 20 73 70 65 63 69 61 | - Insert specia | +| 6C 20 63 68 61 72 61 63 74 65 72 20 69 6E 74 6F | l character into | +| 20 74 65 78 74 2E 0A 40 41 20 20 30 36 35 20 20 | text..@A 065 | +| 20 2D 20 4E 65 77 20 73 65 63 74 69 6F 6E 20 28 | - New section ( | +| 6C 65 76 65 6C 20 31 29 2E 20 4D 75 73 74 20 62 | level 1). Must b | +| 65 20 61 74 20 73 74 61 72 74 20 6F 66 20 61 20 | e at start of a | +| 6C 69 6E 65 2E 0A 40 42 20 20 30 36 36 20 20 20 | line..@B 066 | +| 2D 20 4E 65 77 20 73 65 63 74 69 6F 6E 20 28 6C | - New section (l | +| 65 76 65 6C 20 32 29 2E 20 4D 75 73 74 20 62 65 | evel 2). Must be | +| 20 61 74 20 73 74 61 72 74 20 6F 66 20 61 20 6C | at start of a l | +| 69 6E 65 2E 0A 40 43 20 20 30 36 37 20 20 20 2D | ine..@C 067 - | +| 20 4E 65 77 20 73 65 63 74 69 6F 6E 20 28 6C 65 | New section (le | +| 76 65 6C 20 33 29 2E 20 4D 75 73 74 20 62 65 20 | vel 3). Must be | +| 61 74 20 73 74 61 72 74 20 6F 66 20 61 20 6C 69 | at start of a li | +| 6E 65 2E 0A 40 44 20 20 30 36 38 20 20 20 2D 20 | ne..@D 068 - | +| 4E 65 77 20 73 65 63 74 69 6F 6E 20 28 6C 65 76 | New section (lev | +| 65 6C 20 34 29 2E 20 4D 75 73 74 20 62 65 20 61 | el 4). Must be a | +| 74 20 73 74 61 72 74 20 6F 66 20 61 20 6C 69 6E | t start of a lin | +| 65 2E 0A 40 45 20 20 30 36 39 20 20 20 2D 20 4E | e..@E 069 - N | +| 65 77 20 73 65 63 74 69 6F 6E 20 28 6C 65 76 65 | ew section (leve | +| 6C 20 35 29 2E 20 4D 75 73 74 20 62 65 20 61 74 | l 5). Must be at | +| 20 73 74 61 72 74 20 6F 66 20 61 20 6C 69 6E 65 | start of a line | +| 2E 0A 30 37 30 20 20 40 46 20 20 20 2D 20 49 4C | ..070 @F - IL | +| 4C 45 47 41 4C 2E 0A 30 37 31 20 20 40 47 20 20 | LEGAL..071 @G | +| 20 2D 20 49 4C 4C 45 47 41 4C 2E 0A 30 37 32 20 | - ILLEGAL..072 | +| 20 40 48 20 20 20 2D 20 49 4C 4C 45 47 41 4C 2E | @H - ILLEGAL. | +| 0A 30 37 33 20 20 40 49 20 20 20 2D 20 49 6E 63 | .073 @I - Inc | +| 6C 75 64 65 20 66 69 6C 65 2E 20 57 69 6C 6C 20 | lude file. Will | +| 70 72 6F 76 6F 6B 65 20 61 6E 20 65 72 72 6F 72 | provoke an error | +| 20 68 65 72 65 20 74 68 6F 75 67 68 2E 0A 30 37 | here though..07 | +| 34 20 20 40 4A 20 20 20 2D 20 49 4C 4C 45 47 41 | 4 @J - ILLEGA | +| 4C 2E 0A 30 37 35 20 20 40 4B 20 20 20 2D 20 49 | L..075 @K - I | +| 4C 4C 45 47 41 4C 2E 0A 30 37 36 20 20 40 4C 20 | LLEGAL..076 @L | +| 20 20 2D 20 49 4C 4C 45 47 41 4C 2E 0A 30 37 37 | - ILLEGAL..077 | +| 20 20 40 4D 20 20 20 2D 20 54 61 67 73 20 6D 61 | @M - Tags ma | +| 63 72 6F 20 61 73 20 62 65 69 6E 67 20 61 6C 6C | cro as being all | +| 6F 77 65 64 20 74 6F 20 62 65 20 63 61 6C 6C 65 | owed to be calle | +| 64 20 6D 61 6E 79 20 74 69 6D 65 73 2E 0A 30 37 | d many times..07 | +| 38 20 20 40 4E 20 20 20 2D 20 49 4C 4C 45 47 41 | 8 @N - ILLEGA | +| 4C 2E 0A 40 4F 20 20 20 30 37 39 20 20 2D 20 4E | L..@O 079 - N | +| 65 77 20 6D 61 63 72 6F 20 61 74 74 61 63 68 65 | ew macro attache | +| 64 20 74 6F 20 6F 75 74 70 75 74 20 66 69 6C 65 | d to output file | +| 2E 20 48 61 73 20 74 6F 20 62 65 20 61 74 20 73 | . Has to be at s | +| 74 61 72 74 20 6F 66 20 6C 69 6E 65 2E 0A 30 38 | tart of line..08 | +| 30 20 20 40 50 20 20 20 2D 20 50 72 61 67 6D 61 | 0 @P - Pragma | +| 2E 20 57 69 6C 6C 20 63 61 75 73 65 20 65 72 72 | . Will cause err | +| 6F 72 20 68 65 72 65 20 74 68 6F 75 67 68 2E 0A | or here though.. | +| 30 38 31 20 20 40 51 20 20 20 2D 20 49 4C 4C 45 | 081 @Q - ILLE | +| 47 41 4C 2E 0A 30 38 32 20 20 40 52 20 20 20 2D | GAL..082 @R - | +| 20 49 4C 4C 45 47 41 4C 2E 0A 30 38 33 20 20 40 | ILLEGAL..083 @ | +| 53 20 20 20 2D 20 49 4C 4C 45 47 41 4C 2E 0A 30 | S - ILLEGAL..0 | +| 38 34 20 20 40 54 20 20 20 2D 20 54 79 70 65 73 | 84 @T - Types | +| 65 74 74 65 72 20 64 69 72 65 63 74 69 76 65 2E | etter directive. | +| 20 57 69 6C 6C 20 63 61 75 73 65 20 61 6E 20 65 | Will cause an e | +| 72 72 6F 72 20 68 65 72 65 20 74 68 6F 75 67 68 | rror here though | +| 2E 0A 30 38 35 20 20 40 55 20 20 20 2D 20 49 4C | ..085 @U - IL | +| 4C 45 47 41 4C 2E 0A 30 38 36 20 20 40 56 20 20 | LEGAL..086 @V | +| 20 2D 20 49 4C 4C 45 47 41 4C 2E 0A 30 38 37 20 | - ILLEGAL..087 | +| 20 40 57 20 20 20 2D 20 49 4C 4C 45 47 41 4C 2E | @W - ILLEGAL. | +| 0A 30 38 38 20 20 40 58 20 20 20 2D 20 49 4C 4C | .088 @X - ILL | +| 45 47 41 4C 2E 0A 30 38 39 20 20 40 59 20 20 20 | EGAL..089 @Y | +| 2D 20 49 4C 4C 45 47 41 4C 2E 0A 30 39 30 20 20 | - ILLEGAL..090 | +| 40 5A 20 20 20 2D 20 54 61 67 73 20 6D 61 63 72 | @Z - Tags macr | +| 6F 20 61 73 20 62 65 69 6E 67 20 61 6C 6C 6F 77 | o as being allow | +| 65 64 20 74 6F 20 62 65 20 63 61 6C 6C 65 64 20 | ed to be called | +| 7A 65 72 6F 20 74 69 6D 65 73 2E 0A 30 39 31 20 | zero times..091 | +| 20 40 5B 20 20 20 2D 20 49 4C 4C 45 47 41 4C 2E | @[ - ILLEGAL. | +| 0A 30 39 32 20 20 40 5C 20 20 20 2D 20 49 4C 4C | .092 @\ - ILL | +| 45 47 41 4C 2E 0A 30 39 33 20 20 40 5D 20 20 20 | EGAL..093 @] | +| 2D 20 49 4C 4C 45 47 41 4C 2E 0A 30 39 34 20 20 | - ILLEGAL..094 | +| 40 5E 44 28 30 36 35 29 20 2D 20 49 6E 73 65 72 | @^D(065) - Inser | +| 74 20 63 6F 6E 74 72 6F 6C 20 63 68 61 72 61 63 | t control charac | +| 74 65 72 20 69 6E 74 6F 20 74 65 78 74 0A 30 39 | ter into text.09 | +| 35 20 20 40 5F 20 20 20 2D 20 49 4C 4C 45 47 41 | 5 @_ - ILLEGA | +| 4C 2E 0A 30 39 36 20 20 40 60 20 20 20 2D 20 49 | L..096 @` - I | +| 4C 4C 45 47 41 4C 2E 0A 40 61 20 20 20 30 39 37 | LLEGAL..@a 097 | +| 20 20 2D 20 4E 65 77 20 73 65 63 74 69 6F 6E 20 | - New section | +| 28 6C 65 76 65 6C 20 31 29 2E 20 4D 75 73 74 20 | (level 1). Must | +| 62 65 20 61 74 20 73 74 61 72 74 20 6F 66 20 61 | be at start of a | +| 20 6C 69 6E 65 2E 0A 40 62 20 20 20 30 39 38 20 | line..@b 098 | +| 20 2D 20 4E 65 77 20 73 65 63 74 69 6F 6E 20 28 | - New section ( | +| 6C 65 76 65 6C 20 31 29 2E 20 4D 75 73 74 20 62 | level 1). Must b | +| 65 20 61 74 20 73 74 61 72 74 20 6F 66 20 61 20 | e at start of a | +| 6C 69 6E 65 2E 0A 40 63 20 20 20 30 39 39 20 20 | line..@c 099 | +| 2D 20 4E 65 77 20 73 65 63 74 69 6F 6E 20 28 6C | - New section (l | +| 65 76 65 6C 20 31 29 2E 20 4D 75 73 74 20 62 65 | evel 1). Must be | +| 20 61 74 20 73 74 61 72 74 20 6F 66 20 61 20 6C | at start of a l | +| 69 6E 65 2E 0A 40 64 20 20 20 31 30 30 20 20 2D | ine..@d 100 - | +| 20 4E 65 77 20 73 65 63 74 69 6F 6E 20 28 6C 65 | New section (le | +| 76 65 6C 20 31 29 2E 20 4D 75 73 74 20 62 65 20 | vel 1). Must be | +| 61 74 20 73 74 61 72 74 20 6F 66 20 61 20 6C 69 | at start of a li | +| 6E 65 2E 0A 40 65 20 20 20 31 30 31 20 20 2D 20 | ne..@e 101 - | +| 4E 65 77 20 73 65 63 74 69 6F 6E 20 28 6C 65 76 | New section (lev | +| 65 6C 20 31 29 2E 20 4D 75 73 74 20 62 65 20 61 | el 1). Must be a | +| 74 20 73 74 61 72 74 20 6F 66 20 61 20 6C 69 6E | t start of a lin | +| 65 2E 0A 31 30 32 20 20 40 66 20 20 20 2D 20 49 | e..102 @f - I | +| 4C 4C 45 47 41 4C 2E 0A 31 30 33 20 20 40 67 20 | LLEGAL..103 @g | +| 20 20 2D 20 49 4C 4C 45 47 41 4C 2E 0A 31 30 34 | - ILLEGAL..104 | +| 20 20 40 68 20 20 20 2D 20 49 4C 4C 45 47 41 4C | @h - ILLEGAL | +| 2E 0A 31 30 35 20 20 40 69 20 20 20 2D 20 49 6E | ..105 @i - In | +| 63 6C 75 64 65 20 66 69 6C 65 2E 20 57 69 6C 6C | clude file. Will | +| 20 70 72 6F 76 6F 6B 65 20 61 6E 20 65 72 72 6F | provoke an erro | +| 72 20 68 65 72 65 20 74 68 6F 75 67 68 2E 0A 31 | r here though..1 | +| 30 36 20 20 40 6A 20 20 20 2D 20 49 4C 4C 45 47 | 06 @j - ILLEG | +| 41 4C 2E 0A 31 30 37 20 20 40 6B 20 20 20 2D 20 | AL..107 @k - | +| 49 4C 4C 45 47 41 4C 2E 0A 31 30 38 20 20 40 6C | ILLEGAL..108 @l | +| 20 20 20 2D 20 49 4C 4C 45 47 41 4C 2E 0A 31 30 | - ILLEGAL..10 | +| 39 20 20 40 6D 20 20 20 2D 20 54 61 67 73 20 6D | 9 @m - Tags m | +| 61 63 72 6F 20 61 73 20 62 65 69 6E 67 20 61 6C | acro as being al | +| 6C 6F 77 65 64 20 74 6F 20 62 65 20 63 61 6C 6C | lowed to be call | +| 65 64 20 6D 61 6E 79 20 74 69 6D 65 73 2E 0A 31 | ed many times..1 | +| 31 30 20 20 40 6E 20 20 20 2D 20 49 4C 4C 45 47 | 10 @n - ILLEG | +| 41 4C 2E 0A 40 4F 20 20 20 31 31 31 20 20 2D 20 | AL..@O 111 - | +| 4E 65 77 20 6D 61 63 72 6F 20 61 74 74 61 63 68 | New macro attach | +| 65 64 20 74 6F 20 6F 75 74 70 75 74 20 66 69 6C | ed to output fil | +| 65 2E 20 48 61 73 20 74 6F 20 62 65 20 61 74 20 | e. Has to be at | +| 73 74 61 72 74 20 6F 66 20 6C 69 6E 65 2E 0A 31 | start of line..1 | +| 31 32 20 20 40 70 20 20 20 2D 20 50 72 61 67 6D | 12 @p - Pragm | +| 61 2E 20 57 69 6C 6C 20 63 61 75 73 65 20 65 72 | a. Will cause er | +| 72 6F 72 20 68 65 72 65 20 74 68 6F 75 67 68 2E | ror here though. | +| 0A 31 31 33 20 20 40 71 20 20 20 2D 20 49 4C 4C | .113 @q - ILL | +| 45 47 41 4C 2E 0A 31 31 34 20 20 40 72 20 20 20 | EGAL..114 @r | +| 2D 20 49 4C 4C 45 47 41 4C 2E 0A 31 31 35 20 20 | - ILLEGAL..115 | +| 40 73 20 20 20 2D 20 49 4C 4C 45 47 41 4C 2E 0A | @s - ILLEGAL.. | +| 31 31 36 20 20 40 74 20 20 20 2D 20 54 79 70 65 | 116 @t - Type | +| 73 65 74 74 65 72 20 64 69 72 65 63 74 69 76 65 | setter directive | +| 2E 20 57 69 6C 6C 20 63 61 75 73 65 20 61 6E 20 | . Will cause an | +| 65 72 72 6F 72 20 68 65 72 65 20 74 68 6F 75 67 | error here thoug | +| 68 2E 0A 31 31 37 20 20 40 75 20 20 20 2D 20 49 | h..117 @u - I | +| 4C 4C 45 47 41 4C 2E 0A 31 31 38 20 20 40 76 20 | LLEGAL..118 @v | +| 20 20 2D 20 49 4C 4C 45 47 41 4C 2E 0A 31 31 39 | - ILLEGAL..119 | +| 20 20 40 77 20 20 20 2D 20 49 4C 4C 45 47 41 4C | @w - ILLEGAL | +| 2E 0A 31 32 30 20 20 40 78 20 20 20 2D 20 49 4C | ..120 @x - IL | +| 4C 45 47 41 4C 2E 0A 31 32 31 20 20 40 79 20 20 | LEGAL..121 @y | +| 20 2D 20 49 4C 4C 45 47 41 4C 2E 0A 31 32 32 20 | - ILLEGAL..122 | +| 20 40 7A 20 20 20 2D 20 54 61 67 73 20 6D 61 63 | @z - Tags mac | +| 72 6F 20 61 73 20 62 65 69 6E 67 20 61 6C 6C 6F | ro as being allo | +| 77 65 64 20 74 6F 20 62 65 20 63 61 6C 6C 65 64 | wed to be called | +| 20 7A 65 72 6F 20 74 69 6D 65 73 2E 0A 31 32 33 | zero times..123 | +| 20 20 40 7B 20 20 20 2D 20 4F 70 65 6E 20 6D 61 | @{ - Open ma | +| 63 72 6F 20 62 6F 64 79 2E 0A 31 32 34 20 20 40 | cro body..124 @ | +| 7C 20 20 20 2D 20 49 4C 4C 45 47 41 4C 2E 0A 31 | | - ILLEGAL..1 | +| 32 35 20 20 40 7D 20 20 20 2D 20 43 6C 6F 73 65 | 25 @} - Close | +| 20 6D 61 63 72 6F 20 62 6F 64 79 2E 0A 31 32 36 | macro body..126 | +| 20 20 40 7E 20 20 20 2D 20 49 4C 4C 45 47 41 4C | @~ - ILLEGAL | +| 2E 0A 31 32 37 20 74 6F 20 32 35 35 20 61 72 65 | ..127 to 255 are | +| 20 6E 6F 74 20 73 74 61 6E 64 61 72 64 20 70 72 | not standard pr | +| 69 6E 74 61 62 6C 65 20 41 53 43 49 49 20 63 68 | intable ASCII ch | +| 61 72 61 63 74 65 72 73 2E 0A | aracters.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| Scanner Test: Special Sequence Recognition<010> +00002 00002| ==========================================<010> +00003 00003| This test tests to see that FunnelWeb is recognising the full set of special<010> +00004 00004| sequences.<010> +00005 00005| <010> +00006 00006| Turn Off the Parser<010> +00007 00007| -------------------<010> +00008 00008| First we cause a deliberate scanner error so as to prevent the parser from<010> +00009 00009| generating lots of errors over the syntactic rubbish presented here.<010> +00010 00010| <010> +00011 00011| @ <010> +00012 00012| <010> +00013 00013| List of All Possible Special Sequences<010> +00014 00014| --------------------------------------<010> +00015 00015| The following is a list of the default special character followed by each of<010> +00016 00016| the ASCII printables.<010> +00017 00017| 000 to 031 are unprintable control characters.<010> +00018 00018| <010> +00019 00019| 032 @ - ILLEGAL. (Note: Hyphen is needed to avoid trailing blanks error.)<010> +00020 00020| 033 @! - Comment.<010> +00021 00021| 034 @" - Parameter delimeter.<010> +00022 00022| 035 @#X - Short name sequence.<010> +00023 00023| @$ 036 - Define macro. Has to be at start of line.<010> +00024 00024| 037 @% - ILLEGAL.<010> +00025 00025| 038 @& - ILLEGAL.<010> +00026 00026| 039 @' - ILLEGAL.<010> +00027 00027| 040 @( - Open parameter list.<010> +00028 00028| 041 @) - Close parameter list.<010> +00029 00029| 042<010> +00030 00030| @* - Old fashioned section marker (has to be at start of a line.).<010> +00031 00031| 043 @+ - Insert newline.<010> +00032 00032| 044 @, - Parameter separator.<010> +00033 00033| 045 @-<010> +00034 00034| - Ignore end of line marker (has to be at end of line).<010> +00035 00035| 046 @. - ILLEGAL.<010> +00036 00036| 047 @/ - Emphasised text.<010> +00037 00037| 048 @0 - ILLEGAL.<010> +00038 00038| 049 @1 - Formal parameter 1.<010> +00039 00039| 050 @2 - Formal parameter 2.<010> +00040 00040| 051 @3 - Formal parameter 3.<010> +00041 00041| 052 @4 - Formal parameter 4.<010> +00042 00042| 053 @5 - Formal parameter 5.<010> +00043 00043| 054 @6 - Formal parameter 6.<010> +00044 00044| 055 @7 - Formal parameter 7.<010> +00045 00045| 056 @8 - Formal parameter 8.<010> +00046 00046| 057 @9 - Formal parameter 9.<010> +00047 00047| 058 @: - ILLEGAL.<010> +00048 00048| 059 @; - ILLEGAL.<010> +00049 00049| 060 @< - Open macro name.<010> +00050 00050| 061 @=@ - Set special character.<010> +00051 00051| 062 @> - Close macro name.<010> +00052 00052| 063 @? - ILLEGAL.<010> +00053 00053| 064 @@ - Insert special character into text.<010> +00054 00054| @A 065 - New section (level 1). Must be at start of a line.<010> +00055 00055| @B 066 - New section (level 2). Must be at start of a line.<010> +00056 00056| @C 067 - New section (level 3). Must be at start of a line.<010> +00057 00057| @D 068 - New section (level 4). Must be at start of a line.<010> +00058 00058| @E 069 - New section (level 5). Must be at start of a line.<010> +00059 00059| 070 @F - ILLEGAL.<010> +00060 00060| 071 @G - ILLEGAL.<010> +00061 00061| 072 @H - ILLEGAL.<010> +00062 00062| 073 @I - Include file. Will provoke an error here though.<010> +00063 00063| 074 @J - ILLEGAL.<010> +00064 00064| 075 @K - ILLEGAL.<010> +00065 00065| 076 @L - ILLEGAL.<010> +00066 00066| 077 @M - Tags macro as being allowed to be called many times.<010> +00067 00067| 078 @N - ILLEGAL.<010> +00068 00068| @O 079 - New macro attached to output file. Has to be at start of line.<010> +00069 00069| 080 @P - Pragma. Will cause error here though.<010> +00070 00070| 081 @Q - ILLEGAL.<010> +00071 00071| 082 @R - ILLEGAL.<010> +00072 00072| 083 @S - ILLEGAL.<010> +00073 00073| 084 @T - Typesetter directive. Will cause an error here though.<010> +00074 00074| 085 @U - ILLEGAL.<010> +00075 00075| 086 @V - ILLEGAL.<010> +00076 00076| 087 @W - ILLEGAL.<010> +00077 00077| 088 @X - ILLEGAL.<010> +00078 00078| 089 @Y - ILLEGAL.<010> +00079 00079| 090 @Z - Tags macro as being allowed to be called zero times.<010> +00080 00080| 091 @[ - ILLEGAL.<010> +00081 00081| 092 @\ - ILLEGAL.<010> +00082 00082| 093 @] - ILLEGAL.<010> +00083 00083| 094 @^D(065) - Insert control character into text<010> +00084 00084| 095 @_ - ILLEGAL.<010> +00085 00085| 096 @` - ILLEGAL.<010> +00086 00086| @a 097 - New section (level 1). Must be at start of a line.<010> +00087 00087| @b 098 - New section (level 1). Must be at start of a line.<010> +00088 00088| @c 099 - New section (level 1). Must be at start of a line.<010> +00089 00089| @d 100 - New section (level 1). Must be at start of a line.<010> +00090 00090| @e 101 - New section (level 1). Must be at start of a line.<010> +00091 00091| 102 @f - ILLEGAL.<010> +00092 00092| 103 @g - ILLEGAL.<010> +00093 00093| 104 @h - ILLEGAL.<010> +00094 00094| 105 @i - Include file. Will provoke an error here though.<010> +00095 00095| 106 @j - ILLEGAL.<010> +00096 00096| 107 @k - ILLEGAL.<010> +00097 00097| 108 @l - ILLEGAL.<010> +00098 00098| 109 @m - Tags macro as being allowed to be called many times.<010> +00099 00099| 110 @n - ILLEGAL.<010> +00100 00100| @O 111 - New macro attached to output file. Has to be at start of line.<010> +00101 00101| 112 @p - Pragma. Will cause error here though.<010> +00102 00102| 113 @q - ILLEGAL.<010> +00103 00103| 114 @r - ILLEGAL.<010> +00104 00104| 115 @s - ILLEGAL.<010> +00105 00105| 116 @t - Typesetter directive. Will cause an error here though.<010> +00106 00106| 117 @u - ILLEGAL.<010> +00107 00107| 118 @v - ILLEGAL.<010> +00108 00108| 119 @w - ILLEGAL.<010> +00109 00109| 120 @x - ILLEGAL.<010> +00110 00110| 121 @y - ILLEGAL.<010> +00111 00111| 122 @z - Tags macro as being allowed to be called zero times.<010> +00112 00112| 123 @{ - Open macro body.<010> +00113 00113| 124 @| - ILLEGAL.<010> +00114 00114| 125 @} - Close macro body.<010> +00115 00115| 126 @~ - ILLEGAL.<010> +00116 00116| 127 to 255 are not standard printable ASCII characters.<010> +00117 00117| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 137 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="Scanner Test: Special Sequence Recognition<010> +==========================================<010> +This test tests to see that FunnelWeb is recognising the full set of special<010> +sequences.<010> +<010> +Turn Off the Parser<010> +-------------------<010> +First we cause a deliberate scanner error so as to prevent the parser from<010> +generating lots of errors over the syntactic rubbish presented here.<010> +<010> + " +0011[06]: Text. Text scrap[Grey]="<010> +<010> +List of All Possible Special Sequences<010> +--------------------------------------<010> +The following is a list of the default special character followed by each of<010> +the ASCII printables.<010> +000 to 031 are unprintable control characters.<010> +<010> +032 " +0019[08]: Text. Text scrap[Grey]=" - ILLEGAL. (Note: Hyphen is needed to avoid trailing blanks error.)<010> +033 " +0021[01]: Text. Text scrap[Grey]="034 " +0021[06]: @" Quote. +0021[08]: Text. Text scrap[Grey]=" - Parameter delimeter.<010> +035 " +0022[06]: @# Name. Character='X'. +0022[09]: Text. Text scrap[Grey]=" - Short name sequence.<010> +" +0023[01]: @$ Macro defn. +0023[03]: Text. Text scrap[Grey]=" 036 - Define macro. Has to be at start of line.<010> +037 " +0024[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +038 " +0025[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +039 " +0026[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +040 " +0027[06]: @( Open param. +0027[08]: Text. Text scrap[Grey]=" - Open parameter list.<010> +041 " +0028[06]: @} Close param. +0028[08]: Text. Text scrap[Grey]=" - Close parameter list.<010> +042<010> +" +0030[03]: Text. Text scrap[Grey]=" - Old fashioned section marker (has to be at start of a line.).<010> +043 " +0031[06]: Text. Text scrap[White]="<010> +" +0031[08]: Text. Text scrap[Grey]=" - Insert newline.<010> +044 " +0032[06]: @, Comma. +0032[08]: Text. Text scrap[Grey]=" - Parameter separator.<010> +045 " +0034[01]: Text. Text scrap[Grey]=" - Ignore end of line marker (has to be at end of line).<010> +046 " +0035[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +047 " +0036[06]: @/ Emphasise. +0036[08]: Text. Text scrap[Grey]=" - Emphasised text.<010> +048 " +0037[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +049 " +0038[06]: @n Parameter. Parameterno=1. +0038[08]: Text. Text scrap[Grey]=" - Formal parameter 1.<010> +050 " +0039[06]: @n Parameter. Parameterno=2. +0039[08]: Text. Text scrap[Grey]=" - Formal parameter 2.<010> +051 " +0040[06]: @n Parameter. Parameterno=3. +0040[08]: Text. Text scrap[Grey]=" - Formal parameter 3.<010> +052 " +0041[06]: @n Parameter. Parameterno=4. +0041[08]: Text. Text scrap[Grey]=" - Formal parameter 4.<010> +053 " +0042[06]: @n Parameter. Parameterno=5. +0042[08]: Text. Text scrap[Grey]=" - Formal parameter 5.<010> +054 " +0043[06]: @n Parameter. Parameterno=6. +0043[08]: Text. Text scrap[Grey]=" - Formal parameter 6.<010> +055 " +0044[06]: @n Parameter. Parameterno=7. +0044[08]: Text. Text scrap[Grey]=" - Formal parameter 7.<010> +056 " +0045[06]: @n Parameter. Parameterno=8. +0045[08]: Text. Text scrap[Grey]=" - Formal parameter 8.<010> +057 " +0046[06]: @n Parameter. Parameterno=9. +0046[08]: Text. Text scrap[Grey]=" - Formal parameter 9.<010> +058 " +0047[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +059 " +0048[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +060 " +0049[06]: @< Open name. +0049[08]: Text. Text scrap[Grey]=" - Open macro name.<010> +061 " +0050[09]: Text. Text scrap[Grey]=" - Set special character.<010> +062 " +0051[06]: @> Close name. +0051[08]: Text. Text scrap[Grey]=" - Close macro name.<010> +063 " +0052[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +064 " +0053[06]: Text. Text scrap[Grey]="@" +0053[08]: Text. Text scrap[Grey]=" - Insert special character into text.<010> +" +0054[01]: @A New section (Level 1). +0054[03]: Text. Text scrap[Grey]=" 065 - New section (level 1). Must be at start of a line.<010> +" +0055[01]: @B New section (Level 2). +0055[03]: Text. Text scrap[Grey]=" 066 - New section (level 2). Must be at start of a line.<010> +" +0056[01]: @C New section (Level 3). +0056[03]: Text. Text scrap[Grey]=" 067 - New section (level 3). Must be at start of a line.<010> +" +0057[01]: @D New section (Level 4). +0057[03]: Text. Text scrap[Grey]=" 068 - New section (level 4). Must be at start of a line.<010> +" +0058[01]: @E New section (Level 5). +0058[03]: Text. Text scrap[Grey]=" 069 - New section (level 5). Must be at start of a line.<010> +070 " +0059[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +071 " +0060[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +072 " +0061[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +073 " +0063[01]: Text. Text scrap[Grey]="074 " +0063[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +075 " +0064[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +076 " +0065[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +077 " +0066[06]: @M Many calls. +0066[08]: Text. Text scrap[Grey]=" - Tags macro as being allowed to be called many times.<010> +078 " +0067[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +" +0068[01]: @F File defn. +0068[03]: Text. Text scrap[Grey]=" 079 - New macro attached to output file. Has to be at start of line.<010> +080 " +0070[01]: Text. Text scrap[Grey]="081 " +0070[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +082 " +0071[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +083 " +0072[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +084 " +0074[01]: Text. Text scrap[Grey]="085 " +0074[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +086 " +0075[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +087 " +0076[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +088 " +0077[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +089 " +0078[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +090 " +0079[06]: @Z Zero calls. +0079[08]: Text. Text scrap[Grey]=" - Tags macro as being allowed to be called zero times.<010> +091 " +0080[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +092 " +0081[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +093 " +0082[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +094 " +0083[06]: Text. Text scrap[Grey]="A" +0083[14]: Text. Text scrap[Grey]=" - Insert control character into text<010> +095 " +0084[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +096 " +0085[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +" +0086[01]: @A New section (Level 1). +0086[03]: Text. Text scrap[Grey]=" 097 - New section (level 1). Must be at start of a line.<010> +" +0087[01]: @B New section (Level 2). +0087[03]: Text. Text scrap[Grey]=" 098 - New section (level 1). Must be at start of a line.<010> +" +0088[01]: @C New section (Level 3). +0088[03]: Text. Text scrap[Grey]=" 099 - New section (level 1). Must be at start of a line.<010> +" +0089[01]: @D New section (Level 4). +0089[03]: Text. Text scrap[Grey]=" 100 - New section (level 1). Must be at start of a line.<010> +" +0090[01]: @E New section (Level 5). +0090[03]: Text. Text scrap[Grey]=" 101 - New section (level 1). Must be at start of a line.<010> +102 " +0091[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +103 " +0092[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +104 " +0093[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +105 " +0095[01]: Text. Text scrap[Grey]="106 " +0095[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +107 " +0096[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +108 " +0097[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +109 " +0098[06]: @M Many calls. +0098[08]: Text. Text scrap[Grey]=" - Tags macro as being allowed to be called many times.<010> +110 " +0099[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +" +0100[01]: @F File defn. +0100[03]: Text. Text scrap[Grey]=" 111 - New macro attached to output file. Has to be at start of line.<010> +112 " +0102[01]: Text. Text scrap[Grey]="113 " +0102[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +114 " +0103[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +115 " +0104[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +116 " +0106[01]: Text. Text scrap[Grey]="117 " +0106[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +118 " +0107[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +119 " +0108[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +120 " +0109[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +121 " +0110[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +122 " +0111[06]: @Z Zero calls. +0111[08]: Text. Text scrap[Grey]=" - Tags macro as being allowed to be called zero times.<010> +123 " +0112[06]: @{ Open defn. +0112[08]: Text. Text scrap[Grey]=" - Open macro body.<010> +124 " +0113[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +125 " +0114[06]: @} Close defn. +0114[08]: Text. Text scrap[Grey]=" - Close macro body.<010> +126 " +0115[08]: Text. Text scrap[Grey]=" - ILLEGAL.<010> +127 to 255 are not standard printable ASCII characters.<010> +" +0117[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| Scanner Test: Special Sequence Recognition + 2 2| ========================================== + 3 3| This test tests to see that FunnelWeb is recognising the full set of special + 4 4| sequences. + 5 5| + 6 6| Turn Off the Parser + 7 7| ------------------- + 8 8| First we cause a deliberate scanner error so as to prevent the parser from + 9 9| generating lots of errors over the syntactic rubbish presented here. + 10 10| + 11 11| @ + Error|....^<special><space> is not a legal special sequence. + Warning|.....^Line has trailing spaces up to and including this space. + 12 12| + 13 13| List of All Possible Special Sequences + 14 14| -------------------------------------- + 15 15| The following is a list of the default special character followed by each of + 16 16| the ASCII printables. + 17 17| 000 to 031 are unprintable control characters. + 18 18| + 19 19| 032 @ - ILLEGAL. (Note: Hyphen is needed to avoid trailing blanks error.) + Error|......^<special><space> is not a legal special sequence. + 20 20| 033 @! - Comment. + 21 21| 034 @" - Parameter delimeter. + 22 22| 035 @#X - Short name sequence. + 23 23| @$ 036 - Define macro. Has to be at start of line. + 24 24| 037 @% - ILLEGAL. + Error|......^Unknown special sequence. + 25 25| 038 @& - ILLEGAL. + Error|......^Unknown special sequence. + 26 26| 039 @' - ILLEGAL. + Error|......^Unknown special sequence. + 27 27| 040 @( - Open parameter list. + 28 28| 041 @) - Close parameter list. + 29 29| 042 + 30 30| @* - Old fashioned section marker (has to be at start of a line.). + Error|.^Unknown special sequence. + 31 31| 043 @+ - Insert newline. + 32 32| 044 @, - Parameter separator. + 33 33| 045 @- + 34 34| - Ignore end of line marker (has to be at end of line). + 35 35| 046 @. - ILLEGAL. + Error|......^Unknown special sequence. + 36 36| 047 @/ - Emphasised text. + 37 37| 048 @0 - ILLEGAL. + Error|......^Unknown special sequence. + 38 38| 049 @1 - Formal parameter 1. + 39 39| 050 @2 - Formal parameter 2. + 40 40| 051 @3 - Formal parameter 3. + 41 41| 052 @4 - Formal parameter 4. + 42 42| 053 @5 - Formal parameter 5. + 43 43| 054 @6 - Formal parameter 6. + 44 44| 055 @7 - Formal parameter 7. + 45 45| 056 @8 - Formal parameter 8. + 46 46| 057 @9 - Formal parameter 9. + 47 47| 058 @: - ILLEGAL. + Error|......^Unknown special sequence. + 48 48| 059 @; - ILLEGAL. + Error|......^Unknown special sequence. + 49 49| 060 @< - Open macro name. + 50 50| 061 @=@ - Set special character. + 51 51| 062 @> - Close macro name. + 52 52| 063 @? - ILLEGAL. + Error|......^Unknown special sequence. + 53 53| 064 @@ - Insert special character into text. + 54 54| @A 065 - New section (level 1). Must be at start of a line. + 55 55| @B 066 - New section (level 2). Must be at start of a line. + 56 56| @C 067 - New section (level 3). Must be at start of a line. + 57 57| @D 068 - New section (level 4). Must be at start of a line. + 58 58| @E 069 - New section (level 5). Must be at start of a line. + 59 59| 070 @F - ILLEGAL. + Error|......^Unknown special sequence. + 60 60| 071 @G - ILLEGAL. + Error|......^Unknown special sequence. + 61 61| 072 @H - ILLEGAL. + Error|......^Unknown special sequence. + 62 62| 073 @I - Include file. Will provoke an error here though. + Error|......^Include sequence must be at the beginning of a line. + |......^Include ignored. + 63 63| 074 @J - ILLEGAL. + Error|......^Unknown special sequence. + 64 64| 075 @K - ILLEGAL. + Error|......^Unknown special sequence. + 65 65| 076 @L - ILLEGAL. + Error|......^Unknown special sequence. + 66 66| 077 @M - Tags macro as being allowed to be called many times. + 67 67| 078 @N - ILLEGAL. + Error|......^Unknown special sequence. + 68 68| @O 079 - New macro attached to output file. Has to be at start of line. + 69 69| 080 @P - Pragma. Will cause error here though. + Error|......^Pragma sequence @p must be at the start of a line. + |......^The rest of this line will be ignored. + Error|......^Unrecognised pragma. Possible legal pragmas are: + |......^ @p indentation = none | blank + |......^ @p maximum_input_line_length = <num>|infinity + |......^ @p maximum_output_line_length = <num>|infinity + |......^ @p typesetter = none | tex | hypertext | html + |......^ @p no_doc_header + |......^ @p raw_macro_and_section_names + |......^ @p ignore_text_after_special_minus + |......^ @p no_paragraph_markups + |......^ @p declare_source_code_type "<name>" + |......^ @p automatic_line_directive_macro = "<name>" + |......^ @p automatic_line_directive_macro = "<name>" "<srctype>" + |......^ @p #line_offset = <num> + |......^ @p #line_depth = <num> + |......^The blanks between arguments are important. + |......^Pragma ignored. + 70 70| 081 @Q - ILLEGAL. + Error|......^Unknown special sequence. + 71 71| 082 @R - ILLEGAL. + Error|......^Unknown special sequence. + 72 72| 083 @S - ILLEGAL. + Error|......^Unknown special sequence. + 73 73| 084 @T - Typesetter directive. Will cause an error here though. + Error|......^Typesetter directive @t must be at the start of a line. + |......^The rest of this line will be ignored. + Error|......^Unrecognised typesetter directive. Legal ones are: + |......^ @t new_page + |......^ @t table_of_contents + |......^ @t title <font> <align> <string> + |......^ @t vskip <num> mm + |......^The blanks between arguments are important. + |......^Typesetter directive ignored. + 74 74| 085 @U - ILLEGAL. + Error|......^Unknown special sequence. + 75 75| 086 @V - ILLEGAL. + Error|......^Unknown special sequence. + 76 76| 087 @W - ILLEGAL. + Error|......^Unknown special sequence. + 77 77| 088 @X - ILLEGAL. + Error|......^Unknown special sequence. + 78 78| 089 @Y - ILLEGAL. + Error|......^Unknown special sequence. + 79 79| 090 @Z - Tags macro as being allowed to be called zero times. + 80 80| 091 @[ - ILLEGAL. + Error|......^Unknown special sequence. + 81 81| 092 @\ - ILLEGAL. + Error|......^Unknown special sequence. + 82 82| 093 @] - ILLEGAL. + Error|......^Unknown special sequence. + 83 83| 094 @^D(065) - Insert control character into text + 84 84| 095 @_ - ILLEGAL. + Error|......^Unknown special sequence. + 85 85| 096 @` - ILLEGAL. + Error|......^Unknown special sequence. + 86 86| @a 097 - New section (level 1). Must be at start of a line. + 87 87| @b 098 - New section (level 1). Must be at start of a line. + 88 88| @c 099 - New section (level 1). Must be at start of a line. + 89 89| @d 100 - New section (level 1). Must be at start of a line. + 90 90| @e 101 - New section (level 1). Must be at start of a line. + 91 91| 102 @f - ILLEGAL. + Error|......^Unknown special sequence. + 92 92| 103 @g - ILLEGAL. + Error|......^Unknown special sequence. + 93 93| 104 @h - ILLEGAL. + Error|......^Unknown special sequence. + 94 94| 105 @i - Include file. Will provoke an error here though. + Error|......^Include sequence must be at the beginning of a line. + |......^Include ignored. + 95 95| 106 @j - ILLEGAL. + Error|......^Unknown special sequence. + 96 96| 107 @k - ILLEGAL. + Error|......^Unknown special sequence. + 97 97| 108 @l - ILLEGAL. + Error|......^Unknown special sequence. + 98 98| 109 @m - Tags macro as being allowed to be called many times. + 99 99| 110 @n - ILLEGAL. + Error|......^Unknown special sequence. + 100 100| @O 111 - New macro attached to output file. Has to be at start of line. + 101 101| 112 @p - Pragma. Will cause error here though. + Error|......^Pragma sequence @p must be at the start of a line. + |......^The rest of this line will be ignored. + Error|......^Unrecognised pragma. Possible legal pragmas are: + |......^ @p indentation = none | blank + |......^ @p maximum_input_line_length = <num>|infinity + |......^ @p maximum_output_line_length = <num>|infinity + |......^ @p typesetter = none | tex | hypertext | html + |......^ @p no_doc_header + |......^ @p raw_macro_and_section_names + |......^ @p ignore_text_after_special_minus + |......^ @p no_paragraph_markups + |......^ @p declare_source_code_type "<name>" + |......^ @p automatic_line_directive_macro = "<name>" + |......^ @p automatic_line_directive_macro = "<name>" "<srctype>" + |......^ @p #line_offset = <num> + |......^ @p #line_depth = <num> + |......^The blanks between arguments are important. + |......^Pragma ignored. + 102 102| 113 @q - ILLEGAL. + Error|......^Unknown special sequence. + 103 103| 114 @r - ILLEGAL. + Error|......^Unknown special sequence. + 104 104| 115 @s - ILLEGAL. + Error|......^Unknown special sequence. + 105 105| 116 @t - Typesetter directive. Will cause an error here though. + Error|......^Typesetter directive @t must be at the start of a line. + |......^The rest of this line will be ignored. + Error|......^Unrecognised typesetter directive. Legal ones are: + |......^ @t new_page + |......^ @t table_of_contents + |......^ @t title <font> <align> <string> + |......^ @t vskip <num> mm + |......^The blanks between arguments are important. + |......^Typesetter directive ignored. + 106 106| 117 @u - ILLEGAL. + Error|......^Unknown special sequence. + 107 107| 118 @v - ILLEGAL. + Error|......^Unknown special sequence. + 108 108| 119 @w - ILLEGAL. + Error|......^Unknown special sequence. + 109 109| 120 @x - ILLEGAL. + Error|......^Unknown special sequence. + 110 110| 121 @y - ILLEGAL. + Error|......^Unknown special sequence. + 111 111| 122 @z - Tags macro as being allowed to be called zero times. + 112 112| 123 @{ - Open macro body. + 113 113| 124 @| - ILLEGAL. + Error|......^Unknown special sequence. + 114 114| 125 @} - Close macro body. + 115 115| 126 @~ - ILLEGAL. + Error|......^Unknown special sequence. + 116 116| 127 to 255 are not standard printable ASCII characters. + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 58 Errors and 1 Warning. diff --git a/web/funnelAC/results/sc11.lis b/web/funnelAC/results/sc11.lis new file mode 100644 index 0000000000..6082c059c4 --- /dev/null +++ b/web/funnelAC/results/sc11.lis @@ -0,0 +1,307 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 31 3A 20 53 79 6E 74 61 78 20 6F 66 20 | SC11: Syntax of | +| 74 68 65 20 69 6E 63 6C 75 64 65 20 70 72 61 67 | the include prag | +| 6D 61 2E 0A 0A 31 2E 20 54 65 73 74 20 69 6E 63 | ma...1. Test inc | +| 6C 75 64 65 20 70 72 61 67 6D 61 20 6E 6F 74 20 | lude pragma not | +| 61 74 20 73 74 61 72 74 20 6F 66 20 6C 69 6E 65 | at start of line | +| 2E 0A 0A 20 20 20 40 69 0A 0A 32 2E 20 54 65 73 | ... @i..2. Tes | +| 74 20 41 54 69 20 6E 6F 74 20 66 6F 6C 6C 6F 77 | t ATi not follow | +| 65 64 20 62 79 20 61 20 62 6C 61 6E 6B 2E 0A 0A | ed by a blank... | +| 40 69 78 0A 0A 33 2E 20 54 65 73 74 20 69 6E 63 | @ix..3. Test inc | +| 6C 75 64 65 20 66 69 6C 65 6E 61 6D 65 20 69 73 | lude filename is | +| 20 74 6F 6F 20 6C 6F 6E 67 2E 20 54 68 65 20 6D | too long. The m | +| 61 78 69 6D 75 6D 20 6F 6E 20 74 68 65 20 4D 61 | aximum on the Ma | +| 63 69 6E 74 6F 73 68 20 69 73 0A 20 20 20 32 35 | cintosh is. 25 | +| 35 20 62 75 74 20 77 65 20 77 69 6C 6C 20 75 73 | 5 but we will us | +| 65 20 61 20 66 69 6C 65 6E 61 6D 65 20 6F 66 20 | e a filename of | +| 6F 76 65 72 20 31 30 32 34 20 63 68 61 72 61 63 | over 1024 charac | +| 74 65 72 73 20 73 6F 20 61 73 20 74 6F 20 6D 61 | ters so as to ma | +| 6B 65 0A 20 20 20 74 68 65 20 74 65 73 74 20 70 | ke. the test p | +| 6F 72 74 61 62 6C 65 2E 20 54 68 65 20 61 63 74 | ortable. The act | +| 75 61 6C 20 6C 65 6E 67 74 68 20 75 73 65 64 20 | ual length used | +| 69 73 20 31 31 30 30 20 63 68 61 72 61 63 74 65 | is 1100 characte | +| 72 73 20 69 6E 20 74 68 65 0A 20 20 20 66 69 6C | rs in the. fil | +| 65 6E 61 6D 65 2E 0A 0A 20 20 20 20 20 20 20 20 | ename... | +| 20 20 20 20 31 20 20 20 20 20 20 20 20 20 32 20 | 1 2 | +| 20 20 20 20 20 20 20 20 33 20 20 20 20 20 20 20 | 3 | +| 20 20 34 20 20 20 20 20 20 20 20 20 35 20 20 20 | 4 5 | +| 20 20 20 20 20 20 36 20 20 20 20 20 20 20 20 20 | 6 | +| 37 20 20 20 20 20 20 20 20 20 38 20 20 20 20 20 | 7 8 | +| 20 20 20 20 39 20 20 20 20 20 20 20 20 20 30 20 | 9 0 | +| 20 20 20 20 20 20 20 20 31 20 20 20 20 20 20 20 | 1 | +| 20 20 32 20 20 20 20 20 20 20 20 20 33 20 20 20 | 2 3 | +| 20 20 20 20 20 20 34 20 20 20 20 20 20 20 20 20 | 4 | +| 35 20 20 20 20 20 20 20 20 20 36 20 20 20 20 20 | 5 6 | +| 20 20 20 20 37 20 20 20 20 20 20 20 20 20 38 20 | 7 8 | +| 20 20 20 20 20 20 20 20 39 20 20 20 20 20 20 20 | 9 | +| 20 20 30 20 20 20 20 20 20 20 20 20 31 20 20 20 | 0 1 | +| 20 20 20 20 20 20 32 20 20 20 20 20 20 20 20 20 | 2 | +| 33 20 20 20 20 20 20 20 20 20 34 20 20 20 20 20 | 3 4 | +| 20 20 20 20 35 20 20 20 20 20 20 20 20 20 36 20 | 5 6 | +| 20 20 20 20 20 20 20 20 37 20 20 20 20 20 20 20 | 7 | +| 20 20 38 20 20 20 20 20 20 20 20 20 39 20 20 20 | 8 9 | +| 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 20 | 0 | +| 31 20 20 20 20 20 20 20 20 20 32 20 20 20 20 20 | 1 2 | +| 20 20 20 20 33 20 20 20 20 20 20 20 20 20 34 20 | 3 4 | +| 20 20 20 20 20 20 20 20 35 20 20 20 20 20 20 20 | 5 | +| 20 20 36 20 20 20 20 20 20 20 20 20 37 20 20 20 | 6 7 | +| 20 20 20 20 20 20 38 20 20 20 20 20 20 20 20 20 | 8 | +| 39 20 20 20 20 20 20 20 20 20 30 20 20 20 20 20 | 9 0 | +| 20 20 20 20 31 20 20 20 20 20 20 20 20 20 32 20 | 1 2 | +| 20 20 20 20 20 20 20 20 33 20 20 20 20 20 20 20 | 3 | +| 20 20 34 20 20 20 20 20 20 20 20 20 35 20 20 20 | 4 5 | +| 20 20 20 20 20 20 36 20 20 20 20 20 20 20 20 20 | 6 | +| 37 20 20 20 20 20 20 20 20 20 38 20 20 20 20 20 | 7 8 | +| 20 20 20 20 39 20 20 20 20 20 20 20 20 20 30 20 | 9 0 | +| 20 20 20 20 20 20 20 20 31 20 20 20 20 20 20 20 | 1 | +| 20 20 32 20 20 20 20 20 20 20 20 20 33 20 20 20 | 2 3 | +| 20 20 20 20 20 20 34 20 20 20 20 20 20 20 20 20 | 4 | +| 35 20 20 20 20 20 20 20 20 20 36 20 20 20 20 20 | 5 6 | +| 20 20 20 20 37 20 20 20 20 20 20 20 20 20 38 20 | 7 8 | +| 20 20 20 20 20 20 20 20 39 20 20 20 20 20 20 20 | 9 | +| 20 20 30 20 20 20 20 20 20 20 20 20 31 20 20 20 | 0 1 | +| 20 20 20 20 20 20 32 20 20 20 20 20 20 20 20 20 | 2 | +| 33 20 20 20 20 20 20 20 20 20 34 20 20 20 20 20 | 3 4 | +| 20 20 20 20 35 20 20 20 20 20 20 20 20 20 36 20 | 5 6 | +| 20 20 20 20 20 20 20 20 37 20 20 20 20 20 20 20 | 7 | +| 20 20 38 20 20 20 20 20 20 20 20 20 39 20 20 20 | 8 9 | +| 20 20 20 20 20 20 30 20 20 20 20 20 20 20 20 20 | 0 | +| 31 20 20 20 20 20 20 20 20 20 32 20 20 20 20 20 | 1 2 | +| 20 20 20 20 33 20 20 20 20 20 20 20 20 20 34 20 | 3 4 | +| 20 20 20 20 20 20 20 20 35 20 20 20 20 20 20 20 | 5 | +| 20 20 36 20 20 20 20 20 20 20 20 20 37 20 20 20 | 6 7 | +| 20 20 20 20 20 20 38 20 20 20 20 20 20 20 20 20 | 8 | +| 39 20 20 20 20 20 20 20 20 20 30 20 20 20 20 20 | 9 0 | +| 20 20 20 20 31 20 20 20 20 20 20 20 20 20 32 20 | 1 2 | +| 20 20 20 20 20 20 20 20 33 20 20 20 20 20 20 20 | 3 | +| 20 20 34 20 20 20 20 20 20 20 20 20 35 20 20 20 | 4 5 | +| 20 20 20 20 20 20 36 20 20 20 20 20 20 20 20 20 | 6 | +| 37 20 20 20 20 20 20 20 20 20 38 20 20 20 20 20 | 7 8 | +| 20 20 20 20 39 20 20 20 20 20 20 20 20 20 30 20 | 9 0 | +| 20 20 20 20 20 20 20 20 31 20 20 20 20 20 20 20 | 1 | +| 20 20 32 20 20 20 20 20 20 20 20 20 33 20 20 20 | 2 3 | +| 20 20 20 20 20 20 34 20 20 20 20 20 20 20 20 20 | 4 | +| 35 20 20 20 20 20 20 20 20 20 36 20 20 20 20 20 | 5 6 | +| 20 20 20 20 37 20 20 20 20 20 20 20 20 20 38 20 | 7 8 | +| 20 20 20 20 20 20 20 20 39 20 20 20 20 20 20 20 | 9 | +| 20 20 30 20 20 20 20 20 20 20 20 20 31 20 20 20 | 0 1 | +| 20 20 20 20 20 20 32 20 20 20 20 20 20 20 20 20 | 2 | +| 33 20 20 20 20 20 20 20 20 20 34 20 20 20 20 20 | 3 4 | +| 20 20 20 20 35 20 20 20 20 20 20 20 20 20 36 20 | 5 6 | +| 20 20 20 20 20 20 20 20 37 20 20 20 20 20 20 20 | 7 | +| 20 20 38 20 20 20 20 20 20 20 20 20 39 20 20 20 | 8 9 | +| 20 20 20 20 20 20 30 0A 40 69 20 31 32 33 34 35 | 0.@i 12345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 0A 0A 34 2E 20 49 6E 63 6C | 4567890..4. Incl | +| 75 64 65 20 70 72 61 67 6D 61 20 68 61 73 20 61 | ude pragma has a | +| 6E 20 65 6D 70 74 79 20 66 69 6C 65 6E 61 6D 65 | n empty filename | +| 2E 20 4E 6F 74 65 3A 20 42 65 63 61 75 73 65 20 | . Note: Because | +| 74 68 65 20 41 54 69 20 68 61 73 20 74 6F 20 62 | the ATi has to b | +| 65 0A 20 20 20 66 6F 6C 6C 6F 77 65 64 20 62 79 | e. followed by | +| 20 61 20 62 6C 61 6E 6B 2C 20 77 65 20 68 61 76 | a blank, we hav | +| 65 20 74 6F 20 69 6E 63 75 72 20 61 20 74 72 61 | e to incur a tra | +| 69 6C 69 6E 67 20 62 6C 61 6E 6B 20 65 72 72 6F | iling blank erro | +| 72 20 68 65 72 65 20 69 6E 0A 20 20 20 6F 72 64 | r here in. ord | +| 65 72 20 74 6F 20 70 72 6F 76 6F 6B 65 20 74 68 | er to provoke th | +| 65 20 65 72 72 6F 72 20 77 65 20 72 65 61 6C 6C | e error we reall | +| 79 20 77 61 6E 74 20 74 6F 20 73 65 65 2E 0A 0A | y want to see... | +| 40 69 20 0A 0A | @i .. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC11: Syntax of the include pragma.<010> +00002 00002| <010> +00003 00003| 1. Test include pragma not at start of line.<010> +00004 00004| <010> +00005 00005| @i<010> +00006 00006| <010> +00007 00007| 2. Test ATi not followed by a blank.<010> +00008 00008| <010> +00009 00009| @ix<010> +00010 00010| <010> +00011 00011| 3. Test include filename is too long. The maximum on the Macintosh is<010> +00012 00012| 255 but we will use a filename of over 1024 characters so as to make<010> +00013 00013| the test portable. The actual length used is 1100 characters in the<010> +00014 00014| filename.<010> +00015 00015| <010> +00016 00016| 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0<010> +00017 00017| @i 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890<010> +00018 00018| <010> +00019 00019| 4. Include pragma has an empty filename. Note: Because the ATi has to be<010> +00020 00020| followed by a blank, we have to incur a trailing blank error here in<010> +00021 00021| order to provoke the error we really want to see.<010> +00022 00022| <010> +00023 00023| @i <010> +00024 00024| <010> +00025 00025| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 6 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC11: Syntax of the include pragma.<010> +<010> +1. Test include pragma not at start of line.<010> +<010> + " +0006[01]: Text. Text scrap[Grey]="<010> +2. Test ATi not followed by a blank.<010> +<010> +" +0010[01]: Text. Text scrap[Grey]="<010> +3. Test include filename is too long. The maximum on the Macintosh is<010> + 255 but we will use a filename of over 1024 characters so as to make<010> + the test portable. The actual length used is 1100 characters in the<010> + filename.<010> +<010> + 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0<010> +" +0018[01]: Text. Text scrap[Grey]="<010> +4. Include pragma has an empty filename. Note: Because the ATi has to be<010> + followed by a blank, we have to incur a trailing blank error here in<010> + order to provoke the error we really want to see.<010> +<010> +" +0024[01]: Text. Text scrap[White]="<010> +" +0025[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC11: Syntax of the include pragma. + 2 2| + 3 3| 1. Test include pragma not at start of line. + 4 4| + 5 5| @i + Error|....^Include sequence must be at the beginning of a line. + |....^Include ignored. + 6 6| + 7 7| 2. Test ATi not followed by a blank. + 8 8| + 9 9| @ix + Error|...^Include sequence (@i) must be followed by a blank. + |...^Example include: @i macros.fwi + |...^Include ignored. + 10 10| + 11 11| 3. Test include filename is too long. The maximum on the Macintosh is + 12 12| 255 but we will use a filename of over 1024 characters so as to make + 13 13| the test portable. The actual length used is 1100 characters in the + 14 14| filename. + 15 15| + 16 16| 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 + Error|.................................................................................^Input line is too long (this character is the first offender). + |.................................................................................^Currently, the maximum allowable input line length is 80. + |.................................................................................^Note: You can change this using a pragma directive (@p). + 17 17| @i 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 + Error|.^This include command's file specification is too long. + |.^The maximum file name length is <<Suppressed>> characters. + |.^Include ignored. + Error|.................................................................................^Input line is too long (this character is the first offender). + |.................................................................................^Currently, the maximum allowable input line length is 80. + |.................................................................................^Note: You can change this using a pragma directive (@p). + 18 18| + 19 19| 4. Include pragma has an empty filename. Note: Because the ATi has to be + 20 20| followed by a blank, we have to incur a trailing blank error here in + 21 21| order to provoke the error we really want to see. + 22 22| + 23 23| @i + Warning|...^Line has trailing spaces up to and including this space. + Error|....^Expecting the name of a file to include. + 24 24| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 6 Errors and 1 Warning. diff --git a/web/funnelAC/results/sc12.lis b/web/funnelAC/results/sc12.lis new file mode 100644 index 0000000000..1421eacfbc --- /dev/null +++ b/web/funnelAC/results/sc12.lis @@ -0,0 +1,77 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 32 3A 20 49 6E 63 6C 75 64 65 20 66 69 | SC12: Include fi | +| 6C 65 20 63 61 6E 6E 6F 74 20 62 65 20 66 6F 75 | le cannot be fou | +| 6E 64 2E 0A 54 65 73 74 20 70 65 72 73 6F 6E 3A | nd..Test person: | +| 20 44 4F 4E 54 20 63 72 65 61 74 65 20 73 63 31 | DONT create sc1 | +| 32 61 2E 69 6E 63 2E 20 49 74 20 69 73 20 6E 6F | 2a.inc. It is no | +| 74 20 73 75 70 70 6F 73 65 64 20 74 6F 20 65 78 | t supposed to ex | +| 69 73 74 21 0A 54 68 65 20 66 6F 6C 6C 6F 77 69 | ist!.The followi | +| 6E 67 20 69 6E 63 6C 75 64 65 20 73 68 6F 75 6C | ng include shoul | +| 64 20 79 69 65 6C 64 20 61 20 22 66 69 6C 65 20 | d yield a "file | +| 6E 6F 74 20 66 6F 75 6E 64 20 65 72 72 6F 72 2E | not found error. | +| 22 0A 0A 40 69 20 73 63 31 32 61 2E 69 6E 63 0A | "..@i sc12a.inc. | +| 0A | . | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC12: Include file cannot be found.<010> +00002 00002| Test person: DONT create sc12a.inc. It is not supposed to exist!<010> +00003 00003| The following include should yield a "file not found error."<010> +00004 00004| <010> +00005 00005| @i sc12a.inc<010> +00006 00006| <010> +00007 00007| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 3 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC12: Include file cannot be found.<010> +Test person: DONT create sc12a.inc. It is not supposed to exist!<010> +The following include should yield a "file not found error."<010> +<010> +" +0006[01]: Text. Text scrap[White]="<010> +" +0007[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC12: Include file cannot be found. + 2 2| Test person: DONT create sc12a.inc. It is not supposed to exist! + 3 3| The following include should yield a "file not found error." + 4 4| + 5 5| @i sc12a.inc + Error|....^Error opening include file. + |....^The include file's expanded name was "<<Suppressed>>". + 6 6| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There was 1 Error. diff --git a/web/funnelAC/results/sc13.lis b/web/funnelAC/results/sc13.lis new file mode 100644 index 0000000000..39e82c6a79 --- /dev/null +++ b/web/funnelAC/results/sc13.lis @@ -0,0 +1,500 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 33 3A 20 56 61 72 69 6F 75 73 20 6B 69 | SC13: Various ki | +| 6E 64 73 20 6F 66 20 69 6E 63 6C 75 64 65 20 66 | nds of include f | +| 69 6C 65 2E 0A 0A 31 2E 20 49 6E 63 6C 75 64 65 | ile...1. Include | +| 20 66 69 6C 65 20 69 73 20 65 6D 70 74 79 2E 0A | file is empty.. | +| 42 65 66 6F 72 65 20 69 6E 63 6C 75 64 65 0A 40 | Before include.@ | +| 69 20 73 63 31 33 61 0A 41 66 74 65 72 20 69 6E | i sc13a.After in | +| 63 6C 75 64 65 0A 0A 32 2E 20 49 6E 63 6C 75 64 | clude..2. Includ | +| 65 20 66 69 6C 65 20 63 6F 6E 74 61 69 6E 73 20 | e file contains | +| 61 20 73 69 6E 67 6C 65 20 62 6C 61 6E 6B 20 6C | a single blank l | +| 69 6E 65 2E 0A 42 65 66 6F 72 65 20 69 6E 63 6C | ine..Before incl | +| 75 64 65 0A 40 69 20 73 63 31 33 62 0A 41 66 74 | ude.@i sc13b.Aft | +| 65 72 20 69 6E 63 6C 75 64 65 0A 0A 33 2E 20 49 | er include..3. I | +| 6E 63 6C 75 64 65 20 66 69 6C 65 20 63 6F 6E 74 | nclude file cont | +| 61 69 6E 73 20 74 77 6F 20 62 6C 61 6E 6B 20 6C | ains two blank l | +| 69 6E 65 73 2E 0A 42 65 66 6F 72 65 20 69 6E 63 | ines..Before inc | +| 6C 75 64 65 0A 40 69 20 73 63 31 33 63 0A 41 66 | lude.@i sc13c.Af | +| 74 65 72 20 69 6E 63 6C 75 64 65 0A 0A 34 2E 20 | ter include..4. | +| 49 6E 63 6C 75 64 65 20 66 69 6C 65 20 63 6F 6E | Include file con | +| 74 61 69 6E 73 20 61 20 73 69 6E 67 6C 65 20 6C | tains a single l | +| 69 6E 65 20 77 69 74 68 20 74 65 78 74 20 6F 6E | ine with text on | +| 20 69 74 2E 0A 42 65 66 6F 72 65 20 69 6E 63 6C | it..Before incl | +| 75 64 65 0A 40 69 20 73 63 31 33 64 0A 41 66 74 | ude.@i sc13d.Aft | +| 65 72 20 69 6E 63 6C 75 64 65 0A 0A 35 2E 20 49 | er include..5. I | +| 6E 63 6C 75 64 65 20 66 69 6C 65 27 73 20 6C 61 | nclude file's la | +| 73 74 20 6C 69 6E 65 20 69 73 20 6E 6F 74 20 70 | st line is not p | +| 72 6F 70 65 72 6C 79 20 74 65 72 6D 69 6E 61 74 | roperly terminat | +| 65 64 2E 0A 42 65 66 6F 72 65 20 69 6E 63 6C 75 | ed..Before inclu | +| 64 65 0A 40 69 20 73 63 31 33 65 0A 41 66 74 65 | de.@i sc13e.Afte | +| 72 20 69 6E 63 6C 75 64 65 0A 0A 36 2E 20 49 6E | r include..6. In | +| 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 6F 72 | clude file is or | +| 64 69 6E 61 72 79 2E 0A 42 65 66 6F 72 65 20 69 | dinary..Before i | +| 6E 63 6C 75 64 65 0A 40 69 20 73 63 31 33 66 0A | nclude.@i sc13f. | +| 41 66 74 65 72 20 69 6E 63 6C 75 64 65 0A 0A 37 | After include..7 | +| 2E 20 54 65 73 74 20 75 70 70 65 72 20 63 61 73 | . Test upper cas | +| 65 20 49 20 61 6E 64 20 66 69 6C 65 20 65 78 74 | e I and file ext | +| 65 6E 73 69 6F 6E 20 69 6E 68 65 72 69 74 61 6E | ension inheritan | +| 63 65 2E 0A 42 65 66 6F 72 65 20 69 6E 63 6C 75 | ce..Before inclu | +| 64 65 0A 40 49 20 73 63 31 33 66 0A 41 66 74 65 | de.@I sc13f.Afte | +| 72 20 69 6E 63 6C 75 64 65 0A 0A 45 6E 64 20 6F | r include..End o | +| 66 20 74 65 73 74 20 46 69 6C 65 2E 0A | f test File.. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 0A | . | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 0A 0A | .. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 54 68 69 73 20 69 73 20 74 68 65 20 69 6E 63 6C | This is the incl | +| 75 64 65 20 66 69 6C 65 20 66 6F 72 20 74 65 73 | ude file for tes | +| 74 20 53 43 31 33 64 2E 20 4A 75 73 74 20 61 20 | t SC13d. Just a | +| 66 69 6C 65 20 63 6F 6E 74 61 69 6E 69 6E 67 20 | file containing | +| 6F 6E 65 20 6C 69 6E 65 2E 0A | one line.. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 54 68 69 73 20 69 73 20 74 68 65 20 69 6E 63 6C | This is the incl | +| 75 64 65 20 66 69 6C 65 20 66 6F 72 20 74 65 73 | ude file for tes | +| 74 20 53 43 31 33 65 2E 20 54 68 65 20 74 65 73 | t SC13e. The tes | +| 74 20 69 73 20 74 6F 20 73 65 65 20 68 6F 77 20 | t is to see how | +| 46 75 6E 6E 65 6C 57 65 62 0A 63 6F 70 65 73 20 | FunnelWeb.copes | +| 77 69 74 68 20 61 6E 20 69 6E 63 6C 75 64 65 20 | with an include | +| 66 69 6C 65 20 74 68 61 74 20 68 61 73 20 61 6E | file that has an | +| 20 69 6D 70 72 6F 70 65 72 6C 79 20 74 65 72 6D | improperly term | +| 69 6E 61 74 65 64 20 6C 61 73 74 20 6C 69 6E 65 | inated last line | +| 2E 0A 0A | ... | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 54 68 69 73 20 69 73 20 74 68 65 20 69 6E 63 6C | This is the incl | +| 75 64 65 20 66 69 6C 65 20 66 6F 72 20 74 65 73 | ude file for tes | +| 74 73 20 53 43 31 33 2E 36 20 61 6E 64 20 53 43 | ts SC13.6 and SC | +| 31 33 2E 37 2E 0A 54 68 65 72 65 20 61 72 65 20 | 13.7..There are | +| 6F 6E 6C 79 20 74 77 6F 20 6C 69 6E 65 73 2C 20 | only two lines, | +| 61 6E 64 20 74 68 69 73 20 69 73 20 74 68 65 20 | and this is the | +| 73 65 63 6F 6E 64 20 6F 6E 65 2E 0A | second one.. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 54 68 69 73 20 69 73 20 74 68 65 20 69 6E 63 6C | This is the incl | +| 75 64 65 20 66 69 6C 65 20 66 6F 72 20 74 65 73 | ude file for tes | +| 74 73 20 53 43 31 33 2E 36 20 61 6E 64 20 53 43 | ts SC13.6 and SC | +| 31 33 2E 37 2E 0A 54 68 65 72 65 20 61 72 65 20 | 13.7..There are | +| 6F 6E 6C 79 20 74 77 6F 20 6C 69 6E 65 73 2C 20 | only two lines, | +| 61 6E 64 20 74 68 69 73 20 69 73 20 74 68 65 20 | and this is the | +| 73 65 63 6F 6E 64 20 6F 6E 65 2E 0A | second one.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC13: Various kinds of include file.<010> +00002 00002| <010> +00003 00003| 1. Include file is empty.<010> +00004 00004| Before include<010> +00005 00005| @i sc13a<010> +00006 00006| After include<010> +00007 00007| <010> +00008 00008| 2. Include file contains a single blank line.<010> +00009 00009| Before include<010> +00010 00010| @i sc13b<010> +00011 00001| <010> +00012 00011| After include<010> +00013 00012| <010> +00014 00013| 3. Include file contains two blank lines.<010> +00015 00014| Before include<010> +00016 00015| @i sc13c<010> +00017 00001| <010> +00018 00002| <010> +00019 00016| After include<010> +00020 00017| <010> +00021 00018| 4. Include file contains a single line with text on it.<010> +00022 00019| Before include<010> +00023 00020| @i sc13d<010> +00024 00001| This is the include file for test SC13d. Just a file containing one line.<010> +00025 00021| After include<010> +00026 00022| <010> +00027 00023| 5. Include file's last line is not properly terminated.<010> +00028 00024| Before include<010> +00029 00025| @i sc13e<010> +00030 00001| This is the include file for test SC13e. The test is to see how FunnelWeb<010> +00031 00002| copes with an include file that has an improperly terminated last line.<010> +00032 00003| <010> +00033 00026| After include<010> +00034 00027| <010> +00035 00028| 6. Include file is ordinary.<010> +00036 00029| Before include<010> +00037 00030| @i sc13f<010> +00038 00001| This is the include file for tests SC13.6 and SC13.7.<010> +00039 00002| There are only two lines, and this is the second one.<010> +00040 00031| After include<010> +00041 00032| <010> +00042 00033| 7. Test upper case I and file extension inheritance.<010> +00043 00034| Before include<010> +00044 00035| @I sc13f<010> +00045 00001| This is the include file for tests SC13.6 and SC13.7.<010> +00046 00002| There are only two lines, and this is the second one.<010> +00047 00036| After include<010> +00048 00037| <010> +00049 00038| End of test File.<010> +00050 00039| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 15 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC13: Various kinds of include file.<010> +<010> +1. Include file is empty.<010> +Before include<010> +" +0006[01]: Text. Text scrap[Grey]="After include<010> +<010> +2. Include file contains a single blank line.<010> +Before include<010> +" +0011[01]: Text. Text scrap[White]="<010> +" +0012[01]: Text. Text scrap[Grey]="After include<010> +<010> +3. Include file contains two blank lines.<010> +Before include<010> +" +0017[01]: Text. Text scrap[White]="<010> +<010> +" +0019[01]: Text. Text scrap[Grey]="After include<010> +<010> +4. Include file contains a single line with text on it.<010> +Before include<010> +" +0024[01]: Text. Text scrap[Grey]="This is the include file for test SC13d. Just a file containing one line.<010> +" +0025[01]: Text. Text scrap[Grey]="After include<010> +<010> +5. Include file's last line is not properly terminated.<010> +Before include<010> +" +0030[01]: Text. Text scrap[Grey]="This is the include file for test SC13e. The test is to see how FunnelWeb<010> +copes with an include file that has an improperly terminated last line.<010> +<010> +" +0033[01]: Text. Text scrap[Grey]="After include<010> +<010> +6. Include file is ordinary.<010> +Before include<010> +" +0038[01]: Text. Text scrap[Grey]="This is the include file for tests SC13.6 and SC13.7.<010> +There are only two lines, and this is the second one.<010> +" +0040[01]: Text. Text scrap[Grey]="After include<010> +<010> +7. Test upper case I and file extension inheritance.<010> +Before include<010> +" +0045[01]: Text. Text scrap[Grey]="This is the include file for tests SC13.6 and SC13.7.<010> +There are only two lines, and this is the second one.<010> +" +0047[01]: Text. Text scrap[Grey]="After include<010> +<010> +End of test File.<010> +" +0050[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="SC13: Various kinds of include file.<010> +<010> +1. Include file is empty.<010> +Before include<010> +" +Text scrap[Grey]="After include<010> +<010> +2. Include file contains a single blank line.<010> +Before include<010> +" +Text scrap[White]="<010> +" +Text scrap[Grey]="After include<010> +<010> +3. Include file contains two blank lines.<010> +Before include<010> +" +Text scrap[White]="<010> +<010> +" +Text scrap[Grey]="After include<010> +<010> +4. Include file contains a single line with text on it.<010> +Before include<010> +" +Text scrap[Grey]="This is the include file for test SC13d. Just a file containing one line.<010> +" +Text scrap[Grey]="After include<010> +<010> +5. Include file's last line is not properly terminated.<010> +Before include<010> +" +Text scrap[Grey]="This is the include file for test SC13e. The test is to see how FunnelWeb<010> +copes with an include file that has an improperly terminated last line.<010> +<010> +" +Text scrap[Grey]="After include<010> +<010> +6. Include file is ordinary.<010> +Before include<010> +" +Text scrap[Grey]="This is the include file for tests SC13.6 and SC13.7.<010> +There are only two lines, and this is the second one.<010> +" +Text scrap[Grey]="After include<010> +<010> +7. Test upper case I and file extension inheritance.<010> +Before include<010> +" +Text scrap[Grey]="This is the include file for tests SC13.6 and SC13.7.<010> +There are only two lines, and this is the second one.<010> +" +Text scrap[Grey]="After include<010> +<010> +End of test File.<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + +E: No output files specified. + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC13: Various kinds of include file. + 2 2| + 3 3| 1. Include file is empty. + 4 4| Before include + 5 5| @i sc13a + Warning|.^Include file is empty (not a byte in syte)! + 6 6| After include + 7 7| + 8 8| 2. Include file contains a single blank line. + 9 9| Before include + 10 10| @i sc13b + 11 1| + 12 11| After include + 13 12| + 14 13| 3. Include file contains two blank lines. + 15 14| Before include + 16 15| @i sc13c + 17 1| + 18 2| + 19 16| After include + 20 17| + 21 18| 4. Include file contains a single line with text on it. + 22 19| Before include + 23 20| @i sc13d + 24 1| This is the include file for test SC13d. Just a file containing one line. + 25 21| After include + 26 22| + 27 23| 5. Include file's last line is not properly terminated. + 28 24| Before include + 29 25| @i sc13e + 30 1| This is the include file for test SC13e. The test is to see how FunnelWeb + 31 2| copes with an include file that has an improperly terminated last line. + 32 3| + 33 26| After include + 34 27| + 35 28| 6. Include file is ordinary. + 36 29| Before include + 37 30| @i sc13f + 38 1| This is the include file for tests SC13.6 and SC13.7. + 39 2| There are only two lines, and this is the second one. + 40 31| After include + 41 32| + 42 33| 7. Test upper case I and file extension inheritance. + 43 34| Before include + 44 35| @I sc13f + 45 1| This is the include file for tests SC13.6 and SC13.7. + 46 2| There are only two lines, and this is the second one. + 47 36| After include + 48 37| + 49 38| End of test File. + | <End-Of-File> +------------+------------------------------------------------------------------- + +There was 1 Error and 1 Warning. diff --git a/web/funnelAC/results/sc14.lis b/web/funnelAC/results/sc14.lis new file mode 100644 index 0000000000..228c6c5f64 --- /dev/null +++ b/web/funnelAC/results/sc14.lis @@ -0,0 +1,477 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 34 3A 20 54 65 73 74 20 74 68 61 74 20 | SC14: Test that | +| 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 | the maximum numb | +| 65 72 20 6F 66 20 6C 65 76 65 6C 73 20 6F 66 20 | er of levels of | +| 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 | include file is | +| 31 30 2E 0A 54 68 69 73 20 69 73 20 6D 6F 73 74 | 10..This is most | +| 20 65 61 73 69 6C 79 20 64 6F 6E 65 20 77 69 74 | easily done wit | +| 68 20 61 20 72 65 63 75 72 73 69 76 65 20 69 6E | h a recursive in | +| 63 6C 75 73 69 6F 6E 2E 0A 0A 42 65 66 6F 72 65 | clusion...Before | +| 20 74 68 65 20 69 6E 63 6C 75 64 65 0A 40 69 20 | the include.@i | +| 73 63 31 34 2E 66 77 0A 41 66 74 65 72 20 74 68 | sc14.fw.After th | +| 65 20 69 6E 63 6C 75 64 65 0A | e include. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 34 3A 20 54 65 73 74 20 74 68 61 74 20 | SC14: Test that | +| 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 | the maximum numb | +| 65 72 20 6F 66 20 6C 65 76 65 6C 73 20 6F 66 20 | er of levels of | +| 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 | include file is | +| 31 30 2E 0A 54 68 69 73 20 69 73 20 6D 6F 73 74 | 10..This is most | +| 20 65 61 73 69 6C 79 20 64 6F 6E 65 20 77 69 74 | easily done wit | +| 68 20 61 20 72 65 63 75 72 73 69 76 65 20 69 6E | h a recursive in | +| 63 6C 75 73 69 6F 6E 2E 0A 0A 42 65 66 6F 72 65 | clusion...Before | +| 20 74 68 65 20 69 6E 63 6C 75 64 65 0A 40 69 20 | the include.@i | +| 73 63 31 34 2E 66 77 0A 41 66 74 65 72 20 74 68 | sc14.fw.After th | +| 65 20 69 6E 63 6C 75 64 65 0A | e include. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 34 3A 20 54 65 73 74 20 74 68 61 74 20 | SC14: Test that | +| 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 | the maximum numb | +| 65 72 20 6F 66 20 6C 65 76 65 6C 73 20 6F 66 20 | er of levels of | +| 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 | include file is | +| 31 30 2E 0A 54 68 69 73 20 69 73 20 6D 6F 73 74 | 10..This is most | +| 20 65 61 73 69 6C 79 20 64 6F 6E 65 20 77 69 74 | easily done wit | +| 68 20 61 20 72 65 63 75 72 73 69 76 65 20 69 6E | h a recursive in | +| 63 6C 75 73 69 6F 6E 2E 0A 0A 42 65 66 6F 72 65 | clusion...Before | +| 20 74 68 65 20 69 6E 63 6C 75 64 65 0A 40 69 20 | the include.@i | +| 73 63 31 34 2E 66 77 0A 41 66 74 65 72 20 74 68 | sc14.fw.After th | +| 65 20 69 6E 63 6C 75 64 65 0A | e include. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 34 3A 20 54 65 73 74 20 74 68 61 74 20 | SC14: Test that | +| 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 | the maximum numb | +| 65 72 20 6F 66 20 6C 65 76 65 6C 73 20 6F 66 20 | er of levels of | +| 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 | include file is | +| 31 30 2E 0A 54 68 69 73 20 69 73 20 6D 6F 73 74 | 10..This is most | +| 20 65 61 73 69 6C 79 20 64 6F 6E 65 20 77 69 74 | easily done wit | +| 68 20 61 20 72 65 63 75 72 73 69 76 65 20 69 6E | h a recursive in | +| 63 6C 75 73 69 6F 6E 2E 0A 0A 42 65 66 6F 72 65 | clusion...Before | +| 20 74 68 65 20 69 6E 63 6C 75 64 65 0A 40 69 20 | the include.@i | +| 73 63 31 34 2E 66 77 0A 41 66 74 65 72 20 74 68 | sc14.fw.After th | +| 65 20 69 6E 63 6C 75 64 65 0A | e include. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 34 3A 20 54 65 73 74 20 74 68 61 74 20 | SC14: Test that | +| 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 | the maximum numb | +| 65 72 20 6F 66 20 6C 65 76 65 6C 73 20 6F 66 20 | er of levels of | +| 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 | include file is | +| 31 30 2E 0A 54 68 69 73 20 69 73 20 6D 6F 73 74 | 10..This is most | +| 20 65 61 73 69 6C 79 20 64 6F 6E 65 20 77 69 74 | easily done wit | +| 68 20 61 20 72 65 63 75 72 73 69 76 65 20 69 6E | h a recursive in | +| 63 6C 75 73 69 6F 6E 2E 0A 0A 42 65 66 6F 72 65 | clusion...Before | +| 20 74 68 65 20 69 6E 63 6C 75 64 65 0A 40 69 20 | the include.@i | +| 73 63 31 34 2E 66 77 0A 41 66 74 65 72 20 74 68 | sc14.fw.After th | +| 65 20 69 6E 63 6C 75 64 65 0A | e include. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 34 3A 20 54 65 73 74 20 74 68 61 74 20 | SC14: Test that | +| 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 | the maximum numb | +| 65 72 20 6F 66 20 6C 65 76 65 6C 73 20 6F 66 20 | er of levels of | +| 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 | include file is | +| 31 30 2E 0A 54 68 69 73 20 69 73 20 6D 6F 73 74 | 10..This is most | +| 20 65 61 73 69 6C 79 20 64 6F 6E 65 20 77 69 74 | easily done wit | +| 68 20 61 20 72 65 63 75 72 73 69 76 65 20 69 6E | h a recursive in | +| 63 6C 75 73 69 6F 6E 2E 0A 0A 42 65 66 6F 72 65 | clusion...Before | +| 20 74 68 65 20 69 6E 63 6C 75 64 65 0A 40 69 20 | the include.@i | +| 73 63 31 34 2E 66 77 0A 41 66 74 65 72 20 74 68 | sc14.fw.After th | +| 65 20 69 6E 63 6C 75 64 65 0A | e include. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 34 3A 20 54 65 73 74 20 74 68 61 74 20 | SC14: Test that | +| 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 | the maximum numb | +| 65 72 20 6F 66 20 6C 65 76 65 6C 73 20 6F 66 20 | er of levels of | +| 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 | include file is | +| 31 30 2E 0A 54 68 69 73 20 69 73 20 6D 6F 73 74 | 10..This is most | +| 20 65 61 73 69 6C 79 20 64 6F 6E 65 20 77 69 74 | easily done wit | +| 68 20 61 20 72 65 63 75 72 73 69 76 65 20 69 6E | h a recursive in | +| 63 6C 75 73 69 6F 6E 2E 0A 0A 42 65 66 6F 72 65 | clusion...Before | +| 20 74 68 65 20 69 6E 63 6C 75 64 65 0A 40 69 20 | the include.@i | +| 73 63 31 34 2E 66 77 0A 41 66 74 65 72 20 74 68 | sc14.fw.After th | +| 65 20 69 6E 63 6C 75 64 65 0A | e include. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 34 3A 20 54 65 73 74 20 74 68 61 74 20 | SC14: Test that | +| 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 | the maximum numb | +| 65 72 20 6F 66 20 6C 65 76 65 6C 73 20 6F 66 20 | er of levels of | +| 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 | include file is | +| 31 30 2E 0A 54 68 69 73 20 69 73 20 6D 6F 73 74 | 10..This is most | +| 20 65 61 73 69 6C 79 20 64 6F 6E 65 20 77 69 74 | easily done wit | +| 68 20 61 20 72 65 63 75 72 73 69 76 65 20 69 6E | h a recursive in | +| 63 6C 75 73 69 6F 6E 2E 0A 0A 42 65 66 6F 72 65 | clusion...Before | +| 20 74 68 65 20 69 6E 63 6C 75 64 65 0A 40 69 20 | the include.@i | +| 73 63 31 34 2E 66 77 0A 41 66 74 65 72 20 74 68 | sc14.fw.After th | +| 65 20 69 6E 63 6C 75 64 65 0A | e include. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 34 3A 20 54 65 73 74 20 74 68 61 74 20 | SC14: Test that | +| 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 | the maximum numb | +| 65 72 20 6F 66 20 6C 65 76 65 6C 73 20 6F 66 20 | er of levels of | +| 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 | include file is | +| 31 30 2E 0A 54 68 69 73 20 69 73 20 6D 6F 73 74 | 10..This is most | +| 20 65 61 73 69 6C 79 20 64 6F 6E 65 20 77 69 74 | easily done wit | +| 68 20 61 20 72 65 63 75 72 73 69 76 65 20 69 6E | h a recursive in | +| 63 6C 75 73 69 6F 6E 2E 0A 0A 42 65 66 6F 72 65 | clusion...Before | +| 20 74 68 65 20 69 6E 63 6C 75 64 65 0A 40 69 20 | the include.@i | +| 73 63 31 34 2E 66 77 0A 41 66 74 65 72 20 74 68 | sc14.fw.After th | +| 65 20 69 6E 63 6C 75 64 65 0A | e include. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 34 3A 20 54 65 73 74 20 74 68 61 74 20 | SC14: Test that | +| 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 | the maximum numb | +| 65 72 20 6F 66 20 6C 65 76 65 6C 73 20 6F 66 20 | er of levels of | +| 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 | include file is | +| 31 30 2E 0A 54 68 69 73 20 69 73 20 6D 6F 73 74 | 10..This is most | +| 20 65 61 73 69 6C 79 20 64 6F 6E 65 20 77 69 74 | easily done wit | +| 68 20 61 20 72 65 63 75 72 73 69 76 65 20 69 6E | h a recursive in | +| 63 6C 75 73 69 6F 6E 2E 0A 0A 42 65 66 6F 72 65 | clusion...Before | +| 20 74 68 65 20 69 6E 63 6C 75 64 65 0A 40 69 20 | the include.@i | +| 73 63 31 34 2E 66 77 0A 41 66 74 65 72 20 74 68 | sc14.fw.After th | +| 65 20 69 6E 63 6C 75 64 65 0A | e include. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 34 3A 20 54 65 73 74 20 74 68 61 74 20 | SC14: Test that | +| 74 68 65 20 6D 61 78 69 6D 75 6D 20 6E 75 6D 62 | the maximum numb | +| 65 72 20 6F 66 20 6C 65 76 65 6C 73 20 6F 66 20 | er of levels of | +| 69 6E 63 6C 75 64 65 20 66 69 6C 65 20 69 73 20 | include file is | +| 31 30 2E 0A 54 68 69 73 20 69 73 20 6D 6F 73 74 | 10..This is most | +| 20 65 61 73 69 6C 79 20 64 6F 6E 65 20 77 69 74 | easily done wit | +| 68 20 61 20 72 65 63 75 72 73 69 76 65 20 69 6E | h a recursive in | +| 63 6C 75 73 69 6F 6E 2E 0A 0A 42 65 66 6F 72 65 | clusion...Before | +| 20 74 68 65 20 69 6E 63 6C 75 64 65 0A 40 69 20 | the include.@i | +| 73 63 31 34 2E 66 77 0A 41 66 74 65 72 20 74 68 | sc14.fw.After th | +| 65 20 69 6E 63 6C 75 64 65 0A | e include. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC14: Test that the maximum number of levels of include file is 10.<010> +00002 00002| This is most easily done with a recursive inclusion.<010> +00003 00003| <010> +00004 00004| Before the include<010> +00005 00005| @i sc14.fw<010> +00006 00001| SC14: Test that the maximum number of levels of include file is 10.<010> +00007 00002| This is most easily done with a recursive inclusion.<010> +00008 00003| <010> +00009 00004| Before the include<010> +00010 00005| @i sc14.fw<010> +00011 00001| SC14: Test that the maximum number of levels of include file is 10.<010> +00012 00002| This is most easily done with a recursive inclusion.<010> +00013 00003| <010> +00014 00004| Before the include<010> +00015 00005| @i sc14.fw<010> +00016 00001| SC14: Test that the maximum number of levels of include file is 10.<010> +00017 00002| This is most easily done with a recursive inclusion.<010> +00018 00003| <010> +00019 00004| Before the include<010> +00020 00005| @i sc14.fw<010> +00021 00001| SC14: Test that the maximum number of levels of include file is 10.<010> +00022 00002| This is most easily done with a recursive inclusion.<010> +00023 00003| <010> +00024 00004| Before the include<010> +00025 00005| @i sc14.fw<010> +00026 00001| SC14: Test that the maximum number of levels of include file is 10.<010> +00027 00002| This is most easily done with a recursive inclusion.<010> +00028 00003| <010> +00029 00004| Before the include<010> +00030 00005| @i sc14.fw<010> +00031 00001| SC14: Test that the maximum number of levels of include file is 10.<010> +00032 00002| This is most easily done with a recursive inclusion.<010> +00033 00003| <010> +00034 00004| Before the include<010> +00035 00005| @i sc14.fw<010> +00036 00001| SC14: Test that the maximum number of levels of include file is 10.<010> +00037 00002| This is most easily done with a recursive inclusion.<010> +00038 00003| <010> +00039 00004| Before the include<010> +00040 00005| @i sc14.fw<010> +00041 00001| SC14: Test that the maximum number of levels of include file is 10.<010> +00042 00002| This is most easily done with a recursive inclusion.<010> +00043 00003| <010> +00044 00004| Before the include<010> +00045 00005| @i sc14.fw<010> +00046 00001| SC14: Test that the maximum number of levels of include file is 10.<010> +00047 00002| This is most easily done with a recursive inclusion.<010> +00048 00003| <010> +00049 00004| Before the include<010> +00050 00005| @i sc14.fw<010> +00051 00001| SC14: Test that the maximum number of levels of include file is 10.<010> +00052 00002| This is most easily done with a recursive inclusion.<010> +00053 00003| <010> +00054 00004| Before the include<010> +00055 00005| @i sc14.fw<010> +00056 00006| After the include<010> +00057 00006| After the include<010> +00058 00006| After the include<010> +00059 00006| After the include<010> +00060 00006| After the include<010> +00061 00006| After the include<010> +00062 00006| After the include<010> +00063 00006| After the include<010> +00064 00006| After the include<010> +00065 00006| After the include<010> +00066 00006| After the include<010> +00067 00007| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 23 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC14: Test that the maximum number of levels of include file is 10.<010> +This is most easily done with a recursive inclusion.<010> +<010> +Before the include<010> +" +0006[01]: Text. Text scrap[Grey]="SC14: Test that the maximum number of levels of include file is 10.<010> +This is most easily done with a recursive inclusion.<010> +<010> +Before the include<010> +" +0011[01]: Text. Text scrap[Grey]="SC14: Test that the maximum number of levels of include file is 10.<010> +This is most easily done with a recursive inclusion.<010> +<010> +Before the include<010> +" +0016[01]: Text. Text scrap[Grey]="SC14: Test that the maximum number of levels of include file is 10.<010> +This is most easily done with a recursive inclusion.<010> +<010> +Before the include<010> +" +0021[01]: Text. Text scrap[Grey]="SC14: Test that the maximum number of levels of include file is 10.<010> +This is most easily done with a recursive inclusion.<010> +<010> +Before the include<010> +" +0026[01]: Text. Text scrap[Grey]="SC14: Test that the maximum number of levels of include file is 10.<010> +This is most easily done with a recursive inclusion.<010> +<010> +Before the include<010> +" +0031[01]: Text. Text scrap[Grey]="SC14: Test that the maximum number of levels of include file is 10.<010> +This is most easily done with a recursive inclusion.<010> +<010> +Before the include<010> +" +0036[01]: Text. Text scrap[Grey]="SC14: Test that the maximum number of levels of include file is 10.<010> +This is most easily done with a recursive inclusion.<010> +<010> +Before the include<010> +" +0041[01]: Text. Text scrap[Grey]="SC14: Test that the maximum number of levels of include file is 10.<010> +This is most easily done with a recursive inclusion.<010> +<010> +Before the include<010> +" +0046[01]: Text. Text scrap[Grey]="SC14: Test that the maximum number of levels of include file is 10.<010> +This is most easily done with a recursive inclusion.<010> +<010> +Before the include<010> +" +0051[01]: Text. Text scrap[Grey]="SC14: Test that the maximum number of levels of include file is 10.<010> +This is most easily done with a recursive inclusion.<010> +<010> +Before the include<010> +" +0056[01]: Text. Text scrap[Grey]="After the include<010> +" +0057[01]: Text. Text scrap[Grey]="After the include<010> +" +0058[01]: Text. Text scrap[Grey]="After the include<010> +" +0059[01]: Text. Text scrap[Grey]="After the include<010> +" +0060[01]: Text. Text scrap[Grey]="After the include<010> +" +0061[01]: Text. Text scrap[Grey]="After the include<010> +" +0062[01]: Text. Text scrap[Grey]="After the include<010> +" +0063[01]: Text. Text scrap[Grey]="After the include<010> +" +0064[01]: Text. Text scrap[Grey]="After the include<010> +" +0065[01]: Text. Text scrap[Grey]="After the include<010> +" +0066[01]: Text. Text scrap[Grey]="After the include<010> +" +0067[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC14: Test that the maximum number of levels of include file is 10. + 2 2| This is most easily done with a recursive inclusion. + 3 3| + 4 4| Before the include + 5 5| @i sc14.fw + 6 1| SC14: Test that the maximum number of levels of include file is 10. + 7 2| This is most easily done with a recursive inclusion. + 8 3| + 9 4| Before the include + 10 5| @i sc14.fw + 11 1| SC14: Test that the maximum number of levels of include file is 10. + 12 2| This is most easily done with a recursive inclusion. + 13 3| + 14 4| Before the include + 15 5| @i sc14.fw + 16 1| SC14: Test that the maximum number of levels of include file is 10. + 17 2| This is most easily done with a recursive inclusion. + 18 3| + 19 4| Before the include + 20 5| @i sc14.fw + 21 1| SC14: Test that the maximum number of levels of include file is 10. + 22 2| This is most easily done with a recursive inclusion. + 23 3| + 24 4| Before the include + 25 5| @i sc14.fw + 26 1| SC14: Test that the maximum number of levels of include file is 10. + 27 2| This is most easily done with a recursive inclusion. + 28 3| + 29 4| Before the include + 30 5| @i sc14.fw + 31 1| SC14: Test that the maximum number of levels of include file is 10. + 32 2| This is most easily done with a recursive inclusion. + 33 3| + 34 4| Before the include + 35 5| @i sc14.fw + 36 1| SC14: Test that the maximum number of levels of include file is 10. + 37 2| This is most easily done with a recursive inclusion. + 38 3| + 39 4| Before the include + 40 5| @i sc14.fw + 41 1| SC14: Test that the maximum number of levels of include file is 10. + 42 2| This is most easily done with a recursive inclusion. + 43 3| + 44 4| Before the include + 45 5| @i sc14.fw + 46 1| SC14: Test that the maximum number of levels of include file is 10. + 47 2| This is most easily done with a recursive inclusion. + 48 3| + 49 4| Before the include + 50 5| @i sc14.fw + 51 1| SC14: Test that the maximum number of levels of include file is 10. + 52 2| This is most easily done with a recursive inclusion. + 53 3| + 54 4| Before the include + 55 5| @i sc14.fw + Error|.^This include file is nested too deeply. It's probably recursive. + |.^The maximum level of nested includes is 10. + |.^Include ignored. + 56 6| After the include + 57 6| After the include + 58 6| After the include + 59 6| After the include + 60 6| After the include + 61 6| After the include + 62 6| After the include + 63 6| After the include + 64 6| After the include + 65 6| After the include + 66 6| After the include + | <End-Of-File> +------------+------------------------------------------------------------------- + +There was 1 Error. diff --git a/web/funnelAC/results/sc15.lis b/web/funnelAC/results/sc15.lis new file mode 100644 index 0000000000..317e9453cc --- /dev/null +++ b/web/funnelAC/results/sc15.lis @@ -0,0 +1,355 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 35 3A 20 54 65 73 74 20 74 68 61 74 20 | SC15: Test that | +| 63 65 72 74 61 69 6E 20 61 74 74 72 69 62 75 74 | certain attribut | +| 65 73 20 61 72 65 20 73 61 76 65 64 20 61 63 72 | es are saved acr | +| 6F 73 73 20 69 6E 63 6C 75 73 69 6F 6E 73 2E 0A | oss inclusions.. | +| 0A 31 2E 20 4D 61 78 69 6D 75 6D 20 69 6E 70 75 | .1. Maximum inpu | +| 74 20 6C 69 6E 65 20 6C 65 6E 67 74 68 2E 0A 32 | t line length..2 | +| 2E 20 53 70 65 63 69 61 6C 20 63 68 61 72 61 63 | . Special charac | +| 74 65 72 2E 0A 33 2E 20 4C 6F 63 61 6C 20 6C 69 | ter..3. Local li | +| 6E 65 20 6E 75 6D 62 65 72 2E 0A 0A 54 6F 20 74 | ne number...To t | +| 65 73 74 20 74 68 69 73 2C 20 77 65 20 66 69 72 | est this, we fir | +| 73 74 20 73 65 74 20 74 68 65 20 66 69 72 73 74 | st set the first | +| 20 74 77 6F 20 61 74 74 72 69 62 75 74 65 73 20 | two attributes | +| 61 77 61 79 20 66 72 6F 6D 20 74 68 65 0A 64 65 | away from the.de | +| 66 61 75 6C 74 2E 20 54 68 69 73 20 77 69 6C 6C | fault. This will | +| 20 65 6E 61 62 6C 65 20 75 73 20 74 6F 20 62 65 | enable us to be | +| 20 73 75 72 65 20 74 68 61 74 20 77 68 65 6E 20 | sure that when | +| 74 68 65 79 20 61 72 65 20 72 65 73 74 6F 72 65 | they are restore | +| 64 20 74 68 61 74 0A 74 68 65 79 20 61 72 65 20 | d that.they are | +| 62 65 69 6E 67 20 72 65 73 74 6F 72 65 64 20 74 | being restored t | +| 6F 20 74 68 65 69 72 20 66 6F 72 6D 65 72 20 76 | o their former v | +| 61 6C 75 65 73 20 61 6E 64 20 6E 6F 74 20 6A 75 | alues and not ju | +| 73 74 20 73 65 74 20 74 6F 20 74 68 65 0A 64 65 | st set to the.de | +| 66 61 75 6C 74 2E 0A 0A 40 3D 2A 20 20 20 2A 21 | fault...@=* *! | +| 20 43 68 61 6E 67 65 20 74 68 65 20 73 70 65 63 | Change the spec | +| 69 61 6C 20 63 68 61 72 61 63 74 65 72 2E 0A 2A | ial character..* | +| 70 20 6D 61 78 69 6D 75 6D 5F 69 6E 70 75 74 5F | p maximum_input_ | +| 6C 69 6E 65 5F 6C 65 6E 67 74 68 20 3D 20 37 35 | line_length = 75 | +| 0A 0A 42 65 66 6F 72 65 20 69 6E 63 6C 75 64 65 | ..Before include | +| 2E 0A 2A 69 20 73 63 31 35 61 0A 41 66 74 65 72 | ..*i sc15a.After | +| 20 69 6E 63 6C 75 64 65 2E 0A 0A 49 66 20 74 68 | include...If th | +| 65 20 6D 61 78 69 6D 75 6D 20 69 6E 70 75 74 20 | e maximum input | +| 6C 69 6E 65 20 6C 65 6E 67 74 68 20 68 61 73 20 | line length has | +| 62 65 65 6E 20 63 6F 72 72 65 63 74 6C 79 20 72 | been correctly r | +| 65 73 74 6F 72 65 64 20 74 68 65 6E 20 74 68 65 | estored then the | +| 0A 73 65 63 6F 6E 64 20 6F 66 20 74 68 65 20 66 | .second of the f | +| 6F 6C 6C 6F 77 69 6E 67 20 74 77 6F 20 6C 69 6E | ollowing two lin | +| 65 73 20 73 68 6F 75 6C 64 20 67 69 76 65 20 61 | es should give a | +| 6E 20 65 72 72 6F 72 2C 20 62 75 74 20 6E 6F 74 | n error, but not | +| 20 74 68 65 20 66 69 72 73 74 2E 0A 31 32 33 34 | the first..1234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 0A 31 32 33 34 35 36 37 38 | 9012345.12345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 0A 0A 49 66 20 74 68 65 20 73 70 65 | 3456..If the spe | +| 63 69 61 6C 20 63 68 61 72 61 63 74 65 72 20 68 | cial character h | +| 61 73 20 62 65 65 6E 20 70 72 65 73 65 72 76 65 | as been preserve | +| 64 2C 20 74 68 65 6E 20 74 68 65 20 66 6F 6C 6C | d, then the foll | +| 6F 77 69 6E 67 20 73 68 6F 75 6C 64 0A 67 65 6E | owing should.gen | +| 65 72 61 74 65 20 61 6E 20 65 72 72 6F 72 2E 0A | erate an error.. | +| 0A 2A 20 20 20 2D 20 54 68 69 73 20 73 68 6F 75 | .* - This shou | +| 6C 64 20 67 65 6E 65 72 61 74 65 20 61 6E 20 65 | ld generate an e | +| 72 72 6F 72 20 69 66 20 61 6C 6C 20 69 73 20 77 | rror if all is w | +| 65 6C 6C 2E 0A 0A 50 72 65 73 65 72 76 61 74 69 | ell...Preservati | +| 6F 6E 20 6F 66 20 74 68 65 20 6C 6F 63 61 6C 20 | on of the local | +| 6C 69 6E 65 20 6E 75 6D 62 65 72 20 63 61 6E 20 | line number can | +| 62 65 20 63 68 65 63 6B 65 64 20 62 79 20 6C 6F | be checked by lo | +| 6F 6B 69 6E 67 20 61 74 20 74 68 65 0A 6C 69 73 | oking at the.lis | +| 74 69 6E 67 20 66 69 6C 65 2E 0A | ting file.. | ++-------------------------------------------------+------------------+ + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 54 68 69 73 20 69 73 20 74 68 65 20 69 6E 63 6C | This is the incl | +| 75 64 65 20 66 69 6C 65 20 66 6F 72 20 74 65 73 | ude file for tes | +| 74 20 53 43 31 35 2E 20 54 68 65 20 53 43 31 35 | t SC15. The SC15 | +| 20 74 65 73 74 20 63 68 65 63 6B 73 20 74 6F 20 | test checks to | +| 6D 61 6B 65 0A 73 75 72 65 20 74 68 61 74 20 46 | make.sure that F | +| 75 6E 6E 65 6C 57 65 62 20 69 73 20 73 61 76 69 | unnelWeb is savi | +| 6E 67 20 61 6E 64 20 72 65 73 74 6F 72 69 6E 67 | ng and restoring | +| 20 74 68 72 65 65 20 73 63 61 6E 6E 69 6E 67 0A | three scanning. | +| 61 74 74 72 69 62 75 74 65 73 20 61 63 72 6F 73 | attributes acros | +| 73 20 69 6E 63 6C 75 64 65 20 66 69 6C 65 73 2E | s include files. | +| 20 57 65 20 61 6C 73 6F 20 77 61 6E 74 20 74 6F | We also want to | +| 20 6D 61 6B 65 20 73 75 72 65 0A 74 68 61 74 20 | make sure.that | +| 74 68 65 20 73 63 61 6E 6E 65 72 20 69 73 20 69 | the scanner is i | +| 6E 69 74 69 61 6C 69 7A 69 6E 67 20 74 68 65 73 | nitializing thes | +| 65 20 61 74 74 72 69 62 75 74 65 73 20 63 6F 72 | e attributes cor | +| 72 65 63 74 6C 79 20 77 69 74 68 69 6E 0A 74 68 | rectly within.th | +| 65 20 69 6E 63 6C 75 64 65 20 66 69 6C 65 2E 0A | e include file.. | +| 0A 53 43 31 35 2E 34 3A 20 4D 61 6B 65 20 73 75 | .SC15.4: Make su | +| 72 65 20 74 68 61 74 20 74 68 65 20 73 70 65 63 | re that the spec | +| 69 61 6C 20 63 68 61 72 61 63 74 65 72 20 69 73 | ial character is | +| 20 41 54 20 61 74 20 74 68 65 20 73 74 61 72 74 | AT at the start | +| 20 6F 66 0A 69 6E 63 6C 75 64 65 20 66 69 6C 65 | of.include file | +| 73 2E 0A 0A 40 20 20 20 20 2D 20 54 68 69 73 20 | s...@ - This | +| 73 68 6F 75 6C 64 20 79 69 65 6C 64 20 61 6E 20 | should yield an | +| 65 72 72 6F 72 2E 0A 0A 53 43 31 35 2E 35 20 45 | error...SC15.5 E | +| 6E 73 75 72 65 20 74 68 61 74 20 74 68 65 20 6D | nsure that the m | +| 61 78 69 6D 75 6D 20 69 6E 70 75 74 20 6C 69 6E | aximum input lin | +| 65 20 6C 65 6E 67 74 68 20 69 73 20 38 30 20 61 | e length is 80 a | +| 74 20 74 68 65 20 73 74 61 72 74 0A 6F 66 20 61 | t the start.of a | +| 6E 20 69 6E 63 6C 75 64 65 20 66 69 6C 65 2E 20 | n include file. | +| 49 66 20 61 6C 6C 20 69 73 20 77 65 6C 6C 2C 20 | If all is well, | +| 6F 6E 6C 79 20 74 68 65 20 73 65 63 6F 6E 64 20 | only the second | +| 6F 66 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 | of the following | +| 20 74 77 6F 0A 6C 69 6E 65 73 20 77 69 6C 6C 20 | two.lines will | +| 70 72 6F 76 6F 6B 65 20 61 20 22 6C 69 6E 65 20 | provoke a "line | +| 74 6F 6F 20 6C 6F 6E 67 22 20 65 72 72 6F 72 2E | too long" error. | +| 0A 0A 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | ..12345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 0A 31 32 33 34 35 36 37 38 39 30 31 32 33 | 90.1234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 0A 0A 4E 6F 77 20 74 68 61 74 20 77 | 8901..Now that w | +| 65 20 68 61 76 65 20 63 68 65 63 6B 65 64 20 74 | e have checked t | +| 68 65 20 64 65 66 61 75 6C 74 20 61 74 74 72 69 | he default attri | +| 62 75 74 65 73 20 6F 6E 20 65 6E 74 65 72 69 6E | butes on enterin | +| 67 20 61 6E 20 69 6E 63 6C 75 64 65 20 66 69 6C | g an include fil | +| 65 2C 0A 77 65 20 77 61 6E 74 20 74 6F 20 73 74 | e,.we want to st | +| 75 66 66 20 74 68 65 6D 20 75 70 20 73 6F 20 61 | uff them up so a | +| 73 20 74 6F 20 6D 61 6B 65 20 73 75 72 65 20 74 | s to make sure t | +| 68 61 74 20 74 68 65 20 61 74 74 72 69 62 75 74 | hat the attribut | +| 65 73 0A 70 72 65 76 61 69 6C 69 6E 67 20 77 68 | es.prevailing wh | +| 65 6E 20 74 68 65 20 69 6E 63 6C 75 64 65 20 77 | en the include w | +| 61 73 20 68 69 74 20 61 72 65 20 72 65 73 74 6F | as hit are resto | +| 72 65 64 2E 0A 0A 40 70 20 6D 61 78 69 6D 75 6D | red...@p maximum | +| 5F 69 6E 70 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 | _input_line_leng | +| 74 68 20 3D 20 36 35 0A 40 3D 2B 0A 0A | th = 65.@=+.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC15: Test that certain attributes are saved across inclusions.<010> +00002 00002| <010> +00003 00003| 1. Maximum input line length.<010> +00004 00004| 2. Special character.<010> +00005 00005| 3. Local line number.<010> +00006 00006| <010> +00007 00007| To test this, we first set the first two attributes away from the<010> +00008 00008| default. This will enable us to be sure that when they are restored that<010> +00009 00009| they are being restored to their former values and not just set to the<010> +00010 00010| default.<010> +00011 00011| <010> +00012 00012| @=* *! Change the special character.<010> +00013 00013| *p maximum_input_line_length = 75<010> +00014 00014| <010> +00015 00015| Before include.<010> +00016 00016| *i sc15a<010> +00017 00001| This is the include file for test SC15. The SC15 test checks to make<010> +00018 00002| sure that FunnelWeb is saving and restoring three scanning<010> +00019 00003| attributes across include files. We also want to make sure<010> +00020 00004| that the scanner is initializing these attributes correctly within<010> +00021 00005| the include file.<010> +00022 00006| <010> +00023 00007| SC15.4: Make sure that the special character is AT at the start of<010> +00024 00008| include files.<010> +00025 00009| <010> +00026 00010| @ - This should yield an error.<010> +00027 00011| <010> +00028 00012| SC15.5 Ensure that the maximum input line length is 80 at the start<010> +00029 00013| of an include file. If all is well, only the second of the following two<010> +00030 00014| lines will provoke a "line too long" error.<010> +00031 00015| <010> +00032 00016| 12345678901234567890123456789012345678901234567890123456789012345678901234567890<010> +00033 00017| 123456789012345678901234567890123456789012345678901234567890123456789012345678901<010> +00034 00018| <010> +00035 00019| Now that we have checked the default attributes on entering an include file,<010> +00036 00020| we want to stuff them up so as to make sure that the attributes<010> +00037 00021| prevailing when the include was hit are restored.<010> +00038 00022| <010> +00039 00023| @p maximum_input_line_length = 65<010> +00040 00024| @=+<010> +00041 00025| <010> +00042 00017| After include.<010> +00043 00018| <010> +00044 00019| If the maximum input line length has been correctly restored then the<010> +00045 00020| second of the following two lines should give an error, but not the first.<010> +00046 00021| 123456789012345678901234567890123456789012345678901234567890123456789012345<010> +00047 00022| 1234567890123456789012345678901234567890123456789012345678901234567890123456<010> +00048 00023| <010> +00049 00024| If the special character has been preserved, then the following should<010> +00050 00025| generate an error.<010> +00051 00026| <010> +00052 00027| * - This should generate an error if all is well.<010> +00053 00028| <010> +00054 00029| Preservation of the local line number can be checked by looking at the<010> +00055 00030| listing file.<010> +00056 00031| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 9 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC15: Test that certain attributes are saved across inclusions.<010> +<010> +1. Maximum input line length.<010> +2. Special character.<010> +3. Local line number.<010> +<010> +To test this, we first set the first two attributes away from the<010> +default. This will enable us to be sure that when they are restored that<010> +they are being restored to their former values and not just set to the<010> +default.<010> +<010> +" +0012[04]: Text. Text scrap[White]=" " +0014[01]: Text. Text scrap[Grey]="<010> +Before include.<010> +" +0017[01]: Text. Text scrap[Grey]="This is the include file for test SC15. The SC15 test checks to make<010> +sure that FunnelWeb is saving and restoring three scanning<010> +attributes across include files. We also want to make sure<010> +that the scanner is initializing these attributes correctly within<010> +the include file.<010> +<010> +SC15.4: Make sure that the special character is AT at the start of<010> +include files.<010> +<010> +" +0026[03]: Text. Text scrap[Grey]=" - This should yield an error.<010> +<010> +SC15.5 Ensure that the maximum input line length is 80 at the start<010> +of an include file. If all is well, only the second of the following two<010> +lines will provoke a "line too long" error.<010> +<010> +12345678901234567890123456789012345678901234567890123456789012345678901234567890<010> +123456789012345678901234567890123456789012345678901234567890123456789012345678901<010> +<010> +Now that we have checked the default attributes on entering an include file,<010> +we want to stuff them up so as to make sure that the attributes<010> +prevailing when the include was hit are restored.<010> +<010> +" +0040[04]: Text. Text scrap[White]="<010> +<010> +" +0042[01]: Text. Text scrap[Grey]="After include.<010> +<010> +If the maximum input line length has been correctly restored then the<010> +second of the following two lines should give an error, but not the first.<010> +123456789012345678901234567890123456789012345678901234567890123456789012345<010> +1234567890123456789012345678901234567890123456789012345678901234567890123456<010> +<010> +If the special character has been preserved, then the following should<010> +generate an error.<010> +<010> +" +0052[03]: Text. Text scrap[Grey]=" - This should generate an error if all is well.<010> +<010> +Preservation of the local line number can be checked by looking at the<010> +listing file.<010> +" +0056[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC15: Test that certain attributes are saved across inclusions. + 2 2| + 3 3| 1. Maximum input line length. + 4 4| 2. Special character. + 5 5| 3. Local line number. + 6 6| + 7 7| To test this, we first set the first two attributes away from the + 8 8| default. This will enable us to be sure that when they are restored that + 9 9| they are being restored to their former values and not just set to the + 10 10| default. + 11 11| + 12 12| @=* *! Change the special character. + 13 13| *p maximum_input_line_length = 75 + 14 14| + 15 15| Before include. + 16 16| *i sc15a + 17 1| This is the include file for test SC15. The SC15 test checks to make + 18 2| sure that FunnelWeb is saving and restoring three scanning + 19 3| attributes across include files. We also want to make sure + 20 4| that the scanner is initializing these attributes correctly within + 21 5| the include file. + 22 6| + 23 7| SC15.4: Make sure that the special character is AT at the start of + 24 8| include files. + 25 9| + 26 10| @ - This should yield an error. + Error|.^<special><space> is not a legal special sequence. + 27 11| + 28 12| SC15.5 Ensure that the maximum input line length is 80 at the start + 29 13| of an include file. If all is well, only the second of the following two + 30 14| lines will provoke a "line too long" error. + 31 15| + 32 16| 12345678901234567890123456789012345678901234567890123456789012345678901234567890 + 33 17| 123456789012345678901234567890123456789012345678901234567890123456789012345678901 + Error|.................................................................................^Input line is too long (this character is the first offender). + |.................................................................................^Currently, the maximum allowable input line length is 80. + |.................................................................................^Note: You can change this using a pragma directive (@p). + 34 18| + 35 19| Now that we have checked the default attributes on entering an include file, + 36 20| we want to stuff them up so as to make sure that the attributes + 37 21| prevailing when the include was hit are restored. + 38 22| + 39 23| @p maximum_input_line_length = 65 + 40 24| @=+ + 41 25| + 42 17| After include. + 43 18| + 44 19| If the maximum input line length has been correctly restored then the + 45 20| second of the following two lines should give an error, but not the first. + 46 21| 123456789012345678901234567890123456789012345678901234567890123456789012345 + 47 22| 1234567890123456789012345678901234567890123456789012345678901234567890123456 + Error|............................................................................^Input line is too long (this character is the first offender). + |............................................................................^Currently, the maximum allowable input line length is 75. + |............................................................................^Note: You can change this using a pragma directive (@p). + 48 23| + 49 24| If the special character has been preserved, then the following should + 50 25| generate an error. + 51 26| + 52 27| * - This should generate an error if all is well. + Error|.^<special><space> is not a legal special sequence. + 53 28| + 54 29| Preservation of the local line number can be checked by looking at the + 55 30| listing file. + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 4 Errors. diff --git a/web/funnelAC/results/sc16.lis b/web/funnelAC/results/sc16.lis new file mode 100644 index 0000000000..3170ba293f --- /dev/null +++ b/web/funnelAC/results/sc16.lis @@ -0,0 +1,456 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 36 3A 20 54 65 73 74 20 3C 73 70 65 63 | SC16: Test <spec | +| 69 61 6C 3E 5E 20 73 65 71 75 65 6E 63 65 2E 0A | ial>^ sequence.. | +| 0A 31 2E 20 54 65 73 74 20 74 68 61 74 20 61 6C | .1. Test that al | +| 6C 20 62 61 73 65 20 63 68 61 72 61 63 74 65 72 | l base character | +| 73 20 77 6F 72 6B 20 28 69 6E 20 62 6F 74 68 20 | s work (in both | +| 63 61 73 65 73 29 2E 0A 20 20 20 54 68 65 73 65 | cases).. These | +| 20 73 68 6F 75 6C 64 20 70 72 6F 76 6F 6B 65 20 | should provoke | +| 6E 6F 20 65 72 72 6F 72 73 2E 0A 0A 20 20 20 40 | no errors... @ | +| 5E 42 28 30 30 30 30 30 30 30 30 29 20 20 20 40 | ^B(00000000) @ | +| 5E 62 28 30 30 30 30 30 30 30 30 29 0A 20 20 20 | ^b(00000000). | +| 40 5E 4F 28 30 30 30 29 20 20 20 40 5E 6F 28 30 | @^O(000) @^o(0 | +| 30 30 29 0A 20 20 20 40 5E 51 28 30 30 30 29 20 | 00). @^Q(000) | +| 20 20 40 5E 71 28 30 30 30 29 0A 20 20 20 40 5E | @^q(000). @^ | +| 44 28 30 30 30 29 20 20 20 40 5E 64 28 30 30 30 | D(000) @^d(000 | +| 29 0A 20 20 20 40 5E 48 28 30 30 29 20 20 20 20 | ). @^H(00) | +| 40 5E 68 28 30 30 29 0A 20 20 20 40 5E 58 28 30 | @^h(00). @^X(0 | +| 30 29 20 20 20 20 40 5E 78 28 30 30 29 0A 0A 32 | 0) @^x(00)..2 | +| 2E 20 54 65 73 74 20 74 68 61 74 20 73 6F 6D 65 | . Test that some | +| 20 6F 74 68 65 72 20 62 61 73 65 20 63 68 61 72 | other base char | +| 61 63 74 65 72 73 20 67 65 6E 65 72 61 74 65 20 | acters generate | +| 61 6E 20 65 72 72 6F 72 2E 0A 0A 20 20 20 40 5E | an error... @^ | +| 75 28 30 29 0A 20 20 20 40 5E 79 0A 20 20 20 40 | u(0). @^y. @ | +| 5E 23 0A 20 20 20 40 5E 28 0A 0A 33 2E 20 54 65 | ^#. @^(..3. Te | +| 73 74 20 74 68 61 74 20 61 6E 20 65 72 72 6F 72 | st that an error | +| 20 69 73 20 67 65 6E 65 72 61 74 65 64 20 69 66 | is generated if | +| 20 70 61 72 65 6E 74 68 65 73 69 73 20 69 73 20 | parenthesis is | +| 6D 69 73 73 69 6E 67 2E 0A 0A 20 20 20 40 5E 44 | missing... @^D | +| 33 34 29 0A 0A 34 2E 20 54 65 73 74 20 6C 65 67 | 34)..4. Test leg | +| 61 6C 20 64 69 67 69 74 73 20 69 6E 20 65 61 63 | al digits in eac | +| 68 20 62 61 73 65 2E 0A 0A 20 20 20 40 5E 42 28 | h base... @^B( | +| 30 30 30 30 31 31 31 31 29 0A 20 20 20 40 5E 4F | 00001111). @^O | +| 28 30 31 32 29 20 20 40 5E 4F 28 30 33 34 29 20 | (012) @^O(034) | +| 40 5E 4F 28 30 35 36 29 20 40 5E 4F 28 30 37 37 | @^O(056) @^O(077 | +| 29 0A 20 20 20 40 5E 44 28 30 31 32 29 20 20 40 | ). @^D(012) @ | +| 5E 44 28 30 33 34 29 20 40 5E 44 28 30 35 36 29 | ^D(034) @^D(056) | +| 20 40 5E 44 28 30 37 38 29 20 40 5E 44 28 30 39 | @^D(078) @^D(09 | +| 39 29 0A 20 20 20 40 5E 48 28 30 31 29 20 40 5E | 9). @^H(01) @^ | +| 48 28 32 33 29 20 40 5E 48 28 34 35 29 20 40 5E | H(23) @^H(45) @^ | +| 48 28 36 37 29 0A 20 20 20 40 5E 48 28 38 39 29 | H(67). @^H(89) | +| 20 40 5E 48 28 41 42 29 20 40 5E 58 28 43 44 29 | @^H(AB) @^X(CD) | +| 20 40 5E 58 28 45 46 29 20 20 40 5E 78 28 61 66 | @^X(EF) @^x(af | +| 29 0A 0A 35 2E 20 54 65 73 74 20 69 6C 6C 65 67 | )..5. Test illeg | +| 61 6C 20 64 69 67 69 74 73 20 69 6E 20 65 61 63 | al digits in eac | +| 68 20 62 61 73 65 2E 0A 0A 20 20 20 40 5E 42 28 | h base... @^B( | +| 30 30 30 30 30 30 30 32 29 0A 20 20 20 40 5E 4F | 00000002). @^O | +| 28 30 30 38 29 0A 20 20 20 40 5E 44 28 30 30 41 | (008). @^D(00A | +| 29 0A 20 20 20 40 5E 48 28 30 47 29 0A 0A 36 2E | ). @^H(0G)..6. | +| 20 54 65 73 74 20 77 68 61 74 20 68 61 70 70 65 | Test what happe | +| 6E 73 20 69 66 20 74 68 65 72 65 20 61 72 65 20 | ns if there are | +| 74 68 65 20 77 72 6F 6E 67 20 6E 75 6D 62 65 72 | the wrong number | +| 20 6F 66 20 64 69 67 69 74 73 0A 20 20 20 28 74 | of digits. (t | +| 6F 6F 20 66 65 77 2C 20 74 6F 6F 20 6D 61 6E 79 | oo few, too many | +| 29 2E 0A 0A 20 20 20 40 5E 42 28 31 29 0A 20 20 | )... @^B(1). | +| 20 40 5E 4F 28 31 29 0A 20 20 20 40 5E 44 28 31 | @^O(1). @^D(1 | +| 29 0A 20 20 20 40 5E 48 28 31 29 0A 0A 20 20 20 | ). @^H(1).. | +| 40 5E 42 28 30 30 30 30 30 30 30 30 31 29 0A 20 | @^B(000000001). | +| 20 20 40 5E 4F 28 30 30 30 34 29 0A 20 20 20 40 | @^O(0004). @ | +| 5E 44 28 30 30 30 31 29 0A 20 20 20 40 5E 48 28 | ^D(0001). @^H( | +| 30 30 35 29 0A 0A 37 2E 20 54 65 73 74 20 74 68 | 005)..7. Test th | +| 61 74 20 61 6E 20 65 72 72 6F 72 20 69 73 20 67 | at an error is g | +| 65 6E 65 72 61 74 65 64 20 66 6F 72 20 61 20 6D | enerated for a m | +| 69 73 73 69 6E 67 20 63 6C 6F 73 69 6E 67 20 70 | issing closing p | +| 61 72 65 6E 74 68 65 73 69 73 2E 0A 0A 20 20 40 | arenthesis... @ | +| 5E 42 28 30 30 30 30 30 30 30 30 0A 20 20 40 5E | ^B(00000000. @^ | +| 44 28 30 34 35 28 0A 0A 38 2E 20 54 65 73 74 20 | D(045(..8. Test | +| 77 68 61 74 20 68 61 70 70 65 6E 73 20 69 6E 20 | what happens in | +| 6E 75 6D 62 65 72 20 69 73 20 6F 75 74 20 6F 66 | number is out of | +| 20 74 68 65 20 72 61 6E 67 65 20 5B 30 2C 32 35 | the range [0,25 | +| 35 5D 2E 0A 0A 20 20 40 5E 44 28 32 35 35 29 0A | 5]... @^D(255). | +| 20 20 40 5E 44 28 32 35 36 29 0A 20 20 40 5E 44 | @^D(256). @^D | +| 28 39 39 39 29 0A 0A | (999).. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC16: Test <special>^ sequence.<010> +00002 00002| <010> +00003 00003| 1. Test that all base characters work (in both cases).<010> +00004 00004| These should provoke no errors.<010> +00005 00005| <010> +00006 00006| @^B(00000000) @^b(00000000)<010> +00007 00007| @^O(000) @^o(000)<010> +00008 00008| @^Q(000) @^q(000)<010> +00009 00009| @^D(000) @^d(000)<010> +00010 00010| @^H(00) @^h(00)<010> +00011 00011| @^X(00) @^x(00)<010> +00012 00012| <010> +00013 00013| 2. Test that some other base characters generate an error.<010> +00014 00014| <010> +00015 00015| @^u(0)<010> +00016 00016| @^y<010> +00017 00017| @^#<010> +00018 00018| @^(<010> +00019 00019| <010> +00020 00020| 3. Test that an error is generated if parenthesis is missing.<010> +00021 00021| <010> +00022 00022| @^D34)<010> +00023 00023| <010> +00024 00024| 4. Test legal digits in each base.<010> +00025 00025| <010> +00026 00026| @^B(00001111)<010> +00027 00027| @^O(012) @^O(034) @^O(056) @^O(077)<010> +00028 00028| @^D(012) @^D(034) @^D(056) @^D(078) @^D(099)<010> +00029 00029| @^H(01) @^H(23) @^H(45) @^H(67)<010> +00030 00030| @^H(89) @^H(AB) @^X(CD) @^X(EF) @^x(af)<010> +00031 00031| <010> +00032 00032| 5. Test illegal digits in each base.<010> +00033 00033| <010> +00034 00034| @^B(00000002)<010> +00035 00035| @^O(008)<010> +00036 00036| @^D(00A)<010> +00037 00037| @^H(0G)<010> +00038 00038| <010> +00039 00039| 6. Test what happens if there are the wrong number of digits<010> +00040 00040| (too few, too many).<010> +00041 00041| <010> +00042 00042| @^B(1)<010> +00043 00043| @^O(1)<010> +00044 00044| @^D(1)<010> +00045 00045| @^H(1)<010> +00046 00046| <010> +00047 00047| @^B(000000001)<010> +00048 00048| @^O(0004)<010> +00049 00049| @^D(0001)<010> +00050 00050| @^H(005)<010> +00051 00051| <010> +00052 00052| 7. Test that an error is generated for a missing closing parenthesis.<010> +00053 00053| <010> +00054 00054| @^B(00000000<010> +00055 00055| @^D(045(<010> +00056 00056| <010> +00057 00057| 8. Test what happens in number is out of the range [0,255].<010> +00058 00058| <010> +00059 00059| @^D(255)<010> +00060 00060| @^D(256)<010> +00061 00061| @^D(999)<010> +00062 00062| <010> +00063 00063| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 87 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC16: Test <special>^ sequence.<010> +<010> +1. Test that all base characters work (in both cases).<010> + These should provoke no errors.<010> +<010> + " +0006[04]: Text. Text scrap[Grey]="<000>" +0006[17]: Text. Text scrap[White]=" " +0006[20]: Text. Text scrap[Grey]="<000>" +0006[33]: Text. Text scrap[White]="<010> + " +0007[04]: Text. Text scrap[Grey]="<000>" +0007[12]: Text. Text scrap[White]=" " +0007[15]: Text. Text scrap[Grey]="<000>" +0007[23]: Text. Text scrap[White]="<010> + " +0008[04]: Text. Text scrap[Grey]="<000>" +0008[12]: Text. Text scrap[White]=" " +0008[15]: Text. Text scrap[Grey]="<000>" +0008[23]: Text. Text scrap[White]="<010> + " +0009[04]: Text. Text scrap[Grey]="<000>" +0009[12]: Text. Text scrap[White]=" " +0009[15]: Text. Text scrap[Grey]="<000>" +0009[23]: Text. Text scrap[White]="<010> + " +0010[04]: Text. Text scrap[Grey]="<000>" +0010[11]: Text. Text scrap[White]=" " +0010[15]: Text. Text scrap[Grey]="<000>" +0010[22]: Text. Text scrap[White]="<010> + " +0011[04]: Text. Text scrap[Grey]="<000>" +0011[11]: Text. Text scrap[White]=" " +0011[15]: Text. Text scrap[Grey]="<000>" +0011[22]: Text. Text scrap[Grey]="<010> +<010> +2. Test that some other base characters generate an error.<010> +<010> + " +0015[07]: Text. Text scrap[Grey]="(0)<010> + " +0016[07]: Text. Text scrap[White]="<010> + " +0017[07]: Text. Text scrap[White]="<010> + " +0018[07]: Text. Text scrap[Grey]="<010> +<010> +3. Test that an error is generated if parenthesis is missing.<010> +<010> + " +0022[08]: Text. Text scrap[Grey]="4)<010> +<010> +4. Test legal digits in each base.<010> +<010> + " +0026[04]: Text. Text scrap[Grey]="<015>" +0026[17]: Text. Text scrap[White]="<010> + " +0027[04]: Text. Text scrap[Grey]="<010> +" +0027[12]: Text. Text scrap[White]=" " +0027[14]: Text. Text scrap[Grey]="<028>" +0027[22]: Text. Text scrap[White]=" " +0027[23]: Text. Text scrap[Grey]="." +0027[31]: Text. Text scrap[White]=" " +0027[32]: Text. Text scrap[Grey]="?" +0027[40]: Text. Text scrap[White]="<010> + " +0028[04]: Text. Text scrap[Grey]="<012>" +0028[12]: Text. Text scrap[White]=" " +0028[14]: Text. Text scrap[Grey]=""" +0028[22]: Text. Text scrap[White]=" " +0028[23]: Text. Text scrap[Grey]="8" +0028[31]: Text. Text scrap[White]=" " +0028[32]: Text. Text scrap[Grey]="N" +0028[40]: Text. Text scrap[White]=" " +0028[41]: Text. Text scrap[Grey]="c" +0028[49]: Text. Text scrap[White]="<010> + " +0029[04]: Text. Text scrap[Grey]="<001>" +0029[11]: Text. Text scrap[White]=" " +0029[12]: Text. Text scrap[Grey]="#" +0029[19]: Text. Text scrap[White]=" " +0029[20]: Text. Text scrap[Grey]="E" +0029[27]: Text. Text scrap[White]=" " +0029[28]: Text. Text scrap[Grey]="g" +0029[35]: Text. Text scrap[White]="<010> + " +0030[04]: Text. Text scrap[Grey]="<137>" +0030[11]: Text. Text scrap[White]=" " +0030[12]: Text. Text scrap[Grey]="<171>" +0030[19]: Text. Text scrap[White]=" " +0030[20]: Text. Text scrap[Grey]="<205>" +0030[27]: Text. Text scrap[White]=" " +0030[28]: Text. Text scrap[Grey]="<239>" +0030[35]: Text. Text scrap[White]=" " +0030[37]: Text. Text scrap[Grey]="<175>" +0030[44]: Text. Text scrap[Grey]="<010> +<010> +5. Test illegal digits in each base.<010> +<010> + " +0034[16]: Text. Text scrap[Grey]=")<010> + " +0035[11]: Text. Text scrap[Grey]=")<010> + " +0036[11]: Text. Text scrap[Grey]=")<010> + " +0037[10]: Text. Text scrap[Grey]=")<010> +<010> +6. Test what happens if there are the wrong number of digits<010> + (too few, too many).<010> +<010> + " +0042[10]: Text. Text scrap[White]="<010> + " +0043[10]: Text. Text scrap[White]="<010> + " +0044[10]: Text. Text scrap[White]="<010> + " +0045[10]: Text. Text scrap[White]="<010> +<010> + " +0047[17]: Text. Text scrap[Grey]=")<010> + " +0048[12]: Text. Text scrap[Grey]=")<010> + " +0049[12]: Text. Text scrap[Grey]=")<010> + " +0050[11]: Text. Text scrap[Grey]=")<010> +<010> +7. Test that an error is generated for a missing closing parenthesis.<010> +<010> + " +0055[01]: Text. Text scrap[White]=" " +0055[11]: Text. Text scrap[Grey]="<010> +<010> +8. Test what happens in number is out of the range [0,255].<010> +<010> + " +0059[03]: Text. Text scrap[Grey]="<255>" +0059[11]: Text. Text scrap[White]="<010> + " +0060[11]: Text. Text scrap[White]="<010> + " +0061[11]: Text. Text scrap[White]="<010> +<010> +" +0063[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC16: Test <special>^ sequence. + 2 2| + 3 3| 1. Test that all base characters work (in both cases). + 4 4| These should provoke no errors. + 5 5| + 6 6| @^B(00000000) @^b(00000000) + 7 7| @^O(000) @^o(000) + 8 8| @^Q(000) @^q(000) + 9 9| @^D(000) @^d(000) + 10 10| @^H(00) @^h(00) + 11 11| @^X(00) @^x(00) + 12 12| + 13 13| 2. Test that some other base characters generate an error. + 14 14| + 15 15| @^u(0) + Error|......^Expecting one of 'B', 'Q', 'D', 'H'. + |......^(For Binary, Octal, Decimal, and Hexadecimal). + |......^A decimal character representation takes the form "@^D(ddd)". + |......^(exactly 3 digits) where each digit d is in the range 0..9. + 16 16| @^y + Error|......^Expecting one of 'B', 'Q', 'D', 'H'. + |......^(For Binary, Octal, Decimal, and Hexadecimal). + |......^A decimal character representation takes the form "@^D(ddd)". + |......^(exactly 3 digits) where each digit d is in the range 0..9. + 17 17| @^# + Error|......^Expecting one of 'B', 'Q', 'D', 'H'. + |......^(For Binary, Octal, Decimal, and Hexadecimal). + |......^A decimal character representation takes the form "@^D(ddd)". + |......^(exactly 3 digits) where each digit d is in the range 0..9. + 18 18| @^( + Error|......^Expecting one of 'B', 'Q', 'D', 'H'. + |......^(For Binary, Octal, Decimal, and Hexadecimal). + |......^A decimal character representation takes the form "@^D(ddd)". + |......^(exactly 3 digits) where each digit d is in the range 0..9. + 19 19| + 20 20| 3. Test that an error is generated if parenthesis is missing. + 21 21| + 22 22| @^D34) + Error|.......^Expecting '('. + |.......^A decimal character representation takes the form "@^D(ddd)". + |.......^(exactly 3 digits) where each digit d is in the range 0..9. + 23 23| + 24 24| 4. Test legal digits in each base. + 25 25| + 26 26| @^B(00001111) + 27 27| @^O(012) @^O(034) @^O(056) @^O(077) + 28 28| @^D(012) @^D(034) @^D(056) @^D(078) @^D(099) + 29 29| @^H(01) @^H(23) @^H(45) @^H(67) + 30 30| @^H(89) @^H(AB) @^X(CD) @^X(EF) @^x(af) + 31 31| + 32 32| 5. Test illegal digits in each base. + 33 33| + 34 34| @^B(00000002) + Error|...............^Illegal digit. + |...............^A binary character representation takes the form "@^B(dddddddd)". + |...............^(exactly 8 digits) where each digit d is either 0 or 1. + 35 35| @^O(008) + Error|..........^Illegal digit. + |..........^An octal character representation takes the form "@^Q(ddd)" (or "@^O(ddd)"). + |..........^(exactly 3 digits) where each digit d is in the range 0..7. + 36 36| @^D(00A) + Error|..........^Illegal digit. + |..........^A decimal character representation takes the form "@^D(ddd)". + |..........^(exactly 3 digits) where each digit d is in the range 0..9. + 37 37| @^H(0G) + Error|.........^Illegal digit. + |.........^A hexadecimal character representation takes the form "@^X(dd)" (or "@^H(dd)"). + |.........^(exactly 2 digits) where each digit d is in the range 0..9,A..F. + 38 38| + 39 39| 6. Test what happens if there are the wrong number of digits + 40 40| (too few, too many). + 41 41| + 42 42| @^B(1) + Error|.........^Illegal digit. + |.........^A binary character representation takes the form "@^B(dddddddd)". + |.........^(exactly 8 digits) where each digit d is either 0 or 1. + 43 43| @^O(1) + Error|.........^Illegal digit. + |.........^An octal character representation takes the form "@^Q(ddd)" (or "@^O(ddd)"). + |.........^(exactly 3 digits) where each digit d is in the range 0..7. + 44 44| @^D(1) + Error|.........^Illegal digit. + |.........^A decimal character representation takes the form "@^D(ddd)". + |.........^(exactly 3 digits) where each digit d is in the range 0..9. + 45 45| @^H(1) + Error|.........^Illegal digit. + |.........^A hexadecimal character representation takes the form "@^X(dd)" (or "@^H(dd)"). + |.........^(exactly 2 digits) where each digit d is in the range 0..9,A..F. + 46 46| + 47 47| @^B(000000001) + Error|................^Expecting ')'. + |................^A binary character representation takes the form "@^B(dddddddd)". + |................^(exactly 8 digits) where each digit d is either 0 or 1. + 48 48| @^O(0004) + Error|...........^Expecting ')'. + |...........^An octal character representation takes the form "@^Q(ddd)" (or "@^O(ddd)"). + |...........^(exactly 3 digits) where each digit d is in the range 0..7. + 49 49| @^D(0001) + Error|...........^Expecting ')'. + |...........^A decimal character representation takes the form "@^D(ddd)". + |...........^(exactly 3 digits) where each digit d is in the range 0..9. + 50 50| @^H(005) + Error|..........^Expecting ')'. + |..........^A hexadecimal character representation takes the form "@^X(dd)" (or "@^H(dd)"). + |..........^(exactly 2 digits) where each digit d is in the range 0..9,A..F. + 51 51| + 52 52| 7. Test that an error is generated for a missing closing parenthesis. + 53 53| + 54 54| @^B(00000000 + Error|...............^Expecting ')'. + |...............^A binary character representation takes the form "@^B(dddddddd)". + |...............^(exactly 8 digits) where each digit d is either 0 or 1. + 55 55| @^D(045( + Error|..........^Expecting ')'. + |..........^A decimal character representation takes the form "@^D(ddd)". + |..........^(exactly 3 digits) where each digit d is in the range 0..9. + 56 56| + 57 57| 8. Test what happens in number is out of the range [0,255]. + 58 58| + 59 59| @^D(255) + 60 60| @^D(256) + Error|..........^Character number is too large. + |..........^Character number must be in the range [0,255] (decimal). + |..........^A decimal character representation takes the form "@^D(ddd)". + |..........^(exactly 3 digits) where each digit d is in the range 0..9. + 61 61| @^D(999) + Error|..........^Character number is too large. + |..........^Character number must be in the range [0,255] (decimal). + |..........^A decimal character representation takes the form "@^D(ddd)". + |..........^(exactly 3 digits) where each digit d is in the range 0..9. + 62 62| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 21 Errors. diff --git a/web/funnelAC/results/sc17.lis b/web/funnelAC/results/sc17.lis new file mode 100644 index 0000000000..e23bf05b1d --- /dev/null +++ b/web/funnelAC/results/sc17.lis @@ -0,0 +1,352 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 37 3A 20 54 65 73 74 20 3C 73 70 65 63 | SC17: Test <spec | +| 69 61 6C 3E 23 2E 0A 0A 46 69 72 73 74 20 77 65 | ial>#...First we | +| 20 74 72 69 70 20 75 70 20 74 68 65 20 73 63 61 | trip up the sca | +| 6E 6E 65 72 20 73 6F 20 6E 6F 20 66 75 72 74 68 | nner so no furth | +| 65 72 20 70 61 73 73 65 73 20 74 61 6B 65 20 70 | er passes take p | +| 6C 61 63 65 2E 0A 0A 40 0A 0A 31 2E 20 54 65 73 | lace...@..1. Tes | +| 74 20 77 69 74 68 20 61 6C 6C 20 70 6F 73 73 69 | t with all possi | +| 62 6C 65 20 70 72 69 6E 74 61 62 6C 65 20 63 68 | ble printable ch | +| 61 72 61 63 74 65 72 73 2E 0A 0A 40 23 21 20 40 | aracters...@#! @ | +| 23 22 20 40 23 23 20 40 23 24 20 40 23 25 20 40 | #" @## @#$ @#% @ | +| 23 26 20 40 23 27 20 40 23 28 20 40 23 29 20 40 | #& @#' @#( @#) @ | +| 23 2A 20 40 23 2B 20 40 23 2C 20 40 23 2D 20 40 | #* @#+ @#, @#- @ | +| 23 2E 20 40 23 2F 0A 40 23 30 20 40 23 31 20 40 | #. @#/.@#0 @#1 @ | +| 23 32 20 40 23 33 20 40 23 34 20 40 23 35 20 40 | #2 @#3 @#4 @#5 @ | +| 23 36 20 40 23 37 20 40 23 38 20 40 23 39 20 40 | #6 @#7 @#8 @#9 @ | +| 23 3A 20 40 23 3B 20 40 23 3C 20 40 23 3D 20 40 | #: @#; @#< @#= @ | +| 23 3E 0A 40 23 3F 20 40 23 40 20 40 23 41 20 40 | #>.@#? @#@ @#A @ | +| 23 42 20 40 23 43 20 40 23 44 20 40 23 45 20 40 | #B @#C @#D @#E @ | +| 23 46 20 40 23 47 20 40 23 48 20 40 23 49 20 40 | #F @#G @#H @#I @ | +| 23 4A 20 40 23 4B 20 40 23 4C 20 40 23 4D 0A 40 | #J @#K @#L @#M.@ | +| 23 4E 20 40 23 4F 20 40 23 50 20 40 23 51 20 40 | #N @#O @#P @#Q @ | +| 23 52 20 40 23 53 20 40 23 54 20 40 23 55 20 40 | #R @#S @#T @#U @ | +| 23 56 20 40 23 57 20 40 23 58 20 40 23 59 20 40 | #V @#W @#X @#Y @ | +| 23 5A 20 40 23 5B 20 40 23 5C 0A 40 23 5D 20 40 | #Z @#[ @#\.@#] @ | +| 23 5E 20 40 23 5F 20 40 23 60 20 40 23 61 20 40 | #^ @#_ @#` @#a @ | +| 23 62 20 40 23 63 20 40 23 64 20 40 23 65 20 40 | #b @#c @#d @#e @ | +| 23 66 20 40 23 67 20 40 23 68 20 40 23 69 20 40 | #f @#g @#h @#i @ | +| 23 6A 20 40 23 6B 0A 40 23 6C 20 40 23 6D 20 40 | #j @#k.@#l @#m @ | +| 23 6E 20 40 23 6F 20 40 23 70 20 40 23 71 20 40 | #n @#o @#p @#q @ | +| 23 72 20 40 23 73 20 40 23 74 20 40 23 75 20 40 | #r @#s @#t @#u @ | +| 23 76 20 40 23 77 20 40 23 78 20 40 23 79 20 40 | #v @#w @#x @#y @ | +| 23 7A 0A 40 23 7B 20 40 23 7C 20 40 23 7D 20 40 | #z.@#{ @#| @#} @ | +| 23 7E 0A 0A 32 2E 20 54 65 73 74 20 74 68 61 74 | #~..2. Test that | +| 20 3C 73 70 65 63 69 61 6C 3E 23 3C 73 70 61 63 | <special>#<spac | +| 65 3E 20 69 73 20 66 6C 61 67 67 65 64 20 61 73 | e> is flagged as | +| 20 61 6E 20 65 72 72 6F 72 2E 0A 0A 20 20 20 40 | an error... @ | +| 23 20 20 20 20 20 40 21 20 53 68 6F 75 6C 64 20 | # @! Should | +| 62 65 20 66 6C 61 67 67 65 64 20 61 73 20 61 6E | be flagged as an | +| 20 65 72 72 6F 72 2E 0A 0A 33 2E 20 54 65 73 74 | error...3. Test | +| 20 74 68 61 74 20 3C 73 70 65 63 69 61 6C 3E 23 | that <special># | +| 45 4F 4C 20 69 73 20 66 6C 61 67 67 65 64 20 61 | EOL is flagged a | +| 73 20 61 6E 20 65 72 72 6F 72 2E 0A 0A 20 20 20 | s an error... | +| 40 23 0A 0A | @#.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC17: Test <special>#.<010> +00002 00002| <010> +00003 00003| First we trip up the scanner so no further passes take place.<010> +00004 00004| <010> +00005 00005| @<010> +00006 00006| <010> +00007 00007| 1. Test with all possible printable characters.<010> +00008 00008| <010> +00009 00009| @#! @#" @## @#$ @#% @#& @#' @#( @#) @#* @#+ @#, @#- @#. @#/<010> +00010 00010| @#0 @#1 @#2 @#3 @#4 @#5 @#6 @#7 @#8 @#9 @#: @#; @#< @#= @#><010> +00011 00011| @#? @#@ @#A @#B @#C @#D @#E @#F @#G @#H @#I @#J @#K @#L @#M<010> +00012 00012| @#N @#O @#P @#Q @#R @#S @#T @#U @#V @#W @#X @#Y @#Z @#[ @#\<010> +00013 00013| @#] @#^ @#_ @#` @#a @#b @#c @#d @#e @#f @#g @#h @#i @#j @#k<010> +00014 00014| @#l @#m @#n @#o @#p @#q @#r @#s @#t @#u @#v @#w @#x @#y @#z<010> +00015 00015| @#{ @#| @#} @#~<010> +00016 00016| <010> +00017 00017| 2. Test that <special>#<space> is flagged as an error.<010> +00018 00018| <010> +00019 00019| @# @! Should be flagged as an error.<010> +00020 00020| <010> +00021 00021| 3. Test that <special>#EOL is flagged as an error.<010> +00022 00022| <010> +00023 00023| @#<010> +00024 00024| <010> +00025 00025| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 194 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC17: Test <special>#.<010> +<010> +First we trip up the scanner so no further passes take place.<010> +<010> +" +0006[01]: Text. Text scrap[Grey]="<010> +1. Test with all possible printable characters.<010> +<010> +" +0009[01]: @# Name. Character='!'. +0009[04]: Text. Text scrap[White]=" " +0009[05]: @# Name. Character='"'. +0009[08]: Text. Text scrap[White]=" " +0009[09]: @# Name. Character='#'. +0009[12]: Text. Text scrap[White]=" " +0009[13]: @# Name. Character='$'. +0009[16]: Text. Text scrap[White]=" " +0009[17]: @# Name. Character='%'. +0009[20]: Text. Text scrap[White]=" " +0009[21]: @# Name. Character='&'. +0009[24]: Text. Text scrap[White]=" " +0009[25]: @# Name. Character='''. +0009[28]: Text. Text scrap[White]=" " +0009[29]: @# Name. Character='('. +0009[32]: Text. Text scrap[White]=" " +0009[33]: @# Name. Character=')'. +0009[36]: Text. Text scrap[White]=" " +0009[37]: @# Name. Character='*'. +0009[40]: Text. Text scrap[White]=" " +0009[41]: @# Name. Character='+'. +0009[44]: Text. Text scrap[White]=" " +0009[45]: @# Name. Character=','. +0009[48]: Text. Text scrap[White]=" " +0009[49]: @# Name. Character='-'. +0009[52]: Text. Text scrap[White]=" " +0009[53]: @# Name. Character='.'. +0009[56]: Text. Text scrap[White]=" " +0009[57]: @# Name. Character='/'. +0009[60]: Text. Text scrap[White]="<010> +" +0010[01]: @# Name. Character='0'. +0010[04]: Text. Text scrap[White]=" " +0010[05]: @# Name. Character='1'. +0010[08]: Text. Text scrap[White]=" " +0010[09]: @# Name. Character='2'. +0010[12]: Text. Text scrap[White]=" " +0010[13]: @# Name. Character='3'. +0010[16]: Text. Text scrap[White]=" " +0010[17]: @# Name. Character='4'. +0010[20]: Text. Text scrap[White]=" " +0010[21]: @# Name. Character='5'. +0010[24]: Text. Text scrap[White]=" " +0010[25]: @# Name. Character='6'. +0010[28]: Text. Text scrap[White]=" " +0010[29]: @# Name. Character='7'. +0010[32]: Text. Text scrap[White]=" " +0010[33]: @# Name. Character='8'. +0010[36]: Text. Text scrap[White]=" " +0010[37]: @# Name. Character='9'. +0010[40]: Text. Text scrap[White]=" " +0010[41]: @# Name. Character=':'. +0010[44]: Text. Text scrap[White]=" " +0010[45]: @# Name. Character=';'. +0010[48]: Text. Text scrap[White]=" " +0010[49]: @# Name. Character='<'. +0010[52]: Text. Text scrap[White]=" " +0010[53]: @# Name. Character='='. +0010[56]: Text. Text scrap[White]=" " +0010[57]: @# Name. Character='>'. +0010[60]: Text. Text scrap[White]="<010> +" +0011[01]: @# Name. Character='?'. +0011[04]: Text. Text scrap[White]=" " +0011[05]: @# Name. Character='@'. +0011[08]: Text. Text scrap[White]=" " +0011[09]: @# Name. Character='A'. +0011[12]: Text. Text scrap[White]=" " +0011[13]: @# Name. Character='B'. +0011[16]: Text. Text scrap[White]=" " +0011[17]: @# Name. Character='C'. +0011[20]: Text. Text scrap[White]=" " +0011[21]: @# Name. Character='D'. +0011[24]: Text. Text scrap[White]=" " +0011[25]: @# Name. Character='E'. +0011[28]: Text. Text scrap[White]=" " +0011[29]: @# Name. Character='F'. +0011[32]: Text. Text scrap[White]=" " +0011[33]: @# Name. Character='G'. +0011[36]: Text. Text scrap[White]=" " +0011[37]: @# Name. Character='H'. +0011[40]: Text. Text scrap[White]=" " +0011[41]: @# Name. Character='I'. +0011[44]: Text. Text scrap[White]=" " +0011[45]: @# Name. Character='J'. +0011[48]: Text. Text scrap[White]=" " +0011[49]: @# Name. Character='K'. +0011[52]: Text. Text scrap[White]=" " +0011[53]: @# Name. Character='L'. +0011[56]: Text. Text scrap[White]=" " +0011[57]: @# Name. Character='M'. +0011[60]: Text. Text scrap[White]="<010> +" +0012[01]: @# Name. Character='N'. +0012[04]: Text. Text scrap[White]=" " +0012[05]: @# Name. Character='O'. +0012[08]: Text. Text scrap[White]=" " +0012[09]: @# Name. Character='P'. +0012[12]: Text. Text scrap[White]=" " +0012[13]: @# Name. Character='Q'. +0012[16]: Text. Text scrap[White]=" " +0012[17]: @# Name. Character='R'. +0012[20]: Text. Text scrap[White]=" " +0012[21]: @# Name. Character='S'. +0012[24]: Text. Text scrap[White]=" " +0012[25]: @# Name. Character='T'. +0012[28]: Text. Text scrap[White]=" " +0012[29]: @# Name. Character='U'. +0012[32]: Text. Text scrap[White]=" " +0012[33]: @# Name. Character='V'. +0012[36]: Text. Text scrap[White]=" " +0012[37]: @# Name. Character='W'. +0012[40]: Text. Text scrap[White]=" " +0012[41]: @# Name. Character='X'. +0012[44]: Text. Text scrap[White]=" " +0012[45]: @# Name. Character='Y'. +0012[48]: Text. Text scrap[White]=" " +0012[49]: @# Name. Character='Z'. +0012[52]: Text. Text scrap[White]=" " +0012[53]: @# Name. Character='['. +0012[56]: Text. Text scrap[White]=" " +0012[57]: @# Name. Character='\'. +0012[60]: Text. Text scrap[White]="<010> +" +0013[01]: @# Name. Character=']'. +0013[04]: Text. Text scrap[White]=" " +0013[05]: @# Name. Character='^'. +0013[08]: Text. Text scrap[White]=" " +0013[09]: @# Name. Character='_'. +0013[12]: Text. Text scrap[White]=" " +0013[13]: @# Name. Character='`'. +0013[16]: Text. Text scrap[White]=" " +0013[17]: @# Name. Character='a'. +0013[20]: Text. Text scrap[White]=" " +0013[21]: @# Name. Character='b'. +0013[24]: Text. Text scrap[White]=" " +0013[25]: @# Name. Character='c'. +0013[28]: Text. Text scrap[White]=" " +0013[29]: @# Name. Character='d'. +0013[32]: Text. Text scrap[White]=" " +0013[33]: @# Name. Character='e'. +0013[36]: Text. Text scrap[White]=" " +0013[37]: @# Name. Character='f'. +0013[40]: Text. Text scrap[White]=" " +0013[41]: @# Name. Character='g'. +0013[44]: Text. Text scrap[White]=" " +0013[45]: @# Name. Character='h'. +0013[48]: Text. Text scrap[White]=" " +0013[49]: @# Name. Character='i'. +0013[52]: Text. Text scrap[White]=" " +0013[53]: @# Name. Character='j'. +0013[56]: Text. Text scrap[White]=" " +0013[57]: @# Name. Character='k'. +0013[60]: Text. Text scrap[White]="<010> +" +0014[01]: @# Name. Character='l'. +0014[04]: Text. Text scrap[White]=" " +0014[05]: @# Name. Character='m'. +0014[08]: Text. Text scrap[White]=" " +0014[09]: @# Name. Character='n'. +0014[12]: Text. Text scrap[White]=" " +0014[13]: @# Name. Character='o'. +0014[16]: Text. Text scrap[White]=" " +0014[17]: @# Name. Character='p'. +0014[20]: Text. Text scrap[White]=" " +0014[21]: @# Name. Character='q'. +0014[24]: Text. Text scrap[White]=" " +0014[25]: @# Name. Character='r'. +0014[28]: Text. Text scrap[White]=" " +0014[29]: @# Name. Character='s'. +0014[32]: Text. Text scrap[White]=" " +0014[33]: @# Name. Character='t'. +0014[36]: Text. Text scrap[White]=" " +0014[37]: @# Name. Character='u'. +0014[40]: Text. Text scrap[White]=" " +0014[41]: @# Name. Character='v'. +0014[44]: Text. Text scrap[White]=" " +0014[45]: @# Name. Character='w'. +0014[48]: Text. Text scrap[White]=" " +0014[49]: @# Name. Character='x'. +0014[52]: Text. Text scrap[White]=" " +0014[53]: @# Name. Character='y'. +0014[56]: Text. Text scrap[White]=" " +0014[57]: @# Name. Character='z'. +0014[60]: Text. Text scrap[White]="<010> +" +0015[01]: @# Name. Character='{'. +0015[04]: Text. Text scrap[White]=" " +0015[05]: @# Name. Character='|'. +0015[08]: Text. Text scrap[White]=" " +0015[09]: @# Name. Character='}'. +0015[12]: Text. Text scrap[White]=" " +0015[13]: @# Name. Character='~'. +0015[16]: Text. Text scrap[Grey]="<010> +<010> +2. Test that <special>#<space> is flagged as an error.<010> +<010> + " +0019[07]: Text. Text scrap[White]=" " +0020[01]: Text. Text scrap[Grey]="<010> +3. Test that <special>#EOL is flagged as an error.<010> +<010> + " +0024[01]: Text. Text scrap[White]="<010> +" +0025[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC17: Test <special>#. + 2 2| + 3 3| First we trip up the scanner so no further passes take place. + 4 4| + 5 5| @ + Error|.^<special><endofline> is not a legal special sequence. + 6 6| + 7 7| 1. Test with all possible printable characters. + 8 8| + 9 9| @#! @#" @## @#$ @#% @#& @#' @#( @#) @#* @#+ @#, @#- @#. @#/ + 10 10| @#0 @#1 @#2 @#3 @#4 @#5 @#6 @#7 @#8 @#9 @#: @#; @#< @#= @#> + 11 11| @#? @#@ @#A @#B @#C @#D @#E @#F @#G @#H @#I @#J @#K @#L @#M + 12 12| @#N @#O @#P @#Q @#R @#S @#T @#U @#V @#W @#X @#Y @#Z @#[ @#\ + 13 13| @#] @#^ @#_ @#` @#a @#b @#c @#d @#e @#f @#g @#h @#i @#j @#k + 14 14| @#l @#m @#n @#o @#p @#q @#r @#s @#t @#u @#v @#w @#x @#y @#z + 15 15| @#{ @#| @#} @#~ + 16 16| + 17 17| 2. Test that <special>#<space> is flagged as an error. + 18 18| + 19 19| @# @! Should be flagged as an error. + Error|......^Expecting a printable character. + 20 20| + 21 21| 3. Test that <special>#EOL is flagged as an error. + 22 22| + 23 23| @# + Error|......^Expecting a printable character. + 24 24| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 3 Errors. diff --git a/web/funnelAC/results/sc18.lis b/web/funnelAC/results/sc18.lis new file mode 100644 index 0000000000..1442d3938d --- /dev/null +++ b/web/funnelAC/results/sc18.lis @@ -0,0 +1,261 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 38 3A 20 54 65 73 74 20 3C 73 70 65 63 | SC18: Test <spec | +| 69 61 6C 3E 23 3D 0A 0A 46 69 72 73 74 20 77 65 | ial>#=..First we | +| 20 74 72 69 70 20 75 70 20 74 68 65 20 73 63 61 | trip up the sca | +| 6E 6E 65 72 20 73 6F 20 6E 6F 20 66 75 72 74 68 | nner so no furth | +| 65 72 20 70 61 73 73 65 73 20 74 61 6B 65 20 70 | er passes take p | +| 6C 61 63 65 2E 0A 0A 40 0A 0A 31 2E 20 54 65 73 | lace...@..1. Tes | +| 74 20 77 69 74 68 20 61 6C 6C 20 70 6F 73 73 69 | t with all possi | +| 62 6C 65 20 70 72 69 6E 74 61 62 6C 65 20 63 68 | ble printable ch | +| 61 72 61 63 74 65 72 73 2E 0A 0A 40 3D 21 20 21 | aracters...@=! ! | +| 3D 22 20 22 3D 23 20 23 3D 24 20 24 3D 25 20 25 | =" "=# #=$ $=% % | +| 3D 26 20 26 3D 27 20 27 3D 28 20 28 3D 29 20 29 | =& &=' '=( (=) ) | +| 3D 2A 20 2A 3D 2B 20 2B 3D 2C 20 2C 3D 2D 20 2D | =* *=+ +=, ,=- - | +| 3D 2E 20 2E 3D 2F 0A 2F 3D 30 20 30 3D 31 20 31 | =. .=/./=0 0=1 1 | +| 3D 32 20 32 3D 33 20 33 3D 34 20 34 3D 35 20 35 | =2 2=3 3=4 4=5 5 | +| 3D 36 20 36 3D 37 20 37 3D 38 20 38 3D 39 20 39 | =6 6=7 7=8 8=9 9 | +| 3D 3A 20 3A 3D 3B 20 3B 3D 3C 20 3C 3D 3D 20 3D | =: :=; ;=< <== = | +| 3D 3E 0A 3E 3D 3F 20 3F 3D 40 20 40 3D 41 20 41 | =>.>=? ?=@ @=A A | +| 3D 42 20 42 3D 43 20 43 3D 44 20 44 3D 45 20 45 | =B B=C C=D D=E E | +| 3D 46 20 46 3D 47 20 47 3D 48 20 48 3D 49 20 49 | =F F=G G=H H=I I | +| 3D 4A 20 4A 3D 4B 20 4B 3D 4C 20 4C 3D 4D 0A 4D | =J J=K K=L L=M.M | +| 3D 4E 20 4E 3D 4F 20 4F 3D 50 20 50 3D 51 20 51 | =N N=O O=P P=Q Q | +| 3D 52 20 52 3D 53 20 53 3D 54 20 54 3D 55 20 55 | =R R=S S=T T=U U | +| 3D 56 20 56 3D 57 20 57 3D 58 20 58 3D 59 20 59 | =V V=W W=X X=Y Y | +| 3D 5A 20 5A 3D 5B 20 5B 3D 5C 0A 5C 3D 5D 20 5D | =Z Z=[ [=\.\=] ] | +| 3D 5E 20 5E 3D 5F 20 5F 3D 60 20 60 3D 61 20 61 | =^ ^=_ _=` `=a a | +| 3D 62 20 62 3D 63 20 63 3D 64 20 64 3D 65 20 65 | =b b=c c=d d=e e | +| 3D 66 20 66 3D 67 20 67 3D 68 20 68 3D 69 20 69 | =f f=g g=h h=i i | +| 3D 6A 20 6A 3D 6B 0A 6B 3D 6C 20 6C 3D 6D 20 6D | =j j=k.k=l l=m m | +| 3D 6E 20 6E 3D 6F 20 6F 3D 70 20 70 3D 71 20 71 | =n n=o o=p p=q q | +| 3D 72 20 72 3D 73 20 73 3D 74 20 74 3D 75 20 75 | =r r=s s=t t=u u | +| 3D 76 20 76 3D 77 20 77 3D 78 20 78 3D 79 20 79 | =v v=w w=x x=y y | +| 3D 7A 0A 7A 3D 7B 20 7B 3D 7C 20 7C 3D 7D 20 7D | =z.z={ {=| |=} } | +| 3D 7E 20 7E 3D 40 0A 0A 32 2E 20 54 65 73 74 20 | =~ ~=@..2. Test | +| 74 68 61 74 20 3C 73 70 65 63 69 61 6C 3E 3D 3C | that <special>=< | +| 73 70 61 63 65 3E 20 69 73 20 66 6C 61 67 67 65 | space> is flagge | +| 64 20 61 73 20 61 6E 20 65 72 72 6F 72 2E 0A 0A | d as an error... | +| 20 20 20 40 3D 20 20 20 20 20 40 21 20 53 68 6F | @= @! Sho | +| 75 6C 64 20 62 65 20 66 6C 61 67 67 65 64 20 61 | uld be flagged a | +| 73 20 61 6E 20 65 72 72 6F 72 2E 0A 0A 33 2E 20 | s an error...3. | +| 54 65 73 74 20 74 68 61 74 20 3C 73 70 65 63 69 | Test that <speci | +| 61 6C 3E 3D 45 4F 4C 20 69 73 20 66 6C 61 67 67 | al>=EOL is flagg | +| 65 64 20 61 73 20 61 6E 20 65 72 72 6F 72 2E 0A | ed as an error.. | +| 0A 20 20 20 40 3D 0A 0A | . @=.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC18: Test <special>#=<010> +00002 00002| <010> +00003 00003| First we trip up the scanner so no further passes take place.<010> +00004 00004| <010> +00005 00005| @<010> +00006 00006| <010> +00007 00007| 1. Test with all possible printable characters.<010> +00008 00008| <010> +00009 00009| @=! !=" "=# #=$ $=% %=& &=' '=( (=) )=* *=+ +=, ,=- -=. .=/<010> +00010 00010| /=0 0=1 1=2 2=3 3=4 4=5 5=6 6=7 7=8 8=9 9=: :=; ;=< <== ==><010> +00011 00011| >=? ?=@ @=A A=B B=C C=D D=E E=F F=G G=H H=I I=J J=K K=L L=M<010> +00012 00012| M=N N=O O=P P=Q Q=R R=S S=T T=U U=V V=W W=X X=Y Y=Z Z=[ [=\<010> +00013 00013| \=] ]=^ ^=_ _=` `=a a=b b=c c=d d=e e=f f=g g=h h=i i=j j=k<010> +00014 00014| k=l l=m m=n n=o o=p p=q q=r r=s s=t t=u u=v v=w w=x x=y y=z<010> +00015 00015| z={ {=| |=} }=~ ~=@<010> +00016 00016| <010> +00017 00017| 2. Test that <special>=<space> is flagged as an error.<010> +00018 00018| <010> +00019 00019| @= @! Should be flagged as an error.<010> +00020 00020| <010> +00021 00021| 3. Test that <special>=EOL is flagged as an error.<010> +00022 00022| <010> +00023 00023| @=<010> +00024 00024| <010> +00025 00025| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 101 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC18: Test <special>#=<010> +<010> +First we trip up the scanner so no further passes take place.<010> +<010> +" +0006[01]: Text. Text scrap[Grey]="<010> +1. Test with all possible printable characters.<010> +<010> +" +0009[04]: Text. Text scrap[White]=" " +0009[08]: Text. Text scrap[White]=" " +0009[12]: Text. Text scrap[White]=" " +0009[16]: Text. Text scrap[White]=" " +0009[20]: Text. Text scrap[White]=" " +0009[24]: Text. Text scrap[White]=" " +0009[28]: Text. Text scrap[White]=" " +0009[32]: Text. Text scrap[White]=" " +0009[36]: Text. Text scrap[White]=" " +0009[40]: Text. Text scrap[White]=" " +0009[44]: Text. Text scrap[White]=" " +0009[48]: Text. Text scrap[White]=" " +0009[52]: Text. Text scrap[White]=" " +0009[56]: Text. Text scrap[White]=" " +0009[60]: Text. Text scrap[White]="<010> +" +0010[04]: Text. Text scrap[White]=" " +0010[08]: Text. Text scrap[White]=" " +0010[12]: Text. Text scrap[White]=" " +0010[16]: Text. Text scrap[White]=" " +0010[20]: Text. Text scrap[White]=" " +0010[24]: Text. Text scrap[White]=" " +0010[28]: Text. Text scrap[White]=" " +0010[32]: Text. Text scrap[White]=" " +0010[36]: Text. Text scrap[White]=" " +0010[40]: Text. Text scrap[White]=" " +0010[44]: Text. Text scrap[White]=" " +0010[48]: Text. Text scrap[White]=" " +0010[52]: Text. Text scrap[White]=" " +0010[56]: Text. Text scrap[White]=" " +0010[60]: Text. Text scrap[White]="<010> +" +0011[04]: Text. Text scrap[White]=" " +0011[08]: Text. Text scrap[White]=" " +0011[12]: Text. Text scrap[White]=" " +0011[16]: Text. Text scrap[White]=" " +0011[20]: Text. Text scrap[White]=" " +0011[24]: Text. Text scrap[White]=" " +0011[28]: Text. Text scrap[White]=" " +0011[32]: Text. Text scrap[White]=" " +0011[36]: Text. Text scrap[White]=" " +0011[40]: Text. Text scrap[White]=" " +0011[44]: Text. Text scrap[White]=" " +0011[48]: Text. Text scrap[White]=" " +0011[52]: Text. Text scrap[White]=" " +0011[56]: Text. Text scrap[White]=" " +0011[60]: Text. Text scrap[White]="<010> +" +0012[04]: Text. Text scrap[White]=" " +0012[08]: Text. Text scrap[White]=" " +0012[12]: Text. Text scrap[White]=" " +0012[16]: Text. Text scrap[White]=" " +0012[20]: Text. Text scrap[White]=" " +0012[24]: Text. Text scrap[White]=" " +0012[28]: Text. Text scrap[White]=" " +0012[32]: Text. Text scrap[White]=" " +0012[36]: Text. Text scrap[White]=" " +0012[40]: Text. Text scrap[White]=" " +0012[44]: Text. Text scrap[White]=" " +0012[48]: Text. Text scrap[White]=" " +0012[52]: Text. Text scrap[White]=" " +0012[56]: Text. Text scrap[White]=" " +0012[60]: Text. Text scrap[White]="<010> +" +0013[04]: Text. Text scrap[White]=" " +0013[08]: Text. Text scrap[White]=" " +0013[12]: Text. Text scrap[White]=" " +0013[16]: Text. Text scrap[White]=" " +0013[20]: Text. Text scrap[White]=" " +0013[24]: Text. Text scrap[White]=" " +0013[28]: Text. Text scrap[White]=" " +0013[32]: Text. Text scrap[White]=" " +0013[36]: Text. Text scrap[White]=" " +0013[40]: Text. Text scrap[White]=" " +0013[44]: Text. Text scrap[White]=" " +0013[48]: Text. Text scrap[White]=" " +0013[52]: Text. Text scrap[White]=" " +0013[56]: Text. Text scrap[White]=" " +0013[60]: Text. Text scrap[White]="<010> +" +0014[04]: Text. Text scrap[White]=" " +0014[08]: Text. Text scrap[White]=" " +0014[12]: Text. Text scrap[White]=" " +0014[16]: Text. Text scrap[White]=" " +0014[20]: Text. Text scrap[White]=" " +0014[24]: Text. Text scrap[White]=" " +0014[28]: Text. Text scrap[White]=" " +0014[32]: Text. Text scrap[White]=" " +0014[36]: Text. Text scrap[White]=" " +0014[40]: Text. Text scrap[White]=" " +0014[44]: Text. Text scrap[White]=" " +0014[48]: Text. Text scrap[White]=" " +0014[52]: Text. Text scrap[White]=" " +0014[56]: Text. Text scrap[White]=" " +0014[60]: Text. Text scrap[White]="<010> +" +0015[04]: Text. Text scrap[White]=" " +0015[08]: Text. Text scrap[White]=" " +0015[12]: Text. Text scrap[White]=" " +0015[16]: Text. Text scrap[White]=" " +0015[20]: Text. Text scrap[Grey]="<010> +<010> +2. Test that <special>=<space> is flagged as an error.<010> +<010> + " +0019[07]: Text. Text scrap[White]=" " +0020[01]: Text. Text scrap[Grey]="<010> +3. Test that <special>=EOL is flagged as an error.<010> +<010> + " +0024[01]: Text. Text scrap[White]="<010> +" +0025[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC18: Test <special>#= + 2 2| + 3 3| First we trip up the scanner so no further passes take place. + 4 4| + 5 5| @ + Error|.^<special><endofline> is not a legal special sequence. + 6 6| + 7 7| 1. Test with all possible printable characters. + 8 8| + 9 9| @=! !=" "=# #=$ $=% %=& &=' '=( (=) )=* *=+ +=, ,=- -=. .=/ + 10 10| /=0 0=1 1=2 2=3 3=4 4=5 5=6 6=7 7=8 8=9 9=: :=; ;=< <== ==> + 11 11| >=? ?=@ @=A A=B B=C C=D D=E E=F F=G G=H H=I I=J J=K K=L L=M + 12 12| M=N N=O O=P P=Q Q=R R=S S=T T=U U=V V=W W=X X=Y Y=Z Z=[ [=\ + 13 13| \=] ]=^ ^=_ _=` `=a a=b b=c c=d d=e e=f f=g g=h h=i i=j j=k + 14 14| k=l l=m m=n n=o o=p p=q q=r r=s s=t t=u u=v v=w w=x x=y y=z + 15 15| z={ {=| |=} }=~ ~=@ + 16 16| + 17 17| 2. Test that <special>=<space> is flagged as an error. + 18 18| + 19 19| @= @! Should be flagged as an error. + Error|....^You cannot set the special character to <space>! + |....^Special sequence ignored. + 20 20| + 21 21| 3. Test that <special>=EOL is flagged as an error. + 22 22| + 23 23| @= + Error|....^You cannot set the special character to <endofline>! + |....^Special sequence ignored. + 24 24| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 3 Errors. diff --git a/web/funnelAC/results/sc19.lis b/web/funnelAC/results/sc19.lis new file mode 100644 index 0000000000..50da9c5e30 --- /dev/null +++ b/web/funnelAC/results/sc19.lis @@ -0,0 +1,96 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 31 39 3A 20 54 65 73 74 20 3C 73 70 65 63 | SC19: Test <spec | +| 69 61 6C 3E 2D 0A 0A 31 2E 20 54 65 73 74 20 74 | ial>-..1. Test t | +| 68 61 74 20 65 72 72 6F 72 20 69 73 20 66 6C 61 | hat error is fla | +| 67 67 65 64 20 69 66 20 73 65 71 75 65 6E 63 65 | gged if sequence | +| 20 69 73 20 6E 6F 74 20 61 74 20 74 68 65 20 65 | is not at the e | +| 6E 64 20 6F 66 20 61 20 6C 69 6E 65 2E 0A 0A 54 | nd of a line...T | +| 68 69 73 20 69 73 20 61 20 6C 69 6E 65 20 63 6F | his is a line co | +| 6E 74 61 69 6E 69 6E 67 20 40 2D 20 74 68 65 20 | ntaining @- the | +| 65 6E 64 20 6F 66 20 6C 69 6E 65 20 73 75 70 70 | end of line supp | +| 72 65 73 73 6F 72 2E 0A 0A 32 2E 20 54 65 73 74 | ressor...2. Test | +| 20 74 68 65 20 73 65 71 75 65 6E 63 65 20 66 6F | the sequence fo | +| 6C 6C 6F 77 65 64 20 62 79 20 74 72 61 69 6C 69 | llowed by traili | +| 6E 67 20 62 6C 61 6E 6B 73 2E 0A 0A 20 20 20 20 | ng blanks... | +| 20 40 2D 20 20 20 0A 0A | @- .. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC19: Test <special>-<010> +00002 00002| <010> +00003 00003| 1. Test that error is flagged if sequence is not at the end of a line.<010> +00004 00004| <010> +00005 00005| This is a line containing @- the end of line suppressor.<010> +00006 00006| <010> +00007 00007| 2. Test the sequence followed by trailing blanks.<010> +00008 00008| <010> +00009 00009| @- <010> +00010 00010| <010> +00011 00011| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 4 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC19: Test <special>-<010> +<010> +1. Test that error is flagged if sequence is not at the end of a line.<010> +<010> +This is a line containing " +0005[29]: Text. Text scrap[Grey]=" the end of line suppressor.<010> +<010> +2. Test the sequence followed by trailing blanks.<010> +<010> + " +0009[08]: Text. Text scrap[White]=" <010> +<010> +" +0011[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC19: Test <special>- + 2 2| + 3 3| 1. Test that error is flagged if sequence is not at the end of a line. + 4 4| + 5 5| This is a line containing @- the end of line suppressor. + Error|...........................^Suppress EOL sequence is legal only at the end of a line + |...........................^unless `@p ignore_text_after_special_minus' is used. + 6 6| + 7 7| 2. Test the sequence followed by trailing blanks. + 8 8| + 9 9| @- + Error|......^Suppress EOL sequence is legal only at the end of a line + |......^unless `@p ignore_text_after_special_minus' is used. + Warning|..........^Line has trailing spaces up to and including this space. + 10 10| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 2 Errors and 1 Warning. diff --git a/web/funnelAC/results/sc20.lis b/web/funnelAC/results/sc20.lis new file mode 100644 index 0000000000..8b81e40626 --- /dev/null +++ b/web/funnelAC/results/sc20.lis @@ -0,0 +1,198 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 32 30 3A 20 54 65 73 74 20 40 21 0A 0A 31 | SC20: Test @!..1 | +| 2E 20 54 65 73 74 20 61 74 20 74 68 65 20 73 74 | . Test at the st | +| 61 72 74 20 6F 66 20 61 20 6C 69 6E 65 2E 0A 0A | art of a line... | +| 40 21 20 54 68 69 73 20 69 73 20 61 20 63 6F 6D | @! This is a com | +| 6D 65 6E 74 20 61 6E 64 20 77 65 20 63 61 6E 20 | ment and we can | +| 73 74 69 63 6B 20 61 6E 79 20 73 6F 72 74 20 6F | stick any sort o | +| 66 20 72 75 62 62 69 73 68 20 69 6E 20 69 74 2E | f rubbish in it. | +| 0A 40 21 20 40 23 20 40 69 20 40 5E 64 73 3B 61 | .@! @# @i @^ds;a | +| 66 3B 6C 73 64 6D 66 3B 6C 61 6E 64 20 6F 74 68 | f;lsdmf;land oth | +| 65 72 20 40 20 72 75 62 62 69 73 68 2E 0A 0A 32 | er @ rubbish...2 | +| 2E 20 54 65 73 74 20 68 61 6C 66 77 61 79 20 74 | . Test halfway t | +| 68 72 6F 75 67 68 20 61 20 6C 69 6E 65 2E 0A 0A | hrough a line... | +| 54 68 69 73 20 69 73 20 61 20 6C 69 6E 65 20 40 | This is a line @ | +| 21 20 77 68 6F 73 65 20 73 65 63 6F 6E 64 20 68 | ! whose second h | +| 61 6C 66 20 6E 65 76 65 72 20 73 65 65 73 20 74 | alf never sees t | +| 68 65 20 64 61 79 6C 69 67 68 74 2E 20 40 69 20 | he daylight. @i | +| 40 3C 0A 0A | @<.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC20: Test @!<010> +00002 00002| <010> +00003 00003| 1. Test at the start of a line.<010> +00004 00004| <010> +00005 00005| @! This is a comment and we can stick any sort of rubbish in it.<010> +00006 00006| @! @# @i @^ds;af;lsdmf;land other @ rubbish.<010> +00007 00007| <010> +00008 00008| 2. Test halfway through a line.<010> +00009 00009| <010> +00010 00010| This is a line @! whose second half never sees the daylight. @i @<<010> +00011 00011| <010> +00012 00012| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 5 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC20: Test " +0002[01]: Text. Text scrap[Grey]="<010> +1. Test at the start of a line.<010> +<010> +" +0007[01]: Text. Text scrap[Grey]="<010> +2. Test halfway through a line.<010> +<010> +This is a line " +0011[01]: Text. Text scrap[White]="<010> +" +0012[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + + +========================== Start of MACRO TABLE DUMP =========================== + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#file" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#line" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +------------------- Start of Macro Dump -------------------- +Macro Name : "#timestamp" +Defined? : Yes. +Parameters : 0 +Additive? : No. +Zero Calls? : Yes. +Many Calls? : Yes. +Output File?: No. +Automatic Line Directive Macro?: No. +Call list : +Macro body : + +--Start of List of Body Parts-- +This macro has 1 body part. +Body part 1: Seqnum=0, Pos(L,C)=(5369005744,5368823512), Expression follows: + +---- Start of Expression ---- + +--- Start Special Function --- +---- End Special Function ---- + +----- End of Expression ----- + +---End of List of Body Parts--- + +-------------------- End of Macro Dump --------------------- + + + +=========================== End of MACRO TABLE DUMP ============================ + + +========================= Start of DOCUMENT LIST DUMP ========================== + + +TEXT COMPONENT: Pos(L,C)=(1,1). + +-- Start of Text Scrap List -- +Text scrap[Grey]="SC20: Test " +Text scrap[Grey]="<010> +1. Test at the start of a line.<010> +<010> +" +Text scrap[Grey]="<010> +2. Test halfway through a line.<010> +<010> +This is a line " +Text scrap[White]="<010> +" +--- End of Text Scrap List --- + + +========================== End of DOCUMENT LIST DUMP =========================== + +E: No output files specified. + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +There was 1 Error. diff --git a/web/funnelAC/results/sc21.lis b/web/funnelAC/results/sc21.lis new file mode 100644 index 0000000000..84cae9a495 --- /dev/null +++ b/web/funnelAC/results/sc21.lis @@ -0,0 +1,411 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 32 31 3A 20 54 65 73 74 20 67 65 6E 65 72 | SC21: Test gener | +| 69 63 20 73 79 6E 74 61 78 20 63 68 65 63 6B 69 | ic syntax checki | +| 6E 67 20 6F 66 20 70 72 61 67 6D 61 73 20 61 6E | ng of pragmas an | +| 64 20 74 79 70 65 73 65 74 74 65 72 20 64 69 72 | d typesetter dir | +| 65 63 74 69 76 65 73 2E 0A 0A 31 2E 20 54 65 73 | ectives...1. Tes | +| 74 20 70 72 61 67 6D 61 20 6E 6F 74 20 61 74 20 | t pragma not at | +| 74 68 65 20 73 74 61 72 74 20 6F 66 20 6C 69 6E | the start of lin | +| 65 2E 0A 20 20 20 40 70 0A 20 20 20 40 74 0A 0A | e.. @p. @t.. | +| 32 2E 20 54 65 73 74 20 63 68 61 72 61 63 74 65 | 2. Test characte | +| 72 20 66 6F 6C 6C 6F 77 69 6E 67 20 3C 73 70 65 | r following <spe | +| 63 69 61 6C 3E 70 20 69 73 20 6E 6F 74 20 61 20 | cial>p is not a | +| 62 6C 61 6E 6B 2E 0A 40 70 78 0A 40 74 78 0A 40 | blank..@px.@tx.@ | +| 70 0A 40 74 0A 0A 33 2E 20 54 65 73 74 20 70 72 | p.@t..3. Test pr | +| 61 67 6D 61 20 6C 69 6E 65 20 69 73 20 74 6F 6F | agma line is too | +| 20 6C 6F 6E 67 20 28 6C 69 6D 69 74 20 69 73 20 | long (limit is | +| 31 30 30 29 0A 20 20 20 20 20 20 20 20 20 31 20 | 100). 1 | +| 20 20 20 20 20 20 20 20 32 20 20 20 20 20 20 20 | 2 | +| 20 20 33 20 20 20 20 20 20 20 20 20 34 20 20 20 | 3 4 | +| 20 20 20 20 20 20 35 20 20 20 20 20 20 20 20 20 | 5 | +| 36 20 20 20 20 20 20 20 20 20 37 20 20 20 20 20 | 6 7 | +| 20 20 20 20 38 20 20 20 20 20 20 20 20 20 39 20 | 8 9 | +| 20 20 20 20 20 20 20 20 31 0A 40 70 20 34 35 36 | 1.@p 456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 0A 40 | 78901234567890.@ | +| 70 20 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | p 45678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 0A 40 74 20 34 35 36 37 38 39 30 31 | 8901.@t 45678901 | +| 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 | 2345678901234567 | +| 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 | 8901234567890123 | +| 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 | 4567890123456789 | +| 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 | 0123456789012345 | +| 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 | 6789012345678901 | +| 32 33 34 35 36 37 38 39 30 0A 40 74 20 34 35 36 | 234567890.@t 456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 | 7890123456789012 | +| 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 | 3456789012345678 | +| 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 | 9012345678901234 | +| 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 | 5678901234567890 | +| 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 | 1234567890123456 | +| 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 0A | 789012345678901. | +| 0A 34 2E 20 54 65 73 74 20 76 61 72 69 6F 75 73 | .4. Test various | +| 20 64 69 66 66 65 72 65 6E 74 20 70 72 61 67 6D | different pragm | +| 61 20 6C 69 6E 65 73 2E 0A 40 70 20 24 23 25 40 | a lines..@p $#%@ | +| 20 32 35 32 35 20 20 73 6C 6F 74 68 0A 40 74 20 | 2525 sloth.@t | +| 24 23 25 40 20 32 35 32 35 20 20 73 6C 6F 74 68 | $#%@ 2525 sloth | +| 0A 0A 35 2E 20 54 65 73 74 20 70 72 61 67 6D 61 | ..5. Test pragma | +| 20 77 69 74 68 20 6E 6F 20 61 72 67 75 6D 65 6E | with no argumen | +| 74 73 2E 20 28 57 69 6C 6C 20 67 65 74 20 61 20 | ts. (Will get a | +| 74 72 61 69 6C 69 6E 67 20 62 6C 61 6E 6B 73 20 | trailing blanks | +| 65 72 72 6F 72 2E 29 2E 0A 40 70 20 20 20 20 0A | error.)..@p . | +| 40 74 20 20 20 20 0A 0A 36 2E 20 54 65 73 74 20 | @t ..6. Test | +| 70 72 61 67 6D 61 20 77 69 74 68 20 74 6F 6F 20 | pragma with too | +| 6D 61 6E 79 20 61 72 67 75 6D 65 6E 74 73 2E 0A | many arguments.. | +| 40 70 20 61 20 62 20 63 20 64 20 65 20 66 20 67 | @p a b c d e f g | +| 20 68 20 69 20 6A 20 6B 20 6C 20 6D 20 6E 20 6F | h i j k l m n o | +| 20 70 20 71 20 72 20 73 20 74 20 75 20 76 20 77 | p q r s t u v w | +| 20 78 20 79 20 7A 0A 40 74 20 61 20 62 20 63 20 | x y z.@t a b c | +| 64 20 65 20 66 20 67 20 68 20 69 20 6A 20 6B 20 | d e f g h i j k | +| 6C 20 6D 20 6E 20 6F 20 70 20 71 20 72 20 73 20 | l m n o p q r s | +| 74 20 75 20 76 20 77 20 78 20 79 20 7A 0A 0A | t u v w x y z.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC21: Test generic syntax checking of pragmas and typesetter directives.<010> +00002 00002| <010> +00003 00003| 1. Test pragma not at the start of line.<010> +00004 00004| @p<010> +00005 00005| @t<010> +00006 00006| <010> +00007 00007| 2. Test character following <special>p is not a blank.<010> +00008 00008| @px<010> +00009 00009| @tx<010> +00010 00010| @p<010> +00011 00011| @t<010> +00012 00012| <010> +00013 00013| 3. Test pragma line is too long (limit is 100)<010> +00014 00014| 1 2 3 4 5 6 7 8 9 1<010> +00015 00015| @p 4567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890<010> +00016 00016| @p 45678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901<010> +00017 00017| @t 4567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890<010> +00018 00018| @t 45678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901<010> +00019 00019| <010> +00020 00020| 4. Test various different pragma lines.<010> +00021 00021| @p $#%@ 2525 sloth<010> +00022 00022| @t $#%@ 2525 sloth<010> +00023 00023| <010> +00024 00024| 5. Test pragma with no arguments. (Will get a trailing blanks error.).<010> +00025 00025| @p <010> +00026 00026| @t <010> +00027 00027| <010> +00028 00028| 6. Test pragma with too many arguments.<010> +00029 00029| @p a b c d e f g h i j k l m n o p q r s t u v w x y z<010> +00030 00030| @t a b c d e f g h i j k l m n o p q r s t u v w x y z<010> +00031 00031| <010> +00032 00032| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 9 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC21: Test generic syntax checking of pragmas and typesetter directives.<010> +<010> +1. Test pragma not at the start of line.<010> + " +0005[01]: Text. Text scrap[White]=" " +0006[01]: Text. Text scrap[Grey]="<010> +2. Test character following <special>p is not a blank.<010> +" +0012[01]: Text. Text scrap[Grey]="<010> +3. Test pragma line is too long (limit is 100)<010> + 1 2 3 4 5 6 7 8 9 1<010> +" +0019[01]: Text. Text scrap[Grey]="<010> +4. Test various different pragma lines.<010> +" +0023[01]: Text. Text scrap[Grey]="<010> +5. Test pragma with no arguments. (Will get a trailing blanks error.).<010> +" +0027[01]: Text. Text scrap[Grey]="<010> +6. Test pragma with too many arguments.<010> +" +0031[01]: Text. Text scrap[White]="<010> +" +0032[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC21: Test generic syntax checking of pragmas and typesetter directives. + 2 2| + 3 3| 1. Test pragma not at the start of line. + 4 4| @p + Error|....^Pragma sequence @p must be at the start of a line. + |....^The rest of this line will be ignored. + Error|....^Unrecognised pragma. Possible legal pragmas are: + |....^ @p indentation = none | blank + |....^ @p maximum_input_line_length = <num>|infinity + |....^ @p maximum_output_line_length = <num>|infinity + |....^ @p typesetter = none | tex | hypertext | html + |....^ @p no_doc_header + |....^ @p raw_macro_and_section_names + |....^ @p ignore_text_after_special_minus + |....^ @p no_paragraph_markups + |....^ @p declare_source_code_type "<name>" + |....^ @p automatic_line_directive_macro = "<name>" + |....^ @p automatic_line_directive_macro = "<name>" "<srctype>" + |....^ @p #line_offset = <num> + |....^ @p #line_depth = <num> + |....^The blanks between arguments are important. + |....^Pragma ignored. + 5 5| @t + Error|....^Typesetter directive @t must be at the start of a line. + |....^The rest of this line will be ignored. + Error|....^Unrecognised typesetter directive. Legal ones are: + |....^ @t new_page + |....^ @t table_of_contents + |....^ @t title <font> <align> <string> + |....^ @t vskip <num> mm + |....^The blanks between arguments are important. + |....^Typesetter directive ignored. + 6 6| + 7 7| 2. Test character following <special>p is not a blank. + 8 8| @px + Error|.^Pragma sequence @p must be followed by a blank. + Error|.^Unrecognised pragma. Possible legal pragmas are: + |.^ @p indentation = none | blank + |.^ @p maximum_input_line_length = <num>|infinity + |.^ @p maximum_output_line_length = <num>|infinity + |.^ @p typesetter = none | tex | hypertext | html + |.^ @p no_doc_header + |.^ @p raw_macro_and_section_names + |.^ @p ignore_text_after_special_minus + |.^ @p no_paragraph_markups + |.^ @p declare_source_code_type "<name>" + |.^ @p automatic_line_directive_macro = "<name>" + |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" + |.^ @p #line_offset = <num> + |.^ @p #line_depth = <num> + |.^The blanks between arguments are important. + |.^Pragma ignored. + 9 9| @tx + Error|.^Typesetter directive @t must be followed by a blank. + Error|.^Unrecognised typesetter directive. Legal ones are: + |.^ @t new_page + |.^ @t table_of_contents + |.^ @t title <font> <align> <string> + |.^ @t vskip <num> mm + |.^The blanks between arguments are important. + |.^Typesetter directive ignored. + 10 10| @p + Error|.^Pragma sequence @p must be followed by a blank. + Error|.^Unrecognised pragma. Possible legal pragmas are: + |.^ @p indentation = none | blank + |.^ @p maximum_input_line_length = <num>|infinity + |.^ @p maximum_output_line_length = <num>|infinity + |.^ @p typesetter = none | tex | hypertext | html + |.^ @p no_doc_header + |.^ @p raw_macro_and_section_names + |.^ @p ignore_text_after_special_minus + |.^ @p no_paragraph_markups + |.^ @p declare_source_code_type "<name>" + |.^ @p automatic_line_directive_macro = "<name>" + |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" + |.^ @p #line_offset = <num> + |.^ @p #line_depth = <num> + |.^The blanks between arguments are important. + |.^Pragma ignored. + 11 11| @t + Error|.^Typesetter directive @t must be followed by a blank. + Error|.^Unrecognised typesetter directive. Legal ones are: + |.^ @t new_page + |.^ @t table_of_contents + |.^ @t title <font> <align> <string> + |.^ @t vskip <num> mm + |.^The blanks between arguments are important. + |.^Typesetter directive ignored. + 12 12| + 13 13| 3. Test pragma line is too long (limit is 100) + 14 14| 1 2 3 4 5 6 7 8 9 1 + Error|.................................................................................^Input line is too long (this character is the first offender). + |.................................................................................^Currently, the maximum allowable input line length is 80. + |.................................................................................^Note: You can change this using a pragma directive (@p). + 15 15| @p 4567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 + Error|.^Unrecognised pragma. Possible legal pragmas are: + |.^ @p indentation = none | blank + |.^ @p maximum_input_line_length = <num>|infinity + |.^ @p maximum_output_line_length = <num>|infinity + |.^ @p typesetter = none | tex | hypertext | html + |.^ @p no_doc_header + |.^ @p raw_macro_and_section_names + |.^ @p ignore_text_after_special_minus + |.^ @p no_paragraph_markups + |.^ @p declare_source_code_type "<name>" + |.^ @p automatic_line_directive_macro = "<name>" + |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" + |.^ @p #line_offset = <num> + |.^ @p #line_depth = <num> + |.^The blanks between arguments are important. + |.^Pragma ignored. + Error|.................................................................................^Input line is too long (this character is the first offender). + |.................................................................................^Currently, the maximum allowable input line length is 80. + |.................................................................................^Note: You can change this using a pragma directive (@p). + 16 16| @p 45678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 + Error|.^This pragma line is too long. + |.^The maximum pragma line length is 100 characters. + Error|.^Unrecognised pragma. Possible legal pragmas are: + |.^ @p indentation = none | blank + |.^ @p maximum_input_line_length = <num>|infinity + |.^ @p maximum_output_line_length = <num>|infinity + |.^ @p typesetter = none | tex | hypertext | html + |.^ @p no_doc_header + |.^ @p raw_macro_and_section_names + |.^ @p ignore_text_after_special_minus + |.^ @p no_paragraph_markups + |.^ @p declare_source_code_type "<name>" + |.^ @p automatic_line_directive_macro = "<name>" + |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" + |.^ @p #line_offset = <num> + |.^ @p #line_depth = <num> + |.^The blanks between arguments are important. + |.^Pragma ignored. + Error|.................................................................................^Input line is too long (this character is the first offender). + |.................................................................................^Currently, the maximum allowable input line length is 80. + |.................................................................................^Note: You can change this using a pragma directive (@p). + 17 17| @t 4567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 + Error|.^Unrecognised typesetter directive. Legal ones are: + |.^ @t new_page + |.^ @t table_of_contents + |.^ @t title <font> <align> <string> + |.^ @t vskip <num> mm + |.^The blanks between arguments are important. + |.^Typesetter directive ignored. + Error|.................................................................................^Input line is too long (this character is the first offender). + |.................................................................................^Currently, the maximum allowable input line length is 80. + |.................................................................................^Note: You can change this using a pragma directive (@p). + 18 18| @t 45678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 + Error|.^This typestter directive line is too long. + |.^The maximum typesetter directive line length is 100 characters. + Error|.^Unrecognised typesetter directive. Legal ones are: + |.^ @t new_page + |.^ @t table_of_contents + |.^ @t title <font> <align> <string> + |.^ @t vskip <num> mm + |.^The blanks between arguments are important. + |.^Typesetter directive ignored. + Error|.................................................................................^Input line is too long (this character is the first offender). + |.................................................................................^Currently, the maximum allowable input line length is 80. + |.................................................................................^Note: You can change this using a pragma directive (@p). + 19 19| + 20 20| 4. Test various different pragma lines. + 21 21| @p $#%@ 2525 sloth + Error|.^Unrecognised pragma. Possible legal pragmas are: + |.^ @p indentation = none | blank + |.^ @p maximum_input_line_length = <num>|infinity + |.^ @p maximum_output_line_length = <num>|infinity + |.^ @p typesetter = none | tex | hypertext | html + |.^ @p no_doc_header + |.^ @p raw_macro_and_section_names + |.^ @p ignore_text_after_special_minus + |.^ @p no_paragraph_markups + |.^ @p declare_source_code_type "<name>" + |.^ @p automatic_line_directive_macro = "<name>" + |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" + |.^ @p #line_offset = <num> + |.^ @p #line_depth = <num> + |.^The blanks between arguments are important. + |.^Pragma ignored. + 22 22| @t $#%@ 2525 sloth + Error|.^Unrecognised typesetter directive. Legal ones are: + |.^ @t new_page + |.^ @t table_of_contents + |.^ @t title <font> <align> <string> + |.^ @t vskip <num> mm + |.^The blanks between arguments are important. + |.^Typesetter directive ignored. + 23 23| + 24 24| 5. Test pragma with no arguments. (Will get a trailing blanks error.). + 25 25| @p + Error|.^Pragma sequence @p must be followed by a keyword. + Error|.^Unrecognised pragma. Possible legal pragmas are: + |.^ @p indentation = none | blank + |.^ @p maximum_input_line_length = <num>|infinity + |.^ @p maximum_output_line_length = <num>|infinity + |.^ @p typesetter = none | tex | hypertext | html + |.^ @p no_doc_header + |.^ @p raw_macro_and_section_names + |.^ @p ignore_text_after_special_minus + |.^ @p no_paragraph_markups + |.^ @p declare_source_code_type "<name>" + |.^ @p automatic_line_directive_macro = "<name>" + |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" + |.^ @p #line_offset = <num> + |.^ @p #line_depth = <num> + |.^The blanks between arguments are important. + |.^Pragma ignored. + Warning|......^Line has trailing spaces up to and including this space. + 26 26| @t + Error|.^Typesetter directive @t must be followed by a keyword. + Error|.^Unrecognised typesetter directive. Legal ones are: + |.^ @t new_page + |.^ @t table_of_contents + |.^ @t title <font> <align> <string> + |.^ @t vskip <num> mm + |.^The blanks between arguments are important. + |.^Typesetter directive ignored. + Warning|......^Line has trailing spaces up to and including this space. + 27 27| + 28 28| 6. Test pragma with too many arguments. + 29 29| @p a b c d e f g h i j k l m n o p q r s t u v w x y z + Error|.^Unrecognised pragma. Possible legal pragmas are: + |.^ @p indentation = none | blank + |.^ @p maximum_input_line_length = <num>|infinity + |.^ @p maximum_output_line_length = <num>|infinity + |.^ @p typesetter = none | tex | hypertext | html + |.^ @p no_doc_header + |.^ @p raw_macro_and_section_names + |.^ @p ignore_text_after_special_minus + |.^ @p no_paragraph_markups + |.^ @p declare_source_code_type "<name>" + |.^ @p automatic_line_directive_macro = "<name>" + |.^ @p automatic_line_directive_macro = "<name>" "<srctype>" + |.^ @p #line_offset = <num> + |.^ @p #line_depth = <num> + |.^The blanks between arguments are important. + |.^Pragma ignored. + 30 30| @t a b c d e f g h i j k l m n o p q r s t u v w x y z + Error|.^Unrecognised typesetter directive. Legal ones are: + |.^ @t new_page + |.^ @t table_of_contents + |.^ @t title <font> <align> <string> + |.^ @t vskip <num> mm + |.^The blanks between arguments are important. + |.^Typesetter directive ignored. + 31 31| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 31 Errors and 2 Warnings. diff --git a/web/funnelAC/results/sc22.lis b/web/funnelAC/results/sc22.lis new file mode 100644 index 0000000000..5fd10d7311 --- /dev/null +++ b/web/funnelAC/results/sc22.lis @@ -0,0 +1,165 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 32 32 3A 20 54 65 73 74 20 73 79 6E 74 61 | SC22: Test synta | +| 78 20 63 68 65 63 6B 69 6E 67 20 6F 66 20 69 6E | x checking of in | +| 70 75 74 20 6C 69 6E 65 20 6C 65 6E 67 74 68 20 | put line length | +| 70 72 61 67 6D 61 2E 0A 0A 31 2E 20 54 65 73 74 | pragma...1. Test | +| 20 6E 6F 74 20 74 68 72 65 65 20 61 72 67 75 6D | not three argum | +| 65 6E 74 73 2E 0A 40 70 20 6D 61 78 69 6D 75 6D | ents..@p maximum | +| 5F 69 6E 70 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 | _input_line_leng | +| 74 68 0A 40 70 20 6D 61 78 69 6D 75 6D 5F 69 6E | th.@p maximum_in | +| 70 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 74 68 20 | put_line_length | +| 3D 0A 40 70 20 6D 61 78 69 6D 75 6D 5F 69 6E 70 | =.@p maximum_inp | +| 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 74 68 20 3D | ut_line_length = | +| 20 78 78 78 20 79 79 79 0A 0A 32 2E 20 54 65 73 | xxx yyy..2. Tes | +| 74 20 73 65 63 6F 6E 64 20 61 72 67 75 6D 65 6E | t second argumen | +| 74 20 6E 6F 74 20 22 3D 22 2E 0A 40 70 20 6D 61 | t not "="..@p ma | +| 78 69 6D 75 6D 5F 69 6E 70 75 74 5F 6C 69 6E 65 | ximum_input_line | +| 5F 6C 65 6E 67 74 68 20 78 20 73 6C 6F 74 68 0A | _length x sloth. | +| 0A 33 2E 20 54 65 73 74 20 76 61 6C 75 65 20 6F | .3. Test value o | +| 66 20 69 6E 66 69 6E 69 74 79 2E 0A 40 70 20 6D | f infinity..@p m | +| 61 78 69 6D 75 6D 5F 69 6E 70 75 74 5F 6C 69 6E | aximum_input_lin | +| 65 5F 6C 65 6E 67 74 68 20 3D 20 69 6E 66 69 6E | e_length = infin | +| 69 74 79 0A 0A 34 2E 20 54 65 73 74 20 6E 6F 6E | ity..4. Test non | +| 2D 64 65 63 69 6D 61 6C 20 64 69 67 69 74 20 69 | -decimal digit i | +| 6E 20 6E 75 6D 62 65 72 2E 0A 40 70 20 6D 61 78 | n number..@p max | +| 69 6D 75 6D 5F 69 6E 70 75 74 5F 6C 69 6E 65 5F | imum_input_line_ | +| 6C 65 6E 67 74 68 20 3D 20 32 65 66 0A 0A 35 2E | length = 2ef..5. | +| 20 54 65 73 74 20 6E 75 6D 62 65 72 20 69 73 20 | Test number is | +| 6D 6F 72 65 20 74 68 61 6E 20 65 69 67 68 74 20 | more than eight | +| 64 69 67 69 74 73 20 6C 6F 6E 67 2E 0A 40 70 20 | digits long..@p | +| 6D 61 78 69 6D 75 6D 5F 69 6E 70 75 74 5F 6C 69 | maximum_input_li | +| 6E 65 5F 6C 65 6E 67 74 68 20 3D 20 31 32 33 34 | ne_length = 1234 | +| 35 36 37 38 39 0A 0A 36 2E 20 54 65 73 74 20 6E | 56789..6. Test n | +| 75 6D 62 65 72 20 69 73 20 65 78 61 63 74 6C 79 | umber is exactly | +| 20 65 69 67 68 74 20 64 69 67 69 74 73 20 6C 6F | eight digits lo | +| 6E 67 2E 0A 40 70 20 6D 61 78 69 6D 75 6D 5F 69 | ng..@p maximum_i | +| 6E 70 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 74 68 | nput_line_length | +| 20 3D 20 31 32 33 34 35 36 37 38 0A 0A 0A | = 12345678... | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC22: Test syntax checking of input line length pragma.<010> +00002 00002| <010> +00003 00003| 1. Test not three arguments.<010> +00004 00004| @p maximum_input_line_length<010> +00005 00005| @p maximum_input_line_length =<010> +00006 00006| @p maximum_input_line_length = xxx yyy<010> +00007 00007| <010> +00008 00008| 2. Test second argument not "=".<010> +00009 00009| @p maximum_input_line_length x sloth<010> +00010 00010| <010> +00011 00011| 3. Test value of infinity.<010> +00012 00012| @p maximum_input_line_length = infinity<010> +00013 00013| <010> +00014 00014| 4. Test non-decimal digit in number.<010> +00015 00015| @p maximum_input_line_length = 2ef<010> +00016 00016| <010> +00017 00017| 5. Test number is more than eight digits long.<010> +00018 00018| @p maximum_input_line_length = 123456789<010> +00019 00019| <010> +00020 00020| 6. Test number is exactly eight digits long.<010> +00021 00021| @p maximum_input_line_length = 12345678<010> +00022 00022| <010> +00023 00023| <010> +00024 00024| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 8 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC22: Test syntax checking of input line length pragma.<010> +<010> +1. Test not three arguments.<010> +" +0007[01]: Text. Text scrap[Grey]="<010> +2. Test second argument not "=".<010> +" +0010[01]: Text. Text scrap[Grey]="<010> +3. Test value of infinity.<010> +" +0013[01]: Text. Text scrap[Grey]="<010> +4. Test non-decimal digit in number.<010> +" +0016[01]: Text. Text scrap[Grey]="<010> +5. Test number is more than eight digits long.<010> +" +0019[01]: Text. Text scrap[Grey]="<010> +6. Test number is exactly eight digits long.<010> +" +0022[01]: Text. Text scrap[White]="<010> +<010> +" +0024[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC22: Test syntax checking of input line length pragma. + 2 2| + 3 3| 1. Test not three arguments. + 4 4| @p maximum_input_line_length + Error|.^This pragma has the wrong number of arguments. + |.^The correct format is: "@p maximum_input_line_length = <num>|infinity". + |.^Pragma ignored. + 5 5| @p maximum_input_line_length = + Error|.^This pragma has the wrong number of arguments. + |.^The correct format is: "@p maximum_input_line_length = <num>|infinity". + |.^Pragma ignored. + 6 6| @p maximum_input_line_length = xxx yyy + Error|.^This pragma has the wrong number of arguments. + |.^The correct format is: "@p maximum_input_line_length = <num>|infinity". + |.^Pragma ignored. + 7 7| + 8 8| 2. Test second argument not "=". + 9 9| @p maximum_input_line_length x sloth + |.^The correct format is: "@p maximum_input_line_length = <num>|infinity". + |.^Pragma ignored. + Error|..............................^Expecting "=". + 10 10| + 11 11| 3. Test value of infinity. + 12 12| @p maximum_input_line_length = infinity + 13 13| + 14 14| 4. Test non-decimal digit in number. + 15 15| @p maximum_input_line_length = 2ef + Error|.................................^Illegal digit. Value must consist entirely of decimal digits. + |.................................^You can also use the value "infinity". + |.................................^Pragma ignored. + 16 16| + 17 17| 5. Test number is more than eight digits long. + 18 18| @p maximum_input_line_length = 123456789 + Error|................................^Too many digits. The maximum is eight. + |................................^Pragma ignored. + 19 19| + 20 20| 6. Test number is exactly eight digits long. + 21 21| @p maximum_input_line_length = 12345678 + 22 22| + 23 23| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 6 Errors. diff --git a/web/funnelAC/results/sc23.lis b/web/funnelAC/results/sc23.lis new file mode 100644 index 0000000000..df72bd6601 --- /dev/null +++ b/web/funnelAC/results/sc23.lis @@ -0,0 +1,188 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 32 33 3A 20 54 65 73 74 20 73 79 6E 74 61 | SC23: Test synta | +| 78 20 63 68 65 63 6B 69 6E 67 20 6F 66 20 6F 75 | x checking of ou | +| 74 70 75 74 20 6C 69 6E 65 20 6C 65 6E 67 74 68 | tput line length | +| 20 70 72 61 67 6D 61 2E 0A 0A 31 2E 20 54 65 73 | pragma...1. Tes | +| 74 20 6E 6F 74 20 74 68 72 65 65 20 61 72 67 75 | t not three argu | +| 6D 65 6E 74 73 2E 0A 40 70 20 6D 61 78 69 6D 75 | ments..@p maximu | +| 6D 5F 6F 75 74 70 75 74 5F 6C 69 6E 65 5F 6C 65 | m_output_line_le | +| 6E 67 74 68 0A 40 70 20 6D 61 78 69 6D 75 6D 5F | ngth.@p maximum_ | +| 6F 75 74 70 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 | output_line_leng | +| 74 68 20 3D 0A 40 70 20 6D 61 78 69 6D 75 6D 5F | th =.@p maximum_ | +| 6F 75 74 70 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 | output_line_leng | +| 74 68 20 3D 20 78 78 78 20 79 79 79 0A 0A 32 2E | th = xxx yyy..2. | +| 20 54 65 73 74 20 73 65 63 6F 6E 64 20 61 72 67 | Test second arg | +| 75 6D 65 6E 74 20 6E 6F 74 20 22 3D 22 2E 0A 40 | ument not "="..@ | +| 70 20 6D 61 78 69 6D 75 6D 5F 6F 75 74 70 75 74 | p maximum_output | +| 5F 6C 69 6E 65 5F 6C 65 6E 67 74 68 20 78 20 73 | _line_length x s | +| 6C 6F 74 68 0A 0A 33 2E 20 54 65 73 74 20 76 61 | loth..3. Test va | +| 6C 75 65 20 6F 66 20 69 6E 66 69 6E 69 74 79 2E | lue of infinity. | +| 0A 40 70 20 6D 61 78 69 6D 75 6D 5F 6F 75 74 70 | .@p maximum_outp | +| 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 74 68 20 3D | ut_line_length = | +| 20 69 6E 66 69 6E 69 74 79 0A 0A 34 2E 20 54 65 | infinity..4. Te | +| 73 74 20 6E 6F 6E 2D 64 65 63 69 6D 61 6C 20 64 | st non-decimal d | +| 69 67 69 74 20 69 6E 20 6E 75 6D 62 65 72 2E 0A | igit in number.. | +| 40 70 20 6D 61 78 69 6D 75 6D 5F 6F 75 74 70 75 | @p maximum_outpu | +| 74 5F 6C 69 6E 65 5F 6C 65 6E 67 74 68 20 3D 20 | t_line_length = | +| 32 65 66 0A 0A 35 2E 20 54 65 73 74 20 6E 75 6D | 2ef..5. Test num | +| 62 65 72 20 69 73 20 6D 6F 72 65 20 74 68 61 6E | ber is more than | +| 20 65 69 67 68 74 20 64 69 67 69 74 73 20 6C 6F | eight digits lo | +| 6E 67 2E 0A 40 70 20 6D 61 78 69 6D 75 6D 5F 6F | ng..@p maximum_o | +| 75 74 70 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 74 | utput_line_lengt | +| 68 20 3D 20 31 32 33 34 35 36 37 38 39 0A 0A 36 | h = 123456789..6 | +| 2E 20 54 65 73 74 20 6E 75 6D 62 65 72 20 69 73 | . Test number is | +| 20 65 78 61 63 74 6C 79 20 65 69 67 68 74 20 64 | exactly eight d | +| 69 67 69 74 73 20 6C 6F 6E 67 2E 0A 37 2E 20 54 | igits long..7. T | +| 65 73 74 20 70 72 61 67 6D 61 20 6F 70 70 6F 73 | est pragma oppos | +| 69 6E 67 20 65 61 72 6C 69 65 72 20 70 72 61 67 | ing earlier prag | +| 6D 61 2E 0A 40 70 20 6D 61 78 69 6D 75 6D 5F 6F | ma..@p maximum_o | +| 75 74 70 75 74 5F 6C 69 6E 65 5F 6C 65 6E 67 74 | utput_line_lengt | +| 68 20 3D 20 31 32 33 34 35 36 37 38 0A 0A 38 2E | h = 12345678..8. | +| 20 54 65 73 74 20 70 72 61 67 6D 61 20 6E 6F 74 | Test pragma not | +| 20 6F 70 70 6F 73 69 6E 67 20 65 61 72 6C 69 65 | opposing earlie | +| 72 20 70 72 61 67 6D 61 2E 0A 40 70 20 6D 61 78 | r pragma..@p max | +| 69 6D 75 6D 5F 6F 75 74 70 75 74 5F 6C 69 6E 65 | imum_output_line | +| 5F 6C 65 6E 67 74 68 20 3D 20 69 6E 66 69 6E 69 | _length = infini | +| 74 79 0A 0A | ty.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC23: Test syntax checking of output line length pragma.<010> +00002 00002| <010> +00003 00003| 1. Test not three arguments.<010> +00004 00004| @p maximum_output_line_length<010> +00005 00005| @p maximum_output_line_length =<010> +00006 00006| @p maximum_output_line_length = xxx yyy<010> +00007 00007| <010> +00008 00008| 2. Test second argument not "=".<010> +00009 00009| @p maximum_output_line_length x sloth<010> +00010 00010| <010> +00011 00011| 3. Test value of infinity.<010> +00012 00012| @p maximum_output_line_length = infinity<010> +00013 00013| <010> +00014 00014| 4. Test non-decimal digit in number.<010> +00015 00015| @p maximum_output_line_length = 2ef<010> +00016 00016| <010> +00017 00017| 5. Test number is more than eight digits long.<010> +00018 00018| @p maximum_output_line_length = 123456789<010> +00019 00019| <010> +00020 00020| 6. Test number is exactly eight digits long.<010> +00021 00021| 7. Test pragma opposing earlier pragma.<010> +00022 00022| @p maximum_output_line_length = 12345678<010> +00023 00023| <010> +00024 00024| 8. Test pragma not opposing earlier pragma.<010> +00025 00025| @p maximum_output_line_length = infinity<010> +00026 00026| <010> +00027 00027| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 9 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC23: Test syntax checking of output line length pragma.<010> +<010> +1. Test not three arguments.<010> +" +0007[01]: Text. Text scrap[Grey]="<010> +2. Test second argument not "=".<010> +" +0010[01]: Text. Text scrap[Grey]="<010> +3. Test value of infinity.<010> +" +0013[01]: Text. Text scrap[Grey]="<010> +4. Test non-decimal digit in number.<010> +" +0016[01]: Text. Text scrap[Grey]="<010> +5. Test number is more than eight digits long.<010> +" +0019[01]: Text. Text scrap[Grey]="<010> +6. Test number is exactly eight digits long.<010> +7. Test pragma opposing earlier pragma.<010> +" +0023[01]: Text. Text scrap[Grey]="<010> +8. Test pragma not opposing earlier pragma.<010> +" +0026[01]: Text. Text scrap[White]="<010> +" +0027[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC23: Test syntax checking of output line length pragma. + 2 2| + 3 3| 1. Test not three arguments. + 4 4| @p maximum_output_line_length + Error|.^This pragma has the wrong number of arguments. + |.^The correct format is: "@p maximum_output_line_length = <num>|infinity". + |.^Pragma ignored. + 5 5| @p maximum_output_line_length = + Error|.^This pragma has the wrong number of arguments. + |.^The correct format is: "@p maximum_output_line_length = <num>|infinity". + |.^Pragma ignored. + 6 6| @p maximum_output_line_length = xxx yyy + Error|.^This pragma has the wrong number of arguments. + |.^The correct format is: "@p maximum_output_line_length = <num>|infinity". + |.^Pragma ignored. + 7 7| + 8 8| 2. Test second argument not "=". + 9 9| @p maximum_output_line_length x sloth + |.^The correct format is: "@p maximum_output_line_length = <num>|infinity". + |.^Pragma ignored. + Error|...............................^Expecting "=". + 10 10| + 11 11| 3. Test value of infinity. + 12 12| @p maximum_output_line_length = infinity + |.^This pragma is opposed by the pragma at line 22. + 13 13| + 14 14| 4. Test non-decimal digit in number. + 15 15| @p maximum_output_line_length = 2ef + Error|..................................^Illegal digit. Value must consist entirely of decimal digits. + |..................................^You can also use the value "infinity". + |..................................^Pragma ignored. + 16 16| + 17 17| 5. Test number is more than eight digits long. + 18 18| @p maximum_output_line_length = 123456789 + Error|.................................^Too many digits. The maximum is eight. + |.................................^Pragma ignored. + 19 19| + 20 20| 6. Test number is exactly eight digits long. + 21 21| 7. Test pragma opposing earlier pragma. + 22 22| @p maximum_output_line_length = 12345678 + Error|.^This pragma opposes the pragma at line 12. + |.^You can have as many output line length pragmas + |.^as you like, but they all have to be the same! + |.^Pragma ignored. + 23 23| + 24 24| 8. Test pragma not opposing earlier pragma. + 25 25| @p maximum_output_line_length = infinity + 26 26| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 7 Errors. diff --git a/web/funnelAC/results/sc24.lis b/web/funnelAC/results/sc24.lis new file mode 100644 index 0000000000..804e5e5d64 --- /dev/null +++ b/web/funnelAC/results/sc24.lis @@ -0,0 +1,162 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 32 33 3A 20 54 65 73 74 20 73 79 6E 74 61 | SC23: Test synta | +| 78 20 63 68 65 63 6B 69 6E 67 20 6F 66 20 69 6E | x checking of in | +| 64 65 6E 74 61 74 69 6F 6E 20 70 72 61 67 6D 61 | dentation pragma | +| 2E 0A 0A 31 2E 20 54 65 73 74 20 6E 6F 74 20 74 | ...1. Test not t | +| 68 72 65 65 20 61 72 67 75 6D 65 6E 74 73 2E 0A | hree arguments.. | +| 40 70 20 69 6E 64 65 6E 74 61 74 69 6F 6E 0A 40 | @p indentation.@ | +| 70 20 69 6E 64 65 6E 74 61 74 69 6F 6E 20 3D 0A | p indentation =. | +| 40 70 20 69 6E 64 65 6E 74 61 74 69 6F 6E 20 3D | @p indentation = | +| 20 78 78 78 20 79 79 79 0A 0A 32 2E 20 54 65 73 | xxx yyy..2. Tes | +| 74 20 73 65 63 6F 6E 64 20 61 72 67 75 6D 65 6E | t second argumen | +| 74 20 6E 6F 74 20 22 3D 22 2E 0A 40 70 20 69 6E | t not "="..@p in | +| 64 65 6E 74 61 74 69 6F 6E 20 78 20 73 6C 6F 74 | dentation x slot | +| 68 0A 0A 33 2E 20 54 65 73 74 20 74 68 69 72 64 | h..3. Test third | +| 20 61 72 67 75 6D 65 6E 74 20 69 73 20 6E 6F 74 | argument is not | +| 20 6C 65 67 61 6C 2E 0A 40 70 20 69 6E 64 65 6E | legal..@p inden | +| 74 61 74 69 6F 6E 20 3D 20 73 6C 6F 74 68 0A 0A | tation = sloth.. | +| 34 2E 20 54 65 73 74 20 74 68 69 72 64 20 61 72 | 4. Test third ar | +| 67 75 6D 65 6E 74 20 69 73 20 6E 6F 6E 65 2E 0A | gument is none.. | +| 40 70 20 69 6E 64 65 6E 74 61 74 69 6F 6E 20 3D | @p indentation = | +| 20 6E 6F 6E 65 0A 0A 35 2E 20 54 65 73 74 20 74 | none..5. Test t | +| 68 69 72 64 20 61 72 67 75 6D 65 6E 74 20 69 73 | hird argument is | +| 20 62 6C 61 6E 6B 2E 0A 36 2E 20 54 65 73 74 20 | blank..6. Test | +| 70 72 61 67 6D 61 20 6F 70 70 6F 73 65 73 20 65 | pragma opposes e | +| 61 72 6C 69 65 72 20 70 72 61 67 6D 61 2E 0A 40 | arlier pragma..@ | +| 70 20 69 6E 64 65 6E 74 61 74 69 6F 6E 20 3D 20 | p indentation = | +| 62 6C 61 6E 6B 0A 0A 37 2E 20 54 65 73 74 20 70 | blank..7. Test p | +| 72 61 67 6D 61 20 64 6F 65 73 20 6E 6F 74 20 6F | ragma does not o | +| 70 70 6F 73 65 20 65 61 72 6C 69 65 72 20 70 72 | ppose earlier pr | +| 61 67 6D 61 2E 0A 40 70 20 69 6E 64 65 6E 74 61 | agma..@p indenta | +| 74 69 6F 6E 20 3D 20 6E 6F 6E 65 0A 0A | tion = none.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC23: Test syntax checking of indentation pragma.<010> +00002 00002| <010> +00003 00003| 1. Test not three arguments.<010> +00004 00004| @p indentation<010> +00005 00005| @p indentation =<010> +00006 00006| @p indentation = xxx yyy<010> +00007 00007| <010> +00008 00008| 2. Test second argument not "=".<010> +00009 00009| @p indentation x sloth<010> +00010 00010| <010> +00011 00011| 3. Test third argument is not legal.<010> +00012 00012| @p indentation = sloth<010> +00013 00013| <010> +00014 00014| 4. Test third argument is none.<010> +00015 00015| @p indentation = none<010> +00016 00016| <010> +00017 00017| 5. Test third argument is blank.<010> +00018 00018| 6. Test pragma opposes earlier pragma.<010> +00019 00019| @p indentation = blank<010> +00020 00020| <010> +00021 00021| 7. Test pragma does not oppose earlier pragma.<010> +00022 00022| @p indentation = none<010> +00023 00023| <010> +00024 00024| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 8 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC23: Test syntax checking of indentation pragma.<010> +<010> +1. Test not three arguments.<010> +" +0007[01]: Text. Text scrap[Grey]="<010> +2. Test second argument not "=".<010> +" +0010[01]: Text. Text scrap[Grey]="<010> +3. Test third argument is not legal.<010> +" +0013[01]: Text. Text scrap[Grey]="<010> +4. Test third argument is none.<010> +" +0016[01]: Text. Text scrap[Grey]="<010> +5. Test third argument is blank.<010> +6. Test pragma opposes earlier pragma.<010> +" +0020[01]: Text. Text scrap[Grey]="<010> +7. Test pragma does not oppose earlier pragma.<010> +" +0023[01]: Text. Text scrap[White]="<010> +" +0024[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC23: Test syntax checking of indentation pragma. + 2 2| + 3 3| 1. Test not three arguments. + 4 4| @p indentation + Error|.^This indentation pragma has the wrong number of arguments. + |.^The correct format is: "@p indentation = none|blank". + |.^Pragma ignored. + 5 5| @p indentation = + Error|.^This indentation pragma has the wrong number of arguments. + |.^The correct format is: "@p indentation = none|blank". + |.^Pragma ignored. + 6 6| @p indentation = xxx yyy + Error|.^This indentation pragma has the wrong number of arguments. + |.^The correct format is: "@p indentation = none|blank". + |.^Pragma ignored. + 7 7| + 8 8| 2. Test second argument not "=". + 9 9| @p indentation x sloth + |.^The correct format is: "@p indentation = none|blank". + |.^Pragma ignored. + Error|................^Expecting "=". + 10 10| + 11 11| 3. Test third argument is not legal. + 12 12| @p indentation = sloth + |.^The correct format is: "@p indentation = none|blank". + |.^Pragma ignored. + Error|..................^Expecting either "none" or "blank". + 13 13| + 14 14| 4. Test third argument is none. + 15 15| @p indentation = none + |.^This pragma is opposed by the pragma at line 19. + 16 16| + 17 17| 5. Test third argument is blank. + 18 18| 6. Test pragma opposes earlier pragma. + 19 19| @p indentation = blank + Error|.^This pragma opposes the pragma at line 15. + |.^You can have as many indentation pragmas as you like, + |.^but they all have to be the same! + |.^Pragma ignored. + 20 20| + 21 21| 7. Test pragma does not oppose earlier pragma. + 22 22| @p indentation = none + 23 23| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 6 Errors. diff --git a/web/funnelAC/results/sc25.lis b/web/funnelAC/results/sc25.lis new file mode 100644 index 0000000000..0182f4e147 --- /dev/null +++ b/web/funnelAC/results/sc25.lis @@ -0,0 +1,85 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 32 35 3A 20 54 65 73 74 20 73 79 6E 74 61 | SC25: Test synta | +| 78 20 63 68 65 63 6B 69 6E 67 20 6F 66 20 6E 65 | x checking of ne | +| 77 20 70 61 67 65 20 74 79 70 65 73 65 74 74 65 | w page typesette | +| 72 20 64 69 72 65 63 74 69 76 65 2E 0A 0A 31 2E | r directive...1. | +| 20 4D 61 6B 65 20 73 75 72 65 20 74 68 61 74 20 | Make sure that | +| 61 20 6C 65 67 61 6C 20 6E 65 77 20 70 61 67 65 | a legal new page | +| 20 64 69 72 65 63 74 69 76 65 20 69 73 20 4F 4B | directive is OK | +| 2E 0A 40 74 20 6E 65 77 5F 70 61 67 65 0A 0A 32 | ..@t new_page..2 | +| 2E 20 43 68 65 63 6B 20 74 68 61 74 20 69 74 20 | . Check that it | +| 64 6F 65 73 6E 27 74 20 73 74 61 6E 64 20 66 6F | doesn't stand fo | +| 72 20 61 6E 79 20 6E 6F 6E 73 65 6E 73 65 2E 0A | r any nonsense.. | +| 40 74 20 6E 65 77 5F 70 61 67 65 20 6E 6F 6E 73 | @t new_page nons | +| 65 6E 73 65 0A 0A | ense.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC25: Test syntax checking of new page typesetter directive.<010> +00002 00002| <010> +00003 00003| 1. Make sure that a legal new page directive is OK.<010> +00004 00004| @t new_page<010> +00005 00005| <010> +00006 00006| 2. Check that it doesn't stand for any nonsense.<010> +00007 00007| @t new_page nonsense<010> +00008 00008| <010> +00009 00009| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 5 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC25: Test syntax checking of new page typesetter directive.<010> +<010> +1. Make sure that a legal new page directive is OK.<010> +" +0004[01]: @t.. Newpage. +0005[01]: Text. Text scrap[Grey]="<010> +2. Check that it doesn't stand for any nonsense.<010> +" +0008[01]: Text. Text scrap[White]="<010> +" +0009[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC25: Test syntax checking of new page typesetter directive. + 2 2| + 3 3| 1. Make sure that a legal new page directive is OK. + 4 4| @t new_page + 5 5| + 6 6| 2. Check that it doesn't stand for any nonsense. + 7 7| @t new_page nonsense + Error|.............^The new_page directive does not take arguments. + |.............^Directive ignored. + 8 8| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There was 1 Error. diff --git a/web/funnelAC/results/sc26.lis b/web/funnelAC/results/sc26.lis new file mode 100644 index 0000000000..5cb968aa74 --- /dev/null +++ b/web/funnelAC/results/sc26.lis @@ -0,0 +1,87 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 32 36 3A 20 54 65 73 74 20 73 79 6E 74 61 | SC26: Test synta | +| 78 20 63 68 65 63 6B 69 6E 67 20 6F 66 20 74 61 | x checking of ta | +| 62 6C 65 20 6F 66 20 63 6F 6E 74 65 6E 74 73 20 | ble of contents | +| 74 79 70 65 73 65 74 74 69 6E 67 20 70 72 61 67 | typesetting prag | +| 6D 61 2E 0A 0A 31 2E 20 4D 61 6B 65 20 73 75 72 | ma...1. Make sur | +| 65 20 74 68 61 74 20 61 20 6C 65 67 61 6C 20 74 | e that a legal t | +| 61 62 6C 65 20 6F 66 20 63 6F 6E 74 65 6E 74 73 | able of contents | +| 20 64 69 72 65 63 74 69 76 65 20 69 73 20 4F 4B | directive is OK | +| 2E 0A 40 74 20 74 61 62 6C 65 5F 6F 66 5F 63 6F | ..@t table_of_co | +| 6E 74 65 6E 74 73 0A 0A 32 2E 20 43 68 65 63 6B | ntents..2. Check | +| 20 74 68 61 74 20 69 74 20 64 6F 65 73 6E 27 74 | that it doesn't | +| 20 73 74 61 6E 64 20 66 6F 72 20 61 6E 79 20 6E | stand for any n | +| 6F 6E 73 65 6E 73 65 2E 0A 40 74 20 74 61 62 6C | onsense..@t tabl | +| 65 5F 6F 66 5F 63 6F 6E 74 65 6E 74 73 20 6E 6F | e_of_contents no | +| 6E 73 65 6E 73 65 0A 0A | nsense.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC26: Test syntax checking of table of contents typesetting pragma.<010> +00002 00002| <010> +00003 00003| 1. Make sure that a legal table of contents directive is OK.<010> +00004 00004| @t table_of_contents<010> +00005 00005| <010> +00006 00006| 2. Check that it doesn't stand for any nonsense.<010> +00007 00007| @t table_of_contents nonsense<010> +00008 00008| <010> +00009 00009| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 5 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC26: Test syntax checking of table of contents typesetting pragma.<010> +<010> +1. Make sure that a legal table of contents directive is OK.<010> +" +0004[01]: @t.. TOC. +0005[01]: Text. Text scrap[Grey]="<010> +2. Check that it doesn't stand for any nonsense.<010> +" +0008[01]: Text. Text scrap[White]="<010> +" +0009[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC26: Test syntax checking of table of contents typesetting pragma. + 2 2| + 3 3| 1. Make sure that a legal table of contents directive is OK. + 4 4| @t table_of_contents + 5 5| + 6 6| 2. Check that it doesn't stand for any nonsense. + 7 7| @t table_of_contents nonsense + Error|......................^The table_of_contents directive does not take arguments. + |......................^Directive ignored. + 8 8| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There was 1 Error. diff --git a/web/funnelAC/results/sc27.lis b/web/funnelAC/results/sc27.lis new file mode 100644 index 0000000000..404a5b2827 --- /dev/null +++ b/web/funnelAC/results/sc27.lis @@ -0,0 +1,145 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 32 37 3A 20 54 65 73 74 20 73 79 6E 74 61 | SC27: Test synta | +| 78 20 63 68 65 63 6B 69 6E 67 20 6F 66 20 76 73 | x checking of vs | +| 6B 69 70 20 74 79 70 65 73 65 74 74 69 6E 67 20 | kip typesetting | +| 64 69 72 65 63 74 69 76 65 2E 0A 0A 31 2E 20 54 | directive...1. T | +| 65 73 74 20 6E 6F 74 20 65 78 61 63 74 6C 79 20 | est not exactly | +| 74 68 72 65 65 20 61 72 67 75 6D 65 6E 74 73 20 | three arguments | +| 28 69 6E 63 6C 75 64 65 73 20 76 73 6B 69 70 29 | (includes vskip) | +| 2E 0A 40 74 20 76 73 6B 69 70 0A 40 74 20 76 73 | ..@t vskip.@t vs | +| 6B 69 70 20 6F 6E 65 0A 40 74 20 76 73 6B 69 70 | kip one.@t vskip | +| 20 6F 6E 65 20 74 77 6F 20 74 68 72 65 65 20 66 | one two three f | +| 6F 75 72 0A 0A 32 2E 20 54 65 73 74 20 74 68 69 | our..2. Test thi | +| 72 64 20 61 72 67 75 6D 65 6E 74 20 6E 6F 74 20 | rd argument not | +| 22 6D 6D 22 2E 0A 40 74 20 76 73 6B 69 70 20 33 | "mm"..@t vskip 3 | +| 32 20 78 78 0A 0A 33 2E 20 54 65 73 74 20 73 65 | 2 xx..3. Test se | +| 63 6F 6E 64 20 61 72 67 75 6D 65 6E 74 20 68 61 | cond argument ha | +| 73 20 62 61 64 20 64 69 67 69 74 2E 0A 40 74 20 | s bad digit..@t | +| 76 73 6B 69 70 20 33 66 20 6D 6D 0A 0A 34 2E 20 | vskip 3f mm..4. | +| 54 65 73 74 20 6E 75 6D 62 65 72 20 68 61 73 20 | Test number has | +| 6D 6F 72 65 20 74 68 61 6E 20 74 68 72 65 65 20 | more than three | +| 64 69 67 69 74 73 0A 0A 40 74 20 76 73 6B 69 70 | digits..@t vskip | +| 20 34 33 35 35 20 6D 6D 0A 0A 35 2E 20 54 65 73 | 4355 mm..5. Tes | +| 74 20 61 20 6C 65 67 61 6C 20 6F 6E 65 20 74 6F | t a legal one to | +| 6F 2E 0A 40 74 20 76 73 6B 69 70 20 32 30 20 6D | o..@t vskip 20 m | +| 6D 0A 0A | m.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC27: Test syntax checking of vskip typesetting directive.<010> +00002 00002| <010> +00003 00003| 1. Test not exactly three arguments (includes vskip).<010> +00004 00004| @t vskip<010> +00005 00005| @t vskip one<010> +00006 00006| @t vskip one two three four<010> +00007 00007| <010> +00008 00008| 2. Test third argument not "mm".<010> +00009 00009| @t vskip 32 xx<010> +00010 00010| <010> +00011 00011| 3. Test second argument has bad digit.<010> +00012 00012| @t vskip 3f mm<010> +00013 00013| <010> +00014 00014| 4. Test number has more than three digits<010> +00015 00015| <010> +00016 00016| @t vskip 4355 mm<010> +00017 00017| <010> +00018 00018| 5. Test a legal one too.<010> +00019 00019| @t vskip 20 mm<010> +00020 00020| <010> +00021 00021| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 8 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC27: Test syntax checking of vskip typesetting directive.<010> +<010> +1. Test not exactly three arguments (includes vskip).<010> +" +0007[01]: Text. Text scrap[Grey]="<010> +2. Test third argument not "mm".<010> +" +0010[01]: Text. Text scrap[Grey]="<010> +3. Test second argument has bad digit.<010> +" +0013[01]: Text. Text scrap[Grey]="<010> +4. Test number has more than three digits<010> +<010> +" +0017[01]: Text. Text scrap[Grey]="<010> +5. Test a legal one too.<010> +" +0019[01]: @t.. Vertical skip. Vertical space skipped=20mm. +0020[01]: Text. Text scrap[White]="<010> +" +0021[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC27: Test syntax checking of vskip typesetting directive. + 2 2| + 3 3| 1. Test not exactly three arguments (includes vskip). + 4 4| @t vskip + Error|.^This directive has the wrong number of arguments. + |.^The correct format is: "@t vskip <num> mm". + |.^Directive ignored. + 5 5| @t vskip one + Error|.^This directive has the wrong number of arguments. + |.^The correct format is: "@t vskip <num> mm". + |.^Directive ignored. + 6 6| @t vskip one two three four + Error|.^This directive has the wrong number of arguments. + |.^The correct format is: "@t vskip <num> mm". + |.^Directive ignored. + 7 7| + 8 8| 2. Test third argument not "mm". + 9 9| @t vskip 32 xx + |.^The correct format is: "@t vskip <num> mm". + |.^Directive ignored. + Error|.............^Expecting "mm". + 10 10| + 11 11| 3. Test second argument has bad digit. + 12 12| @t vskip 3f mm + Error|...........^Illegal digit. + |...........^Value must consist entirely of decimal digits. + |...........^Directive ignored. + 13 13| + 14 14| 4. Test number has more than three digits + 15 15| + 16 16| @t vskip 4355 mm + Error|..........^Too many digits. The maximum is three. + |..........^Directive ignored. + 17 17| + 18 18| 5. Test a legal one too. + 19 19| @t vskip 20 mm + 20 20| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 6 Errors. diff --git a/web/funnelAC/results/sc28.lis b/web/funnelAC/results/sc28.lis new file mode 100644 index 0000000000..8208193d4b --- /dev/null +++ b/web/funnelAC/results/sc28.lis @@ -0,0 +1,253 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 32 38 3A 20 54 65 73 74 20 73 79 6E 74 61 | SC28: Test synta | +| 78 20 63 68 65 63 6B 69 6E 67 20 6F 66 20 74 69 | x checking of ti | +| 74 6C 65 20 74 79 70 65 73 65 74 74 69 6E 67 20 | tle typesetting | +| 64 69 72 65 63 74 69 76 65 2E 0A 0A 31 2E 20 54 | directive...1. T | +| 65 73 74 20 6C 65 73 73 20 74 68 61 6E 20 66 6F | est less than fo | +| 75 72 20 61 72 67 75 6D 65 6E 74 73 20 28 69 6E | ur arguments (in | +| 63 6C 75 64 65 73 20 74 69 74 6C 65 29 2E 0A 4E | cludes title)..N | +| 6F 74 65 3A 20 54 68 65 20 74 69 74 6C 65 20 63 | ote: The title c | +| 6F 6D 6D 61 6E 64 20 70 75 6C 6C 73 20 61 20 68 | ommand pulls a h | +| 61 63 6B 20 74 72 65 61 74 69 6E 67 20 74 68 65 | ack treating the | +| 20 72 65 73 74 20 6F 66 20 74 68 65 20 6C 69 6E | rest of the lin | +| 65 20 61 66 74 65 72 0A 74 77 6F 20 61 72 67 75 | e after.two argu | +| 6D 65 6E 74 73 20 61 73 20 74 68 65 20 73 74 72 | ments as the str | +| 69 6E 67 2E 20 53 6F 20 69 74 20 63 61 6E 27 74 | ing. So it can't | +| 20 64 65 74 65 63 74 20 61 6E 20 45 58 43 45 53 | detect an EXCES | +| 53 20 6F 66 20 61 72 67 75 6D 65 6E 74 73 21 0A | S of arguments!. | +| 40 74 20 74 69 74 6C 65 0A 40 74 20 74 69 74 6C | @t title.@t titl | +| 65 20 74 77 6F 0A 40 74 20 74 69 74 6C 65 20 74 | e two.@t title t | +| 77 6F 20 74 68 72 65 65 0A 0A 32 2E 20 54 65 73 | wo three..2. Tes | +| 74 20 6F 75 74 20 62 61 64 20 66 6F 6E 74 2E 0A | t out bad font.. | +| 40 74 20 74 69 74 6C 65 20 73 6C 6F 74 68 66 6F | @t title slothfo | +| 6E 74 20 6C 65 66 74 20 22 53 6C 6F 74 68 22 0A | nt left "Sloth". | +| 0A 33 2E 20 54 65 73 74 20 6F 75 74 20 62 61 64 | .3. Test out bad | +| 20 61 6C 69 67 6E 6D 65 6E 74 2E 0A 40 74 20 74 | alignment..@t t | +| 69 74 6C 65 20 74 69 74 6C 65 66 6F 6E 74 20 77 | itle titlefont w | +| 65 73 74 77 61 72 64 20 22 53 6C 6F 74 68 22 0A | estward "Sloth". | +| 0A 34 2E 20 54 65 73 74 20 6F 75 74 20 66 75 6E | .4. Test out fun | +| 6E 79 20 73 74 72 69 6E 67 73 2E 0A 40 74 20 74 | ny strings..@t t | +| 69 74 6C 65 20 74 69 74 6C 65 66 6F 6E 74 20 6C | itle titlefont l | +| 65 66 74 20 22 0A 40 74 20 74 69 74 6C 65 20 74 | eft ".@t title t | +| 69 74 6C 65 66 6F 6E 74 20 6C 65 66 74 20 22 22 | itlefont left "" | +| 0A 40 21 20 4E 6F 74 65 3A 20 54 68 65 20 66 6F | .@! Note: The fo | +| 6C 6C 6F 77 69 6E 67 2C 20 62 65 6C 69 65 76 65 | llowing, believe | +| 20 69 74 20 6F 72 20 6E 6F 74 2C 20 69 73 20 61 | it or not, is a | +| 63 74 75 61 6C 6C 79 20 4C 45 47 41 4C 21 0A 40 | ctually LEGAL!.@ | +| 74 20 74 69 74 6C 65 20 74 69 74 6C 65 66 6F 6E | t title titlefon | +| 74 20 6C 65 66 74 20 22 73 6C 6F 74 68 22 73 6C | t left "sloth"sl | +| 6F 74 68 22 0A 0A 35 2E 20 54 65 73 74 20 6F 75 | oth"..5. Test ou | +| 74 20 61 6C 6C 20 63 6F 6D 62 69 6E 61 74 69 6F | t all combinatio | +| 6E 73 20 6F 66 20 66 6F 6E 74 20 61 6E 64 20 61 | ns of font and a | +| 6C 69 67 6E 6D 65 6E 74 2E 0A 40 74 20 74 69 74 | lignment..@t tit | +| 6C 65 20 74 69 74 6C 65 66 6F 6E 74 20 20 20 20 | le titlefont | +| 20 20 6C 65 66 74 20 20 20 22 53 6C 6F 74 68 22 | left "Sloth" | +| 0A 40 74 20 74 69 74 6C 65 20 74 69 74 6C 65 66 | .@t title titlef | +| 6F 6E 74 20 20 20 20 20 20 63 65 6E 74 72 65 20 | ont centre | +| 22 53 6C 6F 74 68 22 0A 40 74 20 74 69 74 6C 65 | "Sloth".@t title | +| 20 74 69 74 6C 65 66 6F 6E 74 20 20 20 20 20 20 | titlefont | +| 72 69 67 68 74 20 20 22 53 6C 6F 74 68 22 0A 40 | right "Sloth".@ | +| 74 20 74 69 74 6C 65 20 73 6D 61 6C 6C 74 69 74 | t title smalltit | +| 6C 65 66 6F 6E 74 20 6C 65 66 74 20 20 20 22 53 | lefont left "S | +| 6C 6F 74 68 22 0A 40 74 20 74 69 74 6C 65 20 73 | loth".@t title s | +| 6D 61 6C 6C 74 69 74 6C 65 66 6F 6E 74 20 63 65 | malltitlefont ce | +| 6E 74 72 65 20 22 53 6C 6F 74 68 22 0A 40 74 20 | ntre "Sloth".@t | +| 74 69 74 6C 65 20 73 6D 61 6C 6C 74 69 74 6C 65 | title smalltitle | +| 66 6F 6E 74 20 72 69 67 68 74 20 20 22 53 6C 6F | font right "Slo | +| 74 68 22 0A 40 74 20 74 69 74 6C 65 20 6E 6F 72 | th".@t title nor | +| 6D 61 6C 66 6F 6E 74 20 20 20 20 20 6C 65 66 74 | malfont left | +| 20 20 20 22 53 6C 6F 74 68 22 0A 40 74 20 74 69 | "Sloth".@t ti | +| 74 6C 65 20 6E 6F 72 6D 61 6C 66 6F 6E 74 20 20 | tle normalfont | +| 20 20 20 63 65 6E 74 72 65 20 22 53 6C 6F 74 68 | centre "Sloth | +| 22 0A 40 74 20 74 69 74 6C 65 20 6E 6F 72 6D 61 | ".@t title norma | +| 6C 66 6F 6E 74 20 20 20 20 20 72 69 67 68 74 20 | lfont right | +| 20 22 53 6C 6F 74 68 22 0A 0A 36 2E 20 54 65 73 | "Sloth"..6. Tes | +| 74 20 6D 69 73 73 70 65 6C 6C 69 6E 67 20 6F 66 | t misspelling of | +| 20 63 65 6E 74 72 65 20 28 52 6F 73 73 27 73 20 | centre (Ross's | +| 72 65 76 65 6E 67 65 29 2E 0A 40 74 20 74 69 74 | revenge)..@t tit | +| 6C 65 20 6E 6F 72 6D 61 6C 66 6F 6E 74 20 20 20 | le normalfont | +| 20 20 63 65 6E 74 65 72 20 22 53 6C 6F 74 68 22 | center "Sloth" | +| 0A | . | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC28: Test syntax checking of title typesetting directive.<010> +00002 00002| <010> +00003 00003| 1. Test less than four arguments (includes title).<010> +00004 00004| Note: The title command pulls a hack treating the rest of the line after<010> +00005 00005| two arguments as the string. So it can't detect an EXCESS of arguments!<010> +00006 00006| @t title<010> +00007 00007| @t title two<010> +00008 00008| @t title two three<010> +00009 00009| <010> +00010 00010| 2. Test out bad font.<010> +00011 00011| @t title slothfont left "Sloth"<010> +00012 00012| <010> +00013 00013| 3. Test out bad alignment.<010> +00014 00014| @t title titlefont westward "Sloth"<010> +00015 00015| <010> +00016 00016| 4. Test out funny strings.<010> +00017 00017| @t title titlefont left "<010> +00018 00018| @t title titlefont left ""<010> +00019 00019| @! Note: The following, believe it or not, is actually LEGAL!<010> +00020 00020| @t title titlefont left "sloth"sloth"<010> +00021 00021| <010> +00022 00022| 5. Test out all combinations of font and alignment.<010> +00023 00023| @t title titlefont left "Sloth"<010> +00024 00024| @t title titlefont centre "Sloth"<010> +00025 00025| @t title titlefont right "Sloth"<010> +00026 00026| @t title smalltitlefont left "Sloth"<010> +00027 00027| @t title smalltitlefont centre "Sloth"<010> +00028 00028| @t title smalltitlefont right "Sloth"<010> +00029 00029| @t title normalfont left "Sloth"<010> +00030 00030| @t title normalfont centre "Sloth"<010> +00031 00031| @t title normalfont right "Sloth"<010> +00032 00032| <010> +00033 00033| 6. Test misspelling of centre (Ross's revenge).<010> +00034 00034| @t title normalfont center "Sloth"<010> +00035 00035| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 18 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC28: Test syntax checking of title typesetting directive.<010> +<010> +1. Test less than four arguments (includes title).<010> +Note: The title command pulls a hack treating the rest of the line after<010> +two arguments as the string. So it can't detect an EXCESS of arguments!<010> +" +0009[01]: Text. Text scrap[Grey]="<010> +2. Test out bad font.<010> +" +0012[01]: Text. Text scrap[Grey]="<010> +3. Test out bad alignment.<010> +" +0015[01]: Text. Text scrap[Grey]="<010> +4. Test out funny strings.<010> +" +0018[01]: @t.. Title. Font=Title, Alignment=Left. Title text follows: +Text scrap[Grey]="" +0020[01]: @t.. Title. Font=Title, Alignment=Left. Title text follows: +Text scrap[Grey]="sloth"sloth" +0021[01]: Text. Text scrap[Grey]="<010> +5. Test out all combinations of font and alignment.<010> +" +0023[01]: @t.. Title. Font=Title, Alignment=Left. Title text follows: +Text scrap[Grey]="Sloth" +0024[01]: @t.. Title. Font=Title, Alignment=Centre. Title text follows: +Text scrap[Grey]="Sloth" +0025[01]: @t.. Title. Font=Title, Alignment=Right. Title text follows: +Text scrap[Grey]="Sloth" +0026[01]: @t.. Title. Font=Small Title, Alignment=Left. Title text follows: +Text scrap[Grey]="Sloth" +0027[01]: @t.. Title. Font=Small Title, Alignment=Centre. Title text follows: +Text scrap[Grey]="Sloth" +0028[01]: @t.. Title. Font=Small Title, Alignment=Right. Title text follows: +Text scrap[Grey]="Sloth" +0029[01]: @t.. Title. Font=Normal, Alignment=Left. Title text follows: +Text scrap[Grey]="Sloth" +0030[01]: @t.. Title. Font=Normal, Alignment=Centre. Title text follows: +Text scrap[Grey]="Sloth" +0031[01]: @t.. Title. Font=Normal, Alignment=Right. Title text follows: +Text scrap[Grey]="Sloth" +0032[01]: Text. Text scrap[Grey]="<010> +6. Test misspelling of centre (Ross's revenge).<010> +" +0035[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC28: Test syntax checking of title typesetting directive. + 2 2| + 3 3| 1. Test less than four arguments (includes title). + 4 4| Note: The title command pulls a hack treating the rest of the line after + 5 5| two arguments as the string. So it can't detect an EXCESS of arguments! + 6 6| @t title + Error|.^This directive has too few arguments. + |.^The correct format is: "@t title <font> <align> <text>". + |.^ where <font> = titlefont | smalltitlefont | normalfont. + |.^ and <align> = left | centre | right. + |.^ and <text> = text delimited by double quotes. + |.^Directive ignored. + 7 7| @t title two + Error|.^This directive has too few arguments. + |.^The correct format is: "@t title <font> <align> <text>". + |.^ where <font> = titlefont | smalltitlefont | normalfont. + |.^ and <align> = left | centre | right. + |.^ and <text> = text delimited by double quotes. + |.^Directive ignored. + 8 8| @t title two three + Error|.^This directive has too few arguments. + |.^The correct format is: "@t title <font> <align> <text>". + |.^ where <font> = titlefont | smalltitlefont | normalfont. + |.^ and <align> = left | centre | right. + |.^ and <text> = text delimited by double quotes. + |.^Directive ignored. + 9 9| + 10 10| 2. Test out bad font. + 11 11| @t title slothfont left "Sloth" + Error|..........^Expecting one of {titlefont,smalltitlefont,normalfont}. + |..........^Directive ignored. + 12 12| + 13 13| 3. Test out bad alignment. + 14 14| @t title titlefont westward "Sloth" + Error|....................^Expecting one of {left,right,centre}. + |....................^Directive ignored. + 15 15| + 16 16| 4. Test out funny strings. + 17 17| @t title titlefont left " + Error|.........................^Text argument must be delimited by double quotes. + |.........................^Directive ignored. + 18 18| @t title titlefont left "" + 19 19| @! Note: The following, believe it or not, is actually LEGAL! + 20 20| @t title titlefont left "sloth"sloth" + 21 21| + 22 22| 5. Test out all combinations of font and alignment. + 23 23| @t title titlefont left "Sloth" + 24 24| @t title titlefont centre "Sloth" + 25 25| @t title titlefont right "Sloth" + 26 26| @t title smalltitlefont left "Sloth" + 27 27| @t title smalltitlefont centre "Sloth" + 28 28| @t title smalltitlefont right "Sloth" + 29 29| @t title normalfont left "Sloth" + 30 30| @t title normalfont centre "Sloth" + 31 31| @t title normalfont right "Sloth" + 32 32| + 33 33| 6. Test misspelling of centre (Ross's revenge). + 34 34| @t title normalfont center "Sloth" + Error|.........................^Expecting one of {left,right,centre}. + |.........................^Note: Centre is spelt centRE, not centER. + |.........................^ This is my revenge for years of getting error messages + |.........................^ from TeX whenever I accidentally wrote \centreline - Ross Williams. + |.........................^Directive ignored. + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 7 Errors. diff --git a/web/funnelAC/results/sc29.lis b/web/funnelAC/results/sc29.lis new file mode 100644 index 0000000000..8b3ee9059b --- /dev/null +++ b/web/funnelAC/results/sc29.lis @@ -0,0 +1,170 @@ +FUNNELWEB LISTING FILE +====================== + +Dump of mapped file "<<Suppressed>>". + +MEMORY DUMP OF MAPPED FILE +========================== + ++-------------------------------------------------+------------------+ +| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | 0123456789ABCDEF | ++-------------------------------------------------+------------------+ +| 53 43 32 39 3A 20 54 65 73 74 20 73 79 6E 74 61 | SC29: Test synta | +| 78 20 63 68 65 63 6B 69 6E 67 20 6F 66 20 74 79 | x checking of ty | +| 70 65 73 65 74 74 65 72 20 70 72 61 67 6D 61 2E | pesetter pragma. | +| 0A 0A 31 2E 20 54 65 73 74 20 6E 6F 74 20 74 68 | ..1. Test not th | +| 72 65 65 20 61 72 67 75 6D 65 6E 74 73 2E 0A 40 | ree arguments..@ | +| 70 20 74 79 70 65 73 65 74 74 65 72 0A 40 70 20 | p typesetter.@p | +| 74 79 70 65 73 65 74 74 65 72 20 3D 0A 40 70 20 | typesetter =.@p | +| 74 79 70 65 73 65 74 74 65 72 20 3D 20 78 78 78 | typesetter = xxx | +| 20 79 79 79 0A 0A 32 2E 20 54 65 73 74 20 73 65 | yyy..2. Test se | +| 63 6F 6E 64 20 61 72 67 75 6D 65 6E 74 20 6E 6F | cond argument no | +| 74 20 22 3D 22 2E 0A 40 70 20 74 79 70 65 73 65 | t "="..@p typese | +| 74 74 65 72 20 78 20 73 6C 6F 74 68 0A 0A 33 2E | tter x sloth..3. | +| 20 54 65 73 74 20 74 68 69 72 64 20 61 72 67 75 | Test third argu | +| 6D 65 6E 74 20 69 73 20 6E 6F 74 20 6C 65 67 61 | ment is not lega | +| 6C 2E 0A 40 70 20 74 79 70 65 73 65 74 74 65 72 | l..@p typesetter | +| 20 3D 20 73 6C 6F 74 68 0A 0A 34 2E 20 54 65 73 | = sloth..4. Tes | +| 74 20 74 68 69 72 64 20 61 72 67 75 6D 65 6E 74 | t third argument | +| 20 69 73 20 6E 6F 6E 65 2E 0A 40 70 20 74 79 70 | is none..@p typ | +| 65 73 65 74 74 65 72 20 3D 20 6E 6F 6E 65 0A 0A | esetter = none.. | +| 35 2E 20 54 65 73 74 20 74 68 69 72 64 20 61 72 | 5. Test third ar | +| 67 75 6D 65 6E 74 20 69 73 20 74 65 78 2E 0A 36 | gument is tex..6 | +| 2E 20 54 65 73 74 20 70 72 61 67 6D 61 20 6F 70 | . Test pragma op | +| 70 6F 73 65 73 20 65 61 72 6C 69 65 72 20 70 72 | poses earlier pr | +| 61 67 6D 61 2E 0A 40 70 20 74 79 70 65 73 65 74 | agma..@p typeset | +| 74 65 72 20 3D 20 74 65 78 0A 0A 37 2E 20 54 65 | ter = tex..7. Te | +| 73 74 20 70 72 61 67 6D 61 20 64 6F 65 73 20 6E | st pragma does n | +| 6F 74 20 6F 70 70 6F 73 65 20 65 61 72 6C 69 65 | ot oppose earlie | +| 72 20 70 72 61 67 6D 61 2E 0A 40 70 20 74 79 70 | r pragma..@p typ | +| 65 73 65 74 74 65 72 20 3D 20 6E 6F 6E 65 0A 0A | esetter = none.. | ++-------------------------------------------------+------------------+ + + +=========================== Start of LINE LIST DUMP ============================ + +Globl Local| Text +-----------+-------------------------------------------------------------------- +00001 00001| SC29: Test syntax checking of typesetter pragma.<010> +00002 00002| <010> +00003 00003| 1. Test not three arguments.<010> +00004 00004| @p typesetter<010> +00005 00005| @p typesetter =<010> +00006 00006| @p typesetter = xxx yyy<010> +00007 00007| <010> +00008 00008| 2. Test second argument not "=".<010> +00009 00009| @p typesetter x sloth<010> +00010 00010| <010> +00011 00011| 3. Test third argument is not legal.<010> +00012 00012| @p typesetter = sloth<010> +00013 00013| <010> +00014 00014| 4. Test third argument is none.<010> +00015 00015| @p typesetter = none<010> +00016 00016| <010> +00017 00017| 5. Test third argument is tex.<010> +00018 00018| 6. Test pragma opposes earlier pragma.<010> +00019 00019| @p typesetter = tex<010> +00020 00020| <010> +00021 00021| 7. Test pragma does not oppose earlier pragma.<010> +00022 00022| @p typesetter = none<010> +00023 00023| <010> +00024 00024| <End-Of-File><010> +-----------+-------------------------------------------------------------------- +Globl Local| Text + +============================ End of LINE LIST DUMP ============================= + + +=========================== Start of TOKEN LIST DUMP =========================== + +Summary: There are 8 tokens in the token list. + +Line[Column]: Token Description +------------------------------- + +0001[01]: Text. Text scrap[Grey]="SC29: Test syntax checking of typesetter pragma.<010> +<010> +1. Test not three arguments.<010> +" +0007[01]: Text. Text scrap[Grey]="<010> +2. Test second argument not "=".<010> +" +0010[01]: Text. Text scrap[Grey]="<010> +3. Test third argument is not legal.<010> +" +0013[01]: Text. Text scrap[Grey]="<010> +4. Test third argument is none.<010> +" +0016[01]: Text. Text scrap[Grey]="<010> +5. Test third argument is tex.<010> +6. Test pragma opposes earlier pragma.<010> +" +0020[01]: Text. Text scrap[Grey]="<010> +7. Test pragma does not oppose earlier pragma.<010> +" +0023[01]: Text. Text scrap[White]="<010> +" +0024[01]: End Of File. +============================ End of TOKEN LIST DUMP ============================ + +Macro table dump skipped (Parser was not invoked). +Document list dump skipped (Parser was not invoked). + +Global Local| Input File +------------+------------------------------------------------------------------- + 1 1| SC29: Test syntax checking of typesetter pragma. + 2 2| + 3 3| 1. Test not three arguments. + 4 4| @p typesetter + Error|.^This typesetter pragma has the wrong number of arguments. + |.^The correct format is: "@p typesetter = none|tex" + |.^ or for hypertext "@p typesetter = hypertext|html". + |.^Pragma ignored. + 5 5| @p typesetter = + Error|.^This typesetter pragma has the wrong number of arguments. + |.^The correct format is: "@p typesetter = none|tex" + |.^ or for hypertext "@p typesetter = hypertext|html". + |.^Pragma ignored. + 6 6| @p typesetter = xxx yyy + Error|.^This typesetter pragma has the wrong number of arguments. + |.^The correct format is: "@p typesetter = none|tex" + |.^ or for hypertext "@p typesetter = hypertext|html". + |.^Pragma ignored. + 7 7| + 8 8| 2. Test second argument not "=". + 9 9| @p typesetter x sloth + |.^The correct format is: "@p typesetter = none|tex" + |.^ or for hypertext "@p typesetter = hypertext|html". + |.^Pragma ignored. + Error|...............^Expecting "=". + 10 10| + 11 11| 3. Test third argument is not legal. + 12 12| @p typesetter = sloth + |.^The correct format is: "@p typesetter = none|tex" + |.^ or for hypertext "@p typesetter = hypertext|html". + |.^Pragma ignored. + Error|.................^Expecting one of: + Error|.................^ (i) "none" + Error|.................^ (ii) "tex" + Error|.................^ (iii) "hypertext" + Error|.................^ (iv) "html". + 13 13| + 14 14| 4. Test third argument is none. + 15 15| @p typesetter = none + |.^This pragma is opposed by the pragma at line 19. + 16 16| + 17 17| 5. Test third argument is tex. + 18 18| 6. Test pragma opposes earlier pragma. + 19 19| @p typesetter = tex + Error|.^This pragma opposes the pragma at line 15. + |.^You can have as many typesetter pragmas as you like, + |.^but they all have to be the same! + |.^Pragma ignored. + 20 20| + 21 21| 7. Test pragma does not oppose earlier pragma. + 22 22| @p typesetter = none + 23 23| + | <End-Of-File> +------------+------------------------------------------------------------------- + +There were 10 Errors. diff --git a/web/funnelAC/results/tg01.lis b/web/funnelAC/results/tg01.lis new file mode 100644 index 0000000000..47a43fdf7f --- /dev/null +++ b/web/funnelAC/results/tg01.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed .out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/tg01.out b/web/funnelAC/results/tg01.out new file mode 100644 index 0000000000..148e1e38a0 --- /dev/null +++ b/web/funnelAC/results/tg01.out @@ -0,0 +1,3 @@ +Patterson's prayer: + "There is nothing I would rather be, than chairman of the ABC." + - Les Patterson diff --git a/web/funnelAC/results/tg02.lis b/web/funnelAC/results/tg02.lis new file mode 100644 index 0000000000..a9dac774ec --- /dev/null +++ b/web/funnelAC/results/tg02.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed tg02.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/tg02.out b/web/funnelAC/results/tg02.out new file mode 100644 index 0000000000..4f731e9543 --- /dev/null +++ b/web/funnelAC/results/tg02.out @@ -0,0 +1,23 @@ +The other day upon the stair, +I met a man who wasn't there. +He wasn't there again today, +I think he's from the CIA. + +In the output begin0 should be at the left margin, then begin1 to begin wayout +should be indented by three spaces. Then the "It's scary" should be +positioned over the "a" ofd margin. The rest should be at the left margin. + +begin0 + begin1 + begin2 + begin3 + begin4 + begin wayout----------V + It's scary out here +So far from the left margin. +end wayout----------^ +end4 +end3 +end2 +end1 +end0 diff --git a/web/funnelAC/results/tg03.lis b/web/funnelAC/results/tg03.lis new file mode 100644 index 0000000000..346577fb0d --- /dev/null +++ b/web/funnelAC/results/tg03.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed tg03.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/tg03.out b/web/funnelAC/results/tg03.out new file mode 100644 index 0000000000..1d638b1c32 --- /dev/null +++ b/web/funnelAC/results/tg03.out @@ -0,0 +1,21 @@ +The other day upon the stair, +I met a man who wasn't there. +He wasn't there again today, +I think he's from the CIA. + +The following nest of begin and ends should be indented in a nest. + +begin0 + begin1 + begin2 + begin3 + begin4 + begin wayout----------V + It's scary out here + So far from the left margin. + end wayout----------^ + end4 + end3 + end2 + end1 +end0 diff --git a/web/funnelAC/results/tg04.lis b/web/funnelAC/results/tg04.lis new file mode 100644 index 0000000000..0ffe1aacf9 --- /dev/null +++ b/web/funnelAC/results/tg04.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed tg04.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/tg04.out b/web/funnelAC/results/tg04.out new file mode 100644 index 0000000000..e65d9bf4ab --- /dev/null +++ b/web/funnelAC/results/tg04.out @@ -0,0 +1,22 @@ + + +1. Test macro call with no parameters. +"Teapot" = +"Teapot" + +2. Test macro call with one parameter. +"Left Testing Right" = +"Left Testing Right" + +3. Test macro call with many parameters. +"Left x Middle y Right" = +"Left x Middle y Right" + +4. Test macro call as a parameter of another macro call. +"Left Ostrich Middle Left Wombat Right Right" = +"Left Ostrich Middle Left Wombat Right Right" + +5. Test expression recursive macro call. +"[X[[Walrus]]Y]" = +"[X[[Walrus]]Y]" + diff --git a/web/funnelAC/results/tg05.lis b/web/funnelAC/results/tg05.lis new file mode 100644 index 0000000000..a9502089a9 --- /dev/null +++ b/web/funnelAC/results/tg05.lis @@ -0,0 +1,17 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +E: Product file line is too long (line 4 of "<<Suppressed>>"). + Product file line length limit is 80 characters. + Note: You can change the limit by specifying. + @p maximum_output_line_length = <desired length> + somewhere in the input file. +Tangle: Completed tg05.out. + +There was 1 Error. diff --git a/web/funnelAC/results/tg05.out b/web/funnelAC/results/tg05.out new file mode 100644 index 0000000000..1cc2528cae --- /dev/null +++ b/web/funnelAC/results/tg05.out @@ -0,0 +1,4 @@ +We test the default limit of 80 characters. +Only the second of the following two lines should provoke an error. +12345678901234567890123456789012345678901234567890123456789012345678901234567890 +123456789012345678901234567890123456789012345678901234567890123456789012345678901 diff --git a/web/funnelAC/results/tg06.lis b/web/funnelAC/results/tg06.lis new file mode 100644 index 0000000000..749c27a39f --- /dev/null +++ b/web/funnelAC/results/tg06.lis @@ -0,0 +1,17 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +E: Product file line is too long (line 6 of "<<Suppressed>>"). + Product file line length limit is 60 characters. + Note: You can change the limit by specifying. + @p maximum_output_line_length = <desired length> + somewhere in the input file. +Tangle: Completed tg06.out. + +There was 1 Error. diff --git a/web/funnelAC/results/tg06.out b/web/funnelAC/results/tg06.out new file mode 100644 index 0000000000..6d95ce3bf8 --- /dev/null +++ b/web/funnelAC/results/tg06.out @@ -0,0 +1,6 @@ +We test the user-set limit of 60 characters. +Only the third of the following three lines +should provoke an error. + 1 2 3 4 5 6 +123456789012345678901234567890123456789012345678901234567890 +1234567890123456789012345678901234567890123456789012345678901 diff --git a/web/funnelAC/results/tg07.lis b/web/funnelAC/results/tg07.lis new file mode 100644 index 0000000000..d6bcf21b41 --- /dev/null +++ b/web/funnelAC/results/tg07.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed tg07.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/tg07.out b/web/funnelAC/results/tg07.out new file mode 100644 index 0000000000..113b1fac7b --- /dev/null +++ b/web/funnelAC/results/tg07.out @@ -0,0 +1,2 @@ +The following long line should not blow the line length limit. +12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 diff --git a/web/funnelAC/results/tg08.lis b/web/funnelAC/results/tg08.lis new file mode 100644 index 0000000000..a3d0140430 --- /dev/null +++ b/web/funnelAC/results/tg08.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed tg08.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/tg08.out b/web/funnelAC/results/tg08.out new file mode 100644 index 0000000000..aab49f17ad --- /dev/null +++ b/web/funnelAC/results/tg08.out @@ -0,0 +1,7 @@ +Is this a mouse I see before me? +Its contours moulded for my hand? +Come, let me clutch thee! + +Now might I drink hot jolt cola +And create hacks in C +That would not bear witness of the Sun. diff --git a/web/funnelAC/results/tg09.lis b/web/funnelAC/results/tg09.lis new file mode 100644 index 0000000000..f8c0868d36 --- /dev/null +++ b/web/funnelAC/results/tg09.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Tangle: Completed tg09.out. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/tg09.out b/web/funnelAC/results/tg09.out new file mode 100644 index 0000000000..64d7ff5028 --- /dev/null +++ b/web/funnelAC/results/tg09.out @@ -0,0 +1,23 @@ +A Megastar's Mantras +-------------------- +(Things that Mean a Lot to Me) + +A is for Australia +The land I adore; +It's so spotless and clean +You can eat off the floor. + +B is for Boomerang, +Which our quaint Abos launch +In the hope it will bring back +A roast quokka's haunch. + +C is for Culture +Which blossoms unchecked, +You can't move in my homeland +for Beckett and Brecht. + +...more... + +- Dame Edna Everage, +"Neglected Poems and Other Creatures" by Barry Humphries, 1991. diff --git a/web/funnelAC/results/wv01.lis b/web/funnelAC/results/wv01.lis new file mode 100644 index 0000000000..342bdb414d --- /dev/null +++ b/web/funnelAC/results/wv01.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Weave: Completed <<Suppressed>>. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/wv01.tex b/web/funnelAC/results/wv01.tex new file mode 100644 index 0000000000..83e0d3a42a --- /dev/null +++ b/web/funnelAC/results/wv01.tex @@ -0,0 +1,367 @@ + +%******************************************************************************* +%* START OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* +%* * +%* This TeX file was automatically generated by the FunnelWeb preprocessor. * +%* You can typeset this file to produce printed documentation by running it * +%* through the TeX typesetter using a command such as: * +%* tex thisfilename * +%* The resultant file thisfilename.dvi can be printed using a command such as: * +%* lpr -Pcslw -d thisfilename.dvi * +%* * +%* FunnelWeb is a preprocessor that allows programmers to weave programs and * +%* their documentation together in a single document. The FunnelWeb program * +%* analyses such documents producing both program files and typeset * +%* documentation such as this TeX file. * +%* FunnelWeb was created by Ross Williams. * +%* * +%* For more information on FunnelWeb look in the following FTP archive: * +%* Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. * +%* Directory: ~pub/funnelweb/ * +%* (or some other appropriately named directory). * +%* or email Ross Williams at ross@spam.adelaide.edu.au * +%* * +%******************************************************************************* + + +%===================== Start of FunnelWeb TeX Definitions ====================== + + +% Version +% ------- +% This is FunnelWeb TeX Macro Library Version 1.0. + + +% Copyright +% --------- +% This set of FunnelWeb TeX definitions was written by Ross Williams and was +% originally Copyright (C) 1992 Ross N. Williams. However, I, Ross Williams, +% hereby forego any claim to Copyright in this set of FunnelWeb TeX definitions +% and hereby authorize that the set of TeX definitions pass into the public +% domain. -- Ross N. Williams, 3:41pm 07-May-1992, Adelaide, Australia. + + +% Modification +% ------------ +% Please record all modifications to these TeX definitions here. Unless +% otherwise specified, all modified definitions fall in the public domain too. +% +% Programmers: +% RNW Ross N. Williams ross@spam.adelaide.edu.au +% +% Changes: +% 07-May-1992 RNW Prepared this work for public domain release. +% + + +% General Comments +% ---------------- +% This set of TeX definitions exists for two reasons: +% +% 1. To shorten and neaten the FunnelWeb TeX output. +% 2. To allow users to fiddle with the output format in their input files +% (by inserting redefining "\def"s) without having to resort to +% modifying the FunnelWeb code. +% +% The user is warned that these definitions may be changed from time to time +% (but probably not much). The user should not be too sneaky. In particular, +% users wishing to redefine some of these macros should do so in an explicitly +% defined section at the top of their input file. This will mean that in the +% event of problems, that section can simply be deleted or commented out to +% allow the document to at least be typeset in the default format. Users should +% limit themselves to redefining these macros in such a section and should +% refrain from using the macros throughout their documents. + + +% Environment Parameters +% ---------------------- +% \tolerance tells TeX how tolerant it should be about making bad line and +% page breaks. Here we set it to it's maximum, as +% 1) Computer programs are likely to cause lots of bad breaks. +% 2) In most cases the user would probably rather get the TeX file through +% TeX without any errors than fiddle with spacings for perfection. +\tolerance=10000 + +% I don't like indentation as it makes the page look more busy. Instead, +% paragraphs are separated by a little space (see next). +\parindent=0pt + +% In many cases, users will produce documents with long runs of paragraphs. +% In order to space out these paragraphs, it is convenient to maintain a +% prevailing non-zero \parskip (end-of-paragaph skip). The only trouble is +% that the skip becomes a problem in macro definitions which require no skip +% and so we have to turn the skip on and off. The following two macros +% simplify this process. +\def\fwparskipon{\parskip=\medskipamount} +\def\fwparskipoff{\parskip=0pt} +\fwparskipon + +% Setting raggedbottom allows TeX to leave a bit of space at the bottom of the +% page in order to better vertically align the rest of the page (e.g. skips +% won't stretch as much). It also means that headings are less likely to be +% isolated at the bottom of the page without any following text. +\raggedbottom + + +% Fonts +% ----- +% Most of the typeset output is set in 10pt roman and 10pt tt font. +% The major extra font needs spring from titles and headings. +% For portability's sake we use only the following fonts: +% cmr10 +% cmbx10 +% cmtt10 +% and some enlargements of them. These fonts are all "standard" fonts +% in Plain TeX. See The TeXbook p.350. +\font\fwfontnote=cmr7 + +\font\fwfontnorm=cmr10 +\font\fwfontnorma=cmr10 scaled \magstep1 +\font\fwfontnormb=cmr10 scaled \magstep2 + +\font\fwfontbold=cmbx10 +\font\fwfontbolda=cmbx10 scaled \magstep1 +\font\fwfontboldb=cmbx10 scaled \magstep2 +\font\fwfontboldc=cmbx10 scaled \magstep3 +\font\fwfontboldd=cmbx10 scaled \magstep4 + + +% Macros for Stylistic Details +% ---------------------------- +% This section contains all the fiddly little macros for setting the details +% of each macro definition. + +% Macro definitions are sandwiched by calls to these macros which can be used +% to sort out the spacing before and after the macro definition. +\def\fwbeginmacro{\fwparskipoff\bigskip} +\def\fwendmacro{\fwparskipon\par} + +% These macros deal with the macro name and definition line. +\def\fwmacroname#1#2{{\sl #1\/}$\lbrack$#2$\rbrack$} +\def\fwfilename#1#2{{\bf #1}$\lbrack$#2$\rbrack$} +\def\fwzero#1{{\bf Z}} +\def\fwmany#1{{\bf M}} +\def\fwequals{ $\equiv$} +\def\fwplusequals{ $+\equiv$} + +% Now for the actual body of the definition. It looks nice to have the tt +% code indented a little. Again, we use macros instead of writing direct TeX, +% so as to allow the user to fiddle this stuff to taste without having to +% modify the FunnelWeb C code. +\def\fwodef{\parindent=15pt\vskip0pt$\lbrace$\parindent=20pt} +\def\fwcdef{$\rbrace$\vskip0pt\parindent=0pt} +\def\fwoquote{`} +\def\fwcquote{'} +\def\fwoparen{$($} +\def\fwcomma{$,$} +\def\fwcparen{$)$} +\def\fwparam#1{$\diamond #1$} +\def\fwparams#1{$(\diamond #1)$} + +% These macros deal with the notes that are appended at the end of each +% macro definition. Note that even though \fwisafile,\fwusedin, and \fwseealso +% have the same definition, they are given different names so as to allow the +% user to redefine these macros to typeset each kind of information differently +% if desired. +\def\fwbeginmacronotes{\begingroup\baselineskip=9pt\smallskip} +\def\fwnote#1{{\fwfontnote #1}\par} +\def\fwisafile#1{\fwnote{#1}} +\def\fwusedin#1{\fwnote{#1}} +\def\fwseealso#1{\fwnote{#1}} +\def\fwendmacronotes{\endgroup} + + +% Macros to Typeset Program Code Verbatim +% --------------------------------------- +% This is by far the hairiest and most difficult part of the typesetting task +% because we have to turn off most of TeX's natural instincts in order to +% typeset the program text exactly as it appears in the input file. +% Two macros are defined to pull this off: \fwbtx and \fwverbatimgobble. +% Their code was inspired by the following sections of "The TeXbook": +% Appendix D: Dirty Tricks, 3.Verbatim listing, p.380-382. +% Appendix E: Example Formats, p.421. +% The \fwbtx[ (for "FunnelWeb Begin TeXt") macro does most of the hard work. +% The liberal use of "%" is because I don't understand TeX well enough to +% understand when an end of line will cause trouble, and I am playing it safe. + +% Before defining the main \fwbtx macro, we have to stash away some definitions +% in the hidden part of TeX's environment. Let's hope that these "hidden" +% definitions don't affect anything except what is desired to be affected. + +% The tt font in which we wish to set the text has two Latin lurking ligatures! +% These are ?` and !`. To disable them, we define the left quote when ACTIVE +% to be defined in such a way as to prevent ligatures. The main TeX text will +% normally not be exposed to this definition because normally the leftquote +% character is not active. The \fwbtx macro temporarily makes the left quote +% character active thus activating the deactivation of left quote ligatures. +% See The TeXbook p.381. +{\catcode`\`=\active \gdef`{\relax\lq}} + +% TeX is fairly carefree about spaces and so we have to make it more serious. +% To do so we pull the same trick as above, setting up a definition for active +% space, but only making space active during the span of the verbatim text. +% In Plain TeX the active space is defined to be simply a space, but here we +% define it to be a control space. This ensures that the space cannot +% be gobbled up by one of TeX's mysterious mechanisms when activated. +% See The TeXbook, p.381 and p.352. +{\obeyspaces\global\let =\ } + +% Here is the main \fwbtx verbatim text macro. +% Note: The order in which all these pieces of business have to be done is +% still a partial mystery to me. Don't fiddle with this stuff unless you +% think you know what you are doing. +\def\fwbtx[{% +% +% The funnies involved in getting verbatim output are safely housed inside +% this \begingroup, and the \endgroup in \fwverbatimgobble. Groups are used +% instead of curly braces because we have to be able to signal the end of +% this macro with a curly brace. +\begingroup% +% +% \pars at the end of empty lines in the verbatim text won't come out normally +% because TeX is in vertical mode and they get gobbled up. To prevent this, +% we force \par to exit vertical mode first. See The TeXbook p.381. +\def\par{\leavevmode\endgraf}% +% +% Activate the leftquote character so as to avoid ligatures (see above). +\catcode`\`=\active% +% +% The \obeylines macro simply defines end of line (^M) to be \par. This ensures +% that TeX will treat each verbatim line as a new paragraph. +\obeylines% +% +% To get verbatim output, we have to desex all the special characters. This +% is explained in detail in The TeXbook p.380. +\def\do##1{\catcode`##1=12 }\dospecials% +% +% Activate the space character so as to make TeX treat blanks seriously. +% This activation invokes an eralier definition (see above). +\obeyspaces +% +% Interparagraph skips do not help the cause. +% Note: We have to preserve the indentation though, as the code is actually +% indented in the final output. See \fwodef in an earlier section. +\parskip=0pt% +% +% We typeset the verbatim text in tt font (courier on the Macintosh) for a +% number of reasons: +% - tt font has the same horizontal spacing for each character. +% - tt font covers the ASCII character set. +% - tt font doesn't have many surprises (e.g. ligatures). +% - tt font looks much what you might see on a computer terminal screen. +\tt% +% +% Having set up an environment for verbatim, we are ready to use it. +% By invoking \fwverbatimgobble, this \fwbtx macro gobbles up text verbatim (as +% part of the parameter of \fwverbatimgobble) until it sees the termination +% string "]fwetx=" (the "=" was thrown in to add obscurity as this sequence +% must never occur in the verbatim text). +\fwverbatimgobble} + +% The \fwverbatimgobble macro exists to allow \fwbtx to bracket verbatim text. +\def\fwverbatimgobble#1]fwetx={#1\endgroup} + + +% Table of Contents +% ----------------- +% The five levels of table of contents that FunnelWeb supports are identified +% by the five letters [A..E]. These are used throughout the following macros. + +% The following macros are utilities to the TOC macros to follow. +\def\fwrule{\medskip\hrule\medskip} +\def\fwqh{\hskip1.5em\relax} +\def\fwbeforesec{\penalty-200\bigskip\medskip\par} + +% The following macros are used to typeset the table of contents. +\def\fwtocstart#1{\fwrule\leftline{\fwfontbolda Table of Contents}\fwrule} +\def\fwtoca#1#2{\leftline{{\bf #1 #2}}} +\def\fwtocb#1#2{\leftline{\fwqh #1 #2}} +\def\fwtocc#1#2{\leftline{\fwqh\fwqh #1 #2}} +\def\fwtocd#1#2{\leftline{\fwqh\fwqh\fwqh #1 #2}} +\def\fwtoce#1#2{\leftline{\fwqh\fwqh\fwqh\fwqh #1 #2}} +\def\fwtocfinish#1{\fwrule} + +% The following "library" macros define five different strengths of headings +% which can be used later in the section macros. +\def\fwliba#1#2{\vfill\eject{\fwfontboldc #1 #2}\penalty200\smallskip} +\def\fwlibb#1#2{\fwbeforesec{\fwfontboldb #1 #2}\penalty200\smallskip} +\def\fwlibc#1#2{\fwbeforesec{\fwfontnormb #1 #2}\penalty200\smallskip} +\def\fwlibd#1#2{\fwbeforesec{\bf #1 #2}\penalty200} +\def\fwlibe#1#2{\fwbeforesec{\bf #1 #2}} + +% Here are the macros that actually typeset the section headings throughout +% the document. The fwlib system has been employed so as to easily allow the +% user to redefine the strengths of headings to taste. For example, the +% user could insert in the input document a similar set of definitions to these +% but with the b..e headings set to \fwlibc. This would tone down the output. +\def\fwseca#1#2{\fwliba{#1}{#2}} +\def\fwsecb#1#2{\fwlibb{#1}{#2}} +\def\fwsecc#1#2{\fwlibc{#1}{#2}} +\def\fwsecd#1#2{\fwlibd{#1}{#2}} +\def\fwsece#1#2{\fwlibe{#1}{#2}} + + +% Support for Explicit Typesetting +% -------------------------------- +% FunnelWeb supports pragmas and other constructs that allow +% typesetter-independent typesetting commands to be given. The +% following macros support these features. + +% The in-text literal @{sloth@} and emphasise @[walrus@] features. +\def\fwlit#1{{\tt #1}} +\def\fwemp#1{{\it #1}} + +% The "@p new_page" pragma. +\def\fwnewpage{\vfill\eject} + +% The "@p vskip Nmm" pragma. +\def\fwvskip#1{\null\vskip #1mm} + +% The "@p title <font> <align> <text>" pragma. +\def\fwfontnormal#1{{\fwfontnorm {#1}}} +\def\fwfonttitle#1{{\fwfontboldd {#1}}} +\def\fwfontsmalltitle#1{{\fwfontboldb {#1}}} +\def\fwleftline#1{\leftline{#1}} +\def\fwcenterline#1{\centerline{#1}} +\def\fwrightline#1{\rightline{#1}} + + +% Support for Old FunnelWeb +% ------------------------- +% The following macros were used extensively in the first version of +% FunnelWeb and are retained so that these older input files will still +% typeset cleanly. +\def\p#1{{\tt #1}} % P for Program text. +\def\flagpage#1#2{ + \null + \vfill + \centerline{\fwfontboldd #1} + \vskip 1cm + \centerline{\fwfontboldd #2} + \vfill + \null + \vfill +} + +%====================== End of FunnelWeb TeX Definitions ======================= +WV01: Test basic typeset file output mechanism. + +\fwseca{1}{A section for no particular reason} + +\fwbeginmacro +\fwfilename{wv01.out}{1}\fwequals \fwodef \fwbtx[Some text for no particular reason. +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwisafile{This macro is attached to an output file.} +\fwendmacronotes +\fwendmacro + +\bye + + +%******************************************************************************* +%* END OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* + diff --git a/web/funnelAC/results/wv02.lis b/web/funnelAC/results/wv02.lis new file mode 100644 index 0000000000..342bdb414d --- /dev/null +++ b/web/funnelAC/results/wv02.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Weave: Completed <<Suppressed>>. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/wv02.tex b/web/funnelAC/results/wv02.tex new file mode 100644 index 0000000000..aab813ee0f --- /dev/null +++ b/web/funnelAC/results/wv02.tex @@ -0,0 +1,454 @@ + +%******************************************************************************* +%* START OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* +%* * +%* This TeX file was automatically generated by the FunnelWeb preprocessor. * +%* You can typeset this file to produce printed documentation by running it * +%* through the TeX typesetter using a command such as: * +%* tex thisfilename * +%* The resultant file thisfilename.dvi can be printed using a command such as: * +%* lpr -Pcslw -d thisfilename.dvi * +%* * +%* FunnelWeb is a preprocessor that allows programmers to weave programs and * +%* their documentation together in a single document. The FunnelWeb program * +%* analyses such documents producing both program files and typeset * +%* documentation such as this TeX file. * +%* FunnelWeb was created by Ross Williams. * +%* * +%* For more information on FunnelWeb look in the following FTP archive: * +%* Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. * +%* Directory: ~pub/funnelweb/ * +%* (or some other appropriately named directory). * +%* or email Ross Williams at ross@spam.adelaide.edu.au * +%* * +%******************************************************************************* + + +%===================== Start of FunnelWeb TeX Definitions ====================== + + +% Version +% ------- +% This is FunnelWeb TeX Macro Library Version 1.0. + + +% Copyright +% --------- +% This set of FunnelWeb TeX definitions was written by Ross Williams and was +% originally Copyright (C) 1992 Ross N. Williams. However, I, Ross Williams, +% hereby forego any claim to Copyright in this set of FunnelWeb TeX definitions +% and hereby authorize that the set of TeX definitions pass into the public +% domain. -- Ross N. Williams, 3:41pm 07-May-1992, Adelaide, Australia. + + +% Modification +% ------------ +% Please record all modifications to these TeX definitions here. Unless +% otherwise specified, all modified definitions fall in the public domain too. +% +% Programmers: +% RNW Ross N. Williams ross@spam.adelaide.edu.au +% +% Changes: +% 07-May-1992 RNW Prepared this work for public domain release. +% + + +% General Comments +% ---------------- +% This set of TeX definitions exists for two reasons: +% +% 1. To shorten and neaten the FunnelWeb TeX output. +% 2. To allow users to fiddle with the output format in their input files +% (by inserting redefining "\def"s) without having to resort to +% modifying the FunnelWeb code. +% +% The user is warned that these definitions may be changed from time to time +% (but probably not much). The user should not be too sneaky. In particular, +% users wishing to redefine some of these macros should do so in an explicitly +% defined section at the top of their input file. This will mean that in the +% event of problems, that section can simply be deleted or commented out to +% allow the document to at least be typeset in the default format. Users should +% limit themselves to redefining these macros in such a section and should +% refrain from using the macros throughout their documents. + + +% Environment Parameters +% ---------------------- +% \tolerance tells TeX how tolerant it should be about making bad line and +% page breaks. Here we set it to it's maximum, as +% 1) Computer programs are likely to cause lots of bad breaks. +% 2) In most cases the user would probably rather get the TeX file through +% TeX without any errors than fiddle with spacings for perfection. +\tolerance=10000 + +% I don't like indentation as it makes the page look more busy. Instead, +% paragraphs are separated by a little space (see next). +\parindent=0pt + +% In many cases, users will produce documents with long runs of paragraphs. +% In order to space out these paragraphs, it is convenient to maintain a +% prevailing non-zero \parskip (end-of-paragaph skip). The only trouble is +% that the skip becomes a problem in macro definitions which require no skip +% and so we have to turn the skip on and off. The following two macros +% simplify this process. +\def\fwparskipon{\parskip=\medskipamount} +\def\fwparskipoff{\parskip=0pt} +\fwparskipon + +% Setting raggedbottom allows TeX to leave a bit of space at the bottom of the +% page in order to better vertically align the rest of the page (e.g. skips +% won't stretch as much). It also means that headings are less likely to be +% isolated at the bottom of the page without any following text. +\raggedbottom + + +% Fonts +% ----- +% Most of the typeset output is set in 10pt roman and 10pt tt font. +% The major extra font needs spring from titles and headings. +% For portability's sake we use only the following fonts: +% cmr10 +% cmbx10 +% cmtt10 +% and some enlargements of them. These fonts are all "standard" fonts +% in Plain TeX. See The TeXbook p.350. +\font\fwfontnote=cmr7 + +\font\fwfontnorm=cmr10 +\font\fwfontnorma=cmr10 scaled \magstep1 +\font\fwfontnormb=cmr10 scaled \magstep2 + +\font\fwfontbold=cmbx10 +\font\fwfontbolda=cmbx10 scaled \magstep1 +\font\fwfontboldb=cmbx10 scaled \magstep2 +\font\fwfontboldc=cmbx10 scaled \magstep3 +\font\fwfontboldd=cmbx10 scaled \magstep4 + + +% Macros for Stylistic Details +% ---------------------------- +% This section contains all the fiddly little macros for setting the details +% of each macro definition. + +% Macro definitions are sandwiched by calls to these macros which can be used +% to sort out the spacing before and after the macro definition. +\def\fwbeginmacro{\fwparskipoff\bigskip} +\def\fwendmacro{\fwparskipon\par} + +% These macros deal with the macro name and definition line. +\def\fwmacroname#1#2{{\sl #1\/}$\lbrack$#2$\rbrack$} +\def\fwfilename#1#2{{\bf #1}$\lbrack$#2$\rbrack$} +\def\fwzero#1{{\bf Z}} +\def\fwmany#1{{\bf M}} +\def\fwequals{ $\equiv$} +\def\fwplusequals{ $+\equiv$} + +% Now for the actual body of the definition. It looks nice to have the tt +% code indented a little. Again, we use macros instead of writing direct TeX, +% so as to allow the user to fiddle this stuff to taste without having to +% modify the FunnelWeb C code. +\def\fwodef{\parindent=15pt\vskip0pt$\lbrace$\parindent=20pt} +\def\fwcdef{$\rbrace$\vskip0pt\parindent=0pt} +\def\fwoquote{`} +\def\fwcquote{'} +\def\fwoparen{$($} +\def\fwcomma{$,$} +\def\fwcparen{$)$} +\def\fwparam#1{$\diamond #1$} +\def\fwparams#1{$(\diamond #1)$} + +% These macros deal with the notes that are appended at the end of each +% macro definition. Note that even though \fwisafile,\fwusedin, and \fwseealso +% have the same definition, they are given different names so as to allow the +% user to redefine these macros to typeset each kind of information differently +% if desired. +\def\fwbeginmacronotes{\begingroup\baselineskip=9pt\smallskip} +\def\fwnote#1{{\fwfontnote #1}\par} +\def\fwisafile#1{\fwnote{#1}} +\def\fwusedin#1{\fwnote{#1}} +\def\fwseealso#1{\fwnote{#1}} +\def\fwendmacronotes{\endgroup} + + +% Macros to Typeset Program Code Verbatim +% --------------------------------------- +% This is by far the hairiest and most difficult part of the typesetting task +% because we have to turn off most of TeX's natural instincts in order to +% typeset the program text exactly as it appears in the input file. +% Two macros are defined to pull this off: \fwbtx and \fwverbatimgobble. +% Their code was inspired by the following sections of "The TeXbook": +% Appendix D: Dirty Tricks, 3.Verbatim listing, p.380-382. +% Appendix E: Example Formats, p.421. +% The \fwbtx[ (for "FunnelWeb Begin TeXt") macro does most of the hard work. +% The liberal use of "%" is because I don't understand TeX well enough to +% understand when an end of line will cause trouble, and I am playing it safe. + +% Before defining the main \fwbtx macro, we have to stash away some definitions +% in the hidden part of TeX's environment. Let's hope that these "hidden" +% definitions don't affect anything except what is desired to be affected. + +% The tt font in which we wish to set the text has two Latin lurking ligatures! +% These are ?` and !`. To disable them, we define the left quote when ACTIVE +% to be defined in such a way as to prevent ligatures. The main TeX text will +% normally not be exposed to this definition because normally the leftquote +% character is not active. The \fwbtx macro temporarily makes the left quote +% character active thus activating the deactivation of left quote ligatures. +% See The TeXbook p.381. +{\catcode`\`=\active \gdef`{\relax\lq}} + +% TeX is fairly carefree about spaces and so we have to make it more serious. +% To do so we pull the same trick as above, setting up a definition for active +% space, but only making space active during the span of the verbatim text. +% In Plain TeX the active space is defined to be simply a space, but here we +% define it to be a control space. This ensures that the space cannot +% be gobbled up by one of TeX's mysterious mechanisms when activated. +% See The TeXbook, p.381 and p.352. +{\obeyspaces\global\let =\ } + +% Here is the main \fwbtx verbatim text macro. +% Note: The order in which all these pieces of business have to be done is +% still a partial mystery to me. Don't fiddle with this stuff unless you +% think you know what you are doing. +\def\fwbtx[{% +% +% The funnies involved in getting verbatim output are safely housed inside +% this \begingroup, and the \endgroup in \fwverbatimgobble. Groups are used +% instead of curly braces because we have to be able to signal the end of +% this macro with a curly brace. +\begingroup% +% +% \pars at the end of empty lines in the verbatim text won't come out normally +% because TeX is in vertical mode and they get gobbled up. To prevent this, +% we force \par to exit vertical mode first. See The TeXbook p.381. +\def\par{\leavevmode\endgraf}% +% +% Activate the leftquote character so as to avoid ligatures (see above). +\catcode`\`=\active% +% +% The \obeylines macro simply defines end of line (^M) to be \par. This ensures +% that TeX will treat each verbatim line as a new paragraph. +\obeylines% +% +% To get verbatim output, we have to desex all the special characters. This +% is explained in detail in The TeXbook p.380. +\def\do##1{\catcode`##1=12 }\dospecials% +% +% Activate the space character so as to make TeX treat blanks seriously. +% This activation invokes an eralier definition (see above). +\obeyspaces +% +% Interparagraph skips do not help the cause. +% Note: We have to preserve the indentation though, as the code is actually +% indented in the final output. See \fwodef in an earlier section. +\parskip=0pt% +% +% We typeset the verbatim text in tt font (courier on the Macintosh) for a +% number of reasons: +% - tt font has the same horizontal spacing for each character. +% - tt font covers the ASCII character set. +% - tt font doesn't have many surprises (e.g. ligatures). +% - tt font looks much what you might see on a computer terminal screen. +\tt% +% +% Having set up an environment for verbatim, we are ready to use it. +% By invoking \fwverbatimgobble, this \fwbtx macro gobbles up text verbatim (as +% part of the parameter of \fwverbatimgobble) until it sees the termination +% string "]fwetx=" (the "=" was thrown in to add obscurity as this sequence +% must never occur in the verbatim text). +\fwverbatimgobble} + +% The \fwverbatimgobble macro exists to allow \fwbtx to bracket verbatim text. +\def\fwverbatimgobble#1]fwetx={#1\endgroup} + + +% Table of Contents +% ----------------- +% The five levels of table of contents that FunnelWeb supports are identified +% by the five letters [A..E]. These are used throughout the following macros. + +% The following macros are utilities to the TOC macros to follow. +\def\fwrule{\medskip\hrule\medskip} +\def\fwqh{\hskip1.5em\relax} +\def\fwbeforesec{\penalty-200\bigskip\medskip\par} + +% The following macros are used to typeset the table of contents. +\def\fwtocstart#1{\fwrule\leftline{\fwfontbolda Table of Contents}\fwrule} +\def\fwtoca#1#2{\leftline{{\bf #1 #2}}} +\def\fwtocb#1#2{\leftline{\fwqh #1 #2}} +\def\fwtocc#1#2{\leftline{\fwqh\fwqh #1 #2}} +\def\fwtocd#1#2{\leftline{\fwqh\fwqh\fwqh #1 #2}} +\def\fwtoce#1#2{\leftline{\fwqh\fwqh\fwqh\fwqh #1 #2}} +\def\fwtocfinish#1{\fwrule} + +% The following "library" macros define five different strengths of headings +% which can be used later in the section macros. +\def\fwliba#1#2{\vfill\eject{\fwfontboldc #1 #2}\penalty200\smallskip} +\def\fwlibb#1#2{\fwbeforesec{\fwfontboldb #1 #2}\penalty200\smallskip} +\def\fwlibc#1#2{\fwbeforesec{\fwfontnormb #1 #2}\penalty200\smallskip} +\def\fwlibd#1#2{\fwbeforesec{\bf #1 #2}\penalty200} +\def\fwlibe#1#2{\fwbeforesec{\bf #1 #2}} + +% Here are the macros that actually typeset the section headings throughout +% the document. The fwlib system has been employed so as to easily allow the +% user to redefine the strengths of headings to taste. For example, the +% user could insert in the input document a similar set of definitions to these +% but with the b..e headings set to \fwlibc. This would tone down the output. +\def\fwseca#1#2{\fwliba{#1}{#2}} +\def\fwsecb#1#2{\fwlibb{#1}{#2}} +\def\fwsecc#1#2{\fwlibc{#1}{#2}} +\def\fwsecd#1#2{\fwlibd{#1}{#2}} +\def\fwsece#1#2{\fwlibe{#1}{#2}} + + +% Support for Explicit Typesetting +% -------------------------------- +% FunnelWeb supports pragmas and other constructs that allow +% typesetter-independent typesetting commands to be given. The +% following macros support these features. + +% The in-text literal @{sloth@} and emphasise @[walrus@] features. +\def\fwlit#1{{\tt #1}} +\def\fwemp#1{{\it #1}} + +% The "@p new_page" pragma. +\def\fwnewpage{\vfill\eject} + +% The "@p vskip Nmm" pragma. +\def\fwvskip#1{\null\vskip #1mm} + +% The "@p title <font> <align> <text>" pragma. +\def\fwfontnormal#1{{\fwfontnorm {#1}}} +\def\fwfonttitle#1{{\fwfontboldd {#1}}} +\def\fwfontsmalltitle#1{{\fwfontboldb {#1}}} +\def\fwleftline#1{\leftline{#1}} +\def\fwcenterline#1{\centerline{#1}} +\def\fwrightline#1{\rightline{#1}} + + +% Support for Old FunnelWeb +% ------------------------- +% The following macros were used extensively in the first version of +% FunnelWeb and are retained so that these older input files will still +% typeset cleanly. +\def\p#1{{\tt #1}} % P for Program text. +\def\flagpage#1#2{ + \null + \vfill + \centerline{\fwfontboldd #1} + \vskip 1cm + \centerline{\fwfontboldd #2} + \vfill + \null + \vfill +} + +%====================== End of FunnelWeb TeX Definitions ======================= +WV05: Test typesetting features. + +\fwbeginmacro +\fwfilename{wv05.out}{1}\fwequals \fwodef \fwbtx[ +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwisafile{This macro is attached to an output file.} +\fwendmacronotes +\fwendmacro + + +1. Test all five levels of headings with explicit titles. + +\fwseca{1}{One} +\fwsecb{1.1}{Two} +\fwsecc{1.1.1}{Three} +\fwsecd{1.1.1.1}{Four} +\fwsece{1.1.1.1.1}{Five} + +2. Test all five levels of headings with implicit titles. + +\fwseca{2}{Macro at level one} +\fwbeginmacro +\fwmacroname{Macro at level one}{2}\fwzero{}\fwequals \fwodef \fwbtx[Sloth]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +\fwsecb{2.1}{Macro at level two} +\fwbeginmacro +\fwmacroname{Macro at level two}{3}\fwzero{}\fwequals \fwodef \fwbtx[Walrus]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +\fwsecc{2.1.1}{Macro at level three} +\fwbeginmacro +\fwmacroname{Macro at level three}{4}\fwzero{}\fwequals \fwodef \fwbtx[Aardvark]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +\fwsecd{2.1.1.1}{Macro at level four} +\fwbeginmacro +\fwmacroname{Macro at level four}{5}\fwzero{}\fwequals \fwodef \fwbtx[Teapot]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +\fwsece{2.1.1.1.1}{Macro at level five} +\fwbeginmacro +\fwmacroname{Macro at level five}{6}\fwzero{}\fwequals \fwodef \fwbtx[Emu]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +3. Test the table of contents directive. + +\fwtocstart{} +\fwtoca{1}{One} +\fwtocb{1.1}{Two} +\fwtocc{1.1.1}{Three} +\fwtocd{1.1.1.1}{Four} +\fwtoce{1.1.1.1.1}{Five} +\fwtoca{2}{Macro at level one} +\fwtocb{2.1}{Macro at level two} +\fwtocc{2.1.1}{Macro at level three} +\fwtocd{2.1.1.1}{Macro at level four} +\fwtoce{2.1.1.1.1}{Macro at level five} +\fwtocfinish{} + + +4. Test the newpage directive. + +\fwnewpage + + +5. Test the vskip directive. +\fwvskip{50} + +6. Test the title directive. +\fwcenterline{\fwfonttitle{This is a test Title}} + + +\bye + + +%******************************************************************************* +%* END OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* + diff --git a/web/funnelAC/results/wv03.lis b/web/funnelAC/results/wv03.lis new file mode 100644 index 0000000000..342bdb414d --- /dev/null +++ b/web/funnelAC/results/wv03.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Weave: Completed <<Suppressed>>. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/wv03.tex b/web/funnelAC/results/wv03.tex new file mode 100644 index 0000000000..f9d5bda6cd --- /dev/null +++ b/web/funnelAC/results/wv03.tex @@ -0,0 +1,568 @@ + +%******************************************************************************* +%* START OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* +%* * +%* This TeX file was automatically generated by the FunnelWeb preprocessor. * +%* You can typeset this file to produce printed documentation by running it * +%* through the TeX typesetter using a command such as: * +%* tex thisfilename * +%* The resultant file thisfilename.dvi can be printed using a command such as: * +%* lpr -Pcslw -d thisfilename.dvi * +%* * +%* FunnelWeb is a preprocessor that allows programmers to weave programs and * +%* their documentation together in a single document. The FunnelWeb program * +%* analyses such documents producing both program files and typeset * +%* documentation such as this TeX file. * +%* FunnelWeb was created by Ross Williams. * +%* * +%* For more information on FunnelWeb look in the following FTP archive: * +%* Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. * +%* Directory: ~pub/funnelweb/ * +%* (or some other appropriately named directory). * +%* or email Ross Williams at ross@spam.adelaide.edu.au * +%* * +%******************************************************************************* + + +%===================== Start of FunnelWeb TeX Definitions ====================== + + +% Version +% ------- +% This is FunnelWeb TeX Macro Library Version 1.0. + + +% Copyright +% --------- +% This set of FunnelWeb TeX definitions was written by Ross Williams and was +% originally Copyright (C) 1992 Ross N. Williams. However, I, Ross Williams, +% hereby forego any claim to Copyright in this set of FunnelWeb TeX definitions +% and hereby authorize that the set of TeX definitions pass into the public +% domain. -- Ross N. Williams, 3:41pm 07-May-1992, Adelaide, Australia. + + +% Modification +% ------------ +% Please record all modifications to these TeX definitions here. Unless +% otherwise specified, all modified definitions fall in the public domain too. +% +% Programmers: +% RNW Ross N. Williams ross@spam.adelaide.edu.au +% +% Changes: +% 07-May-1992 RNW Prepared this work for public domain release. +% + + +% General Comments +% ---------------- +% This set of TeX definitions exists for two reasons: +% +% 1. To shorten and neaten the FunnelWeb TeX output. +% 2. To allow users to fiddle with the output format in their input files +% (by inserting redefining "\def"s) without having to resort to +% modifying the FunnelWeb code. +% +% The user is warned that these definitions may be changed from time to time +% (but probably not much). The user should not be too sneaky. In particular, +% users wishing to redefine some of these macros should do so in an explicitly +% defined section at the top of their input file. This will mean that in the +% event of problems, that section can simply be deleted or commented out to +% allow the document to at least be typeset in the default format. Users should +% limit themselves to redefining these macros in such a section and should +% refrain from using the macros throughout their documents. + + +% Environment Parameters +% ---------------------- +% \tolerance tells TeX how tolerant it should be about making bad line and +% page breaks. Here we set it to it's maximum, as +% 1) Computer programs are likely to cause lots of bad breaks. +% 2) In most cases the user would probably rather get the TeX file through +% TeX without any errors than fiddle with spacings for perfection. +\tolerance=10000 + +% I don't like indentation as it makes the page look more busy. Instead, +% paragraphs are separated by a little space (see next). +\parindent=0pt + +% In many cases, users will produce documents with long runs of paragraphs. +% In order to space out these paragraphs, it is convenient to maintain a +% prevailing non-zero \parskip (end-of-paragaph skip). The only trouble is +% that the skip becomes a problem in macro definitions which require no skip +% and so we have to turn the skip on and off. The following two macros +% simplify this process. +\def\fwparskipon{\parskip=\medskipamount} +\def\fwparskipoff{\parskip=0pt} +\fwparskipon + +% Setting raggedbottom allows TeX to leave a bit of space at the bottom of the +% page in order to better vertically align the rest of the page (e.g. skips +% won't stretch as much). It also means that headings are less likely to be +% isolated at the bottom of the page without any following text. +\raggedbottom + + +% Fonts +% ----- +% Most of the typeset output is set in 10pt roman and 10pt tt font. +% The major extra font needs spring from titles and headings. +% For portability's sake we use only the following fonts: +% cmr10 +% cmbx10 +% cmtt10 +% and some enlargements of them. These fonts are all "standard" fonts +% in Plain TeX. See The TeXbook p.350. +\font\fwfontnote=cmr7 + +\font\fwfontnorm=cmr10 +\font\fwfontnorma=cmr10 scaled \magstep1 +\font\fwfontnormb=cmr10 scaled \magstep2 + +\font\fwfontbold=cmbx10 +\font\fwfontbolda=cmbx10 scaled \magstep1 +\font\fwfontboldb=cmbx10 scaled \magstep2 +\font\fwfontboldc=cmbx10 scaled \magstep3 +\font\fwfontboldd=cmbx10 scaled \magstep4 + + +% Macros for Stylistic Details +% ---------------------------- +% This section contains all the fiddly little macros for setting the details +% of each macro definition. + +% Macro definitions are sandwiched by calls to these macros which can be used +% to sort out the spacing before and after the macro definition. +\def\fwbeginmacro{\fwparskipoff\bigskip} +\def\fwendmacro{\fwparskipon\par} + +% These macros deal with the macro name and definition line. +\def\fwmacroname#1#2{{\sl #1\/}$\lbrack$#2$\rbrack$} +\def\fwfilename#1#2{{\bf #1}$\lbrack$#2$\rbrack$} +\def\fwzero#1{{\bf Z}} +\def\fwmany#1{{\bf M}} +\def\fwequals{ $\equiv$} +\def\fwplusequals{ $+\equiv$} + +% Now for the actual body of the definition. It looks nice to have the tt +% code indented a little. Again, we use macros instead of writing direct TeX, +% so as to allow the user to fiddle this stuff to taste without having to +% modify the FunnelWeb C code. +\def\fwodef{\parindent=15pt\vskip0pt$\lbrace$\parindent=20pt} +\def\fwcdef{$\rbrace$\vskip0pt\parindent=0pt} +\def\fwoquote{`} +\def\fwcquote{'} +\def\fwoparen{$($} +\def\fwcomma{$,$} +\def\fwcparen{$)$} +\def\fwparam#1{$\diamond #1$} +\def\fwparams#1{$(\diamond #1)$} + +% These macros deal with the notes that are appended at the end of each +% macro definition. Note that even though \fwisafile,\fwusedin, and \fwseealso +% have the same definition, they are given different names so as to allow the +% user to redefine these macros to typeset each kind of information differently +% if desired. +\def\fwbeginmacronotes{\begingroup\baselineskip=9pt\smallskip} +\def\fwnote#1{{\fwfontnote #1}\par} +\def\fwisafile#1{\fwnote{#1}} +\def\fwusedin#1{\fwnote{#1}} +\def\fwseealso#1{\fwnote{#1}} +\def\fwendmacronotes{\endgroup} + + +% Macros to Typeset Program Code Verbatim +% --------------------------------------- +% This is by far the hairiest and most difficult part of the typesetting task +% because we have to turn off most of TeX's natural instincts in order to +% typeset the program text exactly as it appears in the input file. +% Two macros are defined to pull this off: \fwbtx and \fwverbatimgobble. +% Their code was inspired by the following sections of "The TeXbook": +% Appendix D: Dirty Tricks, 3.Verbatim listing, p.380-382. +% Appendix E: Example Formats, p.421. +% The \fwbtx[ (for "FunnelWeb Begin TeXt") macro does most of the hard work. +% The liberal use of "%" is because I don't understand TeX well enough to +% understand when an end of line will cause trouble, and I am playing it safe. + +% Before defining the main \fwbtx macro, we have to stash away some definitions +% in the hidden part of TeX's environment. Let's hope that these "hidden" +% definitions don't affect anything except what is desired to be affected. + +% The tt font in which we wish to set the text has two Latin lurking ligatures! +% These are ?` and !`. To disable them, we define the left quote when ACTIVE +% to be defined in such a way as to prevent ligatures. The main TeX text will +% normally not be exposed to this definition because normally the leftquote +% character is not active. The \fwbtx macro temporarily makes the left quote +% character active thus activating the deactivation of left quote ligatures. +% See The TeXbook p.381. +{\catcode`\`=\active \gdef`{\relax\lq}} + +% TeX is fairly carefree about spaces and so we have to make it more serious. +% To do so we pull the same trick as above, setting up a definition for active +% space, but only making space active during the span of the verbatim text. +% In Plain TeX the active space is defined to be simply a space, but here we +% define it to be a control space. This ensures that the space cannot +% be gobbled up by one of TeX's mysterious mechanisms when activated. +% See The TeXbook, p.381 and p.352. +{\obeyspaces\global\let =\ } + +% Here is the main \fwbtx verbatim text macro. +% Note: The order in which all these pieces of business have to be done is +% still a partial mystery to me. Don't fiddle with this stuff unless you +% think you know what you are doing. +\def\fwbtx[{% +% +% The funnies involved in getting verbatim output are safely housed inside +% this \begingroup, and the \endgroup in \fwverbatimgobble. Groups are used +% instead of curly braces because we have to be able to signal the end of +% this macro with a curly brace. +\begingroup% +% +% \pars at the end of empty lines in the verbatim text won't come out normally +% because TeX is in vertical mode and they get gobbled up. To prevent this, +% we force \par to exit vertical mode first. See The TeXbook p.381. +\def\par{\leavevmode\endgraf}% +% +% Activate the leftquote character so as to avoid ligatures (see above). +\catcode`\`=\active% +% +% The \obeylines macro simply defines end of line (^M) to be \par. This ensures +% that TeX will treat each verbatim line as a new paragraph. +\obeylines% +% +% To get verbatim output, we have to desex all the special characters. This +% is explained in detail in The TeXbook p.380. +\def\do##1{\catcode`##1=12 }\dospecials% +% +% Activate the space character so as to make TeX treat blanks seriously. +% This activation invokes an eralier definition (see above). +\obeyspaces +% +% Interparagraph skips do not help the cause. +% Note: We have to preserve the indentation though, as the code is actually +% indented in the final output. See \fwodef in an earlier section. +\parskip=0pt% +% +% We typeset the verbatim text in tt font (courier on the Macintosh) for a +% number of reasons: +% - tt font has the same horizontal spacing for each character. +% - tt font covers the ASCII character set. +% - tt font doesn't have many surprises (e.g. ligatures). +% - tt font looks much what you might see on a computer terminal screen. +\tt% +% +% Having set up an environment for verbatim, we are ready to use it. +% By invoking \fwverbatimgobble, this \fwbtx macro gobbles up text verbatim (as +% part of the parameter of \fwverbatimgobble) until it sees the termination +% string "]fwetx=" (the "=" was thrown in to add obscurity as this sequence +% must never occur in the verbatim text). +\fwverbatimgobble} + +% The \fwverbatimgobble macro exists to allow \fwbtx to bracket verbatim text. +\def\fwverbatimgobble#1]fwetx={#1\endgroup} + + +% Table of Contents +% ----------------- +% The five levels of table of contents that FunnelWeb supports are identified +% by the five letters [A..E]. These are used throughout the following macros. + +% The following macros are utilities to the TOC macros to follow. +\def\fwrule{\medskip\hrule\medskip} +\def\fwqh{\hskip1.5em\relax} +\def\fwbeforesec{\penalty-200\bigskip\medskip\par} + +% The following macros are used to typeset the table of contents. +\def\fwtocstart#1{\fwrule\leftline{\fwfontbolda Table of Contents}\fwrule} +\def\fwtoca#1#2{\leftline{{\bf #1 #2}}} +\def\fwtocb#1#2{\leftline{\fwqh #1 #2}} +\def\fwtocc#1#2{\leftline{\fwqh\fwqh #1 #2}} +\def\fwtocd#1#2{\leftline{\fwqh\fwqh\fwqh #1 #2}} +\def\fwtoce#1#2{\leftline{\fwqh\fwqh\fwqh\fwqh #1 #2}} +\def\fwtocfinish#1{\fwrule} + +% The following "library" macros define five different strengths of headings +% which can be used later in the section macros. +\def\fwliba#1#2{\vfill\eject{\fwfontboldc #1 #2}\penalty200\smallskip} +\def\fwlibb#1#2{\fwbeforesec{\fwfontboldb #1 #2}\penalty200\smallskip} +\def\fwlibc#1#2{\fwbeforesec{\fwfontnormb #1 #2}\penalty200\smallskip} +\def\fwlibd#1#2{\fwbeforesec{\bf #1 #2}\penalty200} +\def\fwlibe#1#2{\fwbeforesec{\bf #1 #2}} + +% Here are the macros that actually typeset the section headings throughout +% the document. The fwlib system has been employed so as to easily allow the +% user to redefine the strengths of headings to taste. For example, the +% user could insert in the input document a similar set of definitions to these +% but with the b..e headings set to \fwlibc. This would tone down the output. +\def\fwseca#1#2{\fwliba{#1}{#2}} +\def\fwsecb#1#2{\fwlibb{#1}{#2}} +\def\fwsecc#1#2{\fwlibc{#1}{#2}} +\def\fwsecd#1#2{\fwlibd{#1}{#2}} +\def\fwsece#1#2{\fwlibe{#1}{#2}} + + +% Support for Explicit Typesetting +% -------------------------------- +% FunnelWeb supports pragmas and other constructs that allow +% typesetter-independent typesetting commands to be given. The +% following macros support these features. + +% The in-text literal @{sloth@} and emphasise @[walrus@] features. +\def\fwlit#1{{\tt #1}} +\def\fwemp#1{{\it #1}} + +% The "@p new_page" pragma. +\def\fwnewpage{\vfill\eject} + +% The "@p vskip Nmm" pragma. +\def\fwvskip#1{\null\vskip #1mm} + +% The "@p title <font> <align> <text>" pragma. +\def\fwfontnormal#1{{\fwfontnorm {#1}}} +\def\fwfonttitle#1{{\fwfontboldd {#1}}} +\def\fwfontsmalltitle#1{{\fwfontboldb {#1}}} +\def\fwleftline#1{\leftline{#1}} +\def\fwcenterline#1{\centerline{#1}} +\def\fwrightline#1{\rightline{#1}} + + +% Support for Old FunnelWeb +% ------------------------- +% The following macros were used extensively in the first version of +% FunnelWeb and are retained so that these older input files will still +% typeset cleanly. +\def\p#1{{\tt #1}} % P for Program text. +\def\flagpage#1#2{ + \null + \vfill + \centerline{\fwfontboldd #1} + \vskip 1cm + \centerline{\fwfontboldd #2} + \vfill + \null + \vfill +} + +%====================== End of FunnelWeb TeX Definitions ======================= +WV03: Test the typesetting of various kinds of macros. + +First create an output file to keep the analyser happy. +\fwbeginmacro +\fwfilename{wv03.out}{1}\fwequals \fwodef \fwcdef +\fwbeginmacronotes +\fwisafile{This macro is attached to an output file.} +\fwendmacronotes +\fwendmacro + + +1. Test macro never used. +\fwbeginmacro +\fwmacroname{Never Used}{2}\fwzero{}\fwequals \fwodef \fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +2. Test a macro used once. +\fwbeginmacro +\fwmacroname{Used Once}{3}\fwequals \fwodef \fwcdef +\fwbeginmacronotes +\fwusedin{This macro is invoked in definition 7.} +\fwendmacronotes +\fwendmacro + + +3. Test a macro used twice. +\fwbeginmacro +\fwmacroname{Used Twice}{4}\fwmany{}\fwequals \fwodef \fwcdef +\fwbeginmacronotes +\fwusedin{This macro is invoked in definitions 7 and 8.} +\fwendmacronotes +\fwendmacro + + +4. Test a macro used three times. +\fwbeginmacro +\fwmacroname{Used Thrice}{5}\fwmany{}\fwequals \fwodef \fwcdef +\fwbeginmacronotes +\fwusedin{This macro is invoked in definitions 7, 8, and 9.} +\fwendmacronotes +\fwendmacro + + +5. Test a macro used five times. +\fwbeginmacro +\fwmacroname{Used Quice}{6}\fwmany{}\fwequals \fwodef \fwcdef +\fwbeginmacronotes +\fwusedin{This macro is invoked in definitions 7, 8, 9, 10, and 11.} +\fwendmacronotes +\fwendmacro + + +Here is the macro that does all the calling for the above. +\fwbeginmacro +\fwmacroname{Dummy1}{7}\fwzero{}\fwequals \fwodef \fwmacroname{Used Once}{3}\fwbtx[ +]fwetx=% +\fwmacroname{Used Twice}{4}\fwbtx[ +]fwetx=% +\fwmacroname{Used Thrice}{5}\fwbtx[ +]fwetx=% +\fwmacroname{Used Quice}{6}\fwbtx[ +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +\fwbeginmacro +\fwmacroname{Dummy2}{8}\fwzero{}\fwequals \fwodef \fwmacroname{Used Twice}{4}\fwbtx[ +]fwetx=% +\fwmacroname{Used Thrice}{5}\fwbtx[ +]fwetx=% +\fwmacroname{Used Quice}{6}\fwbtx[ +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +\fwbeginmacro +\fwmacroname{Dummy3}{9}\fwzero{}\fwequals \fwodef \fwmacroname{Used Thrice}{5}\fwbtx[ +]fwetx=% +\fwmacroname{Used Quice}{6}\fwbtx[ +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +\fwbeginmacro +\fwmacroname{Dummy4}{10}\fwzero{}\fwequals \fwodef \fwmacroname{Used Quice}{6}\fwbtx[ +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +\fwbeginmacro +\fwmacroname{Dummy5}{11}\fwzero{}\fwequals \fwodef \fwmacroname{Used Quice}{6}\fwbtx[ +]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +6. Test a macro with two body parts. +\fwbeginmacro +\fwmacroname{Two body parts}{12}\fwzero{}\fwplusequals \fwodef \fwbtx[Sloth]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 12 and 13.} +\fwusedin{This macro is invoked in definition 21.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{Two body parts}{13}\fwzero{}\fwplusequals \fwodef \fwbtx[Walrus]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 12 and 13.} +\fwusedin{This macro is invoked in definition 21.} +\fwendmacronotes +\fwendmacro + + +7. Test a macro with three body parts. +\fwbeginmacro +\fwmacroname{Three body parts}{14}\fwzero{}\fwplusequals \fwodef \fwbtx[Sloth]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 14, 15, and 16.} +\fwusedin{This macro is invoked in definition 19.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{Three body parts}{15}\fwzero{}\fwplusequals \fwodef \fwbtx[Walrus]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 14, 15, and 16.} +\fwusedin{This macro is invoked in definition 19.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{Three body parts}{16}\fwzero{}\fwplusequals \fwodef \fwbtx[Aardvaark]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 14, 15, and 16.} +\fwusedin{This macro is invoked in definition 19.} +\fwendmacronotes +\fwendmacro + + +8. Test a macro with five body parts. +\fwbeginmacro +\fwmacroname{Five body parts}{17}\fwzero{}\fwplusequals \fwodef \fwbtx[Sloth]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 17, 18, 19, 20, and 21.} +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{Five body parts}{18}\fwzero{}\fwplusequals \fwodef \fwbtx[Walrus]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 17, 18, 19, 20, and 21.} +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{Five body parts}{19}\fwzero{}\fwplusequals \fwodef \fwmacroname{Three body parts}{14}\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 17, 18, 19, 20, and 21.} +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{Five body parts}{20}\fwzero{}\fwplusequals \fwodef \fwbtx[Aardvaark]fwetx=% +\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 17, 18, 19, 20, and 21.} +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{Five body parts}{21}\fwzero{}\fwplusequals \fwodef \fwmacroname{Two body parts}{12}\fwcdef +\fwbeginmacronotes +\fwseealso{This macro is defined in definitions 17, 18, 19, 20, and 21.} +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + + +\bye + + +%******************************************************************************* +%* END OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* + diff --git a/web/funnelAC/results/wv04.lis b/web/funnelAC/results/wv04.lis new file mode 100644 index 0000000000..342bdb414d --- /dev/null +++ b/web/funnelAC/results/wv04.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Weave: Completed <<Suppressed>>. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/wv04.tex b/web/funnelAC/results/wv04.tex new file mode 100644 index 0000000000..f60d8158a3 --- /dev/null +++ b/web/funnelAC/results/wv04.tex @@ -0,0 +1,397 @@ + +%******************************************************************************* +%* START OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* +%* * +%* This TeX file was automatically generated by the FunnelWeb preprocessor. * +%* You can typeset this file to produce printed documentation by running it * +%* through the TeX typesetter using a command such as: * +%* tex thisfilename * +%* The resultant file thisfilename.dvi can be printed using a command such as: * +%* lpr -Pcslw -d thisfilename.dvi * +%* * +%* FunnelWeb is a preprocessor that allows programmers to weave programs and * +%* their documentation together in a single document. The FunnelWeb program * +%* analyses such documents producing both program files and typeset * +%* documentation such as this TeX file. * +%* FunnelWeb was created by Ross Williams. * +%* * +%* For more information on FunnelWeb look in the following FTP archive: * +%* Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. * +%* Directory: ~pub/funnelweb/ * +%* (or some other appropriately named directory). * +%* or email Ross Williams at ross@spam.adelaide.edu.au * +%* * +%******************************************************************************* + + +%===================== Start of FunnelWeb TeX Definitions ====================== + + +% Version +% ------- +% This is FunnelWeb TeX Macro Library Version 1.0. + + +% Copyright +% --------- +% This set of FunnelWeb TeX definitions was written by Ross Williams and was +% originally Copyright (C) 1992 Ross N. Williams. However, I, Ross Williams, +% hereby forego any claim to Copyright in this set of FunnelWeb TeX definitions +% and hereby authorize that the set of TeX definitions pass into the public +% domain. -- Ross N. Williams, 3:41pm 07-May-1992, Adelaide, Australia. + + +% Modification +% ------------ +% Please record all modifications to these TeX definitions here. Unless +% otherwise specified, all modified definitions fall in the public domain too. +% +% Programmers: +% RNW Ross N. Williams ross@spam.adelaide.edu.au +% +% Changes: +% 07-May-1992 RNW Prepared this work for public domain release. +% + + +% General Comments +% ---------------- +% This set of TeX definitions exists for two reasons: +% +% 1. To shorten and neaten the FunnelWeb TeX output. +% 2. To allow users to fiddle with the output format in their input files +% (by inserting redefining "\def"s) without having to resort to +% modifying the FunnelWeb code. +% +% The user is warned that these definitions may be changed from time to time +% (but probably not much). The user should not be too sneaky. In particular, +% users wishing to redefine some of these macros should do so in an explicitly +% defined section at the top of their input file. This will mean that in the +% event of problems, that section can simply be deleted or commented out to +% allow the document to at least be typeset in the default format. Users should +% limit themselves to redefining these macros in such a section and should +% refrain from using the macros throughout their documents. + + +% Environment Parameters +% ---------------------- +% \tolerance tells TeX how tolerant it should be about making bad line and +% page breaks. Here we set it to it's maximum, as +% 1) Computer programs are likely to cause lots of bad breaks. +% 2) In most cases the user would probably rather get the TeX file through +% TeX without any errors than fiddle with spacings for perfection. +\tolerance=10000 + +% I don't like indentation as it makes the page look more busy. Instead, +% paragraphs are separated by a little space (see next). +\parindent=0pt + +% In many cases, users will produce documents with long runs of paragraphs. +% In order to space out these paragraphs, it is convenient to maintain a +% prevailing non-zero \parskip (end-of-paragaph skip). The only trouble is +% that the skip becomes a problem in macro definitions which require no skip +% and so we have to turn the skip on and off. The following two macros +% simplify this process. +\def\fwparskipon{\parskip=\medskipamount} +\def\fwparskipoff{\parskip=0pt} +\fwparskipon + +% Setting raggedbottom allows TeX to leave a bit of space at the bottom of the +% page in order to better vertically align the rest of the page (e.g. skips +% won't stretch as much). It also means that headings are less likely to be +% isolated at the bottom of the page without any following text. +\raggedbottom + + +% Fonts +% ----- +% Most of the typeset output is set in 10pt roman and 10pt tt font. +% The major extra font needs spring from titles and headings. +% For portability's sake we use only the following fonts: +% cmr10 +% cmbx10 +% cmtt10 +% and some enlargements of them. These fonts are all "standard" fonts +% in Plain TeX. See The TeXbook p.350. +\font\fwfontnote=cmr7 + +\font\fwfontnorm=cmr10 +\font\fwfontnorma=cmr10 scaled \magstep1 +\font\fwfontnormb=cmr10 scaled \magstep2 + +\font\fwfontbold=cmbx10 +\font\fwfontbolda=cmbx10 scaled \magstep1 +\font\fwfontboldb=cmbx10 scaled \magstep2 +\font\fwfontboldc=cmbx10 scaled \magstep3 +\font\fwfontboldd=cmbx10 scaled \magstep4 + + +% Macros for Stylistic Details +% ---------------------------- +% This section contains all the fiddly little macros for setting the details +% of each macro definition. + +% Macro definitions are sandwiched by calls to these macros which can be used +% to sort out the spacing before and after the macro definition. +\def\fwbeginmacro{\fwparskipoff\bigskip} +\def\fwendmacro{\fwparskipon\par} + +% These macros deal with the macro name and definition line. +\def\fwmacroname#1#2{{\sl #1\/}$\lbrack$#2$\rbrack$} +\def\fwfilename#1#2{{\bf #1}$\lbrack$#2$\rbrack$} +\def\fwzero#1{{\bf Z}} +\def\fwmany#1{{\bf M}} +\def\fwequals{ $\equiv$} +\def\fwplusequals{ $+\equiv$} + +% Now for the actual body of the definition. It looks nice to have the tt +% code indented a little. Again, we use macros instead of writing direct TeX, +% so as to allow the user to fiddle this stuff to taste without having to +% modify the FunnelWeb C code. +\def\fwodef{\parindent=15pt\vskip0pt$\lbrace$\parindent=20pt} +\def\fwcdef{$\rbrace$\vskip0pt\parindent=0pt} +\def\fwoquote{`} +\def\fwcquote{'} +\def\fwoparen{$($} +\def\fwcomma{$,$} +\def\fwcparen{$)$} +\def\fwparam#1{$\diamond #1$} +\def\fwparams#1{$(\diamond #1)$} + +% These macros deal with the notes that are appended at the end of each +% macro definition. Note that even though \fwisafile,\fwusedin, and \fwseealso +% have the same definition, they are given different names so as to allow the +% user to redefine these macros to typeset each kind of information differently +% if desired. +\def\fwbeginmacronotes{\begingroup\baselineskip=9pt\smallskip} +\def\fwnote#1{{\fwfontnote #1}\par} +\def\fwisafile#1{\fwnote{#1}} +\def\fwusedin#1{\fwnote{#1}} +\def\fwseealso#1{\fwnote{#1}} +\def\fwendmacronotes{\endgroup} + + +% Macros to Typeset Program Code Verbatim +% --------------------------------------- +% This is by far the hairiest and most difficult part of the typesetting task +% because we have to turn off most of TeX's natural instincts in order to +% typeset the program text exactly as it appears in the input file. +% Two macros are defined to pull this off: \fwbtx and \fwverbatimgobble. +% Their code was inspired by the following sections of "The TeXbook": +% Appendix D: Dirty Tricks, 3.Verbatim listing, p.380-382. +% Appendix E: Example Formats, p.421. +% The \fwbtx[ (for "FunnelWeb Begin TeXt") macro does most of the hard work. +% The liberal use of "%" is because I don't understand TeX well enough to +% understand when an end of line will cause trouble, and I am playing it safe. + +% Before defining the main \fwbtx macro, we have to stash away some definitions +% in the hidden part of TeX's environment. Let's hope that these "hidden" +% definitions don't affect anything except what is desired to be affected. + +% The tt font in which we wish to set the text has two Latin lurking ligatures! +% These are ?` and !`. To disable them, we define the left quote when ACTIVE +% to be defined in such a way as to prevent ligatures. The main TeX text will +% normally not be exposed to this definition because normally the leftquote +% character is not active. The \fwbtx macro temporarily makes the left quote +% character active thus activating the deactivation of left quote ligatures. +% See The TeXbook p.381. +{\catcode`\`=\active \gdef`{\relax\lq}} + +% TeX is fairly carefree about spaces and so we have to make it more serious. +% To do so we pull the same trick as above, setting up a definition for active +% space, but only making space active during the span of the verbatim text. +% In Plain TeX the active space is defined to be simply a space, but here we +% define it to be a control space. This ensures that the space cannot +% be gobbled up by one of TeX's mysterious mechanisms when activated. +% See The TeXbook, p.381 and p.352. +{\obeyspaces\global\let =\ } + +% Here is the main \fwbtx verbatim text macro. +% Note: The order in which all these pieces of business have to be done is +% still a partial mystery to me. Don't fiddle with this stuff unless you +% think you know what you are doing. +\def\fwbtx[{% +% +% The funnies involved in getting verbatim output are safely housed inside +% this \begingroup, and the \endgroup in \fwverbatimgobble. Groups are used +% instead of curly braces because we have to be able to signal the end of +% this macro with a curly brace. +\begingroup% +% +% \pars at the end of empty lines in the verbatim text won't come out normally +% because TeX is in vertical mode and they get gobbled up. To prevent this, +% we force \par to exit vertical mode first. See The TeXbook p.381. +\def\par{\leavevmode\endgraf}% +% +% Activate the leftquote character so as to avoid ligatures (see above). +\catcode`\`=\active% +% +% The \obeylines macro simply defines end of line (^M) to be \par. This ensures +% that TeX will treat each verbatim line as a new paragraph. +\obeylines% +% +% To get verbatim output, we have to desex all the special characters. This +% is explained in detail in The TeXbook p.380. +\def\do##1{\catcode`##1=12 }\dospecials% +% +% Activate the space character so as to make TeX treat blanks seriously. +% This activation invokes an eralier definition (see above). +\obeyspaces +% +% Interparagraph skips do not help the cause. +% Note: We have to preserve the indentation though, as the code is actually +% indented in the final output. See \fwodef in an earlier section. +\parskip=0pt% +% +% We typeset the verbatim text in tt font (courier on the Macintosh) for a +% number of reasons: +% - tt font has the same horizontal spacing for each character. +% - tt font covers the ASCII character set. +% - tt font doesn't have many surprises (e.g. ligatures). +% - tt font looks much what you might see on a computer terminal screen. +\tt% +% +% Having set up an environment for verbatim, we are ready to use it. +% By invoking \fwverbatimgobble, this \fwbtx macro gobbles up text verbatim (as +% part of the parameter of \fwverbatimgobble) until it sees the termination +% string "]fwetx=" (the "=" was thrown in to add obscurity as this sequence +% must never occur in the verbatim text). +\fwverbatimgobble} + +% The \fwverbatimgobble macro exists to allow \fwbtx to bracket verbatim text. +\def\fwverbatimgobble#1]fwetx={#1\endgroup} + + +% Table of Contents +% ----------------- +% The five levels of table of contents that FunnelWeb supports are identified +% by the five letters [A..E]. These are used throughout the following macros. + +% The following macros are utilities to the TOC macros to follow. +\def\fwrule{\medskip\hrule\medskip} +\def\fwqh{\hskip1.5em\relax} +\def\fwbeforesec{\penalty-200\bigskip\medskip\par} + +% The following macros are used to typeset the table of contents. +\def\fwtocstart#1{\fwrule\leftline{\fwfontbolda Table of Contents}\fwrule} +\def\fwtoca#1#2{\leftline{{\bf #1 #2}}} +\def\fwtocb#1#2{\leftline{\fwqh #1 #2}} +\def\fwtocc#1#2{\leftline{\fwqh\fwqh #1 #2}} +\def\fwtocd#1#2{\leftline{\fwqh\fwqh\fwqh #1 #2}} +\def\fwtoce#1#2{\leftline{\fwqh\fwqh\fwqh\fwqh #1 #2}} +\def\fwtocfinish#1{\fwrule} + +% The following "library" macros define five different strengths of headings +% which can be used later in the section macros. +\def\fwliba#1#2{\vfill\eject{\fwfontboldc #1 #2}\penalty200\smallskip} +\def\fwlibb#1#2{\fwbeforesec{\fwfontboldb #1 #2}\penalty200\smallskip} +\def\fwlibc#1#2{\fwbeforesec{\fwfontnormb #1 #2}\penalty200\smallskip} +\def\fwlibd#1#2{\fwbeforesec{\bf #1 #2}\penalty200} +\def\fwlibe#1#2{\fwbeforesec{\bf #1 #2}} + +% Here are the macros that actually typeset the section headings throughout +% the document. The fwlib system has been employed so as to easily allow the +% user to redefine the strengths of headings to taste. For example, the +% user could insert in the input document a similar set of definitions to these +% but with the b..e headings set to \fwlibc. This would tone down the output. +\def\fwseca#1#2{\fwliba{#1}{#2}} +\def\fwsecb#1#2{\fwlibb{#1}{#2}} +\def\fwsecc#1#2{\fwlibc{#1}{#2}} +\def\fwsecd#1#2{\fwlibd{#1}{#2}} +\def\fwsece#1#2{\fwlibe{#1}{#2}} + + +% Support for Explicit Typesetting +% -------------------------------- +% FunnelWeb supports pragmas and other constructs that allow +% typesetter-independent typesetting commands to be given. The +% following macros support these features. + +% The in-text literal @{sloth@} and emphasise @[walrus@] features. +\def\fwlit#1{{\tt #1}} +\def\fwemp#1{{\it #1}} + +% The "@p new_page" pragma. +\def\fwnewpage{\vfill\eject} + +% The "@p vskip Nmm" pragma. +\def\fwvskip#1{\null\vskip #1mm} + +% The "@p title <font> <align> <text>" pragma. +\def\fwfontnormal#1{{\fwfontnorm {#1}}} +\def\fwfonttitle#1{{\fwfontboldd {#1}}} +\def\fwfontsmalltitle#1{{\fwfontboldb {#1}}} +\def\fwleftline#1{\leftline{#1}} +\def\fwcenterline#1{\centerline{#1}} +\def\fwrightline#1{\rightline{#1}} + + +% Support for Old FunnelWeb +% ------------------------- +% The following macros were used extensively in the first version of +% FunnelWeb and are retained so that these older input files will still +% typeset cleanly. +\def\p#1{{\tt #1}} % P for Program text. +\def\flagpage#1#2{ + \null + \vfill + \centerline{\fwfontboldd #1} + \vskip 1cm + \centerline{\fwfontboldd #2} + \vfill + \null + \vfill +} + +%====================== End of FunnelWeb TeX Definitions ======================= +WV04: Test ugly string processing. + +\fwbeginmacro +\fwfilename{wv04.out}{1}\fwequals \fwodef \fwcdef +\fwbeginmacronotes +\fwisafile{This macro is attached to an output file.} +\fwendmacronotes +\fwendmacro + + +1. Test ugly string in section name. +\fwseca{1}{ !\char`\"\#\$\%'()*+,-./0123456789:;$<$=$>$?} +\fwseca{2}{ABCDEFGHIJKLMNOPQRSTUVWXYZ[$\backslash$]\char`\^\_`} +\fwseca{3}{abcdefghijklmnopqrstuvwxyz$\{$$|$$\}$\char`\~} + +2. Test ugly string in macro name. +\fwbeginmacro +\fwmacroname{ !\char`\"\#\$\%'()*+,-./0123456789:;$<$=$>$?}{2}\fwzero{}\fwequals \fwodef \fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{ABCDEFGHIJKLMNOPQRSTUVWXYZ[$\backslash$]\char`\^\_`}{3}\fwzero{}\fwequals \fwodef \fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + +\fwbeginmacro +\fwmacroname{abcdefghijklmnopqrstuvwxyz$\{$$|$$\}$\char`\~}{4}\fwzero{}\fwequals \fwodef \fwcdef +\fwbeginmacronotes +\fwusedin{This macro is NEVER invoked.} +\fwendmacronotes +\fwendmacro + + +3. Test ugly string in literal section. +\fwlit{ !\char`\"\#\$\%'()*+,-./0123456789:;\char`\<=\char`\>?} +\fwlit{ABCDEFGHIJKLMNOPQRSTUVWXYZ[\char`\\]\char`\^\_`} +\fwlit{abcdefghijklmnopqrstuvwxyz\char`\{\char`\|\char`\}\char`\~} + +\bye + + +%******************************************************************************* +%* END OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* + diff --git a/web/funnelAC/results/wv05.lis b/web/funnelAC/results/wv05.lis new file mode 100644 index 0000000000..342bdb414d --- /dev/null +++ b/web/funnelAC/results/wv05.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Weave: Completed <<Suppressed>>. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/wv05.tex b/web/funnelAC/results/wv05.tex new file mode 100644 index 0000000000..833907b66e --- /dev/null +++ b/web/funnelAC/results/wv05.tex @@ -0,0 +1,442 @@ + +%******************************************************************************* +%* START OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* +%* * +%* This TeX file was automatically generated by the FunnelWeb preprocessor. * +%* You can typeset this file to produce printed documentation by running it * +%* through the TeX typesetter using a command such as: * +%* tex thisfilename * +%* The resultant file thisfilename.dvi can be printed using a command such as: * +%* lpr -Pcslw -d thisfilename.dvi * +%* * +%* FunnelWeb is a preprocessor that allows programmers to weave programs and * +%* their documentation together in a single document. The FunnelWeb program * +%* analyses such documents producing both program files and typeset * +%* documentation such as this TeX file. * +%* FunnelWeb was created by Ross Williams. * +%* * +%* For more information on FunnelWeb look in the following FTP archive: * +%* Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. * +%* Directory: ~pub/funnelweb/ * +%* (or some other appropriately named directory). * +%* or email Ross Williams at ross@spam.adelaide.edu.au * +%* * +%******************************************************************************* + + +%===================== Start of FunnelWeb TeX Definitions ====================== + + +% Version +% ------- +% This is FunnelWeb TeX Macro Library Version 1.0. + + +% Copyright +% --------- +% This set of FunnelWeb TeX definitions was written by Ross Williams and was +% originally Copyright (C) 1992 Ross N. Williams. However, I, Ross Williams, +% hereby forego any claim to Copyright in this set of FunnelWeb TeX definitions +% and hereby authorize that the set of TeX definitions pass into the public +% domain. -- Ross N. Williams, 3:41pm 07-May-1992, Adelaide, Australia. + + +% Modification +% ------------ +% Please record all modifications to these TeX definitions here. Unless +% otherwise specified, all modified definitions fall in the public domain too. +% +% Programmers: +% RNW Ross N. Williams ross@spam.adelaide.edu.au +% +% Changes: +% 07-May-1992 RNW Prepared this work for public domain release. +% + + +% General Comments +% ---------------- +% This set of TeX definitions exists for two reasons: +% +% 1. To shorten and neaten the FunnelWeb TeX output. +% 2. To allow users to fiddle with the output format in their input files +% (by inserting redefining "\def"s) without having to resort to +% modifying the FunnelWeb code. +% +% The user is warned that these definitions may be changed from time to time +% (but probably not much). The user should not be too sneaky. In particular, +% users wishing to redefine some of these macros should do so in an explicitly +% defined section at the top of their input file. This will mean that in the +% event of problems, that section can simply be deleted or commented out to +% allow the document to at least be typeset in the default format. Users should +% limit themselves to redefining these macros in such a section and should +% refrain from using the macros throughout their documents. + + +% Environment Parameters +% ---------------------- +% \tolerance tells TeX how tolerant it should be about making bad line and +% page breaks. Here we set it to it's maximum, as +% 1) Computer programs are likely to cause lots of bad breaks. +% 2) In most cases the user would probably rather get the TeX file through +% TeX without any errors than fiddle with spacings for perfection. +\tolerance=10000 + +% I don't like indentation as it makes the page look more busy. Instead, +% paragraphs are separated by a little space (see next). +\parindent=0pt + +% In many cases, users will produce documents with long runs of paragraphs. +% In order to space out these paragraphs, it is convenient to maintain a +% prevailing non-zero \parskip (end-of-paragaph skip). The only trouble is +% that the skip becomes a problem in macro definitions which require no skip +% and so we have to turn the skip on and off. The following two macros +% simplify this process. +\def\fwparskipon{\parskip=\medskipamount} +\def\fwparskipoff{\parskip=0pt} +\fwparskipon + +% Setting raggedbottom allows TeX to leave a bit of space at the bottom of the +% page in order to better vertically align the rest of the page (e.g. skips +% won't stretch as much). It also means that headings are less likely to be +% isolated at the bottom of the page without any following text. +\raggedbottom + + +% Fonts +% ----- +% Most of the typeset output is set in 10pt roman and 10pt tt font. +% The major extra font needs spring from titles and headings. +% For portability's sake we use only the following fonts: +% cmr10 +% cmbx10 +% cmtt10 +% and some enlargements of them. These fonts are all "standard" fonts +% in Plain TeX. See The TeXbook p.350. +\font\fwfontnote=cmr7 + +\font\fwfontnorm=cmr10 +\font\fwfontnorma=cmr10 scaled \magstep1 +\font\fwfontnormb=cmr10 scaled \magstep2 + +\font\fwfontbold=cmbx10 +\font\fwfontbolda=cmbx10 scaled \magstep1 +\font\fwfontboldb=cmbx10 scaled \magstep2 +\font\fwfontboldc=cmbx10 scaled \magstep3 +\font\fwfontboldd=cmbx10 scaled \magstep4 + + +% Macros for Stylistic Details +% ---------------------------- +% This section contains all the fiddly little macros for setting the details +% of each macro definition. + +% Macro definitions are sandwiched by calls to these macros which can be used +% to sort out the spacing before and after the macro definition. +\def\fwbeginmacro{\fwparskipoff\bigskip} +\def\fwendmacro{\fwparskipon\par} + +% These macros deal with the macro name and definition line. +\def\fwmacroname#1#2{{\sl #1\/}$\lbrack$#2$\rbrack$} +\def\fwfilename#1#2{{\bf #1}$\lbrack$#2$\rbrack$} +\def\fwzero#1{{\bf Z}} +\def\fwmany#1{{\bf M}} +\def\fwequals{ $\equiv$} +\def\fwplusequals{ $+\equiv$} + +% Now for the actual body of the definition. It looks nice to have the tt +% code indented a little. Again, we use macros instead of writing direct TeX, +% so as to allow the user to fiddle this stuff to taste without having to +% modify the FunnelWeb C code. +\def\fwodef{\parindent=15pt\vskip0pt$\lbrace$\parindent=20pt} +\def\fwcdef{$\rbrace$\vskip0pt\parindent=0pt} +\def\fwoquote{`} +\def\fwcquote{'} +\def\fwoparen{$($} +\def\fwcomma{$,$} +\def\fwcparen{$)$} +\def\fwparam#1{$\diamond #1$} +\def\fwparams#1{$(\diamond #1)$} + +% These macros deal with the notes that are appended at the end of each +% macro definition. Note that even though \fwisafile,\fwusedin, and \fwseealso +% have the same definition, they are given different names so as to allow the +% user to redefine these macros to typeset each kind of information differently +% if desired. +\def\fwbeginmacronotes{\begingroup\baselineskip=9pt\smallskip} +\def\fwnote#1{{\fwfontnote #1}\par} +\def\fwisafile#1{\fwnote{#1}} +\def\fwusedin#1{\fwnote{#1}} +\def\fwseealso#1{\fwnote{#1}} +\def\fwendmacronotes{\endgroup} + + +% Macros to Typeset Program Code Verbatim +% --------------------------------------- +% This is by far the hairiest and most difficult part of the typesetting task +% because we have to turn off most of TeX's natural instincts in order to +% typeset the program text exactly as it appears in the input file. +% Two macros are defined to pull this off: \fwbtx and \fwverbatimgobble. +% Their code was inspired by the following sections of "The TeXbook": +% Appendix D: Dirty Tricks, 3.Verbatim listing, p.380-382. +% Appendix E: Example Formats, p.421. +% The \fwbtx[ (for "FunnelWeb Begin TeXt") macro does most of the hard work. +% The liberal use of "%" is because I don't understand TeX well enough to +% understand when an end of line will cause trouble, and I am playing it safe. + +% Before defining the main \fwbtx macro, we have to stash away some definitions +% in the hidden part of TeX's environment. Let's hope that these "hidden" +% definitions don't affect anything except what is desired to be affected. + +% The tt font in which we wish to set the text has two Latin lurking ligatures! +% These are ?` and !`. To disable them, we define the left quote when ACTIVE +% to be defined in such a way as to prevent ligatures. The main TeX text will +% normally not be exposed to this definition because normally the leftquote +% character is not active. The \fwbtx macro temporarily makes the left quote +% character active thus activating the deactivation of left quote ligatures. +% See The TeXbook p.381. +{\catcode`\`=\active \gdef`{\relax\lq}} + +% TeX is fairly carefree about spaces and so we have to make it more serious. +% To do so we pull the same trick as above, setting up a definition for active +% space, but only making space active during the span of the verbatim text. +% In Plain TeX the active space is defined to be simply a space, but here we +% define it to be a control space. This ensures that the space cannot +% be gobbled up by one of TeX's mysterious mechanisms when activated. +% See The TeXbook, p.381 and p.352. +{\obeyspaces\global\let =\ } + +% Here is the main \fwbtx verbatim text macro. +% Note: The order in which all these pieces of business have to be done is +% still a partial mystery to me. Don't fiddle with this stuff unless you +% think you know what you are doing. +\def\fwbtx[{% +% +% The funnies involved in getting verbatim output are safely housed inside +% this \begingroup, and the \endgroup in \fwverbatimgobble. Groups are used +% instead of curly braces because we have to be able to signal the end of +% this macro with a curly brace. +\begingroup% +% +% \pars at the end of empty lines in the verbatim text won't come out normally +% because TeX is in vertical mode and they get gobbled up. To prevent this, +% we force \par to exit vertical mode first. See The TeXbook p.381. +\def\par{\leavevmode\endgraf}% +% +% Activate the leftquote character so as to avoid ligatures (see above). +\catcode`\`=\active% +% +% The \obeylines macro simply defines end of line (^M) to be \par. This ensures +% that TeX will treat each verbatim line as a new paragraph. +\obeylines% +% +% To get verbatim output, we have to desex all the special characters. This +% is explained in detail in The TeXbook p.380. +\def\do##1{\catcode`##1=12 }\dospecials% +% +% Activate the space character so as to make TeX treat blanks seriously. +% This activation invokes an eralier definition (see above). +\obeyspaces +% +% Interparagraph skips do not help the cause. +% Note: We have to preserve the indentation though, as the code is actually +% indented in the final output. See \fwodef in an earlier section. +\parskip=0pt% +% +% We typeset the verbatim text in tt font (courier on the Macintosh) for a +% number of reasons: +% - tt font has the same horizontal spacing for each character. +% - tt font covers the ASCII character set. +% - tt font doesn't have many surprises (e.g. ligatures). +% - tt font looks much what you might see on a computer terminal screen. +\tt% +% +% Having set up an environment for verbatim, we are ready to use it. +% By invoking \fwverbatimgobble, this \fwbtx macro gobbles up text verbatim (as +% part of the parameter of \fwverbatimgobble) until it sees the termination +% string "]fwetx=" (the "=" was thrown in to add obscurity as this sequence +% must never occur in the verbatim text). +\fwverbatimgobble} + +% The \fwverbatimgobble macro exists to allow \fwbtx to bracket verbatim text. +\def\fwverbatimgobble#1]fwetx={#1\endgroup} + + +% Table of Contents +% ----------------- +% The five levels of table of contents that FunnelWeb supports are identified +% by the five letters [A..E]. These are used throughout the following macros. + +% The following macros are utilities to the TOC macros to follow. +\def\fwrule{\medskip\hrule\medskip} +\def\fwqh{\hskip1.5em\relax} +\def\fwbeforesec{\penalty-200\bigskip\medskip\par} + +% The following macros are used to typeset the table of contents. +\def\fwtocstart#1{\fwrule\leftline{\fwfontbolda Table of Contents}\fwrule} +\def\fwtoca#1#2{\leftline{{\bf #1 #2}}} +\def\fwtocb#1#2{\leftline{\fwqh #1 #2}} +\def\fwtocc#1#2{\leftline{\fwqh\fwqh #1 #2}} +\def\fwtocd#1#2{\leftline{\fwqh\fwqh\fwqh #1 #2}} +\def\fwtoce#1#2{\leftline{\fwqh\fwqh\fwqh\fwqh #1 #2}} +\def\fwtocfinish#1{\fwrule} + +% The following "library" macros define five different strengths of headings +% which can be used later in the section macros. +\def\fwliba#1#2{\vfill\eject{\fwfontboldc #1 #2}\penalty200\smallskip} +\def\fwlibb#1#2{\fwbeforesec{\fwfontboldb #1 #2}\penalty200\smallskip} +\def\fwlibc#1#2{\fwbeforesec{\fwfontnormb #1 #2}\penalty200\smallskip} +\def\fwlibd#1#2{\fwbeforesec{\bf #1 #2}\penalty200} +\def\fwlibe#1#2{\fwbeforesec{\bf #1 #2}} + +% Here are the macros that actually typeset the section headings throughout +% the document. The fwlib system has been employed so as to easily allow the +% user to redefine the strengths of headings to taste. For example, the +% user could insert in the input document a similar set of definitions to these +% but with the b..e headings set to \fwlibc. This would tone down the output. +\def\fwseca#1#2{\fwliba{#1}{#2}} +\def\fwsecb#1#2{\fwlibb{#1}{#2}} +\def\fwsecc#1#2{\fwlibc{#1}{#2}} +\def\fwsecd#1#2{\fwlibd{#1}{#2}} +\def\fwsece#1#2{\fwlibe{#1}{#2}} + + +% Support for Explicit Typesetting +% -------------------------------- +% FunnelWeb supports pragmas and other constructs that allow +% typesetter-independent typesetting commands to be given. The +% following macros support these features. + +% The in-text literal @{sloth@} and emphasise @[walrus@] features. +\def\fwlit#1{{\tt #1}} +\def\fwemp#1{{\it #1}} + +% The "@p new_page" pragma. +\def\fwnewpage{\vfill\eject} + +% The "@p vskip Nmm" pragma. +\def\fwvskip#1{\null\vskip #1mm} + +% The "@p title <font> <align> <text>" pragma. +\def\fwfontnormal#1{{\fwfontnorm {#1}}} +\def\fwfonttitle#1{{\fwfontboldd {#1}}} +\def\fwfontsmalltitle#1{{\fwfontboldb {#1}}} +\def\fwleftline#1{\leftline{#1}} +\def\fwcenterline#1{\centerline{#1}} +\def\fwrightline#1{\rightline{#1}} + + +% Support for Old FunnelWeb +% ------------------------- +% The following macros were used extensively in the first version of +% FunnelWeb and are retained so that these older input files will still +% typeset cleanly. +\def\p#1{{\tt #1}} % P for Program text. +\def\flagpage#1#2{ + \null + \vfill + \centerline{\fwfontboldd #1} + \vskip 1cm + \centerline{\fwfontboldd #2} + \vfill + \null + \vfill +} + +%====================== End of FunnelWeb TeX Definitions ======================= +WV05: Test processing of ugly strings as ordinary and protected text +with no typesetter set. + +\fwbeginmacro +\fwfilename{wv05.out}{1}\fwequals \fwodef \fwcdef +\fwbeginmacronotes +\fwisafile{This macro is attached to an output file.} +\fwendmacronotes +\fwendmacro + + +A paragraph in ordinary mode. + +33 con!text +34 con\char`\"text +35 con\#text +36 con\$text +37 con\%text +38 con\&text +39 con'text +40 con(text +41 con)text +42 con*text +43 con+text +44 con,text +45 con-text +46 con.text +47 con/text +48-57 con0123456789text +58 con:text +59 con;text +60 con$<$text +61 con=text +62 con$>$text +63 con?text +64 con@text +65-90 conABCDEFGHIJKLMNOPQRSTUVWXYZtext +91 con[text +92 con$\backslash$text +93 con]text +94 con\char`\^text +95 con\_text +96 con`text +97-122 conabcdefghijklmnopqrstuvwxyztext +123 con$\{$text +124 con$|$text +125 con$\}$text +126 con\char`\~text + +Now again, but this time inside protective braces. + +\fwlit{ +33 con!text +34 con\char`\"text +35 con\#text +36 con\$text +37 con\%text +38 con\&text +39 con'text +40 con(text +41 con)text +42 con*text +43 con+text +44 con,text +45 con-text +46 con.text +47 con/text +48-57 con0123456789text +58 con:text +59 con;text +60 con\char`\<text +61 con=text +62 con\char`\>text +63 con?text +64 con@text +65-90 conABCDEFGHIJKLMNOPQRSTUVWXYZtext +91 con[text +92 con\char`\\text +93 con]text +94 con\char`\^text +95 con\_text +96 con`text +97-122 conabcdefghijklmnopqrstuvwxyztext +123 con\char`\{text +124 con\char`\|text +125 con\char`\}text +126 con\char`\~text +} +\bye + + +%******************************************************************************* +%* END OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* + diff --git a/web/funnelAC/results/wv06.lis b/web/funnelAC/results/wv06.lis new file mode 100644 index 0000000000..342bdb414d --- /dev/null +++ b/web/funnelAC/results/wv06.lis @@ -0,0 +1,12 @@ +FUNNELWEB LISTING FILE +====================== + + +Global Local| Input File +------------+------------------------------------------------------------------- +................. +------------+------------------------------------------------------------------- + +Weave: Completed <<Suppressed>>. + +SUCCESS: No diagnostics. diff --git a/web/funnelAC/results/wv06.tex b/web/funnelAC/results/wv06.tex new file mode 100644 index 0000000000..e2626dbb69 --- /dev/null +++ b/web/funnelAC/results/wv06.tex @@ -0,0 +1,443 @@ + +%******************************************************************************* +%* START OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* +%* * +%* This TeX file was automatically generated by the FunnelWeb preprocessor. * +%* You can typeset this file to produce printed documentation by running it * +%* through the TeX typesetter using a command such as: * +%* tex thisfilename * +%* The resultant file thisfilename.dvi can be printed using a command such as: * +%* lpr -Pcslw -d thisfilename.dvi * +%* * +%* FunnelWeb is a preprocessor that allows programmers to weave programs and * +%* their documentation together in a single document. The FunnelWeb program * +%* analyses such documents producing both program files and typeset * +%* documentation such as this TeX file. * +%* FunnelWeb was created by Ross Williams. * +%* * +%* For more information on FunnelWeb look in the following FTP archive: * +%* Machine : sirius.itd.adelaide.edu.au [IP=129.127.40.3]. * +%* Directory: ~pub/funnelweb/ * +%* (or some other appropriately named directory). * +%* or email Ross Williams at ross@spam.adelaide.edu.au * +%* * +%******************************************************************************* + + +%===================== Start of FunnelWeb TeX Definitions ====================== + + +% Version +% ------- +% This is FunnelWeb TeX Macro Library Version 1.0. + + +% Copyright +% --------- +% This set of FunnelWeb TeX definitions was written by Ross Williams and was +% originally Copyright (C) 1992 Ross N. Williams. However, I, Ross Williams, +% hereby forego any claim to Copyright in this set of FunnelWeb TeX definitions +% and hereby authorize that the set of TeX definitions pass into the public +% domain. -- Ross N. Williams, 3:41pm 07-May-1992, Adelaide, Australia. + + +% Modification +% ------------ +% Please record all modifications to these TeX definitions here. Unless +% otherwise specified, all modified definitions fall in the public domain too. +% +% Programmers: +% RNW Ross N. Williams ross@spam.adelaide.edu.au +% +% Changes: +% 07-May-1992 RNW Prepared this work for public domain release. +% + + +% General Comments +% ---------------- +% This set of TeX definitions exists for two reasons: +% +% 1. To shorten and neaten the FunnelWeb TeX output. +% 2. To allow users to fiddle with the output format in their input files +% (by inserting redefining "\def"s) without having to resort to +% modifying the FunnelWeb code. +% +% The user is warned that these definitions may be changed from time to time +% (but probably not much). The user should not be too sneaky. In particular, +% users wishing to redefine some of these macros should do so in an explicitly +% defined section at the top of their input file. This will mean that in the +% event of problems, that section can simply be deleted or commented out to +% allow the document to at least be typeset in the default format. Users should +% limit themselves to redefining these macros in such a section and should +% refrain from using the macros throughout their documents. + + +% Environment Parameters +% ---------------------- +% \tolerance tells TeX how tolerant it should be about making bad line and +% page breaks. Here we set it to it's maximum, as +% 1) Computer programs are likely to cause lots of bad breaks. +% 2) In most cases the user would probably rather get the TeX file through +% TeX without any errors than fiddle with spacings for perfection. +\tolerance=10000 + +% I don't like indentation as it makes the page look more busy. Instead, +% paragraphs are separated by a little space (see next). +\parindent=0pt + +% In many cases, users will produce documents with long runs of paragraphs. +% In order to space out these paragraphs, it is convenient to maintain a +% prevailing non-zero \parskip (end-of-paragaph skip). The only trouble is +% that the skip becomes a problem in macro definitions which require no skip +% and so we have to turn the skip on and off. The following two macros +% simplify this process. +\def\fwparskipon{\parskip=\medskipamount} +\def\fwparskipoff{\parskip=0pt} +\fwparskipon + +% Setting raggedbottom allows TeX to leave a bit of space at the bottom of the +% page in order to better vertically align the rest of the page (e.g. skips +% won't stretch as much). It also means that headings are less likely to be +% isolated at the bottom of the page without any following text. +\raggedbottom + + +% Fonts +% ----- +% Most of the typeset output is set in 10pt roman and 10pt tt font. +% The major extra font needs spring from titles and headings. +% For portability's sake we use only the following fonts: +% cmr10 +% cmbx10 +% cmtt10 +% and some enlargements of them. These fonts are all "standard" fonts +% in Plain TeX. See The TeXbook p.350. +\font\fwfontnote=cmr7 + +\font\fwfontnorm=cmr10 +\font\fwfontnorma=cmr10 scaled \magstep1 +\font\fwfontnormb=cmr10 scaled \magstep2 + +\font\fwfontbold=cmbx10 +\font\fwfontbolda=cmbx10 scaled \magstep1 +\font\fwfontboldb=cmbx10 scaled \magstep2 +\font\fwfontboldc=cmbx10 scaled \magstep3 +\font\fwfontboldd=cmbx10 scaled \magstep4 + + +% Macros for Stylistic Details +% ---------------------------- +% This section contains all the fiddly little macros for setting the details +% of each macro definition. + +% Macro definitions are sandwiched by calls to these macros which can be used +% to sort out the spacing before and after the macro definition. +\def\fwbeginmacro{\fwparskipoff\bigskip} +\def\fwendmacro{\fwparskipon\par} + +% These macros deal with the macro name and definition line. +\def\fwmacroname#1#2{{\sl #1\/}$\lbrack$#2$\rbrack$} +\def\fwfilename#1#2{{\bf #1}$\lbrack$#2$\rbrack$} +\def\fwzero#1{{\bf Z}} +\def\fwmany#1{{\bf M}} +\def\fwequals{ $\equiv$} +\def\fwplusequals{ $+\equiv$} + +% Now for the actual body of the definition. It looks nice to have the tt +% code indented a little. Again, we use macros instead of writing direct TeX, +% so as to allow the user to fiddle this stuff to taste without having to +% modify the FunnelWeb C code. +\def\fwodef{\parindent=15pt\vskip0pt$\lbrace$\parindent=20pt} +\def\fwcdef{$\rbrace$\vskip0pt\parindent=0pt} +\def\fwoquote{`} +\def\fwcquote{'} +\def\fwoparen{$($} +\def\fwcomma{$,$} +\def\fwcparen{$)$} +\def\fwparam#1{$\diamond #1$} +\def\fwparams#1{$(\diamond #1)$} + +% These macros deal with the notes that are appended at the end of each +% macro definition. Note that even though \fwisafile,\fwusedin, and \fwseealso +% have the same definition, they are given different names so as to allow the +% user to redefine these macros to typeset each kind of information differently +% if desired. +\def\fwbeginmacronotes{\begingroup\baselineskip=9pt\smallskip} +\def\fwnote#1{{\fwfontnote #1}\par} +\def\fwisafile#1{\fwnote{#1}} +\def\fwusedin#1{\fwnote{#1}} +\def\fwseealso#1{\fwnote{#1}} +\def\fwendmacronotes{\endgroup} + + +% Macros to Typeset Program Code Verbatim +% --------------------------------------- +% This is by far the hairiest and most difficult part of the typesetting task +% because we have to turn off most of TeX's natural instincts in order to +% typeset the program text exactly as it appears in the input file. +% Two macros are defined to pull this off: \fwbtx and \fwverbatimgobble. +% Their code was inspired by the following sections of "The TeXbook": +% Appendix D: Dirty Tricks, 3.Verbatim listing, p.380-382. +% Appendix E: Example Formats, p.421. +% The \fwbtx[ (for "FunnelWeb Begin TeXt") macro does most of the hard work. +% The liberal use of "%" is because I don't understand TeX well enough to +% understand when an end of line will cause trouble, and I am playing it safe. + +% Before defining the main \fwbtx macro, we have to stash away some definitions +% in the hidden part of TeX's environment. Let's hope that these "hidden" +% definitions don't affect anything except what is desired to be affected. + +% The tt font in which we wish to set the text has two Latin lurking ligatures! +% These are ?` and !`. To disable them, we define the left quote when ACTIVE +% to be defined in such a way as to prevent ligatures. The main TeX text will +% normally not be exposed to this definition because normally the leftquote +% character is not active. The \fwbtx macro temporarily makes the left quote +% character active thus activating the deactivation of left quote ligatures. +% See The TeXbook p.381. +{\catcode`\`=\active \gdef`{\relax\lq}} + +% TeX is fairly carefree about spaces and so we have to make it more serious. +% To do so we pull the same trick as above, setting up a definition for active +% space, but only making space active during the span of the verbatim text. +% In Plain TeX the active space is defined to be simply a space, but here we +% define it to be a control space. This ensures that the space cannot +% be gobbled up by one of TeX's mysterious mechanisms when activated. +% See The TeXbook, p.381 and p.352. +{\obeyspaces\global\let =\ } + +% Here is the main \fwbtx verbatim text macro. +% Note: The order in which all these pieces of business have to be done is +% still a partial mystery to me. Don't fiddle with this stuff unless you +% think you know what you are doing. +\def\fwbtx[{% +% +% The funnies involved in getting verbatim output are safely housed inside +% this \begingroup, and the \endgroup in \fwverbatimgobble. Groups are used +% instead of curly braces because we have to be able to signal the end of +% this macro with a curly brace. +\begingroup% +% +% \pars at the end of empty lines in the verbatim text won't come out normally +% because TeX is in vertical mode and they get gobbled up. To prevent this, +% we force \par to exit vertical mode first. See The TeXbook p.381. +\def\par{\leavevmode\endgraf}% +% +% Activate the leftquote character so as to avoid ligatures (see above). +\catcode`\`=\active% +% +% The \obeylines macro simply defines end of line (^M) to be \par. This ensures +% that TeX will treat each verbatim line as a new paragraph. +\obeylines% +% +% To get verbatim output, we have to desex all the special characters. This +% is explained in detail in The TeXbook p.380. +\def\do##1{\catcode`##1=12 }\dospecials% +% +% Activate the space character so as to make TeX treat blanks seriously. +% This activation invokes an eralier definition (see above). +\obeyspaces +% +% Interparagraph skips do not help the cause. +% Note: We have to preserve the indentation though, as the code is actually +% indented in the final output. See \fwodef in an earlier section. +\parskip=0pt% +% +% We typeset the verbatim text in tt font (courier on the Macintosh) for a +% number of reasons: +% - tt font has the same horizontal spacing for each character. +% - tt font covers the ASCII character set. +% - tt font doesn't have many surprises (e.g. ligatures). +% - tt font looks much what you might see on a computer terminal screen. +\tt% +% +% Having set up an environment for verbatim, we are ready to use it. +% By invoking \fwverbatimgobble, this \fwbtx macro gobbles up text verbatim (as +% part of the parameter of \fwverbatimgobble) until it sees the termination +% string "]fwetx=" (the "=" was thrown in to add obscurity as this sequence +% must never occur in the verbatim text). +\fwverbatimgobble} + +% The \fwverbatimgobble macro exists to allow \fwbtx to bracket verbatim text. +\def\fwverbatimgobble#1]fwetx={#1\endgroup} + + +% Table of Contents +% ----------------- +% The five levels of table of contents that FunnelWeb supports are identified +% by the five letters [A..E]. These are used throughout the following macros. + +% The following macros are utilities to the TOC macros to follow. +\def\fwrule{\medskip\hrule\medskip} +\def\fwqh{\hskip1.5em\relax} +\def\fwbeforesec{\penalty-200\bigskip\medskip\par} + +% The following macros are used to typeset the table of contents. +\def\fwtocstart#1{\fwrule\leftline{\fwfontbolda Table of Contents}\fwrule} +\def\fwtoca#1#2{\leftline{{\bf #1 #2}}} +\def\fwtocb#1#2{\leftline{\fwqh #1 #2}} +\def\fwtocc#1#2{\leftline{\fwqh\fwqh #1 #2}} +\def\fwtocd#1#2{\leftline{\fwqh\fwqh\fwqh #1 #2}} +\def\fwtoce#1#2{\leftline{\fwqh\fwqh\fwqh\fwqh #1 #2}} +\def\fwtocfinish#1{\fwrule} + +% The following "library" macros define five different strengths of headings +% which can be used later in the section macros. +\def\fwliba#1#2{\vfill\eject{\fwfontboldc #1 #2}\penalty200\smallskip} +\def\fwlibb#1#2{\fwbeforesec{\fwfontboldb #1 #2}\penalty200\smallskip} +\def\fwlibc#1#2{\fwbeforesec{\fwfontnormb #1 #2}\penalty200\smallskip} +\def\fwlibd#1#2{\fwbeforesec{\bf #1 #2}\penalty200} +\def\fwlibe#1#2{\fwbeforesec{\bf #1 #2}} + +% Here are the macros that actually typeset the section headings throughout +% the document. The fwlib system has been employed so as to easily allow the +% user to redefine the strengths of headings to taste. For example, the +% user could insert in the input document a similar set of definitions to these +% but with the b..e headings set to \fwlibc. This would tone down the output. +\def\fwseca#1#2{\fwliba{#1}{#2}} +\def\fwsecb#1#2{\fwlibb{#1}{#2}} +\def\fwsecc#1#2{\fwlibc{#1}{#2}} +\def\fwsecd#1#2{\fwlibd{#1}{#2}} +\def\fwsece#1#2{\fwlibe{#1}{#2}} + + +% Support for Explicit Typesetting +% -------------------------------- +% FunnelWeb supports pragmas and other constructs that allow +% typesetter-independent typesetting commands to be given. The +% following macros support these features. + +% The in-text literal @{sloth@} and emphasise @[walrus@] features. +\def\fwlit#1{{\tt #1}} +\def\fwemp#1{{\it #1}} + +% The "@p new_page" pragma. +\def\fwnewpage{\vfill\eject} + +% The "@p vskip Nmm" pragma. +\def\fwvskip#1{\null\vskip #1mm} + +% The "@p title <font> <align> <text>" pragma. +\def\fwfontnormal#1{{\fwfontnorm {#1}}} +\def\fwfonttitle#1{{\fwfontboldd {#1}}} +\def\fwfontsmalltitle#1{{\fwfontboldb {#1}}} +\def\fwleftline#1{\leftline{#1}} +\def\fwcenterline#1{\centerline{#1}} +\def\fwrightline#1{\rightline{#1}} + + +% Support for Old FunnelWeb +% ------------------------- +% The following macros were used extensively in the first version of +% FunnelWeb and are retained so that these older input files will still +% typeset cleanly. +\def\p#1{{\tt #1}} % P for Program text. +\def\flagpage#1#2{ + \null + \vfill + \centerline{\fwfontboldd #1} + \vskip 1cm + \centerline{\fwfontboldd #2} + \vfill + \null + \vfill +} + +%====================== End of FunnelWeb TeX Definitions ======================= +WV06: Test processing of ugly strings as ordinary and protected text +with typesetter = tex. + + +\fwbeginmacro +\fwfilename{wv06.out}{1}\fwequals \fwodef \fwcdef +\fwbeginmacronotes +\fwisafile{This macro is attached to an output file.} +\fwendmacronotes +\fwendmacro + + +A paragraph in ordinary mode. + +33 con!text +34 con"text +35 con#text +36 con$text +37 con%text +38 con&text +39 con'text +40 con(text +41 con)text +42 con*text +43 con+text +44 con,text +45 con-text +46 con.text +47 con/text +48-57 con0123456789text +58 con:text +59 con;text +60 con<text +61 con=text +62 con>text +63 con?text +64 con@text +65-90 conABCDEFGHIJKLMNOPQRSTUVWXYZtext +91 con[text +92 con\text +93 con]text +94 con^text +95 con_text +96 con`text +97-122 conabcdefghijklmnopqrstuvwxyztext +123 con{text +124 con|text +125 con}text +126 con~text + +Now again, but this time inside protective braces. + +\fwlit{ +33 con!text +34 con\char`\"text +35 con\#text +36 con\$text +37 con\%text +38 con\&text +39 con'text +40 con(text +41 con)text +42 con*text +43 con+text +44 con,text +45 con-text +46 con.text +47 con/text +48-57 con0123456789text +58 con:text +59 con;text +60 con\char`\<text +61 con=text +62 con\char`\>text +63 con?text +64 con@text +65-90 conABCDEFGHIJKLMNOPQRSTUVWXYZtext +91 con[text +92 con\char`\\text +93 con]text +94 con\char`\^text +95 con\_text +96 con`text +97-122 conabcdefghijklmnopqrstuvwxyztext +123 con\char`\{text +124 con\char`\|text +125 con\char`\}text +126 con\char`\~text +} +\bye + + +%******************************************************************************* +%* END OF AUTOMATICALLY GENERATED TEX FILE * +%******************************************************************************* + |