home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: LaTeX Document
(document/latex).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| LaTeX Document (document/latex)
| magic
| Supported |
1%
| dexvert
| Corel 10 Texture (image/corel10Texture)
| ext
| Unsupported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| LaTeX document text
| default
| |
99%
| file
| C source text
| default
| |
98%
| file
| C source, ASCII text
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| x-fmt/111 Plain Text File
| default
| |
100%
| detectItEasy
| Format: Plain text[LF]
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 5c 64 6f 63 75 6d 65 6e | 74 73 74 79 6c 65 20 5b |\documen|tstyle [|
|00000010| 31 31 70 74 2c 61 34 5d | 20 7b 61 72 74 69 63 6c |11pt,a4]| {articl|
|00000020| 65 7d 0a 5c 61 75 74 68 | 6f 72 20 7b 53 2e 45 2e |e}.\auth|or {S.E.|
|00000030| 20 4b 69 6c 6c 65 7d 0a | 5c 64 61 74 65 20 7b 5c | Kille}.|\date {\|
|00000040| 74 6f 64 61 79 7d 0a 5c | 74 69 74 6c 65 20 7b 41 |today}.\|title {A|
|00000050| 20 73 79 73 74 65 6d 20 | 66 6f 72 20 74 61 69 6c | system |for tail|
|00000060| 6f 72 69 6e 67 20 43 20 | 70 72 6f 67 72 61 6d 73 |oring C |programs|
|00000070| 7d 0a 0a 0a 5c 62 65 67 | 69 6e 20 7b 64 6f 63 75 |}...\beg|in {docu|
|00000080| 6d 65 6e 74 7d 0a 5c 6d | 61 6b 65 74 69 74 6c 65 |ment}.\m|aketitle|
|00000090| 0a 0a 5c 62 65 67 69 6e | 20 7b 61 62 73 74 72 61 |..\begin| {abstra|
|000000a0| 63 74 7d 0a 54 68 69 73 | 20 64 6f 63 75 6d 65 6e |ct}.This| documen|
|000000b0| 74 20 64 65 66 69 6e 65 | 73 20 61 20 70 72 6f 70 |t define|s a prop|
|000000c0| 6f 73 65 64 20 64 65 73 | 69 67 6e 20 66 6f 72 20 |osed des|ign for |
|000000d0| 74 61 69 6c 6f 72 69 6e | 67 20 43 20 70 72 6f 67 |tailorin|g C prog|
|000000e0| 72 61 6d 73 2e 0a 49 74 | 20 69 73 20 73 70 65 63 |rams..It| is spec|
|000000f0| 69 66 69 63 61 6c 6c 79 | 20 69 6e 74 65 6e 64 65 |ifically| intende|
|00000100| 64 20 66 6f 72 20 49 53 | 4f 44 45 2c 20 51 55 49 |d for IS|ODE, QUI|
|00000110| 50 55 2c 20 61 6e 64 20 | 50 50 2e 0a 5c 65 6e 64 |PU, and |PP..\end|
|00000120| 20 7b 61 62 73 74 72 61 | 63 74 7d 0a 0a 0a 5c 73 | {abstra|ct}...\s|
|00000130| 65 63 74 69 6f 6e 20 7b | 49 6e 74 72 6f 64 75 63 |ection {|Introduc|
|00000140| 74 69 6f 6e 7d 0a 0a 0a | 49 74 20 73 65 65 6d 73 |tion}...|It seems|
|00000150| 20 77 72 6f 6e 67 20 74 | 6f 20 72 65 71 75 69 72 | wrong t|o requir|
|00000160| 65 20 61 20 43 20 66 6f | 72 6d 61 74 2c 20 61 20 |e a C fo|rmat, a |
|00000170| 74 61 69 6c 6f 72 20 66 | 6f 72 6d 61 74 2c 20 61 |tailor f|ormat, a|
|00000180| 6e 64 20 68 61 6e 64 20 | 67 65 6e 65 72 61 74 65 |nd hand |generate|
|00000190| 64 0a 63 6f 64 65 20 74 | 6f 20 6d 61 70 20 62 65 |d.code t|o map be|
|000001a0| 74 77 65 65 6e 20 74 68 | 65 6d 2e 20 20 49 20 70 |tween th|em. I p|
|000001b0| 72 6f 70 6f 73 65 20 74 | 68 61 74 20 77 65 20 64 |ropose t|hat we d|
|000001c0| 65 76 69 73 65 20 61 20 | 66 6f 72 6d 61 74 20 77 |evise a |format w|
|000001d0| 68 69 63 68 20 73 70 65 | 63 69 66 69 65 73 0a 62 |hich spe|cifies.b|
|000001e0| 6f 74 68 2c 20 61 6e 64 | 20 63 61 6e 20 62 65 20 |oth, and| can be |
|000001f0| 75 73 65 64 20 74 6f 20 | 67 65 6e 65 72 61 74 65 |used to |generate|
|00000200| 20 77 68 61 74 20 69 73 | 20 6e 65 65 64 65 64 2e | what is| needed.|
|00000210| 20 0a 0a 0a 57 65 20 6e | 65 65 64 20 74 6f 20 62 | ...We n|eed to b|
|00000220| 65 20 61 62 6c 65 20 74 | 6f 20 73 70 65 63 69 66 |e able t|o specif|
|00000230| 79 20 74 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 3a |y the fo|llowing:|
|00000240| 0a 0a 5c 62 65 67 69 6e | 20 7b 69 74 65 6d 69 7a |..\begin| {itemiz|
|00000250| 65 7d 0a 5c 69 74 65 6d | 0a 4e 55 4d 42 45 52 20 |e}.\item|.NUMBER |
|00000260| 74 79 70 65 73 2c 20 77 | 68 69 63 68 20 77 69 6c |types, w|hich wil|
|00000270| 6c 20 62 65 20 6d 61 70 | 70 65 64 20 6f 6e 74 6f |l be map|ped onto|
|00000280| 20 69 6e 74 0a 0a 5c 69 | 74 65 6d 20 53 54 52 49 | int..\i|tem STRI|
|00000290| 4e 47 20 74 79 70 65 73 | 2c 20 77 68 69 63 68 20 |NG types|, which |
|000002a0| 77 69 6c 6c 20 62 65 20 | 6d 61 70 70 65 64 20 6f |will be |mapped o|
|000002b0| 6e 74 6f 20 63 68 61 72 | 2a 0a 0a 5c 69 74 65 6d |nto char|*..\item|
|000002c0| 20 45 4e 55 4d 45 52 41 | 54 45 44 20 74 79 70 65 | ENUMERA|TED type|
|000002d0| 73 2c 20 77 68 69 63 68 | 20 77 69 6c 6c 20 62 65 |s, which| will be|
|000002e0| 20 6d 61 70 70 65 64 20 | 6f 6e 74 6f 20 69 6e 74 | mapped |onto int|
|000002f0| 0a 0a 5c 69 74 65 6d 20 | 46 4c 41 47 20 74 79 70 |..\item |FLAG typ|
|00000300| 65 73 2c 20 77 68 69 63 | 68 20 77 69 6c 6c 20 62 |es, whic|h will b|
|00000310| 65 20 6d 61 70 70 65 64 | 20 6f 6e 74 6f 20 69 6e |e mapped| onto in|
|00000320| 74 0a 0a 5c 69 74 65 6d | 20 4c 49 53 54 20 74 79 |t..\item| LIST ty|
|00000330| 70 65 73 2e 20 54 68 65 | 73 65 20 61 72 65 20 73 |pes. The|se are s|
|00000340| 74 72 75 63 74 75 72 65 | 20 74 79 70 65 73 2c 20 |tructure| types, |
|00000350| 77 68 69 63 68 20 61 72 | 65 20 6c 69 6e 6b 65 64 |which ar|e linked|
|00000360| 20 69 6e 74 6f 20 61 20 | 6c 69 73 74 2e 0a 54 68 | into a |list..Th|
|00000370| 75 73 2c 20 61 20 22 6e | 65 78 74 22 20 61 6e 64 |us, a "n|ext" and|
|00000380| 20 61 20 22 6b 65 79 22 | 20 69 73 20 61 6c 77 61 | a "key"| is alwa|
|00000390| 79 73 20 67 65 6e 65 72 | 61 74 65 64 2e 20 20 0a |ys gener|ated. .|
|000003a0| 43 61 6e 20 63 6f 6e 74 | 61 69 6e 20 53 54 52 49 |Can cont|ain STRI|
|000003b0| 4e 47 2c 20 45 4e 55 4d | 45 52 41 54 45 44 20 6f |NG, ENUM|ERATED o|
|000003c0| 72 20 46 4c 41 47 2e 0a | 61 6e 64 20 61 6c 73 6f |r FLAG..|and also|
|000003d0| 20 44 45 46 2c 20 77 68 | 69 63 68 20 70 6f 69 6e | DEF, wh|ich poin|
|000003e0| 74 73 20 74 6f 20 61 20 | 70 72 65 76 69 6f 75 73 |ts to a |previous|
|000003f0| 6c 79 20 64 65 66 69 6e | 65 64 20 74 79 70 65 20 |ly defin|ed type |
|00000400| 28 74 79 70 69 63 61 6c | 6c 79 20 74 6f 20 67 65 |(typical|ly to ge|
|00000410| 74 20 61 74 20 0a 74 61 | 69 6f 72 65 64 20 64 65 |t at .ta|iored de|
|00000420| 66 69 6e 65 73 20 66 6f | 72 20 45 4e 55 4d 45 52 |fines fo|r ENUMER|
|00000430| 41 54 45 44 2c 20 6f 72 | 20 74 6f 20 70 6f 69 6e |ATED, or| to poin|
|00000440| 74 20 61 74 20 69 64 65 | 6e 74 69 66 69 65 64 20 |t at ide|ntified |
|00000450| 4c 49 53 54 20 74 79 70 | 65 73 29 0a 0a 5c 65 6e |LIST typ|es)..\en|
|00000460| 64 20 7b 69 74 65 6d 69 | 7a 65 7d 0a 0a 5c 73 65 |d {itemi|ze}..\se|
|00000470| 63 74 69 6f 6e 20 7b 42 | 4e 46 20 44 65 66 69 6e |ction {B|NF Defin|
|00000480| 74 69 6f 6e 7d 0a 0a 54 | 68 65 20 66 6f 6c 6c 6f |tion}..T|he follo|
|00000490| 77 69 6e 67 20 42 4e 46 | 20 66 6f 72 20 74 68 65 |wing BNF| for the|
|000004a0| 20 73 69 6e 67 6c 65 20 | 66 69 6c 65 20 69 73 20 | single |file is |
|000004b0| 70 72 6f 70 6f 73 65 64 | 2e 20 20 54 6f 6b 65 6e |proposed|. Token|
|000004c0| 73 20 61 72 65 20 73 65 | 70 61 72 61 74 65 64 20 |s are se|parated |
|000004d0| 62 79 0a 4c 57 53 50 20 | 6f 72 20 62 72 61 63 65 |by.LWSP |or brace|
|000004e0| 73 2e 0a 0a 5c 62 65 67 | 69 6e 20 7b 76 65 72 62 |s...\beg|in {verb|
|000004f0| 61 74 69 6d 7d 0a 0a 3c | 74 61 69 6c 6f 72 2d 64 |atim}..<|tailor-d|
|00000500| 65 66 69 6e 69 74 69 6f | 6e 3e 20 3a 3a 3d 20 3c |efinitio|n> ::= <|
|00000510| 70 72 65 61 6d 62 6c 65 | 3e 20 3c 43 52 4c 46 3e |preamble|> <CRLF>|
|00000520| 20 3c 6c 69 6e 65 2d 6c | 69 73 74 3e 0a 3c 6c 69 | <line-l|ist>.<li|
|00000530| 6e 65 73 3e 20 3a 3a 3d | 20 3c 6c 69 6e 65 3e 20 |nes> ::=| <line> |
|00000540| 7c 20 3c 6c 69 6e 65 3e | 20 3c 43 52 4c 46 3e 20 || <line>| <CRLF> |
|00000550| 3c 6c 69 6e 65 2d 6c 69 | 73 74 3e 0a 3c 6c 69 6e |<line-li|st>.<lin|
|00000560| 65 3e 20 3a 3a 3d 20 22 | 2d 2d 22 20 3c 67 6c 6f |e> ::= "|--" <glo|
|00000570| 62 61 6c 2d 63 6f 6d 6d | 65 6e 74 3e 20 0a 09 7c |bal-comm|ent> ..||
|00000580| 20 22 23 22 20 3c 6c 6f | 63 61 6c 2d 63 6f 6d 6d | "#" <lo|cal-comm|
|00000590| 65 6e 74 3e 0a 09 7c 20 | 3c 69 74 65 6d 3e 0a 0a |ent>..| |<item>..|
|000005a0| 3c 70 72 65 61 6d 62 6c | 65 3e 20 3a 3a 3d 20 22 |<preambl|e> ::= "|
|000005b0| 50 52 45 46 49 58 22 20 | 3c 77 6f 72 64 3e 0a 0a |PREFIX" |<word>..|
|000005c0| 3c 69 74 65 6d 3e 20 3a | 3a 3d 20 3c 6e 75 6d 62 |<item> :|:= <numb|
|000005d0| 65 72 3e 20 7c 20 3c 65 | 6e 75 6d 3e 20 7c 20 3c |er> | <e|num> | <|
|000005e0| 66 6c 61 67 3e 20 7c 20 | 3c 73 74 72 69 6e 67 3e |flag> | |<string>|
|000005f0| 20 7c 20 3c 6c 69 73 74 | 3e 20 7c 0a 09 09 3c 65 | | <list|> |...<e|
|00000600| 6e 75 6d 76 61 6c 75 65 | 73 3e 20 7c 20 3c 66 6c |numvalue|s> | <fl|
|00000610| 61 67 76 61 6c 75 65 73 | 3e 0a 0a 3c 6f 70 74 77 |agvalues|>..<optw|
|00000620| 6f 72 64 6c 69 73 74 3e | 20 3a 3a 3d 20 3c 6f 70 |ordlist>| ::= <op|
|00000630| 74 77 6f 72 64 3e 20 7c | 20 3c 6f 70 74 77 6f 72 |tword> || <optwor|
|00000640| 64 3e 20 22 2c 22 20 3c | 6f 70 74 77 6f 72 64 6c |d> "," <|optwordl|
|00000650| 69 73 74 3e 0a 3c 6f 70 | 74 77 6f 72 64 3e 20 3a |ist>.<op|tword> :|
|00000660| 3a 3d 20 3c 77 6f 72 64 | 3e 20 5b 22 28 22 20 3c |:= <word|> ["(" <|
|00000670| 77 6f 72 64 3e 20 22 29 | 22 5d 09 09 0a 0a 3c 6e |word> ")|"]....<n|
|00000680| 75 6d 62 65 72 3e 20 3a | 3a 3d 20 22 4e 55 4d 42 |umber> :|:= "NUMB|
|00000690| 45 52 22 20 3c 6f 70 74 | 77 6f 72 64 3e 0a 0a 3c |ER" <opt|word>..<|
|000006a0| 65 6e 75 6d 3e 20 3a 3a | 3d 20 22 45 4e 55 4d 22 |enum> ::|= "ENUM"|
|000006b0| 20 3c 6f 70 74 77 6f 72 | 64 3e 20 3c 77 6f 72 64 | <optwor|d> <word|
|000006c0| 3e 0a 0a 3c 66 6c 61 67 | 3e 20 3a 3a 3d 20 22 46 |>..<flag|> ::= "F|
|000006d0| 4c 41 47 22 20 3c 6f 70 | 74 77 6f 72 64 3e 20 3c |LAG" <op|tword> <|
|000006e0| 77 6f 72 64 3e 0a 0a 3c | 73 74 72 69 6e 67 3e 20 |word>..<|string> |
|000006f0| 3a 3a 3d 20 22 53 54 52 | 49 4e 47 22 20 3c 6f 70 |::= "STR|ING" <op|
|00000700| 74 77 6f 72 64 3e 0a 0a | 3c 65 6e 75 6d 76 61 6c |tword>..|<enumval|
|00000710| 75 65 73 3e 20 3a 3a 3d | 20 22 45 4e 55 4d 56 41 |ues> ::=| "ENUMVA|
|00000720| 4c 55 45 53 22 20 3c 77 | 6f 72 64 3e 20 3c 6f 70 |LUES" <w|ord> <op|
|00000730| 74 77 6f 72 64 6c 69 73 | 74 3e 0a 0a 3c 66 6c 61 |twordlis|t>..<fla|
|00000740| 67 76 61 6c 75 65 73 3e | 20 3a 3a 3d 20 22 46 4c |gvalues>| ::= "FL|
|00000750| 41 47 56 41 4c 55 45 53 | 22 20 3c 77 6f 72 64 3e |AGVALUES|" <word>|
|00000760| 20 3c 6f 70 74 77 6f 72 | 64 6c 69 73 74 3e 0a 0a | <optwor|dlist>..|
|00000770| 3c 6c 69 73 74 3e 20 3a | 3a 3d 20 22 4c 49 53 54 |<list> :|:= "LIST|
|00000780| 22 20 3c 6f 70 74 77 6f | 72 64 3e 20 22 7b 22 20 |" <optwo|rd> "{" |
|00000790| 3c 6c 69 73 74 69 74 65 | 6d 6c 69 73 74 3e 20 22 |<listite|mlist> "|
|000007a0| 7d 22 0a 0a 3c 6c 69 73 | 74 69 74 65 6d 6c 69 73 |}"..<lis|titemlis|
|000007b0| 74 3e 20 3a 3a 3d 20 3c | 6c 69 73 74 69 74 65 6d |t> ::= <|listitem|
|000007c0| 3e 20 7c 20 3c 6c 69 73 | 74 69 74 65 6d 3e 20 3c |> | <lis|titem> <|
|000007d0| 43 52 4c 46 3e 20 3c 6c | 69 73 74 69 74 65 6d 6c |CRLF> <l|istiteml|
|000007e0| 69 73 74 3e 0a 0a 3c 6c | 69 73 74 69 74 65 6d 3e |ist>..<l|istitem>|
|000007f0| 20 3a 3a 3d 20 3c 6e 75 | 6d 62 65 72 3e 20 7c 20 | ::= <nu|mber> | |
|00000800| 3c 65 6e 75 6d 3e 20 7c | 20 3c 66 6c 61 67 3e 20 |<enum> || <flag> |
|00000810| 7c 20 3c 73 74 72 69 6e | 67 3e 20 7c 20 3c 70 74 || <strin|g> | <pt|
|00000820| 72 3e 0a 0a 3c 70 74 72 | 3e 20 3a 3a 3d 20 22 50 |r>..<ptr|> ::= "P|
|00000830| 54 52 22 20 3c 6f 70 74 | 77 6f 72 64 3e 20 3c 77 |TR" <opt|word> <w|
|00000840| 6f 72 64 3e 0a 5c 65 6e | 64 7b 76 65 72 62 61 74 |ord>.\en|d{verbat|
|00000850| 69 6d 7d 0a 0a 5c 73 65 | 63 74 69 6f 6e 20 7b 42 |im}..\se|ction {B|
|00000860| 65 68 61 76 69 6f 75 72 | 7d 0a 0a 0a 5c 62 65 67 |ehaviour|}...\beg|
|00000870| 69 6e 20 7b 69 74 65 6d | 69 7a 65 7d 0a 5c 69 74 |in {item|ize}.\it|
|00000880| 65 6d 0a 41 6e 20 68 20 | 66 69 6c 65 20 69 73 20 |em.An h |file is |
|00000890| 6d 61 64 65 20 77 69 74 | 68 20 0a 54 79 70 65 64 |made wit|h .Typed|
|000008a0| 65 66 73 20 66 6f 72 20 | 61 6e 79 20 73 74 72 75 |efs for |any stru|
|000008b0| 63 74 75 72 65 73 20 67 | 65 6e 65 72 61 74 65 64 |ctures g|enerated|
|000008c0| 2c 20 61 6e 64 20 0a 65 | 78 74 65 72 6e 20 72 65 |, and .e|xtern re|
|000008d0| 66 65 72 65 6e 63 65 73 | 20 74 6f 20 61 6c 6c 20 |ferences| to all |
|000008e0| 76 61 72 69 61 62 6c 65 | 73 2e 0a 0a 0a 5c 69 74 |variable|s....\it|
|000008f0| 65 6d 0a 41 20 43 20 66 | 69 6c 65 20 77 69 74 68 |em.A C f|ile with|
|00000900| 20 76 61 72 69 61 62 6c | 65 20 64 65 66 69 6e 69 | variabl|e defini|
|00000910| 74 69 6f 6e 73 2c 20 69 | 6e 69 74 69 61 6c 69 61 |tions, i|nitialia|
|00000920| 73 65 64 20 74 6f 20 7a | 65 72 6f 0a 0a 0a 5c 69 |sed to z|ero...\i|
|00000930| 74 65 6d 0a 44 6f 63 75 | 6d 65 6e 74 61 74 69 6f |tem.Docu|mentatio|
|00000940| 6e 20 6f 6e 20 74 68 65 | 20 66 6f 72 6d 61 74 20 |n on the| format |
|00000950| 6f 66 20 74 68 65 20 74 | 61 69 6c 6f 72 20 66 69 |of the t|ailor fi|
|00000960| 6c 65 2e 20 20 54 68 69 | 73 20 73 68 6f 75 6c 64 |le. Thi|s should|
|00000970| 20 62 65 20 75 6e 69 78 | 20 6d 61 6e 75 61 6c 0a | be unix| manual.|
|00000980| 6f 72 20 4c 61 54 65 58 | 2e 20 20 7b 5c 74 74 20 |or LaTeX|. {\tt |
|00000990| 3c 67 6c 6f 62 61 6c 2d | 63 6f 6d 6d 65 6e 74 3e |<global-|comment>|
|000009a0| 7d 20 69 73 20 69 6e 74 | 65 72 73 70 65 72 73 65 |} is int|ersperse|
|000009b0| 64 20 69 6e 74 6f 20 74 | 68 65 20 6d 65 63 68 61 |d into t|he mecha|
|000009c0| 6e 69 63 61 6c 6c 79 0a | 67 65 6e 65 72 61 74 65 |nically.|generate|
|000009d0| 64 20 73 74 72 75 63 74 | 75 72 65 2e 0a 0a 5c 69 |d struct|ure...\i|
|000009e0| 74 65 6d 20 41 20 72 6f | 75 74 69 6e 65 20 7b 5c |tem A ro|utine {\|
|000009f0| 74 74 20 3c 70 72 65 66 | 69 78 3e 5c 5f 74 61 69 |tt <pref|ix>\_tai|
|00000a00| 28 29 7d 20 74 6f 20 70 | 61 72 73 65 20 61 20 74 |()} to p|arse a t|
|00000a10| 61 69 6c 6f 72 20 66 69 | 6c 65 20 61 6e 64 20 69 |ailor fi|le and i|
|00000a20| 6e 69 74 69 61 6c 69 73 | 65 0a 65 61 63 68 20 76 |nitialis|e.each v|
|00000a30| 61 72 69 61 62 6c 65 73 | 2e 0a 0a 5c 69 74 65 6d |ariables|...\item|
|00000a40| 20 7b 5c 74 74 20 3c 70 | 72 65 66 69 78 3e 5c 5f | {\tt <p|refix>\_|
|00000a50| 74 61 69 5c 5f 62 75 69 | 6c 64 28 29 7d 20 74 6f |tai\_bui|ld()} to|
|00000a60| 20 74 61 6b 65 20 0a 74 | 61 69 6c 6f 72 20 66 69 | take .t|ailor fi|
|00000a70| 6c 65 2c 20 61 6e 64 20 | 67 65 6e 65 72 61 74 65 |le, and |generate|
|00000a80| 20 61 20 66 69 6c 65 20 | 6f 66 20 73 74 61 74 69 | a file |of stati|
|00000a90| 63 20 64 65 66 69 6e 69 | 74 69 6f 73 0a 28 65 73 |c defini|tios.(es|
|00000aa0| 73 73 65 6e 74 69 61 6c | 6c 79 20 74 6f 20 72 65 |ssential|ly to re|
|00000ab0| 70 6c 61 63 65 20 33 2e | 2c 20 77 69 74 68 20 76 |place 3.|, with v|
|00000ac0| 61 6c 75 65 73 20 66 72 | 6f 7a 65 6e 20 69 6e 29 |alues fr|ozen in)|
|00000ad0| 2e 20 20 54 68 69 73 20 | 77 6f 75 6c 64 20 61 6c |. This |would al|
|00000ae0| 6c 6f 77 20 61 0a 73 69 | 74 65 20 74 6f 20 60 60 |low a.si|te to ``|
|00000af0| 63 6f 6d 70 69 6c 65 20 | 69 6e 27 27 20 61 6e 20 |compile |in'' an |
|00000b00| 6f 70 65 72 61 74 69 6f | 6e 61 6c 20 74 61 69 6c |operatio|nal tail|
|00000b10| 6f 72 20 66 69 6c 65 2c | 20 61 6e 64 20 74 68 75 |or file,| and thu|
|00000b20| 73 20 67 61 69 6e 20 70 | 65 72 66 6f 72 6d 61 6e |s gain p|erforman|
|00000b30| 63 65 2e 0a 4f 6e 6c 79 | 20 64 65 6c 74 61 73 20 |ce..Only| deltas |
|00000b40| 77 6f 75 6c 64 20 6e 65 | 65 64 20 74 6f 20 62 65 |would ne|ed to be|
|00000b50| 20 72 75 6e 74 69 6d 65 | 20 74 61 69 6c 6f 72 65 | runtime| tailore|
|00000b60| 64 2e 20 20 0a 0a 5c 69 | 74 65 6d 20 43 6f 64 65 |d. ..\i|tem Code|
|00000b70| 20 74 6f 20 70 72 69 6e | 74 2f 6c 6f 67 20 74 68 | to prin|t/log th|
|00000b80| 65 20 76 61 6c 75 65 20 | 6f 66 20 74 61 69 6c 6f |e value |of tailo|
|00000b90| 72 65 64 20 76 61 72 69 | 61 62 6c 65 73 20 28 7b |red vari|ables ({|
|00000ba0| 5c 74 74 20 3c 70 72 65 | 66 69 78 3e 5c 5f 3c 69 |\tt <pre|fix>\_<i|
|00000bb0| 74 65 6d 3e 5c 5f 70 72 | 69 6e 74 28 29 7d 29 2e |tem>\_pr|int()}).|
|00000bc0| 0a 0a 5c 69 74 65 6d 20 | 43 6f 64 65 20 74 6f 20 |..\item |Code to |
|00000bd0| 63 61 6c 6c 20 61 6c 6c | 20 6f 66 20 74 68 65 20 |call all| of the |
|00000be0| 66 75 6e 63 74 69 6f 6e | 73 20 69 6e 20 37 20 28 |function|s in 7 (|
|00000bf0| 6c 69 73 74 2d 63 6f 6e | 66 69 67 29 20 2d 20 61 |list-con|fig) - a|
|00000c00| 20 73 6f 72 74 20 6f 66 | 0a 70 72 69 6e 74 5c 5f | sort of|.print\_|
|00000c10| 63 6f 6e 66 69 67 20 28 | 7b 5c 74 74 20 3c 70 72 |config (|{\tt <pr|
|00000c20| 65 66 69 78 3e 5c 5f 74 | 61 69 5c 5f 70 72 69 6e |efix>\_t|ai\_prin|
|00000c30| 74 28 29 7d 29 2e 0a 0a | 5c 69 74 65 6d 20 20 0a |t()})...|\item .|
|00000c40| 43 6f 64 65 20 74 6f 20 | 73 65 6c 65 63 74 20 73 |Code to |select s|
|00000c50| 74 72 75 63 74 75 72 65 | 73 20 66 72 6f 6d 20 6c |tructure|s from l|
|00000c60| 69 73 74 73 20 0a 20 28 | 7b 5c 74 74 20 20 3c 69 |ists . (|{\tt <i|
|00000c70| 74 65 6d 3e 5c 5f 6e 6d | 32 73 74 72 75 63 74 28 |tem>\_nm|2struct(|
|00000c80| 29 29 20 7d 29 2e 0a 0a | 5c 65 6e 64 20 7b 69 74 |)) })...|\end {it|
|00000c90| 65 6d 69 7a 65 7d 0a 0a | 53 6f 6d 65 20 6d 6f 72 |emize}..|Some mor|
|00000ca0| 65 20 6e 6f 74 65 73 20 | 6f 6e 20 62 75 69 6c 64 |e notes |on build|
|00000cb0| 69 6e 67 20 74 68 65 20 | 73 74 72 75 63 74 75 72 |ing the |structur|
|00000cc0| 65 73 3a 0a 0a 5c 62 65 | 67 69 6e 20 7b 69 74 65 |es:..\be|gin {ite|
|00000cd0| 6d 69 7a 65 7d 0a 5c 69 | 74 65 6d 20 46 6f 72 20 |mize}.\i|tem For |
|00000ce0| 76 61 72 69 61 62 6c 65 | 73 20 6f 72 20 73 74 72 |variable|s or str|
|00000cf0| 75 63 74 75 72 65 20 69 | 74 65 6d 73 2c 20 74 68 |ucture i|tems, th|
|00000d00| 65 20 6e 61 6d 65 20 6f | 66 20 74 68 65 20 76 61 |e name o|f the va|
|00000d10| 72 69 61 62 6c 65 20 69 | 73 20 75 73 65 64 2c 20 |riable i|s used, |
|00000d20| 6f 72 0a 74 68 65 20 62 | 72 61 63 6b 65 74 65 64 |or.the b|racketed|
|00000d30| 20 76 61 6c 75 65 20 69 | 66 20 70 72 65 73 65 6e | value i|f presen|
|00000d40| 74 2e 0a 0a 5c 69 74 65 | 6d 20 46 6f 72 20 45 4e |t...\ite|m For EN|
|00000d50| 55 4d 56 41 4c 55 45 53 | 2c 20 74 68 65 20 64 65 |UMVALUES|, the de|
|00000d60| 66 69 6e 69 74 69 6f 6e | 73 20 66 6f 72 20 45 4e |finition|s for EN|
|00000d70| 55 4d 20 61 72 65 20 61 | 73 73 6f 63 69 61 74 65 |UM are a|ssociate|
|00000d80| 64 20 77 69 74 68 20 74 | 68 65 0a 73 74 72 69 6e |d with t|he.strin|
|00000d90| 67 73 20 63 6f 6e 63 65 | 72 6e 65 64 2e 20 20 49 |gs conce|rned. I|
|00000da0| 66 20 62 72 61 63 6b 65 | 74 65 64 20 76 61 6c 75 |f bracke|ted valu|
|00000db0| 65 73 20 61 72 65 20 70 | 72 65 73 65 6e 74 2c 20 |es are p|resent, |
|00000dc0| 74 68 65 73 65 20 61 72 | 65 20 72 65 66 65 72 65 |these ar|e refere|
|00000dd0| 6e 63 65 73 20 74 6f 0a | 65 78 74 65 72 6e 61 6c |nces to.|external|
|00000de0| 20 5c 23 64 65 66 69 6e | 65 73 2e 20 20 4f 74 68 | \#defin|es. Oth|
|00000df0| 65 72 77 69 73 65 2c 20 | 7b 5c 74 74 20 3c 70 72 |erwise, |{\tt <pr|
|00000e00| 65 66 69 78 3e 5c 5f 3c | 76 61 6c 75 65 3e 7d 20 |efix>\_<|value>} |
|00000e10| 69 73 20 61 6c 6c 6f 63 | 61 74 65 64 0a 69 6e 63 |is alloc|ated.inc|
|00000e20| 72 65 6d 65 6e 74 61 6c | 6c 79 2c 20 61 6e 64 20 |remental|ly, and |
|00000e30| 74 68 65 20 5c 23 64 65 | 66 69 6e 65 73 20 63 72 |the \#de|fines cr|
|00000e40| 65 61 74 65 64 2e 0a 53 | 69 6d 69 6c 61 72 6c 79 |eated..S|imilarly|
|00000e50| 20 66 6f 72 20 45 4e 55 | 4d 46 4c 41 47 53 2e 20 | for ENU|MFLAGS. |
|00000e60| 20 0a 5c 65 6e 64 20 7b | 69 74 65 6d 69 7a 65 7d | .\end {|itemize}|
|00000e70| 0a 0a 0a 5c 73 65 63 74 | 69 6f 6e 20 7b 45 78 61 |...\sect|ion {Exa|
|00000e80| 6d 70 6c 65 73 7d 0a 0a | 45 78 61 6d 70 6c 65 20 |mples}..|Example |
|00000e90| 66 6f 72 6d 61 74 0a 0a | 5c 62 65 67 69 6e 20 7b |format..|\begin {|
|00000ea0| 76 65 72 62 61 74 69 6d | 7d 0a 09 53 54 52 49 4e |verbatim|}..STRIN|
|00000eb0| 47 20 61 75 74 68 77 61 | 72 6e 0a 5c 65 6e 64 7b |G authwa|rn.\end{|
|00000ec0| 76 65 72 62 61 74 69 6d | 7d 0a 0a 0a 67 65 6e 65 |verbatim|}...gene|
|00000ed0| 72 61 74 65 73 20 63 68 | 61 72 2a 20 61 75 74 68 |rates ch|ar* auth|
|00000ee0| 77 61 72 6e 3b 20 61 6e | 64 20 72 65 63 6f 67 6e |warn; an|d recogn|
|00000ef0| 69 73 65 73 20 27 61 75 | 74 68 77 61 72 6e 20 22 |ises 'au|thwarn "|
|00000f00| 6a 6f 65 20 66 6f 6f 62 | 61 72 22 27 20 69 6e 20 |joe foob|ar"' in |
|00000f10| 61 20 74 61 69 6c 6f 72 | 0a 66 69 6c 65 2e 0a 0a |a tailor|.file...|
|00000f20| 5c 62 65 67 69 6e 20 7b | 76 65 72 62 61 74 69 6d |\begin {|verbatim|
|00000f30| 7d 0a 09 4e 55 4d 42 45 | 52 20 6d 63 6f 75 6e 74 |}..NUMBE|R mcount|
|00000f40| 28 6d 61 78 63 6f 75 6e | 74 29 0a 5c 65 6e 64 7b |(maxcoun|t).\end{|
|00000f50| 76 65 72 62 61 74 69 6d | 7d 0a 0a 67 65 6e 65 72 |verbatim|}..gener|
|00000f60| 61 74 65 73 20 27 69 6e | 74 20 6d 61 78 63 6f 75 |ates 'in|t maxcou|
|00000f70| 6e 74 3b 27 20 61 6e 64 | 20 72 65 63 6f 67 6e 69 |nt;' and| recogni|
|00000f80| 73 65 73 20 27 6d 63 6f | 75 6e 74 20 32 32 27 0a |ses 'mco|unt 22'.|
|00000f90| 0a 5c 62 65 67 69 6e 20 | 7b 76 65 72 62 61 74 69 |.\begin |{verbati|
|00000fa0| 6d 7d 0a 0a 45 4e 55 4d | 56 41 4c 55 45 53 20 6c |m}..ENUM|VALUES l|
|00000fb0| 6f 67 76 61 6c 75 65 73 | 20 62 73 74 28 4c 4c 4f |ogvalues| bst(LLO|
|00000fc0| 47 5f 42 53 54 29 2c 20 | 66 73 74 28 4c 4c 4f 47 |G_BST), |fst(LLOG|
|00000fd0| 5f 46 53 54 29 0a 0a 6c | 6f 67 20 4c 49 53 54 20 |_FST)..l|og LIST |
|00000fe0| 7b 0a 20 20 20 20 53 54 | 52 49 4e 47 20 73 68 6f |{. ST|RING sho|
|00000ff0| 77 20 28 6c 6c 5f 73 68 | 6f 77 29 20 0a 20 20 20 |w (ll_sh|ow) . |
|00001000| 20 45 4e 55 4d 20 6c 65 | 76 65 6c 28 6c 6c 5f 6c | ENUM le|vel(ll_l|
|00001010| 65 76 65 6c 29 20 6c 6f | 67 76 61 6c 75 65 73 0a |evel) lo|gvalues.|
|00001020| 20 20 20 20 7d 0a 20 20 | 20 20 0a 63 68 61 6e 28 | }. | .chan(|
|00001030| 63 68 5f 73 74 72 75 63 | 74 29 20 4c 49 53 54 20 |ch_struc|t) LIST |
|00001040| 7b 0a 20 20 20 20 53 54 | 52 49 4e 47 20 73 68 6f |{. ST|RING sho|
|00001050| 77 28 63 68 5f 73 68 6f | 77 29 20 0a 20 20 20 20 |w(ch_sho|w) . |
|00001060| 50 54 52 20 6c 6f 67 28 | 63 68 5f 6c 6f 67 29 20 |PTR log(|ch_log) |
|00001070| 6c 6f 67 0a 20 20 20 20 | 45 4e 55 4d 20 6c 6f 67 |log. |ENUM log|
|00001080| 6c 65 76 65 6c 28 63 68 | 5f 6c 65 76 65 6c 29 20 |level(ch|_level) |
|00001090| 6c 6f 67 76 61 6c 75 65 | 73 0a 20 20 20 20 7d 0a |logvalue|s. }.|
|000010a0| 0a 0a 67 65 6e 65 72 61 | 74 65 73 20 73 74 72 75 |..genera|tes stru|
|000010b0| 63 75 74 75 72 65 73 3a | 0a 0a 6c 6f 67 20 7b 0a |cutures:|..log {.|
|000010c0| 20 20 20 73 74 72 75 63 | 74 20 2a 6c 6f 67 20 6c | struc|t *log l|
|000010d0| 6f 67 5f 6e 65 78 74 3b | 0a 20 20 20 63 68 61 72 |og_next;|. char|
|000010e0| 20 2a 6c 6f 67 5f 6b 65 | 79 3b 0a 20 20 20 63 68 | *log_ke|y;. ch|
|000010f0| 61 72 2a 20 6c 6c 5f 73 | 68 6f 77 3b 0a 20 20 20 |ar* ll_s|how;. |
|00001100| 63 68 61 72 20 6c 6c 5f | 6c 65 76 65 6c 3b 0a 7d |char ll_|level;.}|
|00001110| 3b 0a 0a 63 68 5f 73 74 | 72 75 63 74 20 7b 0a 20 |;..ch_st|ruct {. |
|00001120| 20 20 73 74 72 75 63 74 | 20 2a 63 68 5f 73 74 72 | struct| *ch_str|
|00001130| 75 63 74 20 63 68 5f 73 | 74 72 75 63 74 5f 6e 65 |uct ch_s|truct_ne|
|00001140| 78 74 3b 0a 20 20 20 63 | 68 61 72 20 2a 63 68 5f |xt;. c|har *ch_|
|00001150| 73 74 72 75 63 74 5f 6b | 65 79 3b 0a 20 20 20 63 |struct_k|ey;. c|
|00001160| 68 61 72 20 2a 63 68 5f | 73 68 6f 77 3b 0a 20 20 |har *ch_|show;. |
|00001170| 20 73 74 72 75 63 74 20 | 2a 6c 6f 67 20 63 68 5f | struct |*log ch_|
|00001180| 6c 6f 67 3b 0a 20 20 20 | 63 68 61 72 20 63 68 5f |log;. |char ch_|
|00001190| 6c 65 76 65 6c 3b 0a 7d | 0a 5c 65 6e 64 7b 76 65 |level;.}|.\end{ve|
|000011a0| 72 62 61 74 69 6d 7d 0a | 0a 49 74 20 67 65 6e 65 |rbatim}.|.It gene|
|000011b0| 72 61 74 65 73 20 72 6f | 75 74 69 6e 65 73 20 63 |rates ro|utines c|
|000011c0| 68 61 6e 5c 5f 6e 6d 32 | 73 74 72 75 63 74 20 28 |han\_nm2|struct (|
|000011d0| 6b 65 79 29 20 61 6e 64 | 20 6c 6f 67 5c 5f 6e 6d |key) and| log\_nm|
|000011e0| 32 73 74 72 75 63 74 20 | 28 6b 65 79 29 2e 0a 4f |2struct |(key)..O|
|000011f0| 6e 65 20 6d 69 67 68 74 | 20 69 6e 69 74 69 61 6c |ne might| initial|
|00001200| 69 73 65 20 6c 6f 67 73 | 20 62 79 20 28 65 2e 67 |ise logs| by (e.g|
|00001210| 2e 29 20 61 75 74 68 6c | 6f 67 20 3d 20 6c 6f 67 |.) authl|og = log|
|00001220| 5c 5f 6e 6d 32 73 74 72 | 75 63 74 20 28 22 61 75 |\_nm2str|uct ("au|
|00001230| 74 68 22 29 3b 0a 0a 49 | 74 20 77 6f 75 6c 64 20 |th");..I|t would |
|00001240| 72 65 63 6f 67 6e 69 73 | 65 20 66 6f 72 6d 61 74 |recognis|e format|
|00001250| 73 3a 0a 0a 5c 62 65 67 | 69 6e 20 7b 76 65 72 62 |s:..\beg|in {verb|
|00001260| 61 74 69 6d 7d 0a 6c 6f | 67 20 61 75 74 68 20 73 |atim}.lo|g auth s|
|00001270| 68 6f 77 3d 22 61 75 74 | 68 6f 72 69 73 61 74 69 |how="aut|horisati|
|00001280| 6f 6e 20 6c 6f 67 22 2c | 20 6c 65 76 65 6c 3d 62 |on log",| level=b|
|00001290| 73 74 0a 0a 63 68 61 6e | 20 78 63 68 61 6e 20 73 |st..chan| xchan s|
|000012a0| 68 6f 77 3d 22 66 75 6e | 6e 79 20 63 68 61 6e 6e |how="fun|ny chann|
|000012b0| 65 6c 22 2c 20 6c 6f 67 | 3d 61 75 74 68 2c 20 6c |el", log|=auth, l|
|000012c0| 65 76 65 6c 3d 66 73 74 | 0a 5c 65 6e 64 7b 76 65 |evel=fst|.\end{ve|
|000012d0| 72 62 61 74 69 6d 7d 0a | 0a 0a 5c 65 6e 64 20 7b |rbatim}.|..\end {|
|000012e0| 64 6f 63 75 6d 65 6e 74 | 7d 0a |document|}. |
+--------+-------------------------+-------------------------+--------+--------+