home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume17 / gnugrep / part05 < prev    next >
SHell self-extracting ARchive  |  1989-02-08  |  13.5 KB

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: SHell self-extracting ARchive (archive/shar).

ConfidenceProgramDetectionMatch TypeSupport
100% dexvert Newsgroup Content (archive/news) magic Supported
100% dexvert SHell self-extracting ARchive (archive/shar) magic Supported
100% dexvert Internet Message Format (text/imf) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file news or mail, ASCII text default
100% perlTextCheck Likely Text (Perl) default
100% siegfried fmt/329 Shell Archive Format default
100% detectItEasy Format: plain text[LF] default (weak)
100% xdgMime message/rfc822 default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 53 75 62 6a 65 63 74 3a | 20 20 76 31 37 69 31 30 |Subject:| v17i10|
|00000010| 32 3a 20 20 47 6e 75 20 | 45 3f 47 52 45 50 20 28 |2: Gnu |E?GREP (|
|00000020| 69 74 27 73 20 66 61 73 | 74 29 2c 20 50 61 72 74 |it's fas|t), Part|
|00000030| 30 35 2f 30 35 0a 4e 65 | 77 73 67 72 6f 75 70 73 |05/05.Ne|wsgroups|
|00000040| 3a 20 63 6f 6d 70 2e 73 | 6f 75 72 63 65 73 2e 75 |: comp.s|ources.u|
|00000050| 6e 69 78 0a 53 65 6e 64 | 65 72 3a 20 73 6f 75 72 |nix.Send|er: sour|
|00000060| 63 65 73 0a 41 70 70 72 | 6f 76 65 64 3a 20 72 73 |ces.Appr|oved: rs|
|00000070| 61 6c 7a 40 75 75 6e 65 | 74 2e 55 55 2e 4e 45 54 |alz@uune|t.UU.NET|
|00000080| 0a 0a 53 75 62 6d 69 74 | 74 65 64 2d 62 79 3a 20 |..Submit|ted-by: |
|00000090| 4d 69 6b 65 20 48 61 65 | 72 74 65 6c 20 3c 6d 69 |Mike Hae|rtel <mi|
|000000a0| 6b 65 40 77 68 65 61 74 | 69 65 73 2e 61 69 2e 6d |ke@wheat|ies.ai.m|
|000000b0| 69 74 2e 65 64 75 3e 0a | 50 6f 73 74 69 6e 67 2d |it.edu>.|Posting-|
|000000c0| 6e 75 6d 62 65 72 3a 20 | 56 6f 6c 75 6d 65 20 31 |number: |Volume 1|
|000000d0| 37 2c 20 49 73 73 75 65 | 20 31 30 32 0a 41 72 63 |7, Issue| 102.Arc|
|000000e0| 68 69 76 65 2d 6e 61 6d | 65 3a 20 67 6e 75 67 72 |hive-nam|e: gnugr|
|000000f0| 65 70 2f 70 61 72 74 30 | 35 0a 0a 23 21 20 2f 62 |ep/part0|5..#! /b|
|00000100| 69 6e 2f 73 68 0a 23 20 | 54 68 69 73 20 69 73 20 |in/sh.# |This is |
|00000110| 61 20 73 68 65 6c 6c 20 | 61 72 63 68 69 76 65 2e |a shell |archive.|
|00000120| 20 20 52 65 6d 6f 76 65 | 20 61 6e 79 74 68 69 6e | Remove| anythin|
|00000130| 67 20 62 65 66 6f 72 65 | 20 74 68 69 73 20 6c 69 |g before| this li|
|00000140| 6e 65 2c 20 74 68 65 6e | 20 75 6e 70 61 63 6b 0a |ne, then| unpack.|
|00000150| 23 20 69 74 20 62 79 20 | 73 61 76 69 6e 67 20 69 |# it by |saving i|
|00000160| 74 20 69 6e 74 6f 20 61 | 20 66 69 6c 65 20 61 6e |t into a| file an|
|00000170| 64 20 74 79 70 69 6e 67 | 20 22 73 68 20 66 69 6c |d typing| "sh fil|
|00000180| 65 22 2e 20 20 54 6f 20 | 6f 76 65 72 77 72 69 74 |e". To |overwrit|
|00000190| 65 20 65 78 69 73 74 69 | 6e 67 0a 23 20 66 69 6c |e existi|ng.# fil|
|000001a0| 65 73 2c 20 74 79 70 65 | 20 22 73 68 20 66 69 6c |es, type| "sh fil|
|000001b0| 65 20 2d 63 22 2e 20 20 | 59 6f 75 20 63 61 6e 20 |e -c". |You can |
|000001c0| 61 6c 73 6f 20 66 65 65 | 64 20 74 68 69 73 20 61 |also fee|d this a|
|000001d0| 73 20 73 74 61 6e 64 61 | 72 64 20 69 6e 70 75 74 |s standa|rd input|
|000001e0| 20 76 69 61 0a 23 20 75 | 6e 73 68 61 72 2c 20 6f | via.# u|nshar, o|
|000001f0| 72 20 62 79 20 74 79 70 | 69 6e 67 20 22 73 68 20 |r by typ|ing "sh |
|00000200| 3c 66 69 6c 65 22 2c 20 | 65 2e 67 2e 2e 20 20 49 |<file", |e.g.. I|
|00000210| 66 20 74 68 69 73 20 61 | 72 63 68 69 76 65 20 69 |f this a|rchive i|
|00000220| 73 20 63 6f 6d 70 6c 65 | 74 65 2c 20 79 6f 75 0a |s comple|te, you.|
|00000230| 23 20 77 69 6c 6c 20 73 | 65 65 20 74 68 65 20 66 |# will s|ee the f|
|00000240| 6f 6c 6c 6f 77 69 6e 67 | 20 6d 65 73 73 61 67 65 |ollowing| message|
|00000250| 20 61 74 20 74 68 65 20 | 65 6e 64 3a 0a 23 09 09 | at the |end:.#..|
|00000260| 22 45 6e 64 20 6f 66 20 | 73 68 65 6c 6c 20 61 72 |"End of |shell ar|
|00000270| 63 68 69 76 65 2e 22 0a | 23 20 43 6f 6e 74 65 6e |chive.".|# Conten|
|00000280| 74 73 3a 20 20 72 65 67 | 65 78 2e 68 0a 50 41 54 |ts: reg|ex.h.PAT|
|00000290| 48 3d 2f 62 69 6e 3a 2f | 75 73 72 2f 62 69 6e 3a |H=/bin:/|usr/bin:|
|000002a0| 2f 75 73 72 2f 75 63 62 | 20 3b 20 65 78 70 6f 72 |/usr/ucb| ; expor|
|000002b0| 74 20 50 41 54 48 0a 69 | 66 20 74 65 73 74 20 2d |t PATH.i|f test -|
|000002c0| 66 20 27 72 65 67 65 78 | 2e 68 27 20 2d 61 20 22 |f 'regex|.h' -a "|
|000002d0| 24 7b 31 7d 22 20 21 3d | 20 22 2d 63 22 20 3b 20 |${1}" !=| "-c" ; |
|000002e0| 74 68 65 6e 20 0a 20 20 | 65 63 68 6f 20 73 68 61 |then . |echo sha|
|000002f0| 72 3a 20 57 69 6c 6c 20 | 6e 6f 74 20 63 6c 6f 62 |r: Will |not clob|
|00000300| 62 65 72 20 65 78 69 73 | 74 69 6e 67 20 66 69 6c |ber exis|ting fil|
|00000310| 65 20 5c 22 27 72 65 67 | 65 78 2e 68 27 5c 22 0a |e \"'reg|ex.h'\".|
|00000320| 65 6c 73 65 0a 65 63 68 | 6f 20 73 68 61 72 3a 20 |else.ech|o shar: |
|00000330| 45 78 74 72 61 63 74 69 | 6e 67 20 5c 22 27 72 65 |Extracti|ng \"'re|
|00000340| 67 65 78 2e 68 27 5c 22 | 20 5c 28 31 32 35 30 34 |gex.h'\"| \(12504|
|00000350| 20 63 68 61 72 61 63 74 | 65 72 73 5c 29 0a 73 65 | charact|ers\).se|
|00000360| 64 20 22 73 2f 5e 58 2f | 2f 22 20 3e 27 72 65 67 |d "s/^X/|/" >'reg|
|00000370| 65 78 2e 68 27 20 3c 3c | 27 45 4e 44 5f 4f 46 5f |ex.h' <<|'END_OF_|
|00000380| 46 49 4c 45 27 0a 58 2f | 2a 20 44 65 66 69 6e 69 |FILE'.X/|* Defini|
|00000390| 74 69 6f 6e 73 20 66 6f | 72 20 64 61 74 61 20 73 |tions fo|r data s|
|000003a0| 74 72 75 63 74 75 72 65 | 73 20 63 61 6c 6c 65 72 |tructure|s caller|
|000003b0| 73 20 70 61 73 73 20 74 | 68 65 20 72 65 67 65 78 |s pass t|he regex|
|000003c0| 20 6c 69 62 72 61 72 79 | 2e 0a 58 20 20 20 43 6f | library|..X Co|
|000003d0| 70 79 72 69 67 68 74 20 | 28 43 29 20 31 39 38 35 |pyright |(C) 1985|
|000003e0| 20 46 72 65 65 20 53 6f | 66 74 77 61 72 65 20 46 | Free So|ftware F|
|000003f0| 6f 75 6e 64 61 74 69 6f | 6e 2c 20 49 6e 63 2e 0a |oundatio|n, Inc..|
|00000400| 58 0a 58 09 09 20 20 20 | 20 20 20 20 4e 4f 20 57 |X.X.. | NO W|
|00000410| 41 52 52 41 4e 54 59 0a | 58 0a 58 20 20 42 45 43 |ARRANTY.|X.X BEC|
|00000420| 41 55 53 45 20 54 48 49 | 53 20 50 52 4f 47 52 41 |AUSE THI|S PROGRA|
|00000430| 4d 20 49 53 20 4c 49 43 | 45 4e 53 45 44 20 46 52 |M IS LIC|ENSED FR|
|00000440| 45 45 20 4f 46 20 43 48 | 41 52 47 45 2c 20 57 45 |EE OF CH|ARGE, WE|
|00000450| 20 50 52 4f 56 49 44 45 | 20 41 42 53 4f 4c 55 54 | PROVIDE| ABSOLUT|
|00000460| 45 4c 59 0a 58 4e 4f 20 | 57 41 52 52 41 4e 54 59 |ELY.XNO |WARRANTY|
|00000470| 2c 20 54 4f 20 54 48 45 | 20 45 58 54 45 4e 54 20 |, TO THE| EXTENT |
|00000480| 50 45 52 4d 49 54 54 45 | 44 20 42 59 20 41 50 50 |PERMITTE|D BY APP|
|00000490| 4c 49 43 41 42 4c 45 20 | 53 54 41 54 45 20 4c 41 |LICABLE |STATE LA|
|000004a0| 57 2e 20 20 45 58 43 45 | 50 54 0a 58 57 48 45 4e |W. EXCE|PT.XWHEN|
|000004b0| 20 4f 54 48 45 52 57 49 | 53 45 20 53 54 41 54 45 | OTHERWI|SE STATE|
|000004c0| 44 20 49 4e 20 57 52 49 | 54 49 4e 47 2c 20 46 52 |D IN WRI|TING, FR|
|000004d0| 45 45 20 53 4f 46 54 57 | 41 52 45 20 46 4f 55 4e |EE SOFTW|ARE FOUN|
|000004e0| 44 41 54 49 4f 4e 2c 20 | 49 4e 43 2c 0a 58 52 49 |DATION, |INC,.XRI|
|000004f0| 43 48 41 52 44 20 4d 2e | 20 53 54 41 4c 4c 4d 41 |CHARD M.| STALLMA|
|00000500| 4e 20 41 4e 44 2f 4f 52 | 20 4f 54 48 45 52 20 50 |N AND/OR| OTHER P|
|00000510| 41 52 54 49 45 53 20 50 | 52 4f 56 49 44 45 20 54 |ARTIES P|ROVIDE T|
|00000520| 48 49 53 20 50 52 4f 47 | 52 41 4d 20 22 41 53 20 |HIS PROG|RAM "AS |
|00000530| 49 53 22 0a 58 57 49 54 | 48 4f 55 54 20 57 41 52 |IS".XWIT|HOUT WAR|
|00000540| 52 41 4e 54 59 20 4f 46 | 20 41 4e 59 20 4b 49 4e |RANTY OF| ANY KIN|
|00000550| 44 2c 20 45 49 54 48 45 | 52 20 45 58 50 52 45 53 |D, EITHE|R EXPRES|
|00000560| 53 45 44 20 4f 52 20 49 | 4d 50 4c 49 45 44 2c 20 |SED OR I|MPLIED, |
|00000570| 49 4e 43 4c 55 44 49 4e | 47 2c 0a 58 42 55 54 20 |INCLUDIN|G,.XBUT |
|00000580| 4e 4f 54 20 4c 49 4d 49 | 54 45 44 20 54 4f 2c 20 |NOT LIMI|TED TO, |
|00000590| 54 48 45 20 49 4d 50 4c | 49 45 44 20 57 41 52 52 |THE IMPL|IED WARR|
|000005a0| 41 4e 54 49 45 53 20 4f | 46 20 4d 45 52 43 48 41 |ANTIES O|F MERCHA|
|000005b0| 4e 54 41 42 49 4c 49 54 | 59 20 41 4e 44 0a 58 46 |NTABILIT|Y AND.XF|
|000005c0| 49 54 4e 45 53 53 20 46 | 4f 52 20 41 20 50 41 52 |ITNESS F|OR A PAR|
|000005d0| 54 49 43 55 4c 41 52 20 | 50 55 52 50 4f 53 45 2e |TICULAR |PURPOSE.|
|000005e0| 20 20 54 48 45 20 45 4e | 54 49 52 45 20 52 49 53 | THE EN|TIRE RIS|
|000005f0| 4b 20 41 53 20 54 4f 20 | 54 48 45 20 51 55 41 4c |K AS TO |THE QUAL|
|00000600| 49 54 59 0a 58 41 4e 44 | 20 50 45 52 46 4f 52 4d |ITY.XAND| PERFORM|
|00000610| 41 4e 43 45 20 4f 46 20 | 54 48 45 20 50 52 4f 47 |ANCE OF |THE PROG|
|00000620| 52 41 4d 20 49 53 20 57 | 49 54 48 20 59 4f 55 2e |RAM IS W|ITH YOU.|
|00000630| 20 20 53 48 4f 55 4c 44 | 20 54 48 45 20 50 52 4f | SHOULD| THE PRO|
|00000640| 47 52 41 4d 20 50 52 4f | 56 45 0a 58 44 45 46 45 |GRAM PRO|VE.XDEFE|
|00000650| 43 54 49 56 45 2c 20 59 | 4f 55 20 41 53 53 55 4d |CTIVE, Y|OU ASSUM|
|00000660| 45 20 54 48 45 20 43 4f | 53 54 20 4f 46 20 41 4c |E THE CO|ST OF AL|
|00000670| 4c 20 4e 45 43 45 53 53 | 41 52 59 20 53 45 52 56 |L NECESS|ARY SERV|
|00000680| 49 43 49 4e 47 2c 20 52 | 45 50 41 49 52 20 4f 52 |ICING, R|EPAIR OR|
|00000690| 0a 58 43 4f 52 52 45 43 | 54 49 4f 4e 2e 0a 58 0a |.XCORREC|TION..X.|
|000006a0| 58 20 49 4e 20 4e 4f 20 | 45 56 45 4e 54 20 55 4e |X IN NO |EVENT UN|
|000006b0| 4c 45 53 53 20 52 45 51 | 55 49 52 45 44 20 42 59 |LESS REQ|UIRED BY|
|000006c0| 20 41 50 50 4c 49 43 41 | 42 4c 45 20 4c 41 57 20 | APPLICA|BLE LAW |
|000006d0| 57 49 4c 4c 20 52 49 43 | 48 41 52 44 20 4d 2e 0a |WILL RIC|HARD M..|
|000006e0| 58 53 54 41 4c 4c 4d 41 | 4e 2c 20 54 48 45 20 46 |XSTALLMA|N, THE F|
|000006f0| 52 45 45 20 53 4f 46 54 | 57 41 52 45 20 46 4f 55 |REE SOFT|WARE FOU|
|00000700| 4e 44 41 54 49 4f 4e 2c | 20 49 4e 43 2e 2c 20 41 |NDATION,| INC., A|
|00000710| 4e 44 2f 4f 52 20 41 4e | 59 20 4f 54 48 45 52 20 |ND/OR AN|Y OTHER |
|00000720| 50 41 52 54 59 0a 58 57 | 48 4f 20 4d 41 59 20 4d |PARTY.XW|HO MAY M|
|00000730| 4f 44 49 46 59 20 41 4e | 44 20 52 45 44 49 53 54 |ODIFY AN|D REDIST|
|00000740| 52 49 42 55 54 45 20 54 | 48 49 53 20 50 52 4f 47 |RIBUTE T|HIS PROG|
|00000750| 52 41 4d 20 41 53 20 50 | 45 52 4d 49 54 54 45 44 |RAM AS P|ERMITTED|
|00000760| 20 42 45 4c 4f 57 2c 20 | 42 45 0a 58 4c 49 41 42 | BELOW, |BE.XLIAB|
|00000770| 4c 45 20 54 4f 20 59 4f | 55 20 46 4f 52 20 44 41 |LE TO YO|U FOR DA|
|00000780| 4d 41 47 45 53 2c 20 49 | 4e 43 4c 55 44 49 4e 47 |MAGES, I|NCLUDING|
|00000790| 20 41 4e 59 20 4c 4f 53 | 54 20 50 52 4f 46 49 54 | ANY LOS|T PROFIT|
|000007a0| 53 2c 20 4c 4f 53 54 20 | 4d 4f 4e 49 45 53 2c 20 |S, LOST |MONIES, |
|000007b0| 4f 52 0a 58 4f 54 48 45 | 52 20 53 50 45 43 49 41 |OR.XOTHE|R SPECIA|
|000007c0| 4c 2c 20 49 4e 43 49 44 | 45 4e 54 41 4c 20 4f 52 |L, INCID|ENTAL OR|
|000007d0| 20 43 4f 4e 53 45 51 55 | 45 4e 54 49 41 4c 20 44 | CONSEQU|ENTIAL D|
|000007e0| 41 4d 41 47 45 53 20 41 | 52 49 53 49 4e 47 20 4f |AMAGES A|RISING O|
|000007f0| 55 54 20 4f 46 20 54 48 | 45 0a 58 55 53 45 20 4f |UT OF TH|E.XUSE O|
|00000800| 52 20 49 4e 41 42 49 4c | 49 54 59 20 54 4f 20 55 |R INABIL|ITY TO U|
|00000810| 53 45 20 28 49 4e 43 4c | 55 44 49 4e 47 20 42 55 |SE (INCL|UDING BU|
|00000820| 54 20 4e 4f 54 20 4c 49 | 4d 49 54 45 44 20 54 4f |T NOT LI|MITED TO|
|00000830| 20 4c 4f 53 53 20 4f 46 | 20 44 41 54 41 20 4f 52 | LOSS OF| DATA OR|
|00000840| 0a 58 44 41 54 41 20 42 | 45 49 4e 47 20 52 45 4e |.XDATA B|EING REN|
|00000850| 44 45 52 45 44 20 49 4e | 41 43 43 55 52 41 54 45 |DERED IN|ACCURATE|
|00000860| 20 4f 52 20 4c 4f 53 53 | 45 53 20 53 55 53 54 41 | OR LOSS|ES SUSTA|
|00000870| 49 4e 45 44 20 42 59 20 | 54 48 49 52 44 20 50 41 |INED BY |THIRD PA|
|00000880| 52 54 49 45 53 20 4f 52 | 0a 58 41 20 46 41 49 4c |RTIES OR|.XA FAIL|
|00000890| 55 52 45 20 4f 46 20 54 | 48 45 20 50 52 4f 47 52 |URE OF T|HE PROGR|
|000008a0| 41 4d 20 54 4f 20 4f 50 | 45 52 41 54 45 20 57 49 |AM TO OP|ERATE WI|
|000008b0| 54 48 20 41 4e 59 20 4f | 54 48 45 52 20 50 52 4f |TH ANY O|THER PRO|
|000008c0| 47 52 41 4d 53 29 20 54 | 48 49 53 0a 58 50 52 4f |GRAMS) T|HIS.XPRO|
|000008d0| 47 52 41 4d 2c 20 45 56 | 45 4e 20 49 46 20 59 4f |GRAM, EV|EN IF YO|
|000008e0| 55 20 48 41 56 45 20 42 | 45 45 4e 20 41 44 56 49 |U HAVE B|EEN ADVI|
|000008f0| 53 45 44 20 4f 46 20 54 | 48 45 20 50 4f 53 53 49 |SED OF T|HE POSSI|
|00000900| 42 49 4c 49 54 59 20 4f | 46 20 53 55 43 48 0a 58 |BILITY O|F SUCH.X|
|00000910| 44 41 4d 41 47 45 53 2c | 20 4f 52 20 46 4f 52 20 |DAMAGES,| OR FOR |
|00000920| 41 4e 59 20 43 4c 41 49 | 4d 20 42 59 20 41 4e 59 |ANY CLAI|M BY ANY|
|00000930| 20 4f 54 48 45 52 20 50 | 41 52 54 59 2e 0a 58 0a | OTHER P|ARTY..X.|
|00000940| 58 09 09 47 45 4e 45 52 | 41 4c 20 50 55 42 4c 49 |X..GENER|AL PUBLI|
|00000950| 43 20 4c 49 43 45 4e 53 | 45 20 54 4f 20 43 4f 50 |C LICENS|E TO COP|
|00000960| 59 0a 58 0a 58 20 20 31 | 2e 20 59 6f 75 20 6d 61 |Y.X.X 1|. You ma|
|00000970| 79 20 63 6f 70 79 20 61 | 6e 64 20 64 69 73 74 72 |y copy a|nd distr|
|00000980| 69 62 75 74 65 20 76 65 | 72 62 61 74 69 6d 20 63 |ibute ve|rbatim c|
|00000990| 6f 70 69 65 73 20 6f 66 | 20 74 68 69 73 20 73 6f |opies of| this so|
|000009a0| 75 72 63 65 20 66 69 6c | 65 0a 58 61 73 20 79 6f |urce fil|e.Xas yo|
|000009b0| 75 20 72 65 63 65 69 76 | 65 20 69 74 2c 20 69 6e |u receiv|e it, in|
|000009c0| 20 61 6e 79 20 6d 65 64 | 69 75 6d 2c 20 70 72 6f | any med|ium, pro|
|000009d0| 76 69 64 65 64 20 74 68 | 61 74 20 79 6f 75 20 63 |vided th|at you c|
|000009e0| 6f 6e 73 70 69 63 75 6f | 75 73 6c 79 20 61 6e 64 |onspicuo|usly and|
|000009f0| 0a 58 61 70 70 72 6f 70 | 72 69 61 74 65 6c 79 20 |.Xapprop|riately |
|00000a00| 70 75 62 6c 69 73 68 20 | 6f 6e 20 65 61 63 68 20 |publish |on each |
|00000a10| 63 6f 70 79 20 61 20 76 | 61 6c 69 64 20 63 6f 70 |copy a v|alid cop|
|00000a20| 79 72 69 67 68 74 20 6e | 6f 74 69 63 65 20 22 43 |yright n|otice "C|
|00000a30| 6f 70 79 72 69 67 68 74 | 0a 58 28 43 29 20 31 39 |opyright|.X(C) 19|
|00000a40| 38 35 20 46 72 65 65 20 | 53 6f 66 74 77 61 72 65 |85 Free |Software|
|00000a50| 20 46 6f 75 6e 64 61 74 | 69 6f 6e 2c 20 49 6e 63 | Foundat|ion, Inc|
|00000a60| 2e 22 3b 20 61 6e 64 20 | 69 6e 63 6c 75 64 65 20 |."; and |include |
|00000a70| 66 6f 6c 6c 6f 77 69 6e | 67 20 74 68 65 0a 58 63 |followin|g the.Xc|
|00000a80| 6f 70 79 72 69 67 68 74 | 20 6e 6f 74 69 63 65 20 |opyright| notice |
|00000a90| 61 20 76 65 72 62 61 74 | 69 6d 20 63 6f 70 79 20 |a verbat|im copy |
|00000aa0| 6f 66 20 74 68 65 20 61 | 62 6f 76 65 20 64 69 73 |of the a|bove dis|
|00000ab0| 63 6c 61 69 6d 65 72 20 | 6f 66 20 77 61 72 72 61 |claimer |of warra|
|00000ac0| 6e 74 79 0a 58 61 6e 64 | 20 6f 66 20 74 68 69 73 |nty.Xand| of this|
|00000ad0| 20 4c 69 63 65 6e 73 65 | 2e 20 20 59 6f 75 20 6d | License|. You m|
|00000ae0| 61 79 20 63 68 61 72 67 | 65 20 61 20 64 69 73 74 |ay charg|e a dist|
|00000af0| 72 69 62 75 74 69 6f 6e | 20 66 65 65 20 66 6f 72 |ribution| fee for|
|00000b00| 20 74 68 65 0a 58 70 68 | 79 73 69 63 61 6c 20 61 | the.Xph|ysical a|
|00000b10| 63 74 20 6f 66 20 74 72 | 61 6e 73 66 65 72 72 69 |ct of tr|ansferri|
|00000b20| 6e 67 20 61 20 63 6f 70 | 79 2e 0a 58 0a 58 20 20 |ng a cop|y..X.X |
|00000b30| 32 2e 20 59 6f 75 20 6d | 61 79 20 6d 6f 64 69 66 |2. You m|ay modif|
|00000b40| 79 20 79 6f 75 72 20 63 | 6f 70 79 20 6f 72 20 63 |y your c|opy or c|
|00000b50| 6f 70 69 65 73 20 6f 66 | 20 74 68 69 73 20 73 6f |opies of| this so|
|00000b60| 75 72 63 65 20 66 69 6c | 65 20 6f 72 0a 58 61 6e |urce fil|e or.Xan|
|00000b70| 79 20 70 6f 72 74 69 6f | 6e 20 6f 66 20 69 74 2c |y portio|n of it,|
|00000b80| 20 61 6e 64 20 63 6f 70 | 79 20 61 6e 64 20 64 69 | and cop|y and di|
|00000b90| 73 74 72 69 62 75 74 65 | 20 73 75 63 68 20 6d 6f |stribute| such mo|
|00000ba0| 64 69 66 69 63 61 74 69 | 6f 6e 73 20 75 6e 64 65 |dificati|ons unde|
|00000bb0| 72 0a 58 74 68 65 20 74 | 65 72 6d 73 20 6f 66 20 |r.Xthe t|erms of |
|00000bc0| 50 61 72 61 67 72 61 70 | 68 20 31 20 61 62 6f 76 |Paragrap|h 1 abov|
|00000bd0| 65 2c 20 70 72 6f 76 69 | 64 65 64 20 74 68 61 74 |e, provi|ded that|
|00000be0| 20 79 6f 75 20 61 6c 73 | 6f 20 64 6f 20 74 68 65 | you als|o do the|
|00000bf0| 20 66 6f 6c 6c 6f 77 69 | 6e 67 3a 0a 58 0a 58 20 | followi|ng:.X.X |
|00000c00| 20 20 20 61 29 20 63 61 | 75 73 65 20 74 68 65 20 | a) ca|use the |
|00000c10| 6d 6f 64 69 66 69 65 64 | 20 66 69 6c 65 73 20 74 |modified| files t|
|00000c20| 6f 20 63 61 72 72 79 20 | 70 72 6f 6d 69 6e 65 6e |o carry |prominen|
|00000c30| 74 20 6e 6f 74 69 63 65 | 73 20 73 74 61 74 69 6e |t notice|s statin|
|00000c40| 67 0a 58 20 20 20 20 74 | 68 61 74 20 79 6f 75 20 |g.X t|hat you |
|00000c50| 63 68 61 6e 67 65 64 20 | 74 68 65 20 66 69 6c 65 |changed |the file|
|00000c60| 73 20 61 6e 64 20 74 68 | 65 20 64 61 74 65 20 6f |s and th|e date o|
|00000c70| 66 20 61 6e 79 20 63 68 | 61 6e 67 65 3b 20 61 6e |f any ch|ange; an|
|00000c80| 64 0a 58 0a 58 20 20 20 | 20 62 29 20 63 61 75 73 |d.X.X | b) caus|
|00000c90| 65 20 74 68 65 20 77 68 | 6f 6c 65 20 6f 66 20 61 |e the wh|ole of a|
|00000ca0| 6e 79 20 77 6f 72 6b 20 | 74 68 61 74 20 79 6f 75 |ny work |that you|
|00000cb0| 20 64 69 73 74 72 69 62 | 75 74 65 20 6f 72 20 70 | distrib|ute or p|
|00000cc0| 75 62 6c 69 73 68 2c 0a | 58 20 20 20 20 74 68 61 |ublish,.|X tha|
|00000cd0| 74 20 69 6e 20 77 68 6f | 6c 65 20 6f 72 20 69 6e |t in who|le or in|
|00000ce0| 20 70 61 72 74 20 63 6f | 6e 74 61 69 6e 73 20 6f | part co|ntains o|
|00000cf0| 72 20 69 73 20 61 20 64 | 65 72 69 76 61 74 69 76 |r is a d|erivativ|
|00000d00| 65 20 6f 66 20 74 68 69 | 73 0a 58 20 20 20 20 70 |e of thi|s.X p|
|00000d10| 72 6f 67 72 61 6d 20 6f | 72 20 61 6e 79 20 70 61 |rogram o|r any pa|
|00000d20| 72 74 20 74 68 65 72 65 | 6f 66 2c 20 74 6f 20 62 |rt there|of, to b|
|00000d30| 65 20 6c 69 63 65 6e 73 | 65 64 20 61 74 20 6e 6f |e licens|ed at no|
|00000d40| 20 63 68 61 72 67 65 20 | 74 6f 20 61 6c 6c 0a 58 | charge |to all.X|
|00000d50| 20 20 20 20 74 68 69 72 | 64 20 70 61 72 74 69 65 | thir|d partie|
|00000d60| 73 20 6f 6e 20 74 65 72 | 6d 73 20 69 64 65 6e 74 |s on ter|ms ident|
|00000d70| 69 63 61 6c 20 74 6f 20 | 74 68 6f 73 65 20 63 6f |ical to |those co|
|00000d80| 6e 74 61 69 6e 65 64 20 | 69 6e 20 74 68 69 73 0a |ntained |in this.|
|00000d90| 58 20 20 20 20 4c 69 63 | 65 6e 73 65 20 41 67 72 |X Lic|ense Agr|
|00000da0| 65 65 6d 65 6e 74 20 28 | 65 78 63 65 70 74 20 74 |eement (|except t|
|00000db0| 68 61 74 20 79 6f 75 20 | 6d 61 79 20 63 68 6f 6f |hat you |may choo|
|00000dc0| 73 65 20 74 6f 20 67 72 | 61 6e 74 20 6d 6f 72 65 |se to gr|ant more|
|00000dd0| 20 65 78 74 65 6e 73 69 | 76 65 0a 58 20 20 20 20 | extensi|ve.X |
|00000de0| 77 61 72 72 61 6e 74 79 | 20 70 72 6f 74 65 63 74 |warranty| protect|
|00000df0| 69 6f 6e 20 74 6f 20 73 | 6f 6d 65 20 6f 72 20 61 |ion to s|ome or a|
|00000e00| 6c 6c 20 74 68 69 72 64 | 20 70 61 72 74 69 65 73 |ll third| parties|
|00000e10| 2c 20 61 74 20 79 6f 75 | 72 20 6f 70 74 69 6f 6e |, at you|r option|
|00000e20| 29 2e 0a 58 0a 58 20 20 | 20 20 63 29 20 59 6f 75 |)..X.X | c) You|
|00000e30| 20 6d 61 79 20 63 68 61 | 72 67 65 20 61 20 64 69 | may cha|rge a di|
|00000e40| 73 74 72 69 62 75 74 69 | 6f 6e 20 66 65 65 20 66 |stributi|on fee f|
|00000e50| 6f 72 20 74 68 65 20 70 | 68 79 73 69 63 61 6c 20 |or the p|hysical |
|00000e60| 61 63 74 20 6f 66 0a 58 | 20 20 20 20 74 72 61 6e |act of.X| tran|
|00000e70| 73 66 65 72 72 69 6e 67 | 20 61 20 63 6f 70 79 2c |sferring| a copy,|
|00000e80| 20 61 6e 64 20 79 6f 75 | 20 6d 61 79 20 61 74 20 | and you| may at |
|00000e90| 79 6f 75 72 20 6f 70 74 | 69 6f 6e 20 6f 66 66 65 |your opt|ion offe|
|00000ea0| 72 20 77 61 72 72 61 6e | 74 79 0a 58 20 20 20 20 |r warran|ty.X |
|00000eb0| 70 72 6f 74 65 63 74 69 | 6f 6e 20 69 6e 20 65 78 |protecti|on in ex|
|00000ec0| 63 68 61 6e 67 65 20 66 | 6f 72 20 61 20 66 65 65 |change f|or a fee|
|00000ed0| 2e 0a 58 0a 58 4d 65 72 | 65 20 61 67 67 72 65 67 |..X.XMer|e aggreg|
|00000ee0| 61 74 69 6f 6e 20 6f 66 | 20 61 6e 6f 74 68 65 72 |ation of| another|
|00000ef0| 20 75 6e 72 65 6c 61 74 | 65 64 20 70 72 6f 67 72 | unrelat|ed progr|
|00000f00| 61 6d 20 77 69 74 68 20 | 74 68 69 73 20 70 72 6f |am with |this pro|
|00000f10| 67 72 61 6d 20 28 6f 72 | 20 69 74 73 0a 58 64 65 |gram (or| its.Xde|
|00000f20| 72 69 76 61 74 69 76 65 | 29 20 6f 6e 20 61 20 76 |rivative|) on a v|
|00000f30| 6f 6c 75 6d 65 20 6f 66 | 20 61 20 73 74 6f 72 61 |olume of| a stora|
|00000f40| 67 65 20 6f 72 20 64 69 | 73 74 72 69 62 75 74 69 |ge or di|stributi|
|00000f50| 6f 6e 20 6d 65 64 69 75 | 6d 20 64 6f 65 73 20 6e |on mediu|m does n|
|00000f60| 6f 74 20 62 72 69 6e 67 | 0a 58 74 68 65 20 6f 74 |ot bring|.Xthe ot|
|00000f70| 68 65 72 20 70 72 6f 67 | 72 61 6d 20 75 6e 64 65 |her prog|ram unde|
|00000f80| 72 20 74 68 65 20 73 63 | 6f 70 65 20 6f 66 20 74 |r the sc|ope of t|
|00000f90| 68 65 73 65 20 74 65 72 | 6d 73 2e 0a 58 0a 58 20 |hese ter|ms..X.X |
|00000fa0| 20 33 2e 20 59 6f 75 20 | 6d 61 79 20 63 6f 70 79 | 3. You |may copy|
|00000fb0| 20 61 6e 64 20 64 69 73 | 74 72 69 62 75 74 65 20 | and dis|tribute |
|00000fc0| 74 68 69 73 20 70 72 6f | 67 72 61 6d 20 28 6f 72 |this pro|gram (or|
|00000fd0| 20 61 20 70 6f 72 74 69 | 6f 6e 20 6f 72 20 64 65 | a porti|on or de|
|00000fe0| 72 69 76 61 74 69 76 65 | 0a 58 6f 66 20 69 74 2c |rivative|.Xof it,|
|00000ff0| 20 75 6e 64 65 72 20 50 | 61 72 61 67 72 61 70 68 | under P|aragraph|
|00001000| 20 32 29 20 69 6e 20 6f | 62 6a 65 63 74 20 63 6f | 2) in o|bject co|
|00001010| 64 65 20 6f 72 20 65 78 | 65 63 75 74 61 62 6c 65 |de or ex|ecutable|
|00001020| 20 66 6f 72 6d 20 75 6e | 64 65 72 20 74 68 65 20 | form un|der the |
|00001030| 74 65 72 6d 73 0a 58 6f | 66 20 50 61 72 61 67 72 |terms.Xo|f Paragr|
|00001040| 61 70 68 73 20 31 20 61 | 6e 64 20 32 20 61 62 6f |aphs 1 a|nd 2 abo|
|00001050| 76 65 20 70 72 6f 76 69 | 64 65 64 20 74 68 61 74 |ve provi|ded that|
|00001060| 20 79 6f 75 20 61 6c 73 | 6f 20 64 6f 20 6f 6e 65 | you als|o do one|
|00001070| 20 6f 66 20 74 68 65 20 | 66 6f 6c 6c 6f 77 69 6e | of the |followin|
|00001080| 67 3a 0a 58 0a 58 20 20 | 20 20 61 29 20 61 63 63 |g:.X.X | a) acc|
|00001090| 6f 6d 70 61 6e 79 20 69 | 74 20 77 69 74 68 20 74 |ompany i|t with t|
|000010a0| 68 65 20 63 6f 6d 70 6c | 65 74 65 20 63 6f 72 72 |he compl|ete corr|
|000010b0| 65 73 70 6f 6e 64 69 6e | 67 20 6d 61 63 68 69 6e |espondin|g machin|
|000010c0| 65 2d 72 65 61 64 61 62 | 6c 65 0a 58 20 20 20 20 |e-readab|le.X |
|000010d0| 73 6f 75 72 63 65 20 63 | 6f 64 65 2c 20 77 68 69 |source c|ode, whi|
|000010e0| 63 68 20 6d 75 73 74 20 | 62 65 20 64 69 73 74 72 |ch must |be distr|
|000010f0| 69 62 75 74 65 64 20 75 | 6e 64 65 72 20 74 68 65 |ibuted u|nder the|
|00001100| 20 74 65 72 6d 73 20 6f | 66 0a 58 20 20 20 20 50 | terms o|f.X P|
|00001110| 61 72 61 67 72 61 70 68 | 73 20 31 20 61 6e 64 20 |aragraph|s 1 and |
|00001120| 32 20 61 62 6f 76 65 3b | 20 6f 72 2c 0a 58 0a 58 |2 above;| or,.X.X|
|00001130| 20 20 20 20 62 29 20 61 | 63 63 6f 6d 70 61 6e 79 | b) a|ccompany|
|00001140| 20 69 74 20 77 69 74 68 | 20 61 20 77 72 69 74 74 | it with| a writt|
|00001150| 65 6e 20 6f 66 66 65 72 | 2c 20 76 61 6c 69 64 20 |en offer|, valid |
|00001160| 66 6f 72 20 61 74 20 6c | 65 61 73 74 20 74 68 72 |for at l|east thr|
|00001170| 65 65 0a 58 20 20 20 20 | 79 65 61 72 73 2c 20 74 |ee.X |years, t|
|00001180| 6f 20 67 69 76 65 20 61 | 6e 79 20 74 68 69 72 64 |o give a|ny third|
|00001190| 20 70 61 72 74 79 20 66 | 72 65 65 20 28 65 78 63 | party f|ree (exc|
|000011a0| 65 70 74 20 66 6f 72 20 | 61 20 6e 6f 6d 69 6e 61 |ept for |a nomina|
|000011b0| 6c 0a 58 20 20 20 20 73 | 68 69 70 70 69 6e 67 20 |l.X s|hipping |
|000011c0| 63 68 61 72 67 65 29 20 | 61 20 63 6f 6d 70 6c 65 |charge) |a comple|
|000011d0| 74 65 20 6d 61 63 68 69 | 6e 65 2d 72 65 61 64 61 |te machi|ne-reada|
|000011e0| 62 6c 65 20 63 6f 70 79 | 20 6f 66 20 74 68 65 0a |ble copy| of the.|
|000011f0| 58 20 20 20 20 63 6f 72 | 72 65 73 70 6f 6e 64 69 |X cor|respondi|
|00001200| 6e 67 20 73 6f 75 72 63 | 65 20 63 6f 64 65 2c 20 |ng sourc|e code, |
|00001210| 74 6f 20 62 65 20 64 69 | 73 74 72 69 62 75 74 65 |to be di|stribute|
|00001220| 64 20 75 6e 64 65 72 20 | 74 68 65 20 74 65 72 6d |d under |the term|
|00001230| 73 20 6f 66 0a 58 20 20 | 20 20 50 61 72 61 67 72 |s of.X | Paragr|
|00001240| 61 70 68 73 20 31 20 61 | 6e 64 20 32 20 61 62 6f |aphs 1 a|nd 2 abo|
|00001250| 76 65 3b 20 6f 72 2c 0a | 58 0a 58 20 20 20 20 63 |ve; or,.|X.X c|
|00001260| 29 20 61 63 63 6f 6d 70 | 61 6e 79 20 69 74 20 77 |) accomp|any it w|
|00001270| 69 74 68 20 74 68 65 20 | 69 6e 66 6f 72 6d 61 74 |ith the |informat|
|00001280| 69 6f 6e 20 79 6f 75 20 | 72 65 63 65 69 76 65 64 |ion you |received|
|00001290| 20 61 73 20 74 6f 20 77 | 68 65 72 65 20 74 68 65 | as to w|here the|
|000012a0| 0a 58 20 20 20 20 63 6f | 72 72 65 73 70 6f 6e 64 |.X co|rrespond|
|000012b0| 69 6e 67 20 73 6f 75 72 | 63 65 20 63 6f 64 65 20 |ing sour|ce code |
|000012c0| 6d 61 79 20 62 65 20 6f | 62 74 61 69 6e 65 64 2e |may be o|btained.|
|000012d0| 20 20 28 54 68 69 73 20 | 61 6c 74 65 72 6e 61 74 | (This |alternat|
|000012e0| 69 76 65 20 69 73 0a 58 | 20 20 20 20 61 6c 6c 6f |ive is.X| allo|
|000012f0| 77 65 64 20 6f 6e 6c 79 | 20 66 6f 72 20 6e 6f 6e |wed only| for non|
|00001300| 63 6f 6d 6d 65 72 63 69 | 61 6c 20 64 69 73 74 72 |commerci|al distr|
|00001310| 69 62 75 74 69 6f 6e 20 | 61 6e 64 20 6f 6e 6c 79 |ibution |and only|
|00001320| 20 69 66 20 79 6f 75 0a | 58 20 20 20 20 72 65 63 | if you.|X rec|
|00001330| 65 69 76 65 64 20 74 68 | 65 20 70 72 6f 67 72 61 |eived th|e progra|
|00001340| 6d 20 69 6e 20 6f 62 6a | 65 63 74 20 63 6f 64 65 |m in obj|ect code|
|00001350| 20 6f 72 20 65 78 65 63 | 75 74 61 62 6c 65 20 66 | or exec|utable f|
|00001360| 6f 72 6d 20 61 6c 6f 6e | 65 2e 29 0a 58 0a 58 46 |orm alon|e.).X.XF|
|00001370| 6f 72 20 61 6e 20 65 78 | 65 63 75 74 61 62 6c 65 |or an ex|ecutable|
|00001380| 20 66 69 6c 65 2c 20 63 | 6f 6d 70 6c 65 74 65 20 | file, c|omplete |
|00001390| 73 6f 75 72 63 65 20 63 | 6f 64 65 20 6d 65 61 6e |source c|ode mean|
|000013a0| 73 20 61 6c 6c 20 74 68 | 65 20 73 6f 75 72 63 65 |s all th|e source|
|000013b0| 20 63 6f 64 65 20 66 6f | 72 0a 58 61 6c 6c 20 6d | code fo|r.Xall m|
|000013c0| 6f 64 75 6c 65 73 20 69 | 74 20 63 6f 6e 74 61 69 |odules i|t contai|
|000013d0| 6e 73 3b 20 62 75 74 2c | 20 61 73 20 61 20 73 70 |ns; but,| as a sp|
|000013e0| 65 63 69 61 6c 20 65 78 | 63 65 70 74 69 6f 6e 2c |ecial ex|ception,|
|000013f0| 20 69 74 20 6e 65 65 64 | 20 6e 6f 74 20 69 6e 63 | it need| not inc|
|00001400| 6c 75 64 65 0a 58 73 6f | 75 72 63 65 20 63 6f 64 |lude.Xso|urce cod|
|00001410| 65 20 66 6f 72 20 6d 6f | 64 75 6c 65 73 20 77 68 |e for mo|dules wh|
|00001420| 69 63 68 20 61 72 65 20 | 73 74 61 6e 64 61 72 64 |ich are |standard|
|00001430| 20 6c 69 62 72 61 72 69 | 65 73 20 74 68 61 74 20 | librari|es that |
|00001440| 61 63 63 6f 6d 70 61 6e | 79 20 74 68 65 0a 58 6f |accompan|y the.Xo|
|00001450| 70 65 72 61 74 69 6e 67 | 20 73 79 73 74 65 6d 20 |perating| system |
|00001460| 6f 6e 20 77 68 69 63 68 | 20 74 68 65 20 65 78 65 |on which| the exe|
|00001470| 63 75 74 61 62 6c 65 20 | 66 69 6c 65 20 72 75 6e |cutable |file run|
|00001480| 73 2e 0a 58 0a 58 20 20 | 34 2e 20 59 6f 75 20 6d |s..X.X |4. You m|
|00001490| 61 79 20 6e 6f 74 20 63 | 6f 70 79 2c 20 73 75 62 |ay not c|opy, sub|
|000014a0| 6c 69 63 65 6e 73 65 2c | 20 64 69 73 74 72 69 62 |license,| distrib|
|000014b0| 75 74 65 20 6f 72 20 74 | 72 61 6e 73 66 65 72 20 |ute or t|ransfer |
|000014c0| 74 68 69 73 20 70 72 6f | 67 72 61 6d 0a 58 65 78 |this pro|gram.Xex|
|000014d0| 63 65 70 74 20 61 73 20 | 65 78 70 72 65 73 73 6c |cept as |expressl|
|000014e0| 79 20 70 72 6f 76 69 64 | 65 64 20 75 6e 64 65 72 |y provid|ed under|
|000014f0| 20 74 68 69 73 20 4c 69 | 63 65 6e 73 65 20 41 67 | this Li|cense Ag|
|00001500| 72 65 65 6d 65 6e 74 2e | 20 20 41 6e 79 20 61 74 |reement.| Any at|
|00001510| 74 65 6d 70 74 0a 58 6f | 74 68 65 72 77 69 73 65 |tempt.Xo|therwise|
|00001520| 20 74 6f 20 63 6f 70 79 | 2c 20 73 75 62 6c 69 63 | to copy|, sublic|
|00001530| 65 6e 73 65 2c 20 64 69 | 73 74 72 69 62 75 74 65 |ense, di|stribute|
|00001540| 20 6f 72 20 74 72 61 6e | 73 66 65 72 20 74 68 69 | or tran|sfer thi|
|00001550| 73 20 70 72 6f 67 72 61 | 6d 20 69 73 20 76 6f 69 |s progra|m is voi|
|00001560| 64 20 61 6e 64 0a 58 79 | 6f 75 72 20 72 69 67 68 |d and.Xy|our righ|
|00001570| 74 73 20 74 6f 20 75 73 | 65 20 74 68 65 20 70 72 |ts to us|e the pr|
|00001580| 6f 67 72 61 6d 20 75 6e | 64 65 72 20 74 68 69 73 |ogram un|der this|
|00001590| 20 4c 69 63 65 6e 73 65 | 20 61 67 72 65 65 6d 65 | License| agreeme|
|000015a0| 6e 74 20 73 68 61 6c 6c | 20 62 65 0a 58 61 75 74 |nt shall| be.Xaut|
|000015b0| 6f 6d 61 74 69 63 61 6c | 6c 79 20 74 65 72 6d 69 |omatical|ly termi|
|000015c0| 6e 61 74 65 64 2e 20 20 | 48 6f 77 65 76 65 72 2c |nated. |However,|
|000015d0| 20 70 61 72 74 69 65 73 | 20 77 68 6f 20 68 61 76 | parties| who hav|
|000015e0| 65 20 72 65 63 65 69 76 | 65 64 20 63 6f 6d 70 75 |e receiv|ed compu|
|000015f0| 74 65 72 0a 58 73 6f 66 | 74 77 61 72 65 20 70 72 |ter.Xsof|tware pr|
|00001600| 6f 67 72 61 6d 73 20 66 | 72 6f 6d 20 79 6f 75 20 |ograms f|rom you |
|00001610| 77 69 74 68 20 74 68 69 | 73 20 4c 69 63 65 6e 73 |with thi|s Licens|
|00001620| 65 20 41 67 72 65 65 6d | 65 6e 74 20 77 69 6c 6c |e Agreem|ent will|
|00001630| 20 6e 6f 74 20 68 61 76 | 65 0a 58 74 68 65 69 72 | not hav|e.Xtheir|
|00001640| 20 6c 69 63 65 6e 73 65 | 73 20 74 65 72 6d 69 6e | license|s termin|
|00001650| 61 74 65 64 20 73 6f 20 | 6c 6f 6e 67 20 61 73 20 |ated so |long as |
|00001660| 73 75 63 68 20 70 61 72 | 74 69 65 73 20 72 65 6d |such par|ties rem|
|00001670| 61 69 6e 20 69 6e 20 66 | 75 6c 6c 20 63 6f 6d 70 |ain in f|ull comp|
|00001680| 6c 69 61 6e 63 65 2e 0a | 58 0a 58 20 20 35 2e 20 |liance..|X.X 5. |
|00001690| 49 66 20 79 6f 75 20 77 | 69 73 68 20 74 6f 20 69 |If you w|ish to i|
|000016a0| 6e 63 6f 72 70 6f 72 61 | 74 65 20 70 61 72 74 73 |ncorpora|te parts|
|000016b0| 20 6f 66 20 74 68 69 73 | 20 70 72 6f 67 72 61 6d | of this| program|
|000016c0| 20 69 6e 74 6f 20 6f 74 | 68 65 72 20 66 72 65 65 | into ot|her free|
|000016d0| 0a 58 70 72 6f 67 72 61 | 6d 73 20 77 68 6f 73 65 |.Xprogra|ms whose|
|000016e0| 20 64 69 73 74 72 69 62 | 75 74 69 6f 6e 20 63 6f | distrib|ution co|
|000016f0| 6e 64 69 74 69 6f 6e 73 | 20 61 72 65 20 64 69 66 |nditions| are dif|
|00001700| 66 65 72 65 6e 74 2c 20 | 77 72 69 74 65 20 74 6f |ferent, |write to|
|00001710| 20 74 68 65 20 46 72 65 | 65 0a 58 53 6f 66 74 77 | the Fre|e.XSoftw|
|00001720| 61 72 65 20 46 6f 75 6e | 64 61 74 69 6f 6e 20 61 |are Foun|dation a|
|00001730| 74 20 36 37 35 20 4d 61 | 73 73 20 41 76 65 2c 20 |t 675 Ma|ss Ave, |
|00001740| 43 61 6d 62 72 69 64 67 | 65 2c 20 4d 41 20 30 32 |Cambridg|e, MA 02|
|00001750| 31 33 39 2e 20 20 57 65 | 20 68 61 76 65 20 6e 6f |139. We| have no|
|00001760| 74 20 79 65 74 0a 58 77 | 6f 72 6b 65 64 20 6f 75 |t yet.Xw|orked ou|
|00001770| 74 20 61 20 73 69 6d 70 | 6c 65 20 72 75 6c 65 20 |t a simp|le rule |
|00001780| 74 68 61 74 20 63 61 6e | 20 62 65 20 73 74 61 74 |that can| be stat|
|00001790| 65 64 20 68 65 72 65 2c | 20 62 75 74 20 77 65 20 |ed here,| but we |
|000017a0| 77 69 6c 6c 20 6f 66 74 | 65 6e 20 70 65 72 6d 69 |will oft|en permi|
|000017b0| 74 0a 58 74 68 69 73 2e | 20 20 57 65 20 77 69 6c |t.Xthis.| We wil|
|000017c0| 6c 20 62 65 20 67 75 69 | 64 65 64 20 62 79 20 74 |l be gui|ded by t|
|000017d0| 68 65 20 74 77 6f 20 67 | 6f 61 6c 73 20 6f 66 20 |he two g|oals of |
|000017e0| 70 72 65 73 65 72 76 69 | 6e 67 20 74 68 65 20 66 |preservi|ng the f|
|000017f0| 72 65 65 20 73 74 61 74 | 75 73 20 6f 66 0a 58 61 |ree stat|us of.Xa|
|00001800| 6c 6c 20 64 65 72 69 76 | 61 74 69 76 65 73 20 6f |ll deriv|atives o|
|00001810| 66 20 6f 75 72 20 66 72 | 65 65 20 73 6f 66 74 77 |f our fr|ee softw|
|00001820| 61 72 65 20 61 6e 64 20 | 6f 66 20 70 72 6f 6d 6f |are and |of promo|
|00001830| 74 69 6e 67 20 74 68 65 | 20 73 68 61 72 69 6e 67 |ting the| sharing|
|00001840| 20 61 6e 64 20 72 65 75 | 73 65 20 6f 66 0a 58 73 | and reu|se of.Xs|
|00001850| 6f 66 74 77 61 72 65 2e | 0a 58 0a 58 0a 58 49 6e |oftware.|.X.X.XIn|
|00001860| 20 6f 74 68 65 72 20 77 | 6f 72 64 73 2c 20 79 6f | other w|ords, yo|
|00001870| 75 20 61 72 65 20 77 65 | 6c 63 6f 6d 65 20 74 6f |u are we|lcome to|
|00001880| 20 75 73 65 2c 20 73 68 | 61 72 65 20 61 6e 64 20 | use, sh|are and |
|00001890| 69 6d 70 72 6f 76 65 20 | 74 68 69 73 20 70 72 6f |improve |this pro|
|000018a0| 67 72 61 6d 2e 0a 58 59 | 6f 75 20 61 72 65 20 66 |gram..XY|ou are f|
|000018b0| 6f 72 62 69 64 64 65 6e | 20 74 6f 20 66 6f 72 62 |orbidden| to forb|
|000018c0| 69 64 20 61 6e 79 6f 6e | 65 20 65 6c 73 65 20 74 |id anyon|e else t|
|000018d0| 6f 20 75 73 65 2c 20 73 | 68 61 72 65 20 61 6e 64 |o use, s|hare and|
|000018e0| 20 69 6d 70 72 6f 76 65 | 0a 58 77 68 61 74 20 79 | improve|.Xwhat y|
|000018f0| 6f 75 20 67 69 76 65 20 | 74 68 65 6d 2e 20 20 20 |ou give |them. |
|00001900| 48 65 6c 70 20 73 74 61 | 6d 70 20 6f 75 74 20 73 |Help sta|mp out s|
|00001910| 6f 66 74 77 61 72 65 2d | 68 6f 61 72 64 69 6e 67 |oftware-|hoarding|
|00001920| 21 20 20 2a 2f 0a 58 0a | 58 0a 58 2f 2a 20 44 65 |! */.X.|X.X/* De|
|00001930| 66 69 6e 65 20 6e 75 6d | 62 65 72 20 6f 66 20 70 |fine num|ber of p|
|00001940| 61 72 65 6e 73 20 66 6f | 72 20 77 68 69 63 68 20 |arens fo|r which |
|00001950| 77 65 20 72 65 63 6f 72 | 64 20 74 68 65 20 62 65 |we recor|d the be|
|00001960| 67 69 6e 6e 69 6e 67 73 | 20 61 6e 64 20 65 6e 64 |ginnings| and end|
|00001970| 73 2e 0a 58 20 20 20 54 | 68 69 73 20 61 66 66 65 |s..X T|his affe|
|00001980| 63 74 73 20 68 6f 77 20 | 6d 75 63 68 20 73 70 61 |cts how |much spa|
|00001990| 63 65 20 74 68 65 20 60 | 73 74 72 75 63 74 20 72 |ce the `|struct r|
|000019a0| 65 5f 72 65 67 69 73 74 | 65 72 73 27 20 74 79 70 |e_regist|ers' typ|
|000019b0| 65 20 74 61 6b 65 73 20 | 75 70 2e 20 20 2a 2f 0a |e takes |up. */.|
|000019c0| 58 23 69 66 6e 64 65 66 | 20 52 45 5f 4e 52 45 47 |X#ifndef| RE_NREG|
|000019d0| 53 0a 58 23 64 65 66 69 | 6e 65 20 52 45 5f 4e 52 |S.X#defi|ne RE_NR|
|000019e0| 45 47 53 20 31 30 0a 58 | 23 65 6e 64 69 66 0a 58 |EGS 10.X|#endif.X|
|000019f0| 0a 58 2f 2a 20 54 68 65 | 73 65 20 62 69 74 73 20 |.X/* The|se bits |
|00001a00| 61 72 65 20 75 73 65 64 | 20 69 6e 20 74 68 65 20 |are used| in the |
|00001a10| 6f 62 73 63 75 72 65 5f | 73 79 6e 74 61 78 20 76 |obscure_|syntax v|
|00001a20| 61 72 69 61 62 6c 65 20 | 74 6f 20 63 68 6f 6f 73 |ariable |to choos|
|00001a30| 65 20 61 6d 6f 6e 67 0a | 58 20 20 20 61 6c 74 65 |e among.|X alte|
|00001a40| 72 6e 61 74 69 76 65 20 | 72 65 67 65 78 70 20 73 |rnative |regexp s|
|00001a50| 79 6e 74 61 78 65 73 2e | 20 20 2a 2f 0a 58 0a 58 |yntaxes.| */.X.X|
|00001a60| 2f 2a 20 31 20 6d 65 61 | 6e 73 20 70 6c 61 69 6e |/* 1 mea|ns plain|
|00001a70| 20 70 61 72 65 6e 74 68 | 65 73 65 73 20 73 65 72 | parenth|eses ser|
|00001a80| 76 65 20 61 73 20 67 72 | 6f 75 70 69 6e 67 2c 20 |ve as gr|ouping, |
|00001a90| 61 6e 64 20 62 61 63 6b | 73 6c 61 73 68 0a 58 20 |and back|slash.X |
|00001aa0| 20 20 20 20 70 61 72 65 | 6e 74 68 65 73 65 73 20 | pare|ntheses |
|00001ab0| 61 72 65 20 6e 65 65 64 | 65 64 20 66 6f 72 20 6c |are need|ed for l|
|00001ac0| 69 74 65 72 61 6c 20 73 | 65 61 72 63 68 69 6e 67 |iteral s|earching|
|00001ad0| 2e 0a 58 20 20 20 30 20 | 6d 65 61 6e 73 20 62 61 |..X 0 |means ba|
|00001ae0| 63 6b 73 6c 61 73 68 2d | 70 61 72 65 6e 74 68 65 |ckslash-|parenthe|
|00001af0| 73 65 73 20 61 72 65 20 | 67 72 6f 75 70 69 6e 67 |ses are |grouping|
|00001b00| 2c 20 61 6e 64 20 70 6c | 61 69 6e 20 70 61 72 65 |, and pl|ain pare|
|00001b10| 6e 74 68 65 73 65 73 0a | 58 20 20 20 20 20 61 72 |ntheses.|X ar|
|00001b20| 65 20 66 6f 72 20 6c 69 | 74 65 72 61 6c 20 73 65 |e for li|teral se|
|00001b30| 61 72 63 68 69 6e 67 2e | 20 20 2a 2f 0a 58 23 64 |arching.| */.X#d|
|00001b40| 65 66 69 6e 65 20 52 45 | 5f 4e 4f 5f 42 4b 5f 50 |efine RE|_NO_BK_P|
|00001b50| 41 52 45 4e 53 20 31 0a | 58 0a 58 2f 2a 20 31 20 |ARENS 1.|X.X/* 1 |
|00001b60| 6d 65 61 6e 73 20 70 6c | 61 69 6e 20 7c 20 73 65 |means pl|ain | se|
|00001b70| 72 76 65 73 20 61 73 20 | 74 68 65 20 22 6f 72 22 |rves as |the "or"|
|00001b80| 2d 6f 70 65 72 61 74 6f | 72 2c 20 61 6e 64 20 5c |-operato|r, and \|
|00001b90| 7c 20 69 73 20 61 20 6c | 69 74 65 72 61 6c 2e 0a || is a l|iteral..|
|00001ba0| 58 20 20 20 30 20 6d 65 | 61 6e 73 20 5c 7c 20 73 |X 0 me|ans \| s|
|00001bb0| 65 72 76 65 73 20 61 73 | 20 74 68 65 20 22 6f 72 |erves as| the "or|
|00001bc0| 22 2d 6f 70 65 72 61 74 | 6f 72 2c 20 61 6e 64 20 |"-operat|or, and |
|00001bd0| 7c 20 69 73 20 61 20 6c | 69 74 65 72 61 6c 2e 20 || is a l|iteral. |
|00001be0| 20 2a 2f 0a 58 23 64 65 | 66 69 6e 65 20 52 45 5f | */.X#de|fine RE_|
|00001bf0| 4e 4f 5f 42 4b 5f 56 42 | 41 52 20 32 0a 58 0a 58 |NO_BK_VB|AR 2.X.X|
|00001c00| 2f 2a 20 30 20 6d 65 61 | 6e 73 20 70 6c 61 69 6e |/* 0 mea|ns plain|
|00001c10| 20 2b 20 6f 72 20 3f 20 | 73 65 72 76 65 73 20 61 | + or ? |serves a|
|00001c20| 73 20 61 6e 20 6f 70 65 | 72 61 74 6f 72 2c 20 61 |s an ope|rator, a|
|00001c30| 6e 64 20 5c 2b 2c 20 5c | 3f 20 61 72 65 20 6c 69 |nd \+, \|? are li|
|00001c40| 74 65 72 61 6c 73 2e 0a | 58 20 20 20 31 20 6d 65 |terals..|X 1 me|
|00001c50| 61 6e 73 20 5c 2b 2c 20 | 5c 3f 20 61 72 65 20 6f |ans \+, |\? are o|
|00001c60| 70 65 72 61 74 6f 72 73 | 20 61 6e 64 20 70 6c 61 |perators| and pla|
|00001c70| 69 6e 20 2b 2c 20 3f 20 | 61 72 65 20 6c 69 74 65 |in +, ? |are lite|
|00001c80| 72 61 6c 73 2e 20 20 2a | 2f 0a 58 23 64 65 66 69 |rals. *|/.X#defi|
|00001c90| 6e 65 20 52 45 5f 42 4b | 5f 50 4c 55 53 5f 51 4d |ne RE_BK|_PLUS_QM|
|00001ca0| 20 34 0a 58 0a 58 2f 2a | 20 31 20 6d 65 61 6e 73 | 4.X.X/*| 1 means|
|00001cb0| 20 7c 20 62 69 6e 64 73 | 20 74 69 67 68 74 65 72 | | binds| tighter|
|00001cc0| 20 74 68 61 6e 20 5e 20 | 6f 72 20 24 2e 0a 58 20 | than ^ |or $..X |
|00001cd0| 20 20 30 20 6d 65 61 6e | 73 20 74 68 65 20 63 6f | 0 mean|s the co|
|00001ce0| 6e 74 72 61 72 79 2e 20 | 20 2a 2f 0a 58 23 64 65 |ntrary. | */.X#de|
|00001cf0| 66 69 6e 65 20 52 45 5f | 54 49 47 48 54 5f 56 42 |fine RE_|TIGHT_VB|
|00001d00| 41 52 20 38 0a 58 0a 58 | 2f 2a 20 31 20 6d 65 61 |AR 8.X.X|/* 1 mea|
|00001d10| 6e 73 20 74 72 65 61 74 | 20 5c 6e 20 61 73 20 61 |ns treat| \n as a|
|00001d20| 6e 20 5f 4f 52 20 6f 70 | 65 72 61 74 6f 72 0a 58 |n _OR op|erator.X|
|00001d30| 20 20 20 30 20 6d 65 61 | 6e 73 20 74 72 65 61 74 | 0 mea|ns treat|
|00001d40| 20 69 74 20 61 73 20 61 | 20 6e 6f 72 6d 61 6c 20 | it as a| normal |
|00001d50| 63 68 61 72 61 63 74 65 | 72 20 2a 2f 0a 58 23 64 |characte|r */.X#d|
|00001d60| 65 66 69 6e 65 20 52 45 | 5f 4e 45 57 4c 49 4e 45 |efine RE|_NEWLINE|
|00001d70| 5f 4f 52 20 31 36 0a 58 | 0a 58 2f 2a 20 30 20 6d |_OR 16.X|.X/* 0 m|
|00001d80| 65 61 6e 73 20 74 68 61 | 74 20 61 20 73 70 65 63 |eans tha|t a spec|
|00001d90| 69 61 6c 20 63 68 61 72 | 61 63 74 65 72 73 20 28 |ial char|acters (|
|00001da0| 73 75 63 68 20 61 73 20 | 2a 2c 20 5e 2c 20 61 6e |such as |*, ^, an|
|00001db0| 64 20 24 29 20 61 6c 77 | 61 79 73 20 68 61 76 65 |d $) alw|ays have|
|00001dc0| 0a 58 20 20 20 20 20 74 | 68 65 69 72 20 73 70 65 |.X t|heir spe|
|00001dd0| 63 69 61 6c 20 6d 65 61 | 6e 69 6e 67 20 72 65 67 |cial mea|ning reg|
|00001de0| 61 72 64 6c 65 73 73 20 | 6f 66 20 74 68 65 20 73 |ardless |of the s|
|00001df0| 75 72 72 6f 75 6e 64 69 | 6e 67 20 63 6f 6e 74 65 |urroundi|ng conte|
|00001e00| 78 74 2e 0a 58 20 20 20 | 31 20 6d 65 61 6e 73 20 |xt..X |1 means |
|00001e10| 74 68 61 74 20 73 70 65 | 63 69 61 6c 20 63 68 61 |that spe|cial cha|
|00001e20| 72 61 63 74 65 72 73 20 | 6d 61 79 20 61 63 74 20 |racters |may act |
|00001e30| 61 73 20 6e 6f 72 6d 61 | 6c 20 63 68 61 72 61 63 |as norma|l charac|
|00001e40| 74 65 72 73 20 69 6e 20 | 73 6f 6d 65 0a 58 20 20 |ters in |some.X |
|00001e50| 20 20 20 63 6f 6e 74 65 | 78 74 73 2e 20 20 53 70 | conte|xts. Sp|
|00001e60| 65 63 69 66 69 63 61 6c | 6c 79 2c 20 74 68 69 73 |ecifical|ly, this|
|00001e70| 20 61 70 70 6c 69 65 73 | 20 74 6f 3a 0a 58 09 5e | applies| to:.X.^|
|00001e80| 20 2d 20 6f 6e 6c 79 20 | 73 70 65 63 69 61 6c 20 | - only |special |
|00001e90| 61 74 20 74 68 65 20 62 | 65 67 69 6e 6e 69 6e 67 |at the b|eginning|
|00001ea0| 2c 20 6f 72 20 61 66 74 | 65 72 20 28 20 6f 72 20 |, or aft|er ( or |
|00001eb0| 7c 0a 58 09 24 20 2d 20 | 6f 6e 6c 79 20 73 70 65 ||.X.$ - |only spe|
|00001ec0| 63 69 61 6c 20 61 74 20 | 74 68 65 20 65 6e 64 2c |cial at |the end,|
|00001ed0| 20 6f 72 20 62 65 66 6f | 72 65 20 29 20 6f 72 20 | or befo|re ) or |
|00001ee0| 7c 0a 58 09 2a 2c 20 2b | 2c 20 3f 20 2d 20 6f 6e ||.X.*, +|, ? - on|
|00001ef0| 6c 79 20 73 70 65 63 69 | 61 6c 20 77 68 65 6e 20 |ly speci|al when |
|00001f00| 6e 6f 74 20 61 66 74 65 | 72 20 74 68 65 20 62 65 |not afte|r the be|
|00001f10| 67 69 6e 6e 69 6e 67 2c | 20 28 2c 20 6f 72 20 7c |ginning,| (, or ||
|00001f20| 20 2a 2f 0a 58 23 64 65 | 66 69 6e 65 20 52 45 5f | */.X#de|fine RE_|
|00001f30| 43 4f 4e 54 45 58 54 5f | 49 4e 44 45 50 5f 4f 50 |CONTEXT_|INDEP_OP|
|00001f40| 53 20 33 32 0a 58 0a 58 | 2f 2a 20 4e 6f 77 20 64 |S 32.X.X|/* Now d|
|00001f50| 65 66 69 6e 65 20 63 6f | 6d 62 69 6e 61 74 69 6f |efine co|mbinatio|
|00001f60| 6e 73 20 6f 66 20 62 69 | 74 73 20 66 6f 72 20 74 |ns of bi|ts for t|
|00001f70| 68 65 20 73 74 61 6e 64 | 61 72 64 20 70 6f 73 73 |he stand|ard poss|
|00001f80| 69 62 69 6c 69 74 69 65 | 73 2e 20 20 2a 2f 0a 58 |ibilitie|s. */.X|
|00001f90| 23 64 65 66 69 6e 65 20 | 52 45 5f 53 59 4e 54 41 |#define |RE_SYNTA|
|00001fa0| 58 5f 41 57 4b 20 28 52 | 45 5f 4e 4f 5f 42 4b 5f |X_AWK (R|E_NO_BK_|
|00001fb0| 50 41 52 45 4e 53 20 7c | 20 52 45 5f 4e 4f 5f 42 |PARENS || RE_NO_B|
|00001fc0| 4b 5f 56 42 41 52 20 7c | 20 52 45 5f 43 4f 4e 54 |K_VBAR || RE_CONT|
|00001fd0| 45 58 54 5f 49 4e 44 45 | 50 5f 4f 50 53 29 0a 58 |EXT_INDE|P_OPS).X|
|00001fe0| 23 64 65 66 69 6e 65 20 | 52 45 5f 53 59 4e 54 41 |#define |RE_SYNTA|
|00001ff0| 58 5f 45 47 52 45 50 20 | 28 52 45 5f 53 59 4e 54 |X_EGREP |(RE_SYNT|
|00002000| 41 58 5f 41 57 4b 20 7c | 20 52 45 5f 4e 45 57 4c |AX_AWK || RE_NEWL|
|00002010| 49 4e 45 5f 4f 52 29 0a | 58 23 64 65 66 69 6e 65 |INE_OR).|X#define|
|00002020| 20 52 45 5f 53 59 4e 54 | 41 58 5f 47 52 45 50 20 | RE_SYNT|AX_GREP |
|00002030| 28 52 45 5f 42 4b 5f 50 | 4c 55 53 5f 51 4d 20 7c |(RE_BK_P|LUS_QM ||
|00002040| 20 52 45 5f 4e 45 57 4c | 49 4e 45 5f 4f 52 29 0a | RE_NEWL|INE_OR).|
|00002050| 58 23 64 65 66 69 6e 65 | 20 52 45 5f 53 59 4e 54 |X#define| RE_SYNT|
|00002060| 41 58 5f 45 4d 41 43 53 | 20 30 0a 58 0a 58 2f 2a |AX_EMACS| 0.X.X/*|
|00002070| 20 54 68 69 73 20 64 61 | 74 61 20 73 74 72 75 63 | This da|ta struc|
|00002080| 74 75 72 65 20 69 73 20 | 75 73 65 64 20 74 6f 20 |ture is |used to |
|00002090| 72 65 70 72 65 73 65 6e | 74 20 61 20 63 6f 6d 70 |represen|t a comp|
|000020a0| 69 6c 65 64 20 70 61 74 | 74 65 72 6e 2e 20 2a 2f |iled pat|tern. */|
|000020b0| 0a 58 0a 58 73 74 72 75 | 63 74 20 72 65 5f 70 61 |.X.Xstru|ct re_pa|
|000020c0| 74 74 65 72 6e 5f 62 75 | 66 66 65 72 0a 58 20 20 |ttern_bu|ffer.X |
|000020d0| 7b 0a 58 20 20 20 20 63 | 68 61 72 20 2a 62 75 66 |{.X c|har *buf|
|000020e0| 66 65 72 3b 09 2f 2a 20 | 53 70 61 63 65 20 68 6f |fer;./* |Space ho|
|000020f0| 6c 64 69 6e 67 20 74 68 | 65 20 63 6f 6d 70 69 6c |lding th|e compil|
|00002100| 65 64 20 70 61 74 74 65 | 72 6e 20 63 6f 6d 6d 61 |ed patte|rn comma|
|00002110| 6e 64 73 2e 20 2a 2f 0a | 58 20 20 20 20 69 6e 74 |nds. */.|X int|
|00002120| 20 61 6c 6c 6f 63 61 74 | 65 64 3b 09 2f 2a 20 53 | allocat|ed;./* S|
|00002130| 69 7a 65 20 6f 66 20 73 | 70 61 63 65 20 74 68 61 |ize of s|pace tha|
|00002140| 74 20 20 62 75 66 66 65 | 72 20 20 70 6f 69 6e 74 |t buffe|r point|
|00002150| 73 20 74 6f 20 2a 2f 0a | 58 20 20 20 20 69 6e 74 |s to */.|X int|
|00002160| 20 75 73 65 64 3b 09 09 | 2f 2a 20 4c 65 6e 67 74 | used;..|/* Lengt|
|00002170| 68 20 6f 66 20 70 6f 72 | 74 69 6f 6e 20 6f 66 20 |h of por|tion of |
|00002180| 62 75 66 66 65 72 20 61 | 63 74 75 61 6c 6c 79 20 |buffer a|ctually |
|00002190| 6f 63 63 75 70 69 65 64 | 20 2a 2f 0a 58 20 20 20 |occupied| */.X |
|000021a0| 20 63 68 61 72 20 2a 66 | 61 73 74 6d 61 70 3b 09 | char *f|astmap;.|
|000021b0| 2f 2a 20 50 6f 69 6e 74 | 65 72 20 74 6f 20 66 61 |/* Point|er to fa|
|000021c0| 73 74 6d 61 70 2c 20 69 | 66 20 61 6e 79 2c 20 6f |stmap, i|f any, o|
|000021d0| 72 20 7a 65 72 6f 20 69 | 66 20 6e 6f 6e 65 2e 20 |r zero i|f none. |
|000021e0| 2a 2f 0a 58 09 09 09 2f | 2a 20 72 65 5f 73 65 61 |*/.X.../|* re_sea|
|000021f0| 72 63 68 20 75 73 65 73 | 20 74 68 65 20 66 61 73 |rch uses| the fas|
|00002200| 74 6d 61 70 2c 20 69 66 | 20 74 68 65 72 65 20 69 |tmap, if| there i|
|00002210| 73 20 6f 6e 65 2c 0a 58 | 09 09 09 20 20 20 74 6f |s one,.X|... to|
|00002220| 20 73 6b 69 70 20 71 75 | 69 63 6b 6c 79 20 6f 76 | skip qu|ickly ov|
|00002230| 65 72 20 74 6f 74 61 6c | 6c 79 20 69 6d 70 6c 61 |er total|ly impla|
|00002240| 75 73 69 62 6c 65 20 63 | 68 61 72 61 63 74 65 72 |usible c|haracter|
|00002250| 73 20 2a 2f 0a 58 20 20 | 20 20 63 68 61 72 20 2a |s */.X | char *|
|00002260| 74 72 61 6e 73 6c 61 74 | 65 3b 09 2f 2a 20 54 72 |translat|e;./* Tr|
|00002270| 61 6e 73 6c 61 74 65 20 | 74 61 62 6c 65 20 74 6f |anslate |table to|
|00002280| 20 61 70 70 6c 79 20 74 | 6f 20 61 6c 6c 20 63 68 | apply t|o all ch|
|00002290| 61 72 61 63 74 65 72 73 | 20 62 65 66 6f 72 65 20 |aracters| before |
|000022a0| 63 6f 6d 70 61 72 69 6e | 67 2e 0a 58 09 09 09 20 |comparin|g..X... |
|000022b0| 20 20 4f 72 20 7a 65 72 | 6f 20 66 6f 72 20 6e 6f | Or zer|o for no|
|000022c0| 20 74 72 61 6e 73 6c 61 | 74 69 6f 6e 2e 0a 58 09 | transla|tion..X.|
|000022d0| 09 09 20 20 20 54 68 65 | 20 74 72 61 6e 73 6c 61 |.. The| transla|
|000022e0| 74 69 6f 6e 20 69 73 20 | 61 70 70 6c 69 65 64 20 |tion is |applied |
|000022f0| 74 6f 20 61 20 70 61 74 | 74 65 72 6e 20 77 68 65 |to a pat|tern whe|
|00002300| 6e 20 69 74 20 69 73 20 | 63 6f 6d 70 69 6c 65 64 |n it is |compiled|
|00002310| 0a 58 09 09 09 20 20 20 | 61 6e 64 20 74 6f 20 64 |.X... |and to d|
|00002320| 61 74 61 20 77 68 65 6e | 20 69 74 20 69 73 20 6d |ata when| it is m|
|00002330| 61 74 63 68 65 64 2e 20 | 2a 2f 0a 58 20 20 20 20 |atched. |*/.X |
|00002340| 63 68 61 72 20 66 61 73 | 74 6d 61 70 5f 61 63 63 |char fas|tmap_acc|
|00002350| 75 72 61 74 65 3b 0a 58 | 09 09 09 2f 2a 20 53 65 |urate;.X|.../* Se|
|00002360| 74 20 74 6f 20 7a 65 72 | 6f 20 77 68 65 6e 20 61 |t to zer|o when a|
|00002370| 20 6e 65 77 20 70 61 74 | 74 65 72 6e 20 69 73 20 | new pat|tern is |
|00002380| 73 74 6f 72 65 64 2c 0a | 58 09 09 09 20 20 20 73 |stored,.|X... s|
|00002390| 65 74 20 74 6f 20 6f 6e | 65 20 77 68 65 6e 20 74 |et to on|e when t|
|000023a0| 68 65 20 66 61 73 74 6d | 61 70 20 69 73 20 75 70 |he fastm|ap is up|
|000023b0| 64 61 74 65 64 20 66 72 | 6f 6d 20 69 74 2e 20 2a |dated fr|om it. *|
|000023c0| 2f 0a 58 20 20 20 20 63 | 68 61 72 20 63 61 6e 5f |/.X c|har can_|
|000023d0| 62 65 5f 6e 75 6c 6c 3b | 20 20 20 2f 2a 20 53 65 |be_null;| /* Se|
|000023e0| 74 20 74 6f 20 6f 6e 65 | 20 62 79 20 63 6f 6d 70 |t to one| by comp|
|000023f0| 69 6c 69 6e 67 20 66 61 | 73 74 6d 61 70 0a 58 09 |iling fa|stmap.X.|
|00002400| 09 09 20 20 20 69 66 20 | 74 68 69 73 20 70 61 74 |.. if |this pat|
|00002410| 74 65 72 6e 20 6d 69 67 | 68 74 20 6d 61 74 63 68 |tern mig|ht match|
|00002420| 20 74 68 65 20 6e 75 6c | 6c 20 73 74 72 69 6e 67 | the nul|l string|
|00002430| 2e 0a 58 09 09 09 20 20 | 20 49 74 20 64 6f 65 73 |..X... | It does|
|00002440| 20 6e 6f 74 20 6e 65 63 | 65 73 73 61 72 69 6c 79 | not nec|essarily|
|00002450| 20 6d 61 74 63 68 20 74 | 68 65 20 6e 75 6c 6c 20 | match t|he null |
|00002460| 73 74 72 69 6e 67 0a 58 | 09 09 09 20 20 20 69 6e |string.X|... in|
|00002470| 20 74 68 61 74 20 63 61 | 73 65 2c 20 62 75 74 20 | that ca|se, but |
|00002480| 69 66 20 74 68 69 73 20 | 69 73 20 7a 65 72 6f 2c |if this |is zero,|
|00002490| 20 69 74 20 63 61 6e 6e | 6f 74 2e 0a 58 09 09 09 | it cann|ot..X...|
|000024a0| 20 20 20 32 20 61 73 20 | 76 61 6c 75 65 20 6d 65 | 2 as |value me|
|000024b0| 61 6e 73 20 63 61 6e 20 | 6d 61 74 63 68 20 6e 75 |ans can |match nu|
|000024c0| 6c 6c 20 73 74 72 69 6e | 67 0a 58 09 09 09 20 20 |ll strin|g.X... |
|000024d0| 20 62 75 74 20 61 74 20 | 65 6e 64 20 6f 66 20 72 | but at |end of r|
|000024e0| 61 6e 67 65 20 6f 72 20 | 62 65 66 6f 72 65 20 61 |ange or |before a|
|000024f0| 20 63 68 61 72 61 63 74 | 65 72 0a 58 09 09 09 20 | charact|er.X... |
|00002500| 20 20 6c 69 73 74 65 64 | 20 69 6e 20 74 68 65 20 | listed| in the |
|00002510| 66 61 73 74 6d 61 70 2e | 20 20 2a 2f 0a 58 20 20 |fastmap.| */.X |
|00002520| 7d 3b 0a 58 0a 58 2f 2a | 20 53 74 72 75 63 74 75 |};.X.X/*| Structu|
|00002530| 72 65 20 74 6f 20 73 74 | 6f 72 65 20 22 72 65 67 |re to st|ore "reg|
|00002540| 69 73 74 65 72 22 20 63 | 6f 6e 74 65 6e 74 73 20 |ister" c|ontents |
|00002550| 64 61 74 61 20 69 6e 2e | 0a 58 0a 58 20 20 20 50 |data in.|.X.X P|
|00002560| 61 73 73 20 74 68 65 20 | 61 64 64 72 65 73 73 20 |ass the |address |
|00002570| 6f 66 20 73 75 63 68 20 | 61 20 73 74 72 75 63 74 |of such |a struct|
|00002580| 75 72 65 20 61 73 20 61 | 6e 20 61 72 67 75 6d 65 |ure as a|n argume|
|00002590| 6e 74 20 74 6f 20 72 65 | 5f 6d 61 74 63 68 2c 20 |nt to re|_match, |
|000025a0| 65 74 63 2e 2c 0a 58 20 | 20 20 69 66 20 79 6f 75 |etc.,.X | if you|
|000025b0| 20 77 61 6e 74 20 74 68 | 69 73 20 69 6e 66 6f 72 | want th|is infor|
|000025c0| 6d 61 74 69 6f 6e 20 62 | 61 63 6b 2e 0a 58 0a 58 |mation b|ack..X.X|
|000025d0| 20 20 20 73 74 61 72 74 | 5b 69 5d 20 61 6e 64 20 | start|[i] and |
|000025e0| 65 6e 64 5b 69 5d 20 72 | 65 63 6f 72 64 20 74 68 |end[i] r|ecord th|
|000025f0| 65 20 73 74 72 69 6e 67 | 20 6d 61 74 63 68 65 64 |e string| matched|
|00002600| 20 62 79 20 5c 28 20 2e | 2e 2e 20 5c 29 20 67 72 | by \( .|.. \) gr|
|00002610| 6f 75 70 69 6e 67 20 69 | 2c 0a 58 20 20 20 66 6f |ouping i|,.X fo|
|00002620| 72 20 69 20 66 72 6f 6d | 20 31 20 74 6f 20 52 45 |r i from| 1 to RE|
|00002630| 5f 4e 52 45 47 53 20 2d | 20 31 2e 0a 58 20 20 20 |_NREGS -| 1..X |
|00002640| 73 74 61 72 74 5b 30 5d | 20 61 6e 64 20 65 6e 64 |start[0]| and end|
|00002650| 5b 30 5d 20 72 65 63 6f | 72 64 20 74 68 65 20 65 |[0] reco|rd the e|
|00002660| 6e 74 69 72 65 20 73 74 | 72 69 6e 67 20 6d 61 74 |ntire st|ring mat|
|00002670| 63 68 65 64 2e 20 2a 2f | 0a 58 0a 58 73 74 72 75 |ched. */|.X.Xstru|
|00002680| 63 74 20 72 65 5f 72 65 | 67 69 73 74 65 72 73 0a |ct re_re|gisters.|
|00002690| 58 20 20 7b 0a 58 20 20 | 20 20 69 6e 74 20 73 74 |X {.X | int st|
|000026a0| 61 72 74 5b 52 45 5f 4e | 52 45 47 53 5d 3b 0a 58 |art[RE_N|REGS];.X|
|000026b0| 20 20 20 20 69 6e 74 20 | 65 6e 64 5b 52 45 5f 4e | int |end[RE_N|
|000026c0| 52 45 47 53 5d 3b 0a 58 | 20 20 7d 3b 0a 58 0a 58 |REGS];.X| };.X.X|
|000026d0| 2f 2a 20 54 68 65 73 65 | 20 61 72 65 20 74 68 65 |/* These| are the|
|000026e0| 20 63 6f 6d 6d 61 6e 64 | 20 63 6f 64 65 73 20 74 | command| codes t|
|000026f0| 68 61 74 20 61 70 70 65 | 61 72 20 69 6e 20 63 6f |hat appe|ar in co|
|00002700| 6d 70 69 6c 65 64 20 72 | 65 67 75 6c 61 72 20 65 |mpiled r|egular e|
|00002710| 78 70 72 65 73 73 69 6f | 6e 73 2c 20 6f 6e 65 20 |xpressio|ns, one |
|00002720| 70 65 72 20 62 79 74 65 | 2e 0a 58 20 20 53 6f 6d |per byte|..X Som|
|00002730| 65 20 63 6f 6d 6d 61 6e | 64 20 63 6f 64 65 73 20 |e comman|d codes |
|00002740| 61 72 65 20 66 6f 6c 6c | 6f 77 65 64 20 62 79 20 |are foll|owed by |
|00002750| 61 72 67 75 6d 65 6e 74 | 20 62 79 74 65 73 2e 0a |argument| bytes..|
|00002760| 58 20 20 41 20 63 6f 6d | 6d 61 6e 64 20 63 6f 64 |X A com|mand cod|
|00002770| 65 20 63 61 6e 20 73 70 | 65 63 69 66 79 20 61 6e |e can sp|ecify an|
|00002780| 79 20 69 6e 74 65 72 70 | 72 65 74 61 74 69 6f 6e |y interp|retation|
|00002790| 20 77 68 61 74 65 76 65 | 72 20 66 6f 72 20 69 74 | whateve|r for it|
|000027a0| 73 20 61 72 67 75 6d 65 | 6e 74 73 2e 0a 58 20 20 |s argume|nts..X |
|000027b0| 5a 65 72 6f 2d 62 79 74 | 65 73 20 6d 61 79 20 61 |Zero-byt|es may a|
|000027c0| 70 70 65 61 72 20 69 6e | 20 74 68 65 20 63 6f 6d |ppear in| the com|
|000027d0| 70 69 6c 65 64 20 72 65 | 67 75 6c 61 72 20 65 78 |piled re|gular ex|
|000027e0| 70 72 65 73 73 69 6f 6e | 2e 20 2a 2f 0a 58 0a 58 |pression|. */.X.X|
|000027f0| 65 6e 75 6d 20 72 65 67 | 65 78 70 63 6f 64 65 0a |enum reg|expcode.|
|00002800| 58 20 20 7b 0a 58 20 20 | 20 20 75 6e 75 73 65 64 |X {.X | unused|
|00002810| 2c 0a 58 20 20 20 20 65 | 78 61 63 74 6e 2c 20 20 |,.X e|xactn, |
|00002820| 20 20 2f 2a 20 66 6f 6c | 6c 6f 77 65 64 20 62 79 | /* fol|lowed by|
|00002830| 20 6f 6e 65 20 62 79 74 | 65 20 67 69 76 69 6e 67 | one byt|e giving|
|00002840| 20 6e 2c 20 61 6e 64 20 | 74 68 65 6e 20 62 79 20 | n, and |then by |
|00002850| 6e 20 6c 69 74 65 72 61 | 6c 20 62 79 74 65 73 20 |n litera|l bytes |
|00002860| 2a 2f 0a 58 20 20 20 20 | 62 65 67 6c 69 6e 65 2c |*/.X |begline,|
|00002870| 20 20 20 2f 2a 20 66 61 | 69 6c 73 20 75 6e 6c 65 | /* fa|ils unle|
|00002880| 73 73 20 61 74 20 62 65 | 67 69 6e 6e 69 6e 67 20 |ss at be|ginning |
|00002890| 6f 66 20 6c 69 6e 65 20 | 2a 2f 0a 58 20 20 20 20 |of line |*/.X |
|000028a0| 65 6e 64 6c 69 6e 65 2c | 20 20 20 2f 2a 20 66 61 |endline,| /* fa|
|000028b0| 69 6c 73 20 75 6e 6c 65 | 73 73 20 61 74 20 65 6e |ils unle|ss at en|
|000028c0| 64 20 6f 66 20 6c 69 6e | 65 20 2a 2f 0a 58 20 20 |d of lin|e */.X |
|000028d0| 20 20 6a 75 6d 70 2c 09 | 20 2f 2a 20 66 6f 6c 6c | jump,.| /* foll|
|000028e0| 6f 77 65 64 20 62 79 20 | 74 77 6f 20 62 79 74 65 |owed by |two byte|
|000028f0| 73 20 67 69 76 69 6e 67 | 20 72 65 6c 61 74 69 76 |s giving| relativ|
|00002900| 65 20 61 64 64 72 65 73 | 73 20 74 6f 20 6a 75 6d |e addres|s to jum|
|00002910| 70 20 74 6f 20 2a 2f 0a | 58 20 20 20 20 6f 6e 5f |p to */.|X on_|
|00002920| 66 61 69 6c 75 72 65 5f | 6a 75 6d 70 2c 09 20 2f |failure_|jump,. /|
|00002930| 2a 20 66 6f 6c 6c 6f 77 | 65 64 20 62 79 20 74 77 |* follow|ed by tw|
|00002940| 6f 20 62 79 74 65 73 20 | 67 69 76 69 6e 67 20 72 |o bytes |giving r|
|00002950| 65 6c 61 74 69 76 65 20 | 61 64 64 72 65 73 73 20 |elative |address |
|00002960| 6f 66 20 70 6c 61 63 65 | 0a 58 09 09 20 20 20 20 |of place|.X.. |
|00002970| 20 20 20 20 20 20 20 20 | 74 6f 20 72 65 73 75 6d | |to resum|
|00002980| 65 20 61 74 20 69 6e 20 | 63 61 73 65 20 6f 66 20 |e at in |case of |
|00002990| 66 61 69 6c 75 72 65 2e | 20 2a 2f 0a 58 20 20 20 |failure.| */.X |
|000029a0| 20 66 69 6e 61 6c 69 7a | 65 5f 6a 75 6d 70 2c 09 | finaliz|e_jump,.|
|000029b0| 20 2f 2a 20 54 68 72 6f | 77 20 61 77 61 79 20 6c | /* Thro|w away l|
|000029c0| 61 74 65 73 74 20 66 61 | 69 6c 75 72 65 20 70 6f |atest fa|ilure po|
|000029d0| 69 6e 74 20 61 6e 64 20 | 74 68 65 6e 20 6a 75 6d |int and |then jum|
|000029e0| 70 20 74 6f 20 61 64 64 | 72 65 73 73 2e 20 2a 2f |p to add|ress. */|
|000029f0| 0a 58 20 20 20 20 6d 61 | 79 62 65 5f 66 69 6e 61 |.X ma|ybe_fina|
|00002a00| 6c 69 7a 65 5f 6a 75 6d | 70 2c 20 2f 2a 20 4c 69 |lize_jum|p, /* Li|
|00002a10| 6b 65 20 6a 75 6d 70 20 | 62 75 74 20 66 69 6e 61 |ke jump |but fina|
|00002a20| 6c 69 7a 65 20 69 66 20 | 73 61 66 65 20 74 6f 20 |lize if |safe to |
|00002a30| 64 6f 20 73 6f 2e 0a 58 | 09 09 09 20 20 20 20 54 |do so..X|... T|
|00002a40| 68 69 73 20 69 73 20 75 | 73 65 64 20 74 6f 20 6a |his is u|sed to j|
|00002a50| 75 6d 70 20 62 61 63 6b | 20 74 6f 20 74 68 65 20 |ump back| to the |
|00002a60| 62 65 67 69 6e 6e 69 6e | 67 0a 58 09 09 09 20 20 |beginnin|g.X... |
|00002a70| 20 20 6f 66 20 61 20 72 | 65 70 65 61 74 2e 20 20 | of a r|epeat. |
|00002a80| 49 66 20 74 68 65 20 63 | 6f 6d 6d 61 6e 64 20 74 |If the c|ommand t|
|00002a90| 68 61 74 20 66 6f 6c 6c | 6f 77 73 0a 58 09 09 09 |hat foll|ows.X...|
|00002aa0| 20 20 20 20 74 68 69 73 | 20 6a 75 6d 70 20 69 73 | this| jump is|
|00002ab0| 20 63 6c 65 61 72 6c 79 | 20 69 6e 63 6f 6d 70 61 | clearly| incompa|
|00002ac0| 74 69 62 6c 65 20 77 69 | 74 68 20 74 68 65 0a 58 |tible wi|th the.X|
|00002ad0| 09 09 09 20 20 20 20 6f | 6e 65 20 61 74 20 74 68 |... o|ne at th|
|00002ae0| 65 20 62 65 67 69 6e 6e | 69 6e 67 20 6f 66 20 74 |e beginn|ing of t|
|00002af0| 68 65 20 72 65 70 65 61 | 74 2c 20 73 75 63 68 20 |he repea|t, such |
|00002b00| 74 68 61 74 0a 58 09 09 | 09 20 20 20 20 77 65 20 |that.X..|. we |
|00002b10| 63 61 6e 20 62 65 20 73 | 75 72 65 20 74 68 61 74 |can be s|ure that|
|00002b20| 20 74 68 65 72 65 20 69 | 73 20 6e 6f 20 75 73 65 | there i|s no use|
|00002b30| 20 62 61 63 6b 74 72 61 | 63 6b 69 6e 67 0a 58 09 | backtra|cking.X.|
|00002b40| 09 09 20 20 20 20 6f 75 | 74 20 6f 66 20 72 65 70 |.. ou|t of rep|
|00002b50| 65 74 69 74 69 6f 6e 73 | 20 61 6c 72 65 61 64 79 |etitions| already|
|00002b60| 20 63 6f 6d 70 6c 65 74 | 65 64 2c 0a 58 09 09 09 | complet|ed,.X...|
|00002b70| 20 20 20 20 74 68 65 6e | 20 77 65 20 66 69 6e 61 | then| we fina|
|00002b80| 6c 69 7a 65 2e 20 2a 2f | 0a 58 20 20 20 20 64 75 |lize. */|.X du|
|00002b90| 6d 6d 79 5f 66 61 69 6c | 75 72 65 5f 6a 75 6d 70 |mmy_fail|ure_jump|
|00002ba0| 2c 20 20 2f 2a 20 6a 75 | 6d 70 2c 20 61 6e 64 20 |, /* ju|mp, and |
|00002bb0| 70 75 73 68 20 61 20 64 | 75 6d 6d 79 20 66 61 69 |push a d|ummy fai|
|00002bc0| 6c 75 72 65 20 70 6f 69 | 6e 74 2e 0a 58 09 09 09 |lure poi|nt..X...|
|00002bd0| 20 20 20 20 54 68 69 73 | 20 66 61 69 6c 75 72 65 | This| failure|
|00002be0| 20 70 6f 69 6e 74 20 77 | 69 6c 6c 20 62 65 20 74 | point w|ill be t|
|00002bf0| 68 72 6f 77 6e 20 61 77 | 61 79 0a 58 09 09 09 20 |hrown aw|ay.X... |
|00002c00| 20 20 20 69 66 20 61 6e | 20 61 74 74 65 6d 70 74 | if an| attempt|
|00002c10| 20 69 73 20 6d 61 64 65 | 20 74 6f 20 75 73 65 20 | is made| to use |
|00002c20| 69 74 20 66 6f 72 20 61 | 20 66 61 69 6c 75 72 65 |it for a| failure|
|00002c30| 2e 0a 58 09 09 09 20 20 | 20 20 41 20 2b 20 63 6f |..X... | A + co|
|00002c40| 6e 73 74 72 75 63 74 20 | 6d 61 6b 65 73 20 74 68 |nstruct |makes th|
|00002c50| 69 73 20 62 65 66 6f 72 | 65 20 74 68 65 20 66 69 |is befor|e the fi|
|00002c60| 72 73 74 20 72 65 70 65 | 61 74 2e 20 20 2a 2f 0a |rst repe|at. */.|
|00002c70| 58 20 20 20 20 61 6e 79 | 63 68 61 72 2c 09 20 2f |X any|char,. /|
|00002c80| 2a 20 6d 61 74 63 68 65 | 73 20 61 6e 79 20 6f 6e |* matche|s any on|
|00002c90| 65 20 63 68 61 72 61 63 | 74 65 72 20 2a 2f 0a 58 |e charac|ter */.X|
|00002ca0| 20 20 20 20 63 68 61 72 | 73 65 74 2c 20 20 20 20 | char|set, |
|00002cb0| 20 2f 2a 20 6d 61 74 63 | 68 65 73 20 61 6e 79 20 | /* matc|hes any |
|00002cc0| 6f 6e 65 20 63 68 61 72 | 20 62 65 6c 6f 6e 67 69 |one char| belongi|
|00002cd0| 6e 67 20 74 6f 20 73 70 | 65 63 69 66 69 65 64 20 |ng to sp|ecified |
|00002ce0| 73 65 74 2e 0a 58 09 09 | 20 20 20 20 46 69 72 73 |set..X..| Firs|
|00002cf0| 74 20 66 6f 6c 6c 6f 77 | 69 6e 67 20 62 79 74 65 |t follow|ing byte|
|00002d00| 20 69 73 20 23 20 62 69 | 74 6d 61 70 20 62 79 74 | is # bi|tmap byt|
|00002d10| 65 73 2e 0a 58 09 09 20 | 20 20 20 54 68 65 6e 20 |es..X.. | Then |
|00002d20| 63 6f 6d 65 20 62 79 74 | 65 73 20 66 6f 72 20 61 |come byt|es for a|
|00002d30| 20 62 69 74 2d 6d 61 70 | 20 73 61 79 69 6e 67 20 | bit-map| saying |
|00002d40| 77 68 69 63 68 20 63 68 | 61 72 73 20 61 72 65 20 |which ch|ars are |
|00002d50| 69 6e 2e 0a 58 09 09 20 | 20 20 20 42 69 74 73 20 |in..X.. | Bits |
|00002d60| 69 6e 20 65 61 63 68 20 | 62 79 74 65 20 61 72 65 |in each |byte are|
|00002d70| 20 6f 72 64 65 72 65 64 | 20 6c 6f 77 2d 62 69 74 | ordered| low-bit|
|00002d80| 2d 66 69 72 73 74 2e 0a | 58 09 09 20 20 20 20 41 |-first..|X.. A|
|00002d90| 20 63 68 61 72 61 63 74 | 65 72 20 69 73 20 69 6e | charact|er is in|
|00002da0| 20 74 68 65 20 73 65 74 | 20 69 66 20 69 74 73 20 | the set| if its |
|00002db0| 62 69 74 20 69 73 20 31 | 2e 0a 58 09 09 20 20 20 |bit is 1|..X.. |
|00002dc0| 20 41 20 63 68 61 72 61 | 63 74 65 72 20 74 6f 6f | A chara|cter too|
|00002dd0| 20 6c 61 72 67 65 20 74 | 6f 20 68 61 76 65 20 61 | large t|o have a|
|00002de0| 20 62 69 74 20 69 6e 20 | 74 68 65 20 6d 61 70 0a | bit in |the map.|
|00002df0| 58 09 09 20 20 20 20 69 | 73 20 61 75 74 6f 6d 61 |X.. i|s automa|
|00002e00| 74 69 63 61 6c 6c 79 20 | 6e 6f 74 20 69 6e 20 74 |tically |not in t|
|00002e10| 68 65 20 73 65 74 20 2a | 2f 0a 58 20 20 20 20 63 |he set *|/.X c|
|00002e20| 68 61 72 73 65 74 5f 6e | 6f 74 2c 20 2f 2a 20 73 |harset_n|ot, /* s|
|00002e30| 69 6d 69 6c 61 72 20 62 | 75 74 20 6d 61 74 63 68 |imilar b|ut match|
|00002e40| 20 61 6e 79 20 63 68 61 | 72 61 63 74 65 72 20 74 | any cha|racter t|
|00002e50| 68 61 74 20 69 73 20 4e | 4f 54 20 6f 6e 65 20 6f |hat is N|OT one o|
|00002e60| 66 20 74 68 6f 73 65 20 | 73 70 65 63 69 66 69 65 |f those |specifie|
|00002e70| 64 20 2a 2f 0a 58 20 20 | 20 20 73 74 61 72 74 5f |d */.X | start_|
|00002e80| 6d 65 6d 6f 72 79 2c 20 | 2f 2a 20 73 74 61 72 74 |memory, |/* start|
|00002e90| 73 20 72 65 6d 65 6d 62 | 65 72 69 6e 67 20 74 68 |s rememb|ering th|
|00002ea0| 65 20 74 65 78 74 20 74 | 68 61 74 20 69 73 20 6d |e text t|hat is m|
|00002eb0| 61 74 63 68 65 64 0a 58 | 09 09 20 20 20 20 61 6e |atched.X|.. an|
|00002ec0| 64 20 73 74 6f 72 65 73 | 20 69 74 20 69 6e 20 61 |d stores| it in a|
|00002ed0| 20 6d 65 6d 6f 72 79 20 | 72 65 67 69 73 74 65 72 | memory |register|
|00002ee0| 2e 0a 58 09 09 20 20 20 | 20 66 6f 6c 6c 6f 77 65 |..X.. | followe|
|00002ef0| 64 20 62 79 20 6f 6e 65 | 20 62 79 74 65 20 63 6f |d by one| byte co|
|00002f00| 6e 74 61 69 6e 69 6e 67 | 20 74 68 65 20 72 65 67 |ntaining| the reg|
|00002f10| 69 73 74 65 72 20 6e 75 | 6d 62 65 72 2e 0a 58 09 |ister nu|mber..X.|
|00002f20| 09 20 20 20 20 52 65 67 | 69 73 74 65 72 20 6e 75 |. Reg|ister nu|
|00002f30| 6d 62 65 72 73 20 6d 75 | 73 74 20 62 65 20 69 6e |mbers mu|st be in|
|00002f40| 20 74 68 65 20 72 61 6e | 67 65 20 30 20 74 68 72 | the ran|ge 0 thr|
|00002f50| 6f 75 67 68 20 4e 52 45 | 47 53 2e 20 2a 2f 0a 58 |ough NRE|GS. */.X|
|00002f60| 20 20 20 20 73 74 6f 70 | 5f 6d 65 6d 6f 72 79 2c | stop|_memory,|
|00002f70| 20 2f 2a 20 73 74 6f 70 | 73 20 72 65 6d 65 6d 62 | /* stop|s rememb|
|00002f80| 65 72 69 6e 67 20 74 68 | 65 20 74 65 78 74 20 74 |ering th|e text t|
|00002f90| 68 61 74 20 69 73 20 6d | 61 74 63 68 65 64 0a 58 |hat is m|atched.X|
|00002fa0| 09 09 20 20 20 20 61 6e | 64 20 73 74 6f 72 65 73 |.. an|d stores|
|00002fb0| 20 69 74 20 69 6e 20 61 | 20 6d 65 6d 6f 72 79 20 | it in a| memory |
|00002fc0| 72 65 67 69 73 74 65 72 | 2e 0a 58 09 09 20 20 20 |register|..X.. |
|00002fd0| 20 66 6f 6c 6c 6f 77 65 | 64 20 62 79 20 6f 6e 65 | followe|d by one|
|00002fe0| 20 62 79 74 65 20 63 6f | 6e 74 61 69 6e 69 6e 67 | byte co|ntaining|
|00002ff0| 20 74 68 65 20 72 65 67 | 69 73 74 65 72 20 6e 75 | the reg|ister nu|
|00003000| 6d 62 65 72 2e 0a 58 09 | 09 20 20 20 20 52 65 67 |mber..X.|. Reg|
|00003010| 69 73 74 65 72 20 6e 75 | 6d 62 65 72 73 20 6d 75 |ister nu|mbers mu|
|00003020| 73 74 20 62 65 20 69 6e | 20 74 68 65 20 72 61 6e |st be in| the ran|
|00003030| 67 65 20 30 20 74 68 72 | 6f 75 67 68 20 4e 52 45 |ge 0 thr|ough NRE|
|00003040| 47 53 2e 20 2a 2f 0a 58 | 20 20 20 20 64 75 70 6c |GS. */.X| dupl|
|00003050| 69 63 61 74 65 2c 20 20 | 20 20 2f 2a 20 6d 61 74 |icate, | /* mat|
|00003060| 63 68 20 61 20 64 75 70 | 6c 69 63 61 74 65 20 6f |ch a dup|licate o|
|00003070| 66 20 73 6f 6d 65 74 68 | 69 6e 67 20 72 65 6d 65 |f someth|ing reme|
|00003080| 6d 62 65 72 65 64 2e 0a | 58 09 09 20 20 20 20 46 |mbered..|X.. F|
|00003090| 6f 6c 6c 6f 77 65 64 20 | 62 79 20 6f 6e 65 20 62 |ollowed |by one b|
|000030a0| 79 74 65 20 63 6f 6e 74 | 61 69 6e 69 6e 67 20 74 |yte cont|aining t|
|000030b0| 68 65 20 69 6e 64 65 78 | 20 6f 66 20 74 68 65 20 |he index| of the |
|000030c0| 6d 65 6d 6f 72 79 20 72 | 65 67 69 73 74 65 72 2e |memory r|egister.|
|000030d0| 20 2a 2f 0a 58 20 20 20 | 20 62 65 66 6f 72 65 5f | */.X | before_|
|000030e0| 64 6f 74 2c 09 20 2f 2a | 20 53 75 63 63 65 65 64 |dot,. /*| Succeed|
|000030f0| 73 20 69 66 20 62 65 66 | 6f 72 65 20 64 6f 74 20 |s if bef|ore dot |
|00003100| 2a 2f 0a 58 20 20 20 20 | 61 74 5f 64 6f 74 2c 09 |*/.X |at_dot,.|
|00003110| 20 2f 2a 20 53 75 63 63 | 65 65 64 73 20 69 66 20 | /* Succ|eeds if |
|00003120| 61 74 20 64 6f 74 20 2a | 2f 0a 58 20 20 20 20 61 |at dot *|/.X a|
|00003130| 66 74 65 72 5f 64 6f 74 | 2c 09 20 2f 2a 20 53 75 |fter_dot|,. /* Su|
|00003140| 63 63 65 65 64 73 20 69 | 66 20 61 66 74 65 72 20 |cceeds i|f after |
|00003150| 64 6f 74 20 2a 2f 0a 58 | 20 20 20 20 62 65 67 62 |dot */.X| begb|
|00003160| 75 66 2c 20 20 20 20 20 | 20 2f 2a 20 53 75 63 63 |uf, | /* Succ|
|00003170| 65 65 64 73 20 69 66 20 | 61 74 20 62 65 67 69 6e |eeds if |at begin|
|00003180| 6e 69 6e 67 20 6f 66 20 | 62 75 66 66 65 72 20 2a |ning of |buffer *|
|00003190| 2f 0a 58 20 20 20 20 65 | 6e 64 62 75 66 2c 20 20 |/.X e|ndbuf, |
|000031a0| 20 20 20 20 2f 2a 20 53 | 75 63 63 65 65 64 73 20 | /* S|ucceeds |
|000031b0| 69 66 20 61 74 20 65 6e | 64 20 6f 66 20 62 75 66 |if at en|d of buf|
|000031c0| 66 65 72 20 2a 2f 0a 58 | 20 20 20 20 77 6f 72 64 |fer */.X| word|
|000031d0| 63 68 61 72 2c 20 20 20 | 20 2f 2a 20 4d 61 74 63 |char, | /* Matc|
|000031e0| 68 65 73 20 61 6e 79 20 | 77 6f 72 64 2d 63 6f 6e |hes any |word-con|
|000031f0| 73 74 69 74 75 65 6e 74 | 20 63 68 61 72 61 63 74 |stituent| charact|
|00003200| 65 72 20 2a 2f 0a 58 20 | 20 20 20 6e 6f 74 77 6f |er */.X | notwo|
|00003210| 72 64 63 68 61 72 2c 20 | 2f 2a 20 4d 61 74 63 68 |rdchar, |/* Match|
|00003220| 65 73 20 61 6e 79 20 63 | 68 61 72 20 74 68 61 74 |es any c|har that|
|00003230| 20 69 73 20 6e 6f 74 20 | 61 20 77 6f 72 64 2d 63 | is not |a word-c|
|00003240| 6f 6e 73 74 69 74 75 65 | 6e 74 20 2a 2f 0a 58 20 |onstitue|nt */.X |
|00003250| 20 20 20 77 6f 72 64 62 | 65 67 2c 09 20 2f 2a 20 | wordb|eg,. /* |
|00003260| 53 75 63 63 65 65 64 73 | 20 69 66 20 61 74 20 77 |Succeeds| if at w|
|00003270| 6f 72 64 20 62 65 67 69 | 6e 6e 69 6e 67 20 2a 2f |ord begi|nning */|
|00003280| 0a 58 20 20 20 20 77 6f | 72 64 65 6e 64 2c 09 20 |.X wo|rdend,. |
|00003290| 2f 2a 20 53 75 63 63 65 | 65 64 73 20 69 66 20 61 |/* Succe|eds if a|
|000032a0| 74 20 77 6f 72 64 20 65 | 6e 64 20 2a 2f 0a 58 20 |t word e|nd */.X |
|000032b0| 20 20 20 77 6f 72 64 62 | 6f 75 6e 64 2c 20 20 20 | wordb|ound, |
|000032c0| 2f 2a 20 53 75 63 63 65 | 65 64 73 20 69 66 20 61 |/* Succe|eds if a|
|000032d0| 74 20 61 20 77 6f 72 64 | 20 62 6f 75 6e 64 61 72 |t a word| boundar|
|000032e0| 79 20 2a 2f 0a 58 20 20 | 20 20 6e 6f 74 77 6f 72 |y */.X | notwor|
|000032f0| 64 62 6f 75 6e 64 2c 20 | 2f 2a 20 53 75 63 63 65 |dbound, |/* Succe|
|00003300| 65 64 73 20 69 66 20 6e | 6f 74 20 61 74 20 61 20 |eds if n|ot at a |
|00003310| 77 6f 72 64 20 62 6f 75 | 6e 64 61 72 79 20 2a 2f |word bou|ndary */|
|00003320| 0a 58 20 20 20 20 73 79 | 6e 74 61 78 73 70 65 63 |.X sy|ntaxspec|
|00003330| 2c 20 20 2f 2a 20 4d 61 | 74 63 68 65 73 20 61 6e |, /* Ma|tches an|
|00003340| 79 20 63 68 61 72 61 63 | 74 65 72 20 77 68 6f 73 |y charac|ter whos|
|00003350| 65 20 73 79 6e 74 61 78 | 20 69 73 20 73 70 65 63 |e syntax| is spec|
|00003360| 69 66 69 65 64 2e 0a 58 | 09 09 20 20 20 20 66 6f |ified..X|.. fo|
|00003370| 6c 6c 6f 77 65 64 20 62 | 79 20 61 20 62 79 74 65 |llowed b|y a byte|
|00003380| 20 77 68 69 63 68 20 63 | 6f 6e 74 61 69 6e 73 20 | which c|ontains |
|00003390| 61 20 73 79 6e 74 61 78 | 20 63 6f 64 65 2c 20 53 |a syntax| code, S|
|000033a0| 77 6f 72 64 20 6f 72 20 | 73 75 63 68 20 6c 69 6b |word or |such lik|
|000033b0| 65 20 2a 2f 0a 58 20 20 | 20 20 6e 6f 74 73 79 6e |e */.X | notsyn|
|000033c0| 74 61 78 73 70 65 63 20 | 2f 2a 20 4d 61 74 63 68 |taxspec |/* Match|
|000033d0| 65 73 20 61 6e 79 20 63 | 68 61 72 61 63 74 65 72 |es any c|haracter|
|000033e0| 20 77 68 6f 73 65 20 73 | 79 6e 74 61 78 20 64 69 | whose s|yntax di|
|000033f0| 66 66 65 72 73 20 66 72 | 6f 6d 20 74 68 65 20 73 |ffers fr|om the s|
|00003400| 70 65 63 69 66 69 65 64 | 2e 20 2a 2f 0a 58 20 20 |pecified|. */.X |
|00003410| 7d 3b 0a 58 0c 0a 58 65 | 78 74 65 72 6e 20 63 68 |};.X..Xe|xtern ch|
|00003420| 61 72 20 2a 72 65 5f 63 | 6f 6d 70 69 6c 65 5f 70 |ar *re_c|ompile_p|
|00003430| 61 74 74 65 72 6e 20 28 | 29 3b 0a 58 2f 2a 20 49 |attern (|);.X/* I|
|00003440| 73 20 74 68 69 73 20 72 | 65 61 6c 6c 79 20 61 64 |s this r|eally ad|
|00003450| 76 65 72 74 69 73 65 64 | 3f 20 2a 2f 0a 58 65 78 |vertised|? */.Xex|
|00003460| 74 65 72 6e 20 76 6f 69 | 64 20 72 65 5f 63 6f 6d |tern voi|d re_com|
|00003470| 70 69 6c 65 5f 66 61 73 | 74 6d 61 70 20 28 29 3b |pile_fas|tmap ();|
|00003480| 0a 58 65 78 74 65 72 6e | 20 69 6e 74 20 72 65 5f |.Xextern| int re_|
|00003490| 73 65 61 72 63 68 20 28 | 29 2c 20 72 65 5f 73 65 |search (|), re_se|
|000034a0| 61 72 63 68 5f 32 20 28 | 29 3b 0a 58 65 78 74 65 |arch_2 (|);.Xexte|
|000034b0| 72 6e 20 69 6e 74 20 72 | 65 5f 6d 61 74 63 68 20 |rn int r|e_match |
|000034c0| 28 29 2c 20 72 65 5f 6d | 61 74 63 68 5f 32 20 28 |(), re_m|atch_2 (|
|000034d0| 29 3b 0a 58 0a 58 2f 2a | 20 34 2e 32 20 62 73 64 |);.X.X/*| 4.2 bsd|
|000034e0| 20 63 6f 6d 70 61 74 69 | 62 69 6c 69 74 79 20 28 | compati|bility (|
|000034f0| 79 75 63 6b 29 20 2a 2f | 0a 58 65 78 74 65 72 6e |yuck) */|.Xextern|
|00003500| 20 63 68 61 72 20 2a 72 | 65 5f 63 6f 6d 70 20 28 | char *r|e_comp (|
|00003510| 29 3b 0a 58 65 78 74 65 | 72 6e 20 69 6e 74 20 72 |);.Xexte|rn int r|
|00003520| 65 5f 65 78 65 63 20 28 | 29 3b 0a 58 0a 58 23 69 |e_exec (|);.X.X#i|
|00003530| 66 64 65 66 20 53 59 4e | 54 41 58 5f 54 41 42 4c |fdef SYN|TAX_TABL|
|00003540| 45 0a 58 65 78 74 65 72 | 6e 20 63 68 61 72 20 2a |E.Xexter|n char *|
|00003550| 72 65 5f 73 79 6e 74 61 | 78 5f 74 61 62 6c 65 3b |re_synta|x_table;|
|00003560| 0a 58 23 65 6e 64 69 66 | 0a 45 4e 44 5f 4f 46 5f |.X#endif|.END_OF_|
|00003570| 46 49 4c 45 0a 69 66 20 | 74 65 73 74 20 31 32 35 |FILE.if |test 125|
|00003580| 30 34 20 2d 6e 65 20 60 | 77 63 20 2d 63 20 3c 27 |04 -ne `|wc -c <'|
|00003590| 72 65 67 65 78 2e 68 27 | 60 3b 20 74 68 65 6e 0a |regex.h'|`; then.|
|000035a0| 20 20 20 20 65 63 68 6f | 20 73 68 61 72 3a 20 5c | echo| shar: \|
|000035b0| 22 27 72 65 67 65 78 2e | 68 27 5c 22 20 75 6e 70 |"'regex.|h'\" unp|
|000035c0| 61 63 6b 65 64 20 77 69 | 74 68 20 77 72 6f 6e 67 |acked wi|th wrong|
|000035d0| 20 73 69 7a 65 21 0a 66 | 69 0a 23 20 65 6e 64 20 | size!.f|i.# end |
|000035e0| 6f 66 20 27 72 65 67 65 | 78 2e 68 27 0a 66 69 0a |of 'rege|x.h'.fi.|
|000035f0| 65 63 68 6f 20 73 68 61 | 72 3a 20 45 6e 64 20 6f |echo sha|r: End o|
|00003600| 66 20 73 68 65 6c 6c 20 | 61 72 63 68 69 76 65 2e |f shell |archive.|
|00003610| 0a 65 78 69 74 20 30 0a | 0a |.exit 0.|. |
+--------+-------------------------+-------------------------+--------+--------+