From d1fb6bcc521139392183668b7890a7b3afaed007 Mon Sep 17 00:00:00 2001 From: Brendan Kehoe Date: Sun, 22 Jan 2006 12:40:34 +0000 Subject: regen dvi and ps --- doc/gperf.dvi | Bin 95588 -> 95684 bytes doc/gperf.pdf | Bin 226712 -> 226715 bytes doc/gperf.ps | 261 +++++++++++++++++++++++++++++++--------------------------- 3 files changed, 139 insertions(+), 122 deletions(-) diff --git a/doc/gperf.dvi b/doc/gperf.dvi index b725c1b..0619301 100644 Binary files a/doc/gperf.dvi and b/doc/gperf.dvi differ diff --git a/doc/gperf.pdf b/doc/gperf.pdf index d0bab10..02991d7 100644 Binary files a/doc/gperf.pdf and b/doc/gperf.pdf differ diff --git a/doc/gperf.ps b/doc/gperf.ps index d12c417..274fb8a 100644 --- a/doc/gperf.ps +++ b/doc/gperf.ps @@ -1,6 +1,6 @@ %!PS-Adobe-2.0 %%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software -%%Title: ../../doc/gperf.dvi +%%Title: ../../cvs/doc/gperf.dvi %%Pages: 32 %%PageOrder: Ascend %%BoundingBox: 0 0 595 842 @@ -9,9 +9,10 @@ %%DocumentPaperSizes: a4 %%EndComments %DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips -D600 -o ../../doc/gperf.ps ../../doc/gperf.dvi +%DVIPSCommandLine: dvips -D600 -o ../../cvs/doc/gperf.ps +%+ ../../cvs/doc/gperf.dvi %DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2006.01.22:1148 +%DVIPSSource: TeX output 2006.01.22:1238 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -2390,6 +2391,8 @@ end readonly def 0 1 255 {1 index exch /.notdef put} for dup 13 /circlecopyrt put dup 15 /bullet put +dup 104 /angbracketleft put +dup 105 /angbracketright put readonly def /FontBBox{-29 -960 1116 775}readonly def currentdict end @@ -2405,18 +2408,26 @@ E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A 71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09 4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C -515DB70A8D4F6146FE068DC1E5DE8BC57036431151EC603C8BCFE359BBD953AD -5F3D998D8365AF76D4CF6A06FB66E1CBCFDB3A67D8880377CD677B9705EE853A -D849F88A828E244FA5816B7D081D4D1975A56D771790C21AE05809BEE6613452 -953F26C39CE61F0E134BC35404FE2F0B7D244D9A6F66E4D817D1C65024013AD3 -5F242EDE94633B8E20EA42B07F83BA649F12B784B2AAFA542BC597C6C2C9AE9C -39D60FBA6CD16AADB5DFDABF22F37E244DF3987FBFA55031CFCD46ADF03650CE -D6CDFFD87BF7407FFB63F3FE4C29FE753896101B2CEAB9007B66E29D6A5B85D3 -FF91F888E445677157A5996FC7A3BD19BAF3A3BCF33F0719B992A0F013B1F0A1 -82E42DF6F651071FB407F448DFF37653E2A0569BDD8EABC3280B3582745DB98B -644E5B341F531B0D81ED85F815B993C2B8B34CDDC6AE97606F6B3B1C5427F174 -362FAB82B935087B568E6F526347058C406E878F1CC2DD05C26D35565347C5A5 -7575891BB4 +515DB70A8D4F6146FE068DC1E5DE8BC57030ACE57A0A31C99BEDB251A0ECAD78 +253AB320C099669BFED2878A6C4038A5BCEB5B4C28040BB8B4AC2C167BB2C999 +ED93E2F4AE3E4B44B7B6B469C36A24080D4BEDB5523D202E920D8898DEBD5EB0 +CAC3C5D5F01A87F7B15BD1C197B344F7D94E965CBFE73E8A65A2AA6A6F93B878 +03E30E60F1390C2FB671C8D36E7D6E516A20079B48CA9BE632F5A8D1250F01EE +6809D6C5B51AE3D1B4C244195E4AB5E68F2AF1D7556B9D03035E08B962A33B44 +426A3B5BEF3BA86E4BFE8C823D42816B59DAE9EBD42C115A1E75B0E6427720BF +773EA85158709B4DF306511D5CC19D7395BEE5940DF97513CC36EDF468B80C01 +476B0B89D1198F039E4A32FECF58E56F6B0A1D27E9E5FE6393AF613D11EE6185 +26EDAB5CD87D6B6C9838DC76423000F9E0D094046832BDDDE6AFB7549561F742 +F0B1AE278DB3355F8867D2CCF8BCC03AB7A7A8F9E51C4B2BD121F9D3B2477803 +1A24BBD88C9C54A8E31B9CF66295B665495BE7ACC72E1A1F05413DFCB56D0749 +49539F8F4706361CCBBEB69D135FF4B63C35408A38382C739EE8AF9F378CF061 +C9754E8C7CEDD29E63D79C8AD5518244E4BFCB827E05F4EFCF03BB47CE67F43E +F29192EC2FA1026ACFAF2CB156124C88D860864BEBE81CBBDD60DB5C7DA2B6A7 +B64E3DA907988FE60AF047DCEDF2D52D2D43E6C01FA7F84B598386FE03765B15 +EE11E9DB0BA83469FC7FC5CECCA2E4D84F87D43811978975C96D9CB66BB87B02 +579D63949B512A59123F039A1DAE2EFB897FFE82E8C6B0A30C570015B77B8318 +9BB684151679A432E2E167F4E27B7E878A46C19969230B9604ADE2E6487203D0 +DF06DF8F5E 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 @@ -3046,7 +3057,7 @@ B771485F39ECDD20D29EA4133DCCDF90C9CA0F1F2385317B2053B1A53FF8F4C4 0000000000000000000000000000000000000000000000000000000000000000 cleartomark %%EndFont -TeXDict begin 39139632 55387786 1000 600 600 (../../doc/gperf.dvi) +TeXDict begin 39139632 55387786 1000 600 600 (../../cvs/doc/gperf.dvi) @start /Fa 209[43 46[{}1 119.552 /CMBXTI10 rf /Fb 135[41 3[30 30 3[38 43 4[21 3[34 43 26[28 31[30 30 40[{}11 74.7198 /CMR9 rf /Fc 147[25 10[44 97[{}2 90.9091 /CMB10 rf /Fd @@ -3075,21 +3086,21 @@ rf /Fl 129[48 48 1[48 48 48 48 48 48 48 48 48 48 1[48 85 90 63 64 66 1[90 81 90 134 45 85 1[45 90 81 49 74 90 72 90 78 11[124 112 90 120 1[110 1[126 1[97 126 1[60 126 127 1[106 124 117 115 122 9[81 81 81 81 81 81 81 -3[54 45[{}47 143.462 /CMBX12 rf /Fo 240[45 1[91 13[{}2 -90.9091 /CMSY10 rf /Fp 134[71 71 97 71 75 52 53 55 1[75 -67 75 112 37 71 1[37 75 67 41 61 75 60 75 65 7[102 1[139 -1[103 94 75 100 1[92 101 105 128 81 105 1[50 105 106 -85 88 103 97 96 102 7[67 67 67 67 67 67 67 67 67 67 1[37 -45 37 31[75 78 11[{}59 119.552 /CMBX12 rf /Fq 131[91 -1[40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28 -25 51 45 28 40 51 40 51 45 25 2[25 45 25 1[68 68 93 68 -68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62 69 -66 64 68 3[71 1[25 25 45 45 45 45 45 45 45 45 45 45 45 -25 30 25 1[45 35 35 25 71 1[45 76 45 19[76 51 51 53 11[{}85 -90.9091 /CMR10 rf /Fr 141[89 1[89 8[89 89 89 101[{}5 -172.154 /CMTT12 rf /Fs 138[108 75 76 79 2[97 5[54 3[88 -108 14[149 13[152 19[97 97 1[97 1[54 6[54 39[{}15 172.154 -/CMBX12 rf end +3[54 45[{}47 143.462 /CMBX12 rf /Fo 150[35 35 88[45 1[91 +13[{}4 90.9091 /CMSY10 rf /Fp 134[71 71 97 71 75 52 53 +55 1[75 67 75 112 37 71 1[37 75 67 41 61 75 60 75 65 +7[102 1[139 1[103 94 75 100 1[92 101 105 128 81 105 1[50 +105 106 85 88 103 97 96 102 7[67 67 67 67 67 67 67 67 +67 67 1[37 45 37 31[75 78 11[{}59 119.552 /CMBX12 rf +/Fq 131[91 1[40 48 48 66 48 51 35 36 36 48 51 45 51 76 +25 48 28 25 51 45 28 40 51 40 51 45 25 2[25 45 25 1[68 +68 93 68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 +59 62 69 66 64 68 3[71 1[25 25 45 45 45 45 45 45 45 45 +45 45 45 25 30 25 1[45 35 35 25 71 1[45 76 45 19[76 51 +51 53 11[{}85 90.9091 /CMR10 rf /Fr 141[89 1[89 8[89 +89 89 101[{}5 172.154 /CMTT12 rf /Fs 138[108 75 76 79 +2[97 5[54 3[88 108 14[149 13[152 19[97 97 1[97 1[54 6[54 +39[{}15 172.154 /CMBX12 rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi @@ -3103,7 +3114,7 @@ a4 TeXDict begin 1 0 bop 150 1318 a Fs(User's)65 b(Guide)g(to)f Fr(gperf)f Fs(3.0.2)p 150 1423 3600 34 v 2005 1519 a Fq(The)30 b(GNU)h(P)m(erfect)h(Hash)e(F)-8 b(unction)31 -b(Generator)2530 1627 y(Edition)g(3.0.2,)h(13)f(Jan)m(uary)f(2006)150 +b(Generator)2530 1627 y(Edition)g(3.0.2,)h(22)f(Jan)m(uary)f(2006)150 4958 y Fp(Douglas)46 b(C.)f(Sc)l(hmidt)150 5091 y(Bruno)f(Haible)p 150 5141 3600 17 v eop end %%Page: 2 2 @@ -3996,21 +4007,22 @@ Fl(c)e(>=)g('A')f(&&)h(c)g(<=)g('Z')p Fq(')f(guaran)m(tees)j(this.\)) 150 1395 y(`)p Fl(\045compare-lengths)p Fq(')630 1504 y(Compare)40 b(k)m(eyw)m(ord)g(lengths)g(b)s(efore)f(trying)h(a)h (string)e(comparison.)70 b(This)39 b(option)h(is)630 -1614 y(mandatory)32 b(for)h(binary)e(comparisons)i(\(see)g(Section)h -(3.3)f([Binary)g(Strings],)g(page)g(18\).)630 1724 y(It)g(also)h(migh)m -(t)g(cut)f(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er)f(of)h(string)g -(comparisons)g(made)g(during)f(the)630 1833 y(lo)s(okup,)i(since)g(k)m -(eyw)m(ords)f(with)g(di\013eren)m(t)h(lengths)g(are)f(nev)m(er)h -(compared)f(via)h Fl(strcmp)p Fq(.)630 1943 y(Ho)m(w)m(ev)m(er,)d -(using)d(`)p Fl(\045compare-lengths)p Fq(')c(migh)m(t)29 -b(greatly)h(increase)f(the)g(size)g(of)g(the)f(gen-)630 -2052 y(erated)j(C)f(co)s(de)h(if)f(the)h(lo)s(okup)f(table)i(range)e -(is)h(large)g(\(whic)m(h)g(implies)g(that)g(the)f(switc)m(h)630 -2162 y(option)24 b(`)p Fl(-S)p Fq(')g(or)g(`)p Fl(\045switch)p -Fq(')f(is)h(not)g(enabled\),)i(since)e(the)g(length)h(table)f(con)m -(tains)i(as)e(man)m(y)630 2271 y(elemen)m(ts)32 b(as)e(there)h(are)g -(en)m(tries)g(in)f(the)g(lo)s(okup)g(table.)150 2436 -y(`)p Fl(\045compare-strncmp)p Fq(')630 2545 y(Generates)22 +1614 y(mandatory)29 b(for)f(binary)g(comparisons)h(\(see)h +Fo(h)p Fq(unde\014ned)p Fo(i)d Fq([Binary)j(Strings],)f(page)g +Fo(h)p Fq(un-)630 1724 y(de\014ned)p Fo(i)p Fq(\).)53 +b(It)35 b(also)g(migh)m(t)g(cut)g(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er) +e(of)i(string)f(comparisons)h(made)630 1833 y(during)22 +b(the)i(lo)s(okup,)h(since)f(k)m(eyw)m(ords)g(with)g(di\013eren)m(t)g +(lengths)g(are)g(nev)m(er)g(compared)f(via)630 1943 y +Fl(strcmp)p Fq(.)38 b(Ho)m(w)m(ev)m(er,)31 b(using)d(`)p +Fl(\045compare-lengths)p Fq(')c(migh)m(t)29 b(greatly)g(increase)g(the) +g(size)g(of)630 2052 y(the)h(generated)g(C)g(co)s(de)f(if)h(the)g(lo)s +(okup)f(table)i(range)f(is)f(large)i(\(whic)m(h)f(implies)g(that)g(the) +630 2162 y(switc)m(h)g(option)h(`)p Fl(-S)p Fq(')f(or)g(`)p +Fl(\045switch)p Fq(')f(is)h(not)g(enabled\),)h(since)f(the)g(length)h +(table)g(con)m(tains)630 2271 y(as)g(man)m(y)f(elemen)m(ts)i(as)e +(there)h(are)g(en)m(tries)g(in)f(the)h(lo)s(okup)f(table.)150 +2436 y(`)p Fl(\045compare-strncmp)p Fq(')630 2545 y(Generates)22 b(C)f(co)s(de)g(that)h(uses)e(the)i Fl(strncmp)d Fq(function)h(to)i(p)s (erform)e(string)h(comparisons.)630 2655 y(The)30 b(default)g(action)i (is)f(to)g(use)f Fl(strcmp)p Fq(.)150 2819 y(`)p Fl @@ -4258,72 +4270,73 @@ b Fq(and)g(later)i(output)e(as)i(a)f(static)i(lo)s(cal)f(C)e(arra)m(y)i b(an)m(t)390 518 y(selected)28 b(p)s(ositions)f(\(i.e.)41 b(indices)27 b(in)m(to)h Fm(str)7 b Fq(\))26 b(are)h(sp)s(eci\014ed)f (via)i(the)f(`)p Fl(-k)p Fq(')g(option)g(when)f(running)390 -628 y Fl(gperf)p Fq(,)j(as)i(detailed)g(in)f(the)h Fj(Options)39 -b Fq(section)31 b(b)s(elo)m(w)g(\(see)g(Chapter)f(4)h([Options],)f -(page)h(19\).)3525 857 y(F)-8 b(unction)-3724 b Fe(in)p -253 857 35 5 v 41 w(w)m(ord)p 542 857 V 41 w(set)44 b +628 y Fl(gperf)p Fq(,)h(as)i(detailed)g(in)f(the)g Fj(Options)37 +b Fq(section)29 b(b)s(elo)m(w)g(\(see)g Fo(h)p Fq(unde\014ned)p +Fo(i)d Fq([Options],)j(page)g Fo(h)p Fq(un-)390 737 y(de\014ned)p +Fo(i)p Fq(\).)3525 941 y(F)-8 b(unction)-3724 b Fe(in)p +253 941 35 5 v 41 w(w)m(ord)p 542 941 V 41 w(set)44 b Fd(\()p Fl(const)30 b(char)f(*)h Fm(str)p Fl(,)g(unsigned)e(int)h -Fm(len)p Fd(\))390 967 y Fq(If)k Fm(str)41 b Fq(is)33 +Fm(len)p Fd(\))390 1050 y Fq(If)k Fm(str)41 b Fq(is)33 b(in)h(the)g(k)m(eyw)m(ord)g(set,)i(returns)c(a)j(p)s(oin)m(ter)f(to)g (that)h(k)m(eyw)m(ord.)51 b(More)35 b(exactly)-8 b(,)37 -b(if)d(the)390 1076 y(option)d(`)p Fl(-t)p Fq(')g(\(or,)g(equiv)-5 +b(if)d(the)390 1160 y(option)d(`)p Fl(-t)p Fq(')g(\(or,)g(equiv)-5 b(alen)m(tly)d(,)33 b(the)e(`)p Fl(\045struct-type)p Fq(')d(declaration\))k(w)m(as)f(giv)m(en,)h(it)f(returns)f(a)390 -1186 y(p)s(oin)m(ter)g(to)h(the)g(matc)m(hing)h(k)m(eyw)m(ord's)e +1269 y(p)s(oin)m(ter)g(to)h(the)g(matc)m(hing)h(k)m(eyw)m(ord's)e (structure.)41 b(Otherwise)30 b(it)h(returns)e Fl(NULL)p -Fq(.)275 1367 y(If)39 b(the)i(option)f(`)p Fl(-c)p Fq(')g(\(or,)j +Fq(.)275 1435 y(If)39 b(the)i(option)f(`)p Fl(-c)p Fq(')g(\(or,)j (equiv)-5 b(alen)m(tly)d(,)45 b(the)c(`)p Fl(\045compare-strncmp)p -Fq(')36 b(declaration\))42 b(is)e(not)g(used,)150 1477 +Fq(')36 b(declaration\))42 b(is)e(not)g(used,)150 1545 y Fm(str)k Fq(m)m(ust)37 b(b)s(e)f(a)i(NUL)f(terminated)h(string)f(of)h (exactly)h(length)e Fm(len)p Fq(.)62 b(If)37 b(`)p Fl(-c)p Fq(')g(\(or,)i(equiv)-5 b(alen)m(tly)d(,)42 b(the)150 -1587 y(`)p Fl(\045compare-strncmp)p Fq(')22 b(declaration\))28 +1654 y(`)p Fl(\045compare-strncmp)p Fq(')22 b(declaration\))28 b(is)e(used,)g Fm(str)32 b Fq(m)m(ust)26 b(simply)g(b)s(e)f(an)h(arra)m -(y)g(of)g Fm(len)g Fq(b)m(ytes)h(and)e(do)s(es)150 1696 +(y)g(of)g Fm(len)g Fq(b)m(ytes)h(and)e(do)s(es)150 1764 y(not)31 b(need)f(to)h(b)s(e)f(NUL)g(terminated.)275 -1830 y(The)f(co)s(de)i(generated)g(for)g(these)f(t)m(w)m(o)i(functions) +1892 y(The)f(co)s(de)i(generated)g(for)g(these)f(t)m(w)m(o)i(functions) e(is)g(a\013ected)i(b)m(y)f(the)f(follo)m(wing)i(options:)150 -1987 y(`)p Fl(-t)p Fq(')150 2097 y(`)p Fl(--struct-type)p -Fq(')630 2207 y(Mak)m(e)g(use)e(of)h(the)f(user-de\014ned)f -Fl(struct)p Fq(.)150 2364 y(`)p Fl(-S)h Fm(total-switc)m(h-statemen)m -(ts)t Fq(')150 2474 y(`)p Fl(--switch=)p Fm(total-switc)m(h-statemen)m -(ts)t Fq(')630 2583 y(Generate)22 b(1)f(or)g(more)g(C)f +2040 y(`)p Fl(-t)p Fq(')150 2149 y(`)p Fl(--struct-type)p +Fq(')630 2259 y(Mak)m(e)g(use)e(of)h(the)f(user-de\014ned)f +Fl(struct)p Fq(.)150 2406 y(`)p Fl(-S)h Fm(total-switc)m(h-statemen)m +(ts)t Fq(')150 2515 y(`)p Fl(--switch=)p Fm(total-switc)m(h-statemen)m +(ts)t Fq(')630 2625 y(Generate)22 b(1)f(or)g(more)g(C)f Fl(switch)f Fq(statemen)m(t)j(rather)f(than)f(use)h(a)g(large,)j(\(and) -c(p)s(oten)m(tially)630 2693 y(sparse\))j(static)h(arra)m(y)-8 +c(p)s(oten)m(tially)630 2735 y(sparse\))j(static)h(arra)m(y)-8 b(.)40 b(Although)23 b(the)g(exact)h(time)g(and)e(space)i(sa)m(vings)g -(of)f(this)g(approac)m(h)630 2802 y(v)-5 b(ary)32 b(according)g(to)h(y) +(of)f(this)g(approac)m(h)630 2844 y(v)-5 b(ary)32 b(according)g(to)h(y) m(our)e(C)g(compiler's)i(degree)f(of)g(optimization,)i(this)d(metho)s -(d)h(often)630 2912 y(results)e(in)g(smaller)h(and)f(faster)h(co)s(de.) -275 3070 y(If)c(the)h(`)p Fl(-t)p Fq(')g(and)f(`)p Fl(-S)p +(d)h(often)630 2954 y(results)e(in)g(smaller)h(and)f(faster)h(co)s(de.) +275 3101 y(If)c(the)h(`)p Fl(-t)p Fq(')g(and)f(`)p Fl(-S)p Fq(')g(options)i(\(or,)f(equiv)-5 b(alen)m(tly)d(,)31 b(the)d(`)p Fl(\045struct-type)p Fq(')d(and)i(`)p Fl(\045switch)p -Fq(')g(declara-)150 3179 y(tions\))f(are)f(omitted,)i(the)e(default)g +Fq(')g(declara-)150 3210 y(tions\))f(are)f(omitted,)i(the)e(default)g (action)h(is)f(to)h(generate)g(a)g Fl(char)j(*)24 b Fq(arra)m(y)i(con)m -(taining)g(the)f(k)m(eyw)m(ords,)150 3289 y(together)32 +(taining)g(the)f(k)m(eyw)m(ords,)150 3320 y(together)32 b(with)e(additional)i(empt)m(y)f(strings)f(used)g(for)g(padding)g(the)g (arra)m(y)-8 b(.)43 b(By)30 b(exp)s(erimen)m(ting)h(with)150 -3398 y(the)g(v)-5 b(arious)32 b(input)e(and)g(output)h(options,)h(and)f +3430 y(the)g(v)-5 b(arious)32 b(input)e(and)g(output)h(options,)h(and)f (timing)g(the)h(resulting)f(C)g(co)s(de,)h(y)m(ou)f(can)h(determine)150 -3508 y(the)f(b)s(est)f(option)g(c)m(hoices)i(for)f(di\013eren)m(t)f(k)m -(eyw)m(ord)h(set)g(c)m(haracteristics.)150 3763 y Fp(3.3)68 -b(Use)46 b(of)f(NUL)g(b)l(ytes)275 3954 y Fq(By)30 b(default,)h(the)f +3539 y(the)f(b)s(est)f(option)g(c)m(hoices)i(for)f(di\013eren)m(t)f(k)m +(eyw)m(ord)h(set)g(c)m(haracteristics.)150 3778 y Fp(3.3)68 +b(Use)46 b(of)f(NUL)g(b)l(ytes)275 3965 y Fq(By)30 b(default,)h(the)f (co)s(de)g(generated)i(b)m(y)e Fl(gperf)e Fq(op)s(erates)j(on)f(zero)h -(terminated)g(strings,)f(the)g(usual)150 4064 y(represen)m(tation)41 +(terminated)g(strings,)f(the)g(usual)150 4074 y(represen)m(tation)41 b(of)e(strings)h(in)f(C.)h(This)e(means)i(that)g(the)g(k)m(eyw)m(ords)g -(in)f(the)h(input)f(\014le)g(m)m(ust)h(not)150 4173 y(con)m(tain)d(NUL) +(in)f(the)h(input)f(\014le)g(m)m(ust)h(not)150 4184 y(con)m(tain)d(NUL) f(b)m(ytes,)i(and)e(the)g Fm(str)42 b Fq(argumen)m(t)36 b(passed)g(to)g Fl(hash)f Fq(or)h Fl(in_word_set)d Fq(m)m(ust)j(b)s(e)f -(NUL)150 4283 y(terminated)c(and)f(ha)m(v)m(e)h(exactly)h(length)f -Fm(len)p Fq(.)275 4417 y(If)k(option)i(`)p Fl(-c)p Fq(')f(\(or,)i +(NUL)150 4293 y(terminated)c(and)f(ha)m(v)m(e)h(exactly)h(length)f +Fm(len)p Fq(.)275 4422 y(If)k(option)i(`)p Fl(-c)p Fq(')f(\(or,)i (equiv)-5 b(alen)m(tly)d(,)40 b(the)c(`)p Fl(\045compare-strncmp)p Fq(')c(declaration\))38 b(is)e(used,)h(then)f(the)150 -4526 y Fm(str)e Fq(argumen)m(t)29 b(do)s(es)e(not)h(need)g(to)h(b)s(e)e +4531 y Fm(str)e Fq(argumen)m(t)29 b(do)s(es)e(not)h(need)g(to)h(b)s(e)e (NUL)h(terminated.)41 b(The)27 b(co)s(de)h(generated)h(b)m(y)f -Fl(gperf)f Fq(will)h(only)150 4636 y(access)h(the)f(\014rst)g +Fl(gperf)f Fq(will)h(only)150 4641 y(access)h(the)f(\014rst)g Fm(len)p Fq(,)g(not)h Fm(len)p Fl(+)p Fm(1)p Fq(,)f(b)m(ytes)h (starting)g(at)f Fm(str)p Fq(.)40 b(Ho)m(w)m(ev)m(er,)31 b(the)d(k)m(eyw)m(ords)g(in)g(the)g(input)f(\014le)150 -4745 y(still)k(m)m(ust)g(not)f(con)m(tain)i(NUL)e(b)m(ytes.)275 +4751 y(still)k(m)m(ust)g(not)f(con)m(tain)i(NUL)e(b)m(ytes.)275 4879 y(If)35 b(option)i(`)p Fl(-l)p Fq(')f(\(or,)i(equiv)-5 b(alen)m(tly)d(,)40 b(the)c(`)p Fl(\045compare-lengths)p Fq(')c(declaration\))38 b(is)e(used,)h(then)f(the)150 @@ -4354,10 +4367,11 @@ Fm(\014le)5 b Fq(')630 1357 y(Allo)m(ws)31 b(y)m(ou)g(to)g(sp)s(ecify)f (standard)e(output)h(if)h(no)f(output)g(\014le)g(is)h(sp)s(eci\014ed)f (or)g(if)g(it)h(is)g(`)p Fl(-)p Fq('.)150 1785 y Fp(4.2)68 b(Options)45 b(that)h(a\013ect)g(In)l(terpretation)h(of)e(the)g(Input)g -(File)275 1981 y Fq(These)d(options)h(are)g(also)g(a)m(v)-5 -b(ailable)45 b(as)e(declarations)h(in)e(the)h(input)f(\014le)g(\(see)i -(Section)f(3.1.1.2)150 2090 y([Gp)s(erf)30 b(Declarations],)j(page)e -(12\).)150 2254 y(`)p Fl(-e)f Fm(k)m(eyw)m(ord-delimiter-list)r +(File)275 1981 y Fq(These)29 b(options)i(are)f(also)h(a)m(v)-5 +b(ailable)33 b(as)d(declarations)i(in)d(the)i(input)e(\014le)h(\(see)h +Fo(h)p Fq(unde\014ned)p Fo(i)e Fq([Gp)s(erf)150 2090 +y(Declarations],)k(page)e Fo(h)p Fq(unde\014ned)p Fo(i)p +Fq(\).)150 2254 y(`)p Fl(-e)f Fm(k)m(eyw)m(ord-delimiter-list)r Fq(')150 2364 y(`)p Fl(--delimiters=)p Fm(k)m(eyw)m(ord-delimiter-list) r Fq(')630 2473 y(Allo)m(ws)g(y)m(ou)f(to)g(pro)m(vide)g(a)g(string)g (con)m(taining)h(delimiters)g(used)d(to)j(separate)g(k)m(eyw)m(ords)630 @@ -4398,10 +4412,11 @@ Fq('.\))72 b(F)-8 b(or)42 b(this)630 4661 y(case,)d(it)d(is)g(b)s (v)m(ersion)g(on)e(the)g(string)630 4770 y(b)s(efore)30 b(passing)g(it)h(to)g(the)g Fl(gperf)e Fq(generated)i(function.)150 5035 y Fp(4.3)68 b(Options)45 b(to)h(sp)t(ecify)f(the)g(Language)h(for) -f(the)g(Output)f(Co)t(de)275 5230 y Fq(These)e(options)h(are)g(also)g -(a)m(v)-5 b(ailable)45 b(as)e(declarations)h(in)e(the)h(input)f(\014le) -g(\(see)i(Section)f(3.1.1.2)150 5340 y([Gp)s(erf)30 b(Declarations],)j -(page)e(12\).)p eop end +f(the)g(Output)f(Co)t(de)275 5230 y Fq(These)29 b(options)i(are)f(also) +h(a)m(v)-5 b(ailable)33 b(as)d(declarations)i(in)d(the)i(input)e +(\014le)h(\(see)h Fo(h)p Fq(unde\014ned)p Fo(i)e Fq([Gp)s(erf)150 +5340 y(Declarations],)k(page)e Fo(h)p Fq(unde\014ned)p +Fo(i)p Fq(\).)p eop end %%Page: 20 22 TeXDict begin 20 21 bop 150 -116 a Fq(Chapter)30 b(4:)41 b(In)m(v)m(oking)31 b Fl(gperf)2433 b Fq(20)150 299 y(`)p @@ -4433,24 +4448,24 @@ Fq(')286 b(C)p Fl(++)p Fq(.)40 b(This)29 b(language)j(is)f(understo)s (supp)s(orted)f(for)h(compatibilit)m(y)j(with)d(previous)g(releases)i (of)f Fl(gperf)p Fq(.)49 b(It)630 2584 y(do)s(es)30 b(not)h(do)f(an)m (ything.)150 2868 y Fp(4.4)68 b(Options)45 b(for)g(\014ne)g(tuning)g -(Details)i(in)e(the)g(Output)f(Co)t(de)275 3071 y Fq(Most)21 -b(of)g(these)g(options)g(are)g(also)h(a)m(v)-5 b(ailable)23 -b(as)e(declarations)h(in)f(the)g(input)e(\014le)i(\(see)h(Section)f -(3.1.1.2)150 3181 y([Gp)s(erf)30 b(Declarations],)j(page)e(12\).)150 -3356 y(`)p Fl(-K)f Fm(slot-name)5 b Fq(')150 3466 y(`)p -Fl(--slot-name=)p Fm(slot-name)g Fq(')630 3575 y(This)21 -b(option)h(is)g(only)f(useful)g(when)g(option)h(`)p Fl(-t)p -Fq(')f(\(or,)j(equiv)-5 b(alen)m(tly)d(,)26 b(the)c(`)p -Fl(\045struct-type)p Fq(')630 3685 y(declaration\))41 -b(has)e(b)s(een)f(giv)m(en.)67 b(By)39 b(default,)j(the)d(program)g -(assumes)f(the)h(structure)630 3795 y(comp)s(onen)m(t)28 -b(iden)m(ti\014er)h(for)f(the)g(k)m(eyw)m(ord)g(is)h(`)p -Fl(name)p Fq('.)39 b(This)27 b(option)i(allo)m(ws)g(an)f(arbitrary)630 -3904 y(c)m(hoice)33 b(of)f(iden)m(ti\014er)g(for)f(this)h(comp)s(onen)m -(t,)g(although)g(it)g(still)g(m)m(ust)g(o)s(ccur)f(as)h(the)g(\014rst) -630 4014 y(\014eld)e(in)g(y)m(our)g(supplied)f Fl(struct)p -Fq(.)150 4184 y(`)p Fl(-F)h Fm(initializers)t Fq(')150 -4293 y(`)p Fl(--initializer-suffix=)p Fm(initializers)t +(Details)i(in)e(the)g(Output)f(Co)t(de)275 3071 y Fq(Most)29 +b(of)g(these)g(options)g(are)g(also)h(a)m(v)-5 b(ailable)31 +b(as)e(declarations)h(in)e(the)h(input)f(\014le)h(\(see)g +Fo(h)p Fq(unde\014ned)p Fo(i)150 3181 y Fq([Gp)s(erf)h(Declarations],)j +(page)e Fo(h)p Fq(unde\014ned)p Fo(i)p Fq(\).)150 3356 +y(`)p Fl(-K)f Fm(slot-name)5 b Fq(')150 3466 y(`)p Fl(--slot-name=)p +Fm(slot-name)g Fq(')630 3575 y(This)21 b(option)h(is)g(only)f(useful)g +(when)g(option)h(`)p Fl(-t)p Fq(')f(\(or,)j(equiv)-5 +b(alen)m(tly)d(,)26 b(the)c(`)p Fl(\045struct-type)p +Fq(')630 3685 y(declaration\))41 b(has)e(b)s(een)f(giv)m(en.)67 +b(By)39 b(default,)j(the)d(program)g(assumes)f(the)h(structure)630 +3795 y(comp)s(onen)m(t)28 b(iden)m(ti\014er)h(for)f(the)g(k)m(eyw)m +(ord)g(is)h(`)p Fl(name)p Fq('.)39 b(This)27 b(option)i(allo)m(ws)g(an) +f(arbitrary)630 3904 y(c)m(hoice)33 b(of)f(iden)m(ti\014er)g(for)f +(this)h(comp)s(onen)m(t,)g(although)g(it)g(still)g(m)m(ust)g(o)s(ccur)f +(as)h(the)g(\014rst)630 4014 y(\014eld)e(in)g(y)m(our)g(supplied)f +Fl(struct)p Fq(.)150 4184 y(`)p Fl(-F)h Fm(initializers)t +Fq(')150 4293 y(`)p Fl(--initializer-suffix=)p Fm(initializers)t Fq(')630 4403 y(This)21 b(option)h(is)g(only)f(useful)g(when)g(option)h (`)p Fl(-t)p Fq(')f(\(or,)j(equiv)-5 b(alen)m(tly)d(,)26 b(the)c(`)p Fl(\045struct-type)p Fq(')630 4512 y(declaration\))34 @@ -4504,21 +4519,23 @@ b(m)m(ultib)m(yte)h(c)m(haracters.)150 2655 y(`)p Fl(-l)p Fq(')150 2765 y(`)p Fl(--compare-lengths)p Fq(')630 2874 y(Compare)40 b(k)m(eyw)m(ord)g(lengths)g(b)s(efore)f(trying)h(a)h (string)e(comparison.)70 b(This)39 b(option)h(is)630 -2984 y(mandatory)32 b(for)h(binary)e(comparisons)i(\(see)g(Section)h -(3.3)f([Binary)g(Strings],)g(page)g(18\).)630 3093 y(It)g(also)h(migh)m -(t)g(cut)f(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er)f(of)h(string)g -(comparisons)g(made)g(during)f(the)630 3203 y(lo)s(okup,)i(since)g(k)m -(eyw)m(ords)f(with)g(di\013eren)m(t)h(lengths)g(are)f(nev)m(er)h -(compared)f(via)h Fl(strcmp)p Fq(.)630 3313 y(Ho)m(w)m(ev)m(er,)j -(using)c(`)p Fl(-l)p Fq(')g(migh)m(t)h(greatly)h(increase)g(the)f(size) -g(of)g(the)f(generated)i(C)e(co)s(de)h(if)630 3422 y(the)k(lo)s(okup)g -(table)g(range)h(is)f(large)h(\(whic)m(h)f(implies)g(that)g(the)g -(switc)m(h)h(option)f(`)p Fl(-S)p Fq(')g(or)630 3532 -y(`)p Fl(\045switch)p Fq(')29 b(is)i(not)g(enabled\),)h(since)f(the)g -(length)g(table)h(con)m(tains)g(as)f(man)m(y)g(elemen)m(ts)h(as)630 -3641 y(there)f(are)f(en)m(tries)i(in)e(the)g(lo)s(okup)g(table.)150 -3842 y(`)p Fl(-c)p Fq(')150 3952 y(`)p Fl(--compare-strncmp)p -Fq(')630 4061 y(Generates)22 b(C)f(co)s(de)g(that)h(uses)e(the)i +2984 y(mandatory)29 b(for)f(binary)g(comparisons)h(\(see)h +Fo(h)p Fq(unde\014ned)p Fo(i)d Fq([Binary)j(Strings],)f(page)g +Fo(h)p Fq(un-)630 3093 y(de\014ned)p Fo(i)p Fq(\).)53 +b(It)35 b(also)g(migh)m(t)g(cut)g(do)m(wn)f(on)h(the)g(n)m(um)m(b)s(er) +e(of)i(string)f(comparisons)h(made)630 3203 y(during)22 +b(the)i(lo)s(okup,)h(since)f(k)m(eyw)m(ords)g(with)g(di\013eren)m(t)g +(lengths)g(are)g(nev)m(er)g(compared)f(via)630 3313 y +Fl(strcmp)p Fq(.)39 b(Ho)m(w)m(ev)m(er,)31 b(using)d(`)p +Fl(-l)p Fq(')h(migh)m(t)h(greatly)g(increase)g(the)f(size)g(of)g(the)g +(generated)h(C)630 3422 y(co)s(de)25 b(if)f(the)h(lo)s(okup)f(table)h +(range)g(is)f(large)i(\(whic)m(h)e(implies)h(that)g(the)f(switc)m(h)h +(option)g(`)p Fl(-S)p Fq(')630 3532 y(or)31 b(`)p Fl(\045switch)p +Fq(')e(is)i(not)g(enabled\),)h(since)f(the)g(length)g(table)h(con)m +(tains)g(as)f(man)m(y)g(elemen)m(ts)630 3641 y(as)g(there)f(are)h(en)m +(tries)g(in)f(the)h(lo)s(okup)f(table.)150 3842 y(`)p +Fl(-c)p Fq(')150 3952 y(`)p Fl(--compare-strncmp)p Fq(')630 +4061 y(Generates)22 b(C)f(co)s(de)g(that)h(uses)e(the)i Fl(strncmp)d Fq(function)h(to)i(p)s(erform)e(string)h(comparisons.)630 4171 y(The)30 b(default)g(action)i(is)f(to)g(use)f Fl(strcmp)p Fq(.)150 4372 y(`)p Fl(-C)p Fq(')150 4482 y(`)p Fl(--readonly-tables)p -- cgit v1.2.1