; Ec@s dZdZdZdZdkZdkZdkZdkZdkZdk Z dk Z dZ dZ defdYZeieiZeiZed ZeeZd efd YZd efd YZdefdYZdefdYZdefdYZdefdYZdZdZdZ dZ!dZ"dZ#dZ$defdYZ%de%fd YZ&d!e&fd"YZ'd#e&fd$YZ(d%e&fd&YZ)d'e&fd(YZ*d)e)fd*YZ+d+e*fd,YZ,d-e&fd.YZ-d/e&fd0YZ.d1e&fd2YZ/d3e&fd4YZ0d5e&fd6YZ1d7e&fd8YZ2d9e2fd:YZ3d;e2fd<YZ4d=e2fd>YZ5d?e2fd@YZ6dAe2fdBYZ7dCe%fdDYZ8dEe8fdFYZ9dGe8fdHYZ:dIe8fdJYZ;dKe8fdLYZ<dMe%fdNYZ=dOe=fdPYZ>dQe=fdRYZ?dSe=fdTYZ@dUe=fdVYZAdWefdXYZBeBZCdYe=fdZYZDd[e=fd\YZEd]e=fd^YZFd_eFfd`YZGdae=fdbYZHdceHfddYZIdeeHfdfYZJdgeHfdhYZKdieHfdjYZLdkeHfdlYZMdmefdnYZNdoZOdpePdqZQdrZRdsZSdtZTduZUdvZVePeWdwZXdxZYdyZZdzi[gi\Z]ei^D]$Z_e_ei`joe]e_qxqx[]Zae'ibd{Zce4ibd|Zde5ibd}Zee6ibd~Zfe7ibdZge-eZdddihdZidzi[gi\Z]eaD]!Z_e_djoe]e_q7q7[]ZjeJeMeZde-eihdZkeJeMeZe-ddihdZleiekBelBe-ejddBZmeKemeMdemZndeDdiodeKeAenemBioddZpdZqdZrdZsdZtdZudZvdZwdZxdZydZzeZ{ee{_|ee{_}dZ~erdZerdZe.dibdZe.dibdZe.dibdZeye-eed\ZZeJdeXdioddZeedidZdZe.dibdZe.dZe.diZe.dibdZe.dibdZeZe.dibdZdzi[gi\Z]eaD]!Z_e_dpjoe]e_qq[]ZeJeAe-eeDe-de)dpe5iibdZeQeDeeBddzibdZedjo.dZe+dZe+dZe-eedZeQeddeWiheuZeKeQeZeQeddeWiheuZeKeQeZedeBiodeeiodZedededededededededededndS(s| pyparsing module - Classes and methods to define and execute parsing grammars The pyparsing module is an alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions. With pyparsing, you don't need to learn a new syntax for defining grammars or matching expressions - the parsing module provides a library of classes that you use to construct the grammar directly in Python. Here is a program to parse "Hello, World!" (or any greeting of the form ", !"):: from pyparsing import Word, alphas # define grammar of a greeting greet = Word( alphas ) + "," + Word( alphas ) + "!" hello = "Hello, World!" print hello, "->", greet.parseString( hello ) The program outputs the following:: Hello, World! -> ['Hello', ',', 'World', '!'] The Python representation of the grammar is quite readable, owing to the self-explanatory class names, and the use of '+', '|' and '^' operators. The parsed results returned from parseString() can be accessed as a nested list, a dictionary, or an object with named attributes. The pyparsing module handles some of the problems that are typically vexing when writing text parsers: - extra or missing whitespace (the above program will also handle "Hello,World!", "Hello , World !", etc.) - quoted strings - embedded comments s1.4.5s16 December 2006 07:20s*Paul McGuire NcCs4yt|SWntj o}t|SnXdS(s Drop-in replacement for str(obj) that tries to be Unicode friendly. It first tries str(obj). If that fails with a UnicodeEncodeError, then it tries unicode(obj). It then < returns the unicode object | encodes it with the default encoding | ... >. N(sstrsobjsUnicodeEncodeErrorsesunicode(sobjse((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys_ustrHs cCs5tgi}|D]}||dfq~SdS(Ni(sdictsappends_[1]sstrgsc(sstrgs_[1]sc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys _str2dict`ss _ConstantscBstZRS(N(s__name__s __module__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys _Constantsdss ABCDEFabcdefsParseBaseExceptioncBsStZdZddddfZedZdZdZdZd d Z RS( s7base exception class for all parsing runtime exceptionsslocsmsgspstrs parserElementcCs(||_||_||_||_dS(N(slocsselfsmsgspstrselems parserElement(sselfspstrslocsmsgselem((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__qs   cCs|djot|i|iSnX|ddfjot|i|iSn.|djot|i|iSn t|dS(ssupported attributes by name are: - lineno - returns the line number of the exception text - col - returns the column number of the exception text - line - returns the line containing the exception text slinenoscolscolumnslineN(sanameslinenosselfslocspstrscolslinesAttributeError(sselfsaname((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys __getattr__ws  cCs$d|i|i|i|ifSdS(Ns"%s (at char %d), (line:%d, col:%d)(sselfsmsgslocslinenoscolumn(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__scCst|SdS(N(s_ustrsself(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__repr__ss>!) s __toklists __tokdicts__doinits__names__parents __accumNamescCs8t||o|Snti|}t|_|SdS(N(s isinstancestoklistsclssobjects__new__sretobjsTrues_ParseResults__doinit(sclsstoklistsnamesasListsmodalsretobj((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__new__s  cCs|io^t|_t|_t|_h|_t|t o||_ n |g|_ t |_ n|o| od|i|%sii(sothers_ParseResults__tokdictslensselfs_ParseResults__toklistsoffsets addoffsetsitemss otheritemssappends_[1]sksvlistsvsotherdictitemss isinstances ParseResultss_ParseResults__parents_ParseResults__accumNamessupdate( sselfsothers_[1]sotherdictitemssvs otheritemssoffsets addoffsetsksvlist((soffsetsE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__iadd__"s  T  cCs$dt|it|ifSdS(Ns(%s, %s)(sreprsselfs_ParseResults__toklists_ParseResults__tokdict(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__repr__1scCstd}d}xS|iD]H}t|to||t|7}n||t|7}d}qW|d7}|SdS(Ns[ss, s]( soutssepsselfs_ParseResults__toklistsis isinstances ParseResultss_ustrsrepr(sselfssepsisout((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__4s   scCsxg}xg|iD]\}|o|o|i|nt|to||i7}q|it |qW|SdS(N( soutsselfs_ParseResults__toklistsitemssepsappends isinstances ParseResultss _asStringLists_ustr(sselfssepsitemsout((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys _asStringList@s cCsVg}xE|iD]:}t|to|i|iq|i|qW|SdS(sXReturns the parse results as a nested list of matching tokens, all converted to strings.N(soutsselfs_ParseResults__toklistsress isinstances ParseResultssappendsasList(sselfsressout((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysasListKs cCst|iSdS(s.Returns the named parse results as dictionary.N(sdictsselfsitems(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysasDictUscCsTt|i}|ii|_|i|_|ii|i|i |_ |SdS(s,Returns a new copy of a ParseResults object.N( s ParseResultssselfs_ParseResults__toklistsrets_ParseResults__tokdictscopys_ParseResults__parents_ParseResults__accumNamessupdates_ParseResults__name(sselfsret((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyscopyYs  c CsGd}g}tgi}|iiD]-\}}|D]}||d|fq6q&~}|d} | od}d} d}nt} |tj o |} n|io |i} n| o|odSqd} n|||d| dg7}|i}xt|D]\} }t|toq| |jo4||i|| |o |tj| |g7}q||it|o |tj| |g7}q t} | |jo|| } n| o|oq qd} ntiii t!|} ||| d| d| d| dg 7}q W|||d| dg7}di#|Sd S( shReturns the parse results as XML. Tags are created for tokens and lists that have defined results names.s is ssITEMss(sexprstokssasList(sinstringsstartlocsendlocsexprstoks((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys_defaultSuccessDebugActionscCs dG|GHdS(NsException raised:(sexc(sinstringslocsexprsexc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys_defaultExceptionDebugActionscGsdS(sG'Do-nothing' debug action, to suppress debugging output during parsing.N((sargs((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysnullDebugActionss ParserElementcBs tZdZdZdZeeZedZdZdZ edZ dZ ee Z dZ d Z d Zd Zd Zed ZdZeedZdZeedZeZhZdZeeZeZdZeeZdZeidZdZ eidZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)d Z*d!Z+d"Z,d#Z-d$Z.d%Z/d&Z0ed'Z1d(Z2d)Z3d*Z4d+Z5gd,Z6d-Z7RS(.s)Abstract base level parser element class.s cCs |t_dS(s/Overrides the default whitespace chars N(scharss ParserElementsDEFAULT_WHITE_CHARS(schars((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssetDefaultWhitespaceCharsscCst|_t|_t|_t|_||_t |_ t i |_ t |_t|_t|_t|_t|_t|_t |_d|_t |_tttf|_t|_dS(Ns(slistsselfs parseActionsNones failActionsstrReprs resultsNamessavelists saveAsListsTruesskipWhitespaces ParserElementsDEFAULT_WHITE_CHARSs whiteCharsscopyDefaultWhiteCharssFalsesmayReturnEmptyskeepTabss ignoreExprssdebugs streamlineds mayIndexErrorserrmsgs modalResultss debugActionssre(sselfssavelist((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s$                cCsKti|}|i|_|i|_|ioti|_n|SdS(sMake a copy of this ParserElement. Useful for defining different parse actions for the same parsing pattern, using copies of the original parse element.N( scopysselfscpys parseActions ignoreExprsscopyDefaultWhiteCharss ParserElementsDEFAULT_WHITE_CHARSs whiteChars(sselfscpy((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyscopys   cCs!||_d|i|_|SdS(s6Define name for this expression, for use in debugging.s Expected N(snamesselfserrmsg(sselfsname((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssetName#s cCs'|i}||_| |_|SdS(s]Define name for referencing matching tokens as a nested attribute of the returned parse results. NOTE: this returns a *copy* of the original ParserElement object; this is so that the client can define a basic element, such as an integer, and reference it in multiple places with different names. N(sselfscopysnewselfsnames resultsNameslistAllMatchess modalResults(sselfsnameslistAllMatchessnewself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssetResultsName)s    csd}yt}tto}inii|@oSnii }t do|d8}n|o |nWnt j oyVi iii|@oSni iii }t i do|d8}nWqUt j oSi ii|@oSni ii }t i do|d8}qPqUXnX|djoSnK|djod}n*|djod}n d}|Sd S( sInternal method used to decorate parse actions that take fewer than 3 arguments, so that all parse actions can be called as f(s,l,t).isim_selfiiics||SdS(N(sfslst(ssslst(sf(sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pystmp\scs|SdS(N(sfst(ssslst(sf(sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pystmp_scs SdS(N(sf(ssslst(sf(sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pystmpbsN(s STAR_ARGSsNonesrestores isinstancesfstypes__init__s func_codesco_flagss co_argcountsnumargsshasattrsAttributeErrors__call__sim_funcstmp(sfstmpsrestores STAR_ARGSsnumargs((sfsE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysnormalizeParseActionArgs5sF      cGs#t|it||_|SdS(sDefine action to perform when successfully matching parse element definition. Parse action fn is a callable method with 0-3 arguments, called as fn(s,loc,toks), fn(loc,toks), fn(toks), or just fn(), where: - s = the original string being parsed - loc = the location of the matching substring - toks = a list of the matched tokens, packaged as a ParseResults object If the functions in fns modify the tokens, they can return them as the return value from fn, and the modified list of tokens will replace the original. Otherwise, fn does not need to return any value.N(smapsselfsnormalizeParseActionArgsslistsfnss parseAction(sselfsfns((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssetParseActiongs cGs)|it|it|7_|SdS(sLAdd parse action to expression's list of parse actions. See setParseAction_.N(sselfs parseActionsmapsnormalizeParseActionArgsslistsfns(sselfsfns((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysaddParseActionts!cCs||_|SdS(sDefine action to perform if parsing fails at this expression. Fail acton fn is a callable function that takes the arguments fn(s,loc,expr,err) where: - s = string being parsed - loc = location where expression match was attempted and failed - expr = the parse expression that failed - err = the exception thrown The function returns no value. It may throw ParseFatalException if it is desired to stop parsing immediately.N(sfnsselfs failAction(sselfsfn((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys setFailActionys  cCs~t}xm|oet}xX|iD]M}y1x*no"|i||\}}t}q3WWq t j oq Xq Wq W|SdS(Ni( sTrues exprsFoundsFalsesselfs ignoreExprsses_parsesinstringslocsdummysParseException(sselfsinstringslocsdummyses exprsFound((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysskipIgnorabless cCs{|io|i||}n|ioI|i}t|}x1||jo|||jo|d7}qBWn|SdS(Ni( sselfs ignoreExprssskipIgnorablessinstringslocsskipWhitespaces whiteCharsswtslensinstrlen(sselfsinstringslocswtsinstrlen((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyspreParses    cCs|gfSdS(N(sloc(sselfsinstringslocs doActions((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImplscCs|SdS(N(s tokenlist(sselfsinstringslocs tokenlist((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys postParsesc Cs|i}|p|io|ido|id|||n|o|i||}n|}|} yWy|i |||\}} Wn1tj o%t|t||i|nXWqtj o\}|ido|id|| ||n|io|i|| ||nqXn|o|i||}n|}|} |ip|t|joWy|i |||\}} Wqtj o%t|t||i|qXn|i |||\}} |i||| } t| |id|id|i}|io|o<|oyuxn|iD]c} | || |} | tj o>t| |id|iot| ttfd|i}qHqHWWqltj o8}|ido|id|| ||nqlXqpxr|iD]c} | || |} | tj o>t| |id|iot| ttfd|i}qqWn|o3|ido!|id|| |||qn||fSdS(NiisasListsmodali(sselfsdebugs debuggings failActions debugActionssinstringslocs callPreParsespreParsesprelocs tokensStarts parseImpls doActionsstokenss IndexErrorsParseExceptionslenserrmsgserrs mayIndexErrors postParses ParseResultss resultsNames saveAsLists modalResultss retTokenss parseActionsfnsNones isinstanceslist( sselfsinstringslocs doActionss callPreParses debuggingserrsprelocs retTokensstokenss tokensStartsfn((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys _parseNoCachest '  '$     %cCs|i||dtdSdS(Ns doActionsi(sselfs_parsesinstringslocsFalse(sselfsinstringsloc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pystryParsescCs|o|io|i||||Sn||||f}|ti joLti |}t |t o't |t o ||_n|n|SnTy+|i||||ti |<}|SWn%t j o}|ti |<nXdS(N(s doActionssselfs parseActions _parseNoCachesinstringslocs callPreParseslookups ParserElements _exprArgCachesvalues isinstances ExceptionsParseBaseExceptionspe(sselfsinstringslocs doActionss callPreParseslookupsvaluespe((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys _parseCaches    # cCstiidS(N(s ParserElements _exprArgCachesclear(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys resetCache scCs(ti ott_tit_ndS(sEnables "packrat" parsing, which adds memoizing to the parsing logic. Repeated parse attempts at the same string location (which happens often in many complex grammars) can immediately return a cached value, instead of re-executing parsing/validating code. Memoizing is done of both valid results and parsing exceptions. This speedup may break existing programs that use parse actions that have side-effects. For this reason, packrat parsing is disabled when you first import pyparsing. To activate the packrat feature, your program must call the class method ParserElement.enablePackrat(). If your program uses psyco to "compile as you go", you must call enablePackrat before calling psyco.full(). If you do not do this, Python will crash. For best results, call enablePackrat() immediately after importing pyparsing. N(s ParserElements_packratEnabledsTrues _parseCaches_parse(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys enablePackrats  cCsti|i o|inx|iD]}|iq-W|io|i|d\}}n|i|i d\}}|SdS(sExecute the parse expression with the given string. This is the main interface to the client code, once the complete expression has been built. iN( s ParserElements resetCachesselfs streamlineds streamlines ignoreExprsseskeepTabss_parsesinstringslocstokenss expandtabs(sselfsinstringslocsestokens((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseString's    c cs|i o|inx|iD]}|iq#W|i o|i}nt|} d}|i } |i }tid}x|| jo ||jooy.| ||}|||dt\} }Wntj o|d}qX|d7}||| fV| }qWdS(sScan the input string for expression matches. Each match will return the matching tokens, start location, and end location. May be called with optional maxMatches argument, to clip scanning after 'n' matches are found.is callPreParseiN(sselfs streamlineds streamlines ignoreExprsseskeepTabssinstrings expandtabsslensinstrlenslocspreParses preparseFns_parsesparseFns ParserElements resetCachesmatchess maxMatchessprelocsFalsesnextLocstokenssParseException( sselfsinstrings maxMatchesslocsparseFnsesprelocsmatchesstokenss preparseFnsinstrlensnextLoc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys scanString8s0         cCsg}d}t|_x|i|D]\}}}|i |||!|oSt |t o||i 7}qt |to||7}q|i |n|}q%W|i ||di|SdS(sExtension to scanString, to modify matching text with modified tokens that may be returned from a parse action. To use transformString, define a grammar and attach a parse action to it that modifies the returned token list. Invoking transformString() on a target string will then scan for matches, and replace the matched text patterns according to the logic in the parse action. transformString() returns the resulting transformed string.isN(soutslastEsTruesselfskeepTabss scanStringsinstringstsssesappends isinstances ParseResultssasListslistsjoin(sselfsinstringslastEsessstsout((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pystransformStringTs   cCsDtgi}|i||D]\}}}||q~SdS(sAnother extension to scanString, simplifying the access to the tokens found to match the given parse expression. May be called with optional maxMatches argument, to clip searching after 'n' matches are found. N( s ParseResultssappends_[1]sselfs scanStringsinstrings maxMatchesstssse(sselfsinstrings maxMatchesses_[1]ssst((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys searchStringmscCsit|tot|}nt|t o$tidt|tddnt ||gSdS(s*Implementation of + operator - returns Ands.Cannot add element of type %s to ParserElements stackleveliN( s isinstancesothers basestringsLiterals ParserElementswarningsswarnstypes SyntaxWarningsAndsself(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__add__tscCsat|tot|}nt|t o$tidt|tddn||SdS(sImplementation of += operators.Cannot add element of type %s to ParserElements stackleveliN( s isinstancesothers basestringsLiterals ParserElementswarningsswarnstypes SyntaxWarningsself(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__radd__}scCsit|tot|}nt|t o$tidt|tddnt ||gSdS(s1Implementation of | operator - returns MatchFirsts.Cannot add element of type %s to ParserElements stackleveliN( s isinstancesothers basestringsLiterals ParserElementswarningsswarnstypes SyntaxWarnings MatchFirstsself(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__or__scCsat|tot|}nt|t o$tidt|tddn||BSdS(sImplementation of |= operators.Cannot add element of type %s to ParserElements stackleveliN( s isinstancesothers basestringsLiterals ParserElementswarningsswarnstypes SyntaxWarningsself(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__ror__scCsit|tot|}nt|t o$tidt|tddnt ||gSdS(s)Implementation of ^ operator - returns Ors.Cannot add element of type %s to ParserElements stackleveliN( s isinstancesothers basestringsLiterals ParserElementswarningsswarnstypes SyntaxWarningsOrsself(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__xor__scCsat|tot|}nt|t o$tidt|tddn||ASdS(sImplementation of ^= operators.Cannot add element of type %s to ParserElements stackleveliN( s isinstancesothers basestringsLiterals ParserElementswarningsswarnstypes SyntaxWarningsself(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__rxor__scCsit|tot|}nt|t o$tidt|tddnt ||gSdS(s+Implementation of & operator - returns Eachs.Cannot add element of type %s to ParserElements stackleveliN( s isinstancesothers basestringsLiterals ParserElementswarningsswarnstypes SyntaxWarningsEachsself(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__and__scCsat|tot|}nt|t o$tidt|tddn||@SdS(s"Implementation of right-& operators.Cannot add element of type %s to ParserElements stackleveliN( s isinstancesothers basestringsLiterals ParserElementswarningsswarnstypes SyntaxWarningsself(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__rand__scCst|SdS(s-Implementation of ~ operator - returns NotAnyN(sNotAnysself(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys __invert__scCst|SdS(sSuppresses the output of this ParserElement; useful to keep punctuation from cluttering up returned output. N(sSuppresssself(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssuppressscCst|_|SdS(sDisables the skipping of whitespace before matching the characters in the ParserElement's defined pattern. This is normally only used internally by the pyparsing module, but may be needed in some whitespace-sensitive grammars. N(sFalsesselfsskipWhitespace(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysleaveWhitespaces cCs#t|_||_t|_|SdS(s/Overrides the default whitespace chars N(sTruesselfsskipWhitespacescharss whiteCharssFalsescopyDefaultWhiteChars(sselfschars((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssetWhitespaceCharss    cCst|_|SdS(sOverrides default behavior to expand s to spaces before parsing the input string. Must be called before parseString when the input grammar contains elements that match characters.N(sTruesselfskeepTabs(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseWithTabss cCsVt|to(||ijo|ii|qNn|iit||SdS(sDefine expression to be ignored (e.g., comments) while doing pattern matching; may be called repeatedly, to define multiple comment or other ignorable patterns. N(s isinstancesothersSuppresssselfs ignoreExprssappend(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysignores cCs8|pt|pt|ptf|_t|_ |SdS(sBEnable display of debugging messages while doing pattern matching.N( s startActions_defaultStartDebugActions successActions_defaultSuccessDebugActionsexceptionActions_defaultExceptionDebugActionsselfs debugActionssTruesdebug(sselfs startActions successActionsexceptionAction((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssetDebugActionss' cCs/|o|itttn t|_|SdS(sBEnable display of debugging messages while doing pattern matching.N(sflagsselfssetDebugActionss_defaultStartDebugActions_defaultSuccessDebugActions_defaultExceptionDebugActionsFalsesdebug(sselfsflag((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssetDebugs  cCs |iSdS(N(sselfsname(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__scCst|SdS(N(s_ustrsself(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__repr__scCst|_t|_|SdS(N(sTruesselfs streamlinedsNonesstrRepr(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys streamlines  cCsdS(N((sselfsparseElementList((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyscheckRecursionscCs|igdS(sXCheck defined expressions for valid structure, check for infinite recursive definitions.N(sselfscheckRecursion(sselfs validateTrace((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysvalidatescCs\y|i}Wn8tj o,t|d}|i}|inX|i|SdS(sExecute the parse expression on the given file or filename. If a filename is specified (instead of a file object), the entire file is opened, read, and closed before parsing. srbN( sfile_or_filenamesreads file_contentssAttributeErrorsopensfsclosesselfs parseString(sselfsfile_or_filenamesfs file_contents((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseFile s (8s__name__s __module__s__doc__sDEFAULT_WHITE_CHARSssetDefaultWhitespaceCharss staticmethodsFalses__init__scopyssetNamessetResultsNamesnormalizeParseActionArgsssetParseActionsaddParseActions setFailActionsskipIgnorablesspreParsesTrues parseImpls postParses _parseNoCachestryParses _parseCaches_parses _exprArgCaches resetCaches_packratEnableds enablePackrats parseStringssyssmaxints scanStringstransformStrings searchStrings__add__s__radd__s__or__s__ror__s__xor__s__rxor__s__and__s__rand__s __invert__ssuppresssleaveWhitespacessetWhitespaceCharss parseWithTabssignoressetDebugActionsssetDebugs__str__s__repr__s streamlinescheckRecursionsvalidates parseFile(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys ParserElementsj      0    J                   sTokencBs tZdZdZdZRS(sGAbstract ParserElement subclass, for defining atomic matching patterns.cCs5tt|idttddd||_dS(Nssavelistsi(ssupersTokensselfs__init__sFalsesParseExceptions myException(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__scCs?tt|i|}d|i|_|i|i_|SdS(Ns Expected ( ssupersTokensselfssetNamesnamessserrmsgs myExceptionsmsg(sselfsnamess((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssetNames(s__name__s __module__s__doc__s__init__ssetName(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysTokens  sEmptycBstZdZdZRS(s"An empty token, will always match.cCs2tt|id|_t|_t|_dS(NsEmpty( ssupersEmptysselfs__init__snamesTruesmayReturnEmptysFalses mayIndexError(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__(s  (s__name__s __module__s__doc__s__init__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysEmpty&s sNoMatchcBs#tZdZdZedZRS(sA token that will never match.cCsJtt|id|_t|_t|_d|_ |i |i _ dS(NsNoMatchsUnmatchable token( ssupersNoMatchsselfs__init__snamesTruesmayReturnEmptysFalses mayIndexErrorserrmsgs myExceptionsmsg(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__1s     cCs%|i}||_||_|dS(N(sselfs myExceptionsexcslocsinstringspstr(sselfsinstringslocs doActionssexc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpl9s   (s__name__s __module__s__doc__s__init__sTrues parseImpl(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysNoMatch/s  sLiteralcBs#tZdZdZedZRS(s*Token to exactly match a specified string.cCstt|i||_t||_y|d|_Wn2t j o&t i dt ddt |_nXd|i|_d|i|_t|_|i|i_t|_dS(Nis2null string passed to Literal; use Empty() insteads stacklevelis"%s"s Expected (ssupersLiteralsselfs__init__s matchStringsmatchslensmatchLensfirstMatchChars IndexErrorswarningsswarns SyntaxWarningsEmptys __class__snameserrmsgsFalsesmayReturnEmptys myExceptionsmsgs mayIndexError(sselfs matchString((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__Bs    cCsw|||ijo#|idjp|i|i|o||i|ifSn|i}||_||_ |dS(Ni( sinstringslocsselfsfirstMatchCharsmatchLens startswithsmatchs myExceptionsexcspstr(sselfsinstringslocs doActionssexc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImplVs :   (s__name__s __module__s__doc__s__init__sTrues parseImpl(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysLiteral@s  sKeywordcBsQtZdZedZeedZedZdZ dZ e e Z RS(skToken to exactly match a specified string as a keyword, that is, it must be immediately followed by a non-keyword character. Compare with Literal:: Literal("if") will match the leading 'if' in 'ifAndOnlyIf'. Keyword("if") will not; it will only match the leading 'if in 'if x=1', or 'if(y==2)' Accepts two optional constructor arguments in addition to the keyword string: identChars is a string of characters that would be valid identifier characters, defaulting to all alphanumerics + "_" and "$"; caseless allows case-insensitive matching, default is False. s_$cCstt|i||_t||_y|d|_Wn)t j ot i dt ddnXd|i|_ d|i |_t|_|i|i_t|_||_|o|i|_|i}nt||_dS(Nis2null string passed to Keyword; use Empty() insteads stacklevelis"%s"s Expected (ssupersKeywordsselfs__init__s matchStringsmatchslensmatchLensfirstMatchChars IndexErrorswarningsswarns SyntaxWarningsnameserrmsgsFalsesmayReturnEmptys myExceptionsmsgs mayIndexErrorscaselesssuppers caselessmatchs identCharss _str2dict(sselfs matchStrings identCharsscaseless((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__ls$     cCs|io||||i!i|ijoc|t||ijp|||ii|ijo(|djp||di|ijo||i|i fSq\n|||i jo}|idjp|i |i |oW|t||ijp|||i|ijo"|djp||d|ijo||i|i fSn|i }||_||_|dS(Nii(sselfscaselesssinstringslocsmatchLensuppers caselessmatchslens identCharssmatchsfirstMatchChars startswiths myExceptionsexcspstr(sselfsinstringslocs doActionssexc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls    cCs)tt|i}ti|_|SdS(N(ssupersKeywordsselfscopyscsDEFAULT_KEYWORD_CHARSs identChars(sselfsc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyscopys cCs |t_dS(s,Overrides the default Keyword chars N(scharssKeywordsDEFAULT_KEYWORD_CHARS(schars((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssetDefaultKeywordCharss( s__name__s __module__s__doc__s alphanumssDEFAULT_KEYWORD_CHARSsFalses__init__sTrues parseImplscopyssetDefaultKeywordCharss staticmethod(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysKeyword`s     sCaselessLiteralcBs#tZdZdZedZRS(sToken to match a specified string, ignoring case of letters. Note: the matched results will always be in the case of the given match string, NOT the case of the input text. cCsXtt|i|i||_d|i|_d|i|_|i|i _ dS(Ns'%s's Expected ( ssupersCaselessLiteralsselfs__init__s matchStringsuppers returnStringsnameserrmsgs myExceptionsmsg(sselfs matchString((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s  cCsa||||i!i|ijo||i|ifSn|i}||_||_ |dS(N( sinstringslocsselfsmatchLensuppersmatchs returnStrings myExceptionsexcspstr(sselfsinstringslocs doActionssexc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls $   (s__name__s __module__s__doc__s__init__sTrues parseImpl(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysCaselessLiterals  sCaselessKeywordcBs#tZeidZedZRS(NcCs#tt|i||dtdS(Nscaseless(ssupersCaselessKeywordsselfs__init__s matchStrings identCharssTrue(sselfs matchStrings identChars((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__scCs||||i!i|ijo8|t||ijp|||ii|ijo||i|ifSn|i }||_||_ |dS(N( sinstringslocsselfsmatchLensuppers caselessmatchslens identCharssmatchs myExceptionsexcspstr(sselfsinstringslocs doActionssexc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls _   (s__name__s __module__sKeywordsDEFAULT_KEYWORD_CHARSs__init__sTrues parseImpl(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysCaselessKeywordssWordcBs8tZdZeddddZedZdZRS(s>Token for matching words composed of allowed character sets. Defined with string containing all allowed initial characters, an optional string containing allowed body characters (if omitted, defaults to the initial character set), and an optional minimum, maximum, and/or exact length. iicCstt|i||_t||_|o||_t||_n||_t||_|dj|_ ||_ |djo ||_ n ti|_ |djo||_ ||_ nt||_d|i|_|i|i_t|_d|i|ijo$|djo|djo |djo|i|ijodt|i|_nht|idjo,dti|it|if|_n&dt|it|if|_yti|i|_Wqt|_qXndS(Nis Expected s is[%s]+s%s[%s]*s [%s][%s]*(ssupersWordsselfs__init__s initCharss initCharsOrigs _str2dicts bodyCharss bodyCharsOrigsmaxs maxSpecifiedsminsminLensmaxLenssyssmaxintsexacts_ustrsnameserrmsgs myExceptionsmsgsFalses mayIndexErrors_escapeRegexRangeCharssreStringslensresescapescompilesNone(sselfs initCharss bodyCharssminsmaxsexact((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s<           >,%c Cs|iob|ii||}| o%|i}||_||_|n|i }||i fSn|||i j o%|i}||_||_|n|}|d7}t |} |i}||i}t|| }x-||jo|||jo|d7}qWt} |||ijo t} n|io|| jo|||jo t} n| o%|i}||_||_|n||||!fSdS(Ni(sselfsresmatchsinstringslocsresults myExceptionsexcspstrsendsgroups initCharssstartslensinstrlens bodyCharss bodycharssmaxLensmaxlocsminsFalsesthrowExceptionsminLensTrues maxSpecified( sselfsinstringslocs doActionssexcsstartsmaxlocs bodycharssresultsinstrlensthrowException((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImplsD               (     cCsytt|iSWnnX|itjo_d}|i|ijo)d||i||if|_qd||i|_n|iSdS(NcCs+t|djo|d dSn|SdS(Nis...(slenss(ss((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys charsAsStr)ss W:(%s,%s)sW:(%s)( ssupersWordsselfs__str__sstrReprsNones charsAsStrs initCharsOrigs bodyCharsOrig(sselfs charsAsStr((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__ s )(s__name__s __module__s__doc__sNones__init__sTrues parseImpls__str__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysWords - *sRegexcBs/tZdZddZedZdZRS(sToken for matching strings that match a given regular expression. Defined with string specifying the regular expression in a form recognized by the inbuilt Python re module. icCstt|it|djotidtddn||_||_ y+t i |i|i |_ |i|_ Wn5t ij o&}tid|tddnXt||_d|i|_|i|i_t|_t|_dS(sThe parameters pattern and flags are passed to the re.compile() function as-is. See the Python re module for an explanation of the acceptable patterns and flags.is0null string passed to Regex; use Empty() insteads stacklevelis$invalid pattern (%s) passed to Regexs Expected N(ssupersRegexsselfs__init__slenspatternswarningsswarns SyntaxWarningsflagssrescompilesreStrings sre_constantsserrorses_ustrsnameserrmsgs myExceptionsmsgsFalses mayIndexErrorsTruesmayReturnEmpty(sselfspatternsflagsse((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__;s&      c Cs|ii||}| o%|i}||_||_|n|i }|i }t |i }|o)x&|iD]}|||| same as quoteChar) is$quoteChar cannot be the empty strings stacklevelis'endQuoteChar cannot be the empty strings %s(?:[^%s%s]ss%s(?:[^%s\n\r%s]is|(?:s)|(?:is%s[^%s]s)s|(?:%s)s|(?:%s.)s(.)s)*%ss$invalid pattern (%s) passed to Regexs Expected N(/ssupers QuotedStringsselfs__init__s quoteCharsstripslenswarningsswarns SyntaxWarnings SyntaxErrors endQuoteCharsNones quoteCharLensfirstQuoteCharsendQuoteCharLensescCharsescQuotesunquoteResultss multilinesres MULTILINEsDOTALLsflagssescapes_escapeRegexRangeCharsspatternsjoinsappends_[1]srangesisescCharReplacePatternscompilesreStrings sre_constantsserrorses_ustrsnameserrmsgs myExceptionsmsgsFalses mayIndexErrorsTruesmayReturnEmpty( sselfs quoteCharsescCharsescQuotes multilinesunquoteResultss endQuoteCharsesis_[1]((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__ssZ             M I   cCs|||ijo|ii||pt}| o%|i}||_||_ |n|i }|i }|iox||i|i !}t|toP|ioti|id|}n|io|i|i|i}qqn||fSdS(Ns\g<1>(sinstringslocsselfsfirstQuoteCharsresmatchsNonesresults myExceptionsexcspstrsendsgroupsretsunquoteResultss quoteCharLensendQuoteCharLens isinstances basestringsescCharssubsescCharReplacePatternsescQuotesreplaces endQuoteChar(sselfsinstringslocs doActionssexcsretsresult((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls 0         $cCsYytt|iSWnnX|itjod|i|if|_n|iSdS(Ns.quoted string, starting with %s ending with %s(ssupers QuotedStringsselfs__str__sstrReprsNones quoteChars endQuoteChar(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__s( s__name__s __module__s__doc__sNonesFalsesTrues__init__s parseImpls__str__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys QuotedStringps J s CharsNotIncBs5tZdZddddZedZdZRS(sToken for matching words composed of characters *not* in a given set. Defined with string containing all disallowed characters, and an optional minimum, maximum, and/or exact length. iicCstt|it|_||_||_|djo ||_ n t i |_ |djo||_ ||_nt||_d|i|_|idj|_|i|i_t|_dS(Nis Expected (ssupers CharsNotInsselfs__init__sFalsesskipWhitespacesnotCharssminsminLensmaxsmaxLenssyssmaxintsexacts_ustrsnameserrmsgsmayReturnEmptys myExceptionsmsgs mayIndexError(sselfsnotCharssminsmaxsexact((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s         cCs|||ijo%|i}||_||_|n|}|d7}|i}t ||i t |}x-||jo|||jo|d7}qqW|||i jo%|i}||_||_|n||||!fSdS(Ni(sinstringslocsselfsnotCharss myExceptionsexcspstrsstartsnotcharssminsmaxLenslensmaxlensminLen(sselfsinstringslocs doActionssexcsstartsnotcharssmaxlen((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls$          cCs~ytt|iSWnnX|itjoBt|idjod|id |_qsd|i|_n|iSdS(Nis !W:(%s...)s!W:(%s)(ssupers CharsNotInsselfs__str__sstrReprsNoneslensnotChars(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__s(s__name__s __module__s__doc__s__init__sTrues parseImpls__str__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys CharsNotIns  sWhitecBsbtZdZhdd<dd<dd<dd<d d s ss ss ss ss iicCs%tt|i||_|idigi}|i D]$}||ijo||q9q9~digi}|iD]}|ti |q~|_ t|_d|i |_|i|i_||_|djo ||_n ti|_|djo||_||_ndS(Nss Expected i(ssupersWhitesselfs__init__swss matchWhitessetWhitespaceCharssjoinsappends_[1]s whiteCharsscs whiteStrssnamesTruesmayReturnEmptyserrmsgs myExceptionsmsgsminsminLensmaxsmaxLenssyssmaxintsexact(sselfswssminsmaxsexactscs_[1]((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__3s N=       cCs|||ij o%|i}||_||_|n|}|d7}||i}t |t |}x0||jo|||ijo|d7}qoW|||i jo%|i}||_||_|n||||!fSdS(Ni( sinstringslocsselfs matchWhites myExceptionsexcspstrsstartsmaxLensmaxlocsminslensminLen(sselfsinstringslocs doActionssexcsmaxlocsstart((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImplHs$      !    (s__name__s __module__s__doc__s whiteStrss__init__sTrues parseImpl(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysWhite&s 3s PositionTokencBstZdZRS(NcCs8tt|i|ii|_t|_t |_ dS(N( ssupers PositionTokensselfs__init__s __class__s__name__snamesTruesmayReturnEmptysFalses mayIndexError(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__as (s__name__s __module__s__init__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys PositionToken`ss GoToColumncBs,tZdZdZdZedZRS(sXToken to advance to a specific column of input text; useful for tabular report scraping.cCs tt|i||_dS(N(ssupers GoToColumnsselfs__init__scolnoscol(sselfscolno((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__iscCst|||ijoyt|}|io|i||}nxJ||jo'||iot|||ijo|d7}qHWn|SdS(Ni( scolslocsinstringsselfslensinstrlens ignoreExprssskipIgnorablessisspace(sselfsinstringslocsinstrlen((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyspreParsems  7cCsdt||}||ijot||d|n||i|}|||!}||fSdS(NsText not in expected column(scolslocsinstringsthiscolsselfsParseExceptionsnewlocsret(sselfsinstringslocs doActionssthiscolsretsnewloc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImplvs  (s__name__s __module__s__doc__s__init__spreParsesTrues parseImpl(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys GoToColumngs   s LineStartcBs,tZdZdZdZedZRS(sQMatches if current position is at the beginning of a line within the parse stringcCs<tt|i|idd|_|i|i_dS(Ns sExpected start of line(ssupers LineStartsselfs__init__ssetWhitespaceCharsserrmsgs myExceptionsmsg(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s  cCsBtt|i||}||djo|d7}n|SdS(Ns i(ssupers LineStartsselfspreParsesinstringslocspreloc(sselfsinstringslocspreloc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyspreParsescCso|djp+||i|djp||ddj o%|i}||_||_|n|gfSdS(Niis (slocsselfspreParsesinstrings myExceptionsexcspstr(sselfsinstringslocs doActionssexc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls <    (s__name__s __module__s__doc__s__init__spreParsesTrues parseImpl(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys LineStart~s   sLineEndcBs#tZdZdZedZRS(sKMatches if current position is at the end of a line within the parse stringcCs<tt|i|idd|_|i|i_dS(Ns sExpected end of line(ssupersLineEndsselfs__init__ssetWhitespaceCharsserrmsgs myExceptionsmsg(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s  cCs|t|joH||djo|ddfSq|i}||_||_|nG|t|jo|dgfSn"|i}||_||_|dS(Ns i(slocslensinstringsselfs myExceptionsexcspstr(sselfsinstringslocs doActionssexc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls       (s__name__s __module__s__doc__s__init__sTrues parseImpl(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysLineEnds  s StringStartcBs#tZdZdZedZRS(sCMatches if current position is at the beginning of the parse stringcCs/tt|id|_|i|i_dS(NsExpected start of text(ssupers StringStartsselfs__init__serrmsgs myExceptionsmsg(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s cCs]|djoB||i|djo%|i}||_||_|qOn|gfSdS(Ni(slocsselfspreParsesinstrings myExceptionsexcspstr(sselfsinstringslocs doActionssexc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls    (s__name__s __module__s__doc__s__init__sTrues parseImpl(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys StringStarts  s StringEndcBs#tZdZdZedZRS(s=Matches if current position is at the end of the parse stringcCs/tt|id|_|i|i_dS(NsExpected end of text(ssupers StringEndsselfs__init__serrmsgs myExceptionsmsg(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s cCs|t|jo%|i}||_||_|nG|t|jo|dgfSn"|i}||_||_|dS(Ni(slocslensinstringsselfs myExceptionsexcspstr(sselfsinstringslocs doActionssexc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls       (s__name__s __module__s__doc__s__init__sTrues parseImpl(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys StringEnds  sParseExpressioncBshtZdZedZdZdZdZdZdZ dZ edZ gd Z RS( sTAbstract subclass of ParserElement, for combining and post-processing parsed tokens.cCsitt|i|t|to ||_n3t|tot |g|_n |g|_dS(N( ssupersParseExpressionsselfs__init__ssavelists isinstancesexprsslists basestringsLiteral(sselfsexprsssavelist((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s  cCs|i|SdS(N(sselfsexprssi(sselfsi((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys __getitem__scCs!|ii|t|_|SdS(N(sselfsexprssappendsothersNonesstrRepr(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysappends cCsbt|_gi}|iD]}||iq~|_x|iD]}|iqFW|SdS(sxExtends leaveWhitespace defined in base class, and also invokes leaveWhitespace on all contained expressions.N( sFalsesselfsskipWhitespacesappends_[1]sexprssescopysleaveWhitespace(sselfs_[1]se((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysleaveWhitespaces 3 cCst|toV||ijoBtt|i|x)|iD]}|i|idq@Wqn?tt|i|x%|iD]}|i|idqW|SdS(Ni( s isinstancesothersSuppresssselfs ignoreExprsssupersParseExpressionsignoresexprsse(sselfsotherse((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysignores   cCsbytt|iSWnnX|itjo&d|iit|i f|_n|iSdS(Ns%s:(%s)( ssupersParseExpressionsselfs__str__sstrReprsNones __class__s__name__s_ustrsexprs(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__s&cCsttt|ix|iD]}|iqWt|idjo%|id}t||i o#|i o|i t jo|i oL|i|idg|_t |_|i|iO_|i|iO_n|id}t||i o#|i o|i t jo|i oI|id |i|_t |_|i|iO_|i|iO_qln|SdS(Niiii(ssupersParseExpressionsselfs streamlinesexprsseslensothers isinstances __class__s parseActions resultsNamesNonesdebugsstrReprsmayReturnEmptys mayIndexError(sselfsotherse((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys streamline s$  9  9 cCs#tt|i||}|SdS(N(ssupersParseExpressionsselfssetResultsNamesnameslistAllMatchessret(sselfsnameslistAllMatchessret((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssetResultsName,scCs@||g}x|iD]}|i|qW|igdS(N(s validateTracesselfstmpsexprssesvalidatescheckRecursion(sselfs validateTracestmpse((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysvalidate0s  ( s__name__s __module__s__doc__sFalses__init__s __getitem__sappendsleaveWhitespacesignores__str__s streamlinessetResultsNamesvalidate(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysParseExpressions    sAndcBsAtZdZedZedZdZdZdZRS(sRequires all given ParseExpressions to be found in the given order. Expressions may be separated by whitespace. May be constructed using the '+' operator. cCswtt|i||t|_x*|iD]}|i ot |_Pq,q,W|i |di |di |_ dS(Ni( ssupersAndsselfs__init__sexprsssavelistsTruesmayReturnEmptysesFalsessetWhitespaceCharss whiteCharssskipWhitespace(sselfsexprsssavelistse((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__;s     cCs|idi|||dt\}}xR|idD]C}|i|||\}}|p |i o||7}q6q6W||fSdS(Nis callPreParsei( sselfsexprss_parsesinstringslocs doActionssFalses resultlistses exprtokensskeys(sselfsinstringslocs doActionss exprtokenss resultlistse((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImplEs(cCs1t|tot|}n|i|SdS(N(s isinstancesothers basestringsLiteralsselfsappend(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__iadd__OscCsC||g}x.|iD]#}|i||i oPqqWdS(N(sparseElementListsselfssubRecCheckListsexprssescheckRecursionsmayReturnEmpty(sselfsparseElementListssubRecCheckListse((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyscheckRecursionTs    cCs~t|do |iSn|itjoHddigi}|iD]}|t |qE~d|_n|iSdS(Nsnames{s s}( shasattrsselfsnamesstrReprsNonesjoinsappends_[1]sexprsses_ustr(sselfses_[1]((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__[s  H( s__name__s __module__s__doc__sTrues__init__s parseImpls__iadd__scheckRecursions__str__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysAnd6s   sOrcBsAtZdZedZedZdZdZdZ RS(sRequires that at least one ParseExpression is found. If two expressions match, the expression that matches the longest string will be used. May be constructed using the '^' operator. cCsRtt|i||t|_x)|iD]}|iot |_Pq,q,WdS(N( ssupersOrsselfs__init__sexprsssavelistsFalsesmayReturnEmptysesTrue(sselfsexprsssavelistse((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__js    c Cs4d}d}x|iD]}y|i||} Wnt j o,}|i|jo|} |i}qqt j oJ}t ||jo.t |t ||i|} t |}qqX| |jo| }|}qqW|djo-|io | qt ||d|n|i|||SdS(Niis no defined alternatives to match(s maxExcLocs maxMatchLocsselfsexprssestryParsesinstringslocsloc2sParseExceptionserrs maxExceptions IndexErrorslenserrmsgs maxMatchExps_parses doActions( sselfsinstringslocs doActionss maxMatchExps maxMatchLocs maxExcLocseserrs maxExceptionsloc2((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImplrs,     cCs1t|tot|}n|i|SdS(N(s isinstancesothers basestringsLiteralsselfsappend(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__ixor__scCs~t|do |iSn|itjoHddigi}|iD]}|t |qE~d|_n|iSdS(Nsnames{s ^ s}( shasattrsselfsnamesstrReprsNonesjoinsappends_[1]sexprsses_ustr(sselfses_[1]((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__s  HcCs3||g}x|iD]}|i|qWdS(N(sparseElementListsselfssubRecCheckListsexprssescheckRecursion(sselfsparseElementListssubRecCheckListse((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyscheckRecursions ( s__name__s __module__s__doc__sFalses__init__sTrues parseImpls__ixor__s__str__scheckRecursion(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysOres     s MatchFirstcBsAtZdZedZedZdZdZdZ RS(sRequires that at least one ParseExpression is found. If two expressions match, the first one listed is the one that will match. May be constructed using the '|' operator. cCsftt|i|||o9t|_x6|iD]}|iot |_Pq3q3Wn t |_dS(N( ssupers MatchFirstsselfs__init__sexprsssavelistsFalsesmayReturnEmptysesTrue(sselfsexprsssavelistse((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s     c Csd}x|iD]}y|i|||}|SWqt j o,}|i|jo|}|i}qqt j oJ}t ||jo.t |t ||i|}t |}qqXqW|io |nt ||d|dS(Nis no defined alternatives to match(s maxExcLocsselfsexprsses_parsesinstringslocs doActionssretsParseExceptionserrs maxExceptions IndexErrorslenserrmsg( sselfsinstringslocs doActionss maxExcLocseserrs maxExceptionsret((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls"   cCs1t|tot|}n|i|SdS(N(s isinstancesothers basestringsLiteralsselfsappend(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__ior__scCs~t|do |iSn|itjoHddigi}|iD]}|t |qE~d|_n|iSdS(Nsnames{s | s}( shasattrsselfsnamesstrReprsNonesjoinsappends_[1]sexprsses_ustr(sselfses_[1]((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__s  HcCs3||g}x|iD]}|i|qWdS(N(sparseElementListsselfssubRecCheckListsexprssescheckRecursion(sselfsparseElementListssubRecCheckListse((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyscheckRecursions ( s__name__s __module__s__doc__sFalses__init__sTrues parseImpls__ior__s__str__scheckRecursion(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys MatchFirsts    sEachcBs8tZdZedZedZdZdZRS(sRequires all given ParseExpressions to be found, but in any order. Expressions may be separated by whitespace. May be constructed using the '&' operator. cCsytt|i||t|_x*|iD]}|i ot |_Pq,q,Wt|_ gi }|D]'}t |to||iqfqf~|_gi }|D]'}t |to||iqq~|_gi }|D]'}t |to||iqq~|_gi }|D].}t |tttf o||q)q)~|_|i|i7_dS(N(ssupersEachsselfs__init__sexprsssavelistsTruesmayReturnEmptysesFalsesskipWhitespacesappends_[1]s isinstancesOptionalsexprs optionalss ZeroOrMoresmultioptionalss OneOrMores multirequiredsrequired(sselfsexprsssavelistses_[1]((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s      AAAHcCsc|}|i}|i} g} t}x|o|| |i |i } g} x| D]}y|i||}Wn tj o| i|qUX| i|||jo|i|qU|| jo| i|qUqUWt| t| jo t}q)q)W|oPdigi}|D]}|t|q$~} t||d| ng}x6| D].}|i|||\}}|i|qmWtg}x|D]}h}xY|i"D]K}||i"jo2t||}|t||7}|||s  cCst|toY||ijoEtt|i||it j o|ii|idqeqnBtt|i||it j o|ii|idn|SdS(Ni( s isinstancesothersSuppresssselfs ignoreExprsssupersParseElementEnhancesignoresexprsNone(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysignoreEs#cCs<tt|i|itj o|iin|SdS(N(ssupersParseElementEnhancesselfs streamlinesexprsNone(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys streamlineQscCsZ||jot||gn||g}|itj o|ii|ndS(N(sselfsparseElementListsRecursiveGrammarExceptionssubRecCheckListsexprsNonescheckRecursion(sselfsparseElementListssubRecCheckList((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyscheckRecursionWs  cCsC||g}|itj o|ii|n|igdS(N(s validateTracesselfstmpsexprsNonesvalidatescheckRecursion(sselfs validateTracestmp((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysvalidate^scCsrytt|iSWnnX|itjo |itj o&d|iit |if|_n|iSdS(Ns%s:(%s)( ssupersParseElementEnhancesselfs__str__sstrReprsNonesexprs __class__s__name__s_ustr(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__ds &( s__name__s __module__s__doc__sFalses__init__sTrues parseImplsleaveWhitespacesignores streamlinescheckRecursionsvalidates__str__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysParseElementEnhance*s      s FollowedBycBs#tZdZdZedZRS(sLookahead matching of the given parse expression. FollowedBy does *not* advance the parsing position within the input string, it only verifies that the specified parse expression matches at the current position. FollowedBy always returns a null token list.cCs#tt|i|t|_dS(N(ssupers FollowedBysselfs__init__sexprsTruesmayReturnEmpty(sselfsexpr((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__tscCs!|ii|||gfSdS(N(sselfsexprstryParsesinstringsloc(sselfsinstringslocs doActions((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImplxs(s__name__s __module__s__doc__s__init__sTrues parseImpl(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys FollowedByos  sNotAnycBs,tZdZdZedZdZRS(sLookahead to disallow matching with the given parse expression. NotAny does *not* advance the parsing position within the input string, it only verifies that the specified parse expression does *not* match at the current position. Also, NotAny does *not* skip over leading whitespace. NotAny always returns a null token list. May be constructed using the '~' operator.cCs]tt|i|t|_t|_dt |i|_ t dd|i ||_ dS(NsFound unwanted token, si( ssupersNotAnysselfs__init__sexprsFalsesskipWhitespacesTruesmayReturnEmptys_ustrserrmsgsParseExceptions myException(sselfsexpr((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s   cCsby|ii||Wnttfj on#X|i}||_||_ ||gfSdS(N( sselfsexprstryParsesinstringslocsParseExceptions IndexErrors myExceptionsexcspstr(sselfsinstringslocs doActionssexc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls   cCsTt|do |iSn|itjodt|id|_n|iSdS(Nsnames~{s}(shasattrsselfsnamesstrReprsNones_ustrsexpr(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__s  (s__name__s __module__s__doc__s__init__sTrues parseImpls__str__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysNotAny}s   s ZeroOrMorecBs8tZdZdZedZdZedZRS(s<Optional repetition of zero or more of the given expression.cCs#tt|i|t|_dS(N(ssupers ZeroOrMoresselfs__init__sexprsTruesmayReturnEmpty(sselfsexpr((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__scCsg}y|ii|||dt\}}t|i dj}xonog|o|i ||}n|}|ii|||\}}|p |io||7}qEqLWWnttfj onX||fSdS(Ns callPreParseii(stokenssselfsexprs_parsesinstringslocs doActionssFalseslens ignoreExprsshasIgnoreExprssskipIgnorablessprelocs tmptokensskeyssParseExceptions IndexError(sselfsinstringslocs doActionssprelocstokensshasIgnoreExprss tmptokens((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls$cCsTt|do |iSn|itjodt|id|_n|iSdS(Nsnames[s]...(shasattrsselfsnamesstrReprsNones_ustrsexpr(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__s  cCs,tt|i||}t|_|SdS(N( ssupers ZeroOrMoresselfssetResultsNamesnameslistAllMatchessretsTrues saveAsList(sselfsnameslistAllMatchessret((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssetResultsNames ( s__name__s __module__s__doc__s__init__sTrues parseImpls__str__sFalsessetResultsName(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys ZeroOrMores    s OneOrMorecBs/tZdZedZdZedZRS(s2Repetition of one or more of the given expression.cCs|ii|||dt\}}yt|i dj}xonog|o|i ||}n|}|ii|||\}}|p |io||7}q?qFWWnttfj onX||fSdS(Ns callPreParseii(sselfsexprs_parsesinstringslocs doActionssFalsestokensslens ignoreExprsshasIgnoreExprssskipIgnorablessprelocs tmptokensskeyssParseExceptions IndexError(sselfsinstringslocs doActionssprelocstokensshasIgnoreExprss tmptokens((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls$cCsTt|do |iSn|itjodt|id|_n|iSdS(Nsnames{s}...(shasattrsselfsnamesstrReprsNones_ustrsexpr(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__s  cCs,tt|i||}t|_|SdS(N( ssupers OneOrMoresselfssetResultsNamesnameslistAllMatchessretsTrues saveAsList(sselfsnameslistAllMatchessret((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssetResultsNames (s__name__s __module__s__doc__sTrues parseImpls__str__sFalsessetResultsName(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys OneOrMores   s _NullTokencBstZdZdZRS(NcCstSdS(N(sFalse(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__bool__scCsdSdS(Ns((sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__s(s__name__s __module__s__bool__s__str__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys _NullTokens sOptionalcBs/tZdZedZedZdZRS(sOptional matching of the given expression. A default return string can also be specified, if the optional expression is not found. cCs2tt|i|dt||_t|_ dS(Nssavelist( ssupersOptionalsselfs__init__sexprssFalsesdefaults defaultValuesTruesmayReturnEmpty(sselfsexprssdefault((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__s cCsxy(|ii|||dt\}}Wn?tt fj o-|i t j o|i g}qjg}nX||fSdS(Ns callPreParse( sselfsexprs_parsesinstringslocs doActionssFalsestokenssParseExceptions IndexErrors defaultValues_optionalNotMatched(sselfsinstringslocs doActionsstokens((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpls( cCsTt|do |iSn|itjodt|id|_n|iSdS(Nsnames[s](shasattrsselfsnamesstrReprsNones_ustrsexpr(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__ s  (s__name__s __module__s__doc__s_optionalNotMatcheds__init__sTrues parseImpls__str__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysOptionals   sSkipTocBs)tZdZeedZedZRS(s*Token for skipping over all undefined text until the matched expression is found. If include is set to true, the matched expression is also consumed. The ignore argument is used to define grammars (typically quoted strings and comments) that might contain false matches. cCstt|i||tj o&|ii|_|ii|nt |_ t |_ ||_t |_dt|i|_tdd|i||_dS(NsNo match found for si(ssupersSkipTosselfs__init__sothersignoresNonesexprscopysTruesmayReturnEmptysFalses mayIndexErrorsincludes includeMatchsasLists_ustrserrmsgsParseExceptions myException(sselfsothersincludesignore((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__ s     c Cs|}t|}|i}x||joy|i||}|i||dt dt |i oQ|||!}|i||\}}|o|||gfSq||gfSn||||!gfSWqt tfj o|d7}qXqW|i} || _|| _| dS(Ns doActionss callPreParsei(slocsstartLocslensinstringsinstrlensselfsexprsskipIgnorabless_parsesFalses includeMatchsskipTextsmatsParseExceptions IndexErrors myExceptionsexcspstr( sselfsinstringslocs doActionssmatsexprsstartLocsinstrlensskipTextsexc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys parseImpl" s*        (s__name__s __module__s__doc__sFalsesNones__init__sTrues parseImpl(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysSkipTo s  sForwardcBsStZdZedZdZdZdZgdZdZ dZ RS(sForward declaration of an expression to be defined later - used for recursive grammars, such as algebraic infix notation. When the expression is known, it is assigned to the Forward variable using the '<<' operator. Note: take care when assigning to Forward not to overlook precedence of operators. Specifically, '|' has a lower precedence than '<<', so that:: fwdExpr << a | b | c will actually be evaluated as:: (fwdExpr << a) | b | c thereby leaving b and c out as parseable alternatives. It is recommended that you explicitly group the values inserted into the Forward:: fwdExpr << (a | b | c) cCs tt|i|dtdS(Nssavelist(ssupersForwardsselfs__init__sothersFalse(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__H scCsFt|tot|}n||_|i|_t|_|SdS(N( s isinstancesothers basestringsLiteralsselfsexprsmayReturnEmptysNonesstrRepr(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys __lshift__K s    cCst|_|SdS(N(sFalsesselfsskipWhitespace(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysleaveWhitespaceS s cCsA|i o.t|_|itj o|iiq9n|SdS(N(sselfs streamlinedsTruesexprsNones streamline(sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys streamlineW s   cCsT||jo6||g}|itj o|ii|qCn|igdS(N(sselfs validateTracestmpsexprsNonesvalidatescheckRecursion(sselfs validateTracestmp((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysvalidate^ s  cCsjt|do |iSnt|_z-|itj ot|i}nd}Wdt |_Xd|SdS(NsnamesNones Forward: ( shasattrsselfsnames_ForwardNoRecurses __class__sexprsNones_ustrs retStringsForward(sselfs retString((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__e s    cCs@|itj ott|iSnt}||>|SdS(N(sselfsexprsNonessupersForwardscopysret(sselfsret((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyscopys s  ( s__name__s __module__s__doc__sNones__init__s __lshift__sleaveWhitespaces streamlinesvalidates__str__scopy(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysForward: s       s_ForwardNoRecursecBstZdZRS(NcCsdSdS(Ns...((sself((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__str__| s(s__name__s __module__s__str__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys_ForwardNoRecurse{ ssTokenConvertercBstZdZedZRS(sDAbstract subclass of ParseExpression, for converting parsed results.cCs#tt|i|t|_dS(N(ssupersTokenConvertersselfs__init__sexprsFalses saveAsList(sselfsexprssavelist((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__ s(s__name__s __module__s__doc__sFalses__init__(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysTokenConverter s sUpcasecBs tZdZdZdZRS(s,Converter to upper case all matching tokens.cGs0tt|i|tidtdddS(NsAUpcase class is deprecated, use upcaseTokens parse action insteads stackleveli(ssupersUpcasesselfs__init__sargsswarningsswarnsDeprecationWarning(sselfsargs((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__ s cCstti|SdS(N(smapsstringsuppers tokenlist(sselfsinstringslocs tokenlist((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys postParse s(s__name__s __module__s__doc__s__init__s postParse(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysUpcase s  sCombinecBs/tZdZdedZdZdZRS(sConverter to concatenate all matching tokens to a single string. By default, the matching patterns must also be contiguous in the input string; this can be disabled by specifying 'adjacent=False' in the constructor. scCsJtt|i||o|in||_t|_||_ dS(N( ssupersCombinesselfs__init__sexprsadjacentsleaveWhitespacesTruesskipWhitespaces joinString(sselfsexprs joinStringsadjacent((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__ s   cCs<|ioti||ntt|i||SdS(N(sselfsadjacents ParserElementsignoresotherssupersCombine(sselfsother((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysignore s cCsw|i}|2|tdi|i|igd|i7}|i ot |i djo |gSn|SdS(Nssmodali( s tokenlistscopysretTokss ParseResultssjoins _asStringListsselfs joinStrings modalResultss resultsNameslenskeys(sselfsinstringslocs tokenlistsretToks((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys postParse s  1# (s__name__s __module__s__doc__sTrues__init__signores postParse(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysCombine s  sGroupcBs tZdZdZdZRS(swConverter to return the matched tokens as a list - useful for returning tokens of ZeroOrMore and OneOrMore expressions.cCs#tt|i|t|_dS(N(ssupersGroupsselfs__init__sexprsTrues saveAsList(sselfsexpr((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__ scCs |gSdS(N(s tokenlist(sselfsinstringslocs tokenlist((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys postParse s(s__name__s __module__s__doc__s__init__s postParse(((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysGroup s  sDictcBs tZdZdZdZRS(sConverter to return a repetitive expression as a list, but also as a dictionary. Each element can also be referenced using the first token in the expression as its key. Useful for tabular report scraping when the first column can be used as a item key. cCs#tt|i|t|_dS(N(ssupersDictsselfs__init__sexprssTrues saveAsList(sselfsexprs((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys__init__ scCs"xt|D]\}}t|di}t|djod|f||>entering %s(line: '%s', %d, %s) s<gSdS(Ni(sintstsns arrayExprsGroupsAndsexprsempty(ssslstsn(sexprs arrayExpr(sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyscountFieldParseAction s/N(sForwards arrayExprscountFieldParseActionsWordsnumsssetParseAction(sexprscountFieldParseActions arrayExpr((sexprs arrayExprsE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys countedArray s cCsSt|tj o |gSn|gjo|Snt|dt|dSdS(Nii(stypesLslists_flatten(sL((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys_flatten s   cs*td}|i|SdS(s3Helper to define an expression that is indirectly defined from the tokens matched in a previous expression, that is, it looks for a 'repeat' of a previous expression. For example:: first = Word(nums) second = matchPreviousLiteral(first) matchExpr = first + ":" + second will match "1:1", but not "1:2". Because this matches a previous literal, will also match the leading "1:1" in "1:10". If this is not desired, use matchPreviousExpr. Do *not* use with packrat parsing enabled. cs|ont|djo|d>qt|i}tgi}|D]}|t |qP~>n t >dS(Nii( stslensreps_flattensasListstflatsAndsappends_[1]sttsLiteralsEmpty(ssslststflats_[1]stt(srep(sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyscopyTokenToRepeater1 s 9N(sForwardsrepscopyTokenToRepeatersexprsaddParseAction(sexprsrepscopyTokenToRepeater((srepsE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysmatchPreviousLiteral$ s   cs>t|i}|>d}|i|SdS(sXHelper to define an expression that is indirectly defined from the tokens matched in a previous expression, that is, it looks for a 'repeat' of a previous expression. For example:: first = Word(nums) second = matchPreviousExpr(first) matchExpr = first + ":" + second will match "1:1", but not "1:2". Because this matches by expressions, will *not* match the leading "1:1" in "1:10"; the expressions are evaluated first, and then compared, so "1" is compared with "10". Do *not* use with packrat parsing enabled. cs/t|id}i|dS(Ncs9t|i}|jotdddndS(Nsi(s_flattenstsasLists theseTokenss matchTokenssParseException(ssslsts theseTokens(s matchTokens(sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysmustMatchTheseTokensP s (s_flattenstsasLists matchTokenssmustMatchTheseTokenssrepssetParseAction(ssslstsmustMatchTheseTokenss matchTokens(srep(s matchTokenssE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyscopyTokenToRepeaterN s N(sForwardsrepsexprscopyse2scopyTokenToRepeatersaddParseAction(sexprsrepscopyTokenToRepeaterse2((srepsE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysmatchPreviousExpr> s     cCsYx$dD]}|i|d|}qW|idd}|idd}t|SdS(Ns\^-]s\s s\ns s\t(scsssreplaces_ustr(sssc((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys_escapeRegexRangeCharsX s c Cs[|od}d}t}nd}d}t}t|tt fo |}n7t|t o|i }nt idtddd} x| t|d jo|| }xt|| d D]j\} }|||o|| | d =Pq|||o*|| | d =|i| ||}PqqW| d 7} qW| o|oyt|td i|joBtd d igi} |D]} | t| q~ Sn>td igi} |D]} | ti| q~ SWq&t id tddq&Xnt gi} |D]} | || q7~ SdS(snHelper to quickly define a set of alternative Literals, and makes sure to do longest-first testing when there is a conflict, regardless of the input order, but returns a MatchFirst for best performance. Parameters: - strs - a string of space-delimited literals, or a list of string literals - caseless - (default=False) - treat all literals as caseless - useRegex - (default=True) - as an optimization, will generate a Regex object; otherwise, will generate a MatchFirst object (if caseless=True, or if creating a Regex raises an exception) cCs|i|ijS(N(sasuppersb(sasb((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysm scCs|ii|iS(N(sbsuppers startswithsa(sasb((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysn scCs ||jS(N(sasb(sasb((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysq scCs |i|S(N(sbs startswithsa(sasb((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysr ss2Invalid argument to oneOf, expected string or lists stackleveliiiss[%s]s|s7Exception creating Regex for oneOf, building MatchFirstN(!scaselesssisequalsmaskssCaselessLiteralsparseElementClasssLiterals isinstancesstrssliststuplessymbolss basestringssplitswarningsswarns SyntaxWarningsislenscurs enumeratesjsothersinsertsuseRegexsjoinsRegexsappends_[1]ssyms_escapeRegexRangeCharssresescapes MatchFirst( sstrsscaselesssuseRegexsisequalssymbolsscursothersparseElementClasssmasksssymsisjs_[1]((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysoneOf` sL            "BA cCsttt||SdS(sHelper to easily and clearly define a dictionary by specifying the respective patterns for the key and value. Takes care of defining the Dict, ZeroOrMore, and Group tokens in the proper order. The key pattern can include delimiting markers or punctuation, as long as they are suppressed, thereby leaving the significant key text. The value pattern can include named results, so that the Dict results can include named token fields. N(sDicts ZeroOrMoresGroupskeysvalue(skeysvalue((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysdictOf ss\ssemptys lineStartslineEnds stringStarts stringEnds\[]-*.$+^?()~ sexacticCs |ddS(Nii(st(ssslst((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys ss\]s0xcCstt|ddS(Nii(sunichrsintst(ssslst((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys ss0s01234567cCstt|ddS(Nii(sunichrsintst(ssslst((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys sis-s[s^snegatesbodys]cCslt|toUdigi}tt|dt|ddD]}|t |qE~p|S(Nsii( s isinstancesps ParseResultssjoinsappends_[1]srangesordscsunichr(spscs_[1]((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys scCsVyDdigi}ti|iD]}|t|q#~SWn dSnXdS(sHelper to easily define string ranges for use in Word construction. Borrows syntax from regexp '[]' string range definitions:: srange("[0-9]") -> "0123456789" srange("[a-z]") -> "abcdefghijklmnopqrstuvwxyz" srange("[a-z$_]") -> "abcdefghijklmnopqrstuvwxyz$_" The input string must be enclosed in []'s, and the returned string is the expanded character set joined into a single string. The values enclosed in the []'s may be:: a single character an escaped character with a leading backslash (such as \- or \]) an escaped hex character with a leading '\0x' (\0x21, which is a '!' character) an escaped octal character with a leading '\0' (\041, which is a '!' character) a range of any of the above, separated by a dash ('a-z', etc.) any combination of the above ('aeiouy', 'a-zA-Z0-9_$', etc.) sN( sjoinsappends_[1]s_reBracketExprs parseStringsssbodysparts _expanded(sss_[1]spart((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyssrange s Dcsd}|SdS(sHelper method for common parse actions that simply return a literal value. Especially useful when used with transformString(). cs gSdS(N(sreplStr(sargs(sreplStr(sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys _replFunc sN(s _replFunc(sreplStrs _replFunc((sreplStrsE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys replaceWith s cCs|ddd!SdS(sHelper parse action for removing quotation marks from parsed quoted strings. To use, add this parse action to quoted string using:: quotedString.setParseAction( removeQuotes ) iiiN(st(ssslst((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys removeQuotes scCs5gi}|D]}|t|iq~SdS(s4Helper parse action to convert tokens to upper case.N(sappends_[1]ststtsstrsupper(ssslststts_[1]((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys upcaseTokens scCs5gi}|D]}|t|iq~SdS(s4Helper parse action to convert tokens to lower case.N(sappends_[1]ststtsstrslower(ssslststts_[1]((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysdowncaseTokens scCsDdk}|idd}z|id}Wd~X|||!SdS(Niisloc(sinspectsstacksfsf_localssendlocsssstartLoc(sssstartLocstsfsendlocsinspect((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pyskeepOriginalText s c CsBt|to|}t|d| }n |i}ttt d}|ot i i t} td|ttt|td| tddtgidi dtd }nd igi}tD]!}|d jo||qq~}ti i tt|B} td|ttt|i ttd| tddtgidi dtd }t d |d }|id d i|i"d di#i$i%d|}|idd i|i"d di#i$i%d|}||fSdS(sRInternal helper to construct opening and closing tag expressions, given a tag namescaselesss_-s ss>sssendsN(&s isinstancestagStrs basestringsresnamesKeywordsxmlsnamesWordsalphass alphanumss tagAttrNamesdblQuotedStringscopyssetParseActions removeQuotess tagAttrValuesSuppresssDicts ZeroOrMoresGroupsOptionalsFalsessetResultsNamesopenTagsjoinsappends_[1]s printablesscsprintablesLessRAbracks quotedStringsdowncaseTokenssCombinescloseTagsreplacestitlessplitssetName( stagStrsxmlscloseTags tagAttrNamesopenTagsprintablesLessRAbrackscs_[1]sresnames tagAttrValue((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys _makeTags s  jAoAAcCst|tSdS(sRHelper to construct opening and closing tag expressions for HTML, given a tag nameN(s _makeTagsstagStrsFalse(stagStr((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys makeHTMLTags scCst|tSdS(sQHelper to construct opening and closing tag expressions for XML, given a tag nameN(s _makeTagsstagStrsTrue(stagStr((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys makeXMLTags sc Cst}|td|tdB} xt|D]v\} }|t fd \}}}}tid| }|tijoY|djot| |} q|djot| t|| } qtdn|tijo|djoFt|t ot|}nt|i|t||} q|djot| t||} qtdn td|o| i|n|| | B>|} q4W|| >|Sd S( sHelper method for constructing grammars of expressions made up of operators working in a precedence hierarchy. Operators may be unary or binary, left- or right-associative. Parse actions can also be attached to operator expressions. Parameters: - baseExpr - expression representing the most basic element for the nested - opList - list of tuples, one for each operator precedence level in the expression grammar; each tuple is of the form (opExpr, numTerms, rightLeftAssoc, parseAction), where: - opExpr is the pyparsing expression for the operator; may also be a string, which will be converted to a Literal - numTerms is the number of terms for this operator (must be 1 or 2) - rightLeftAssoc is the indicator whether the operator is right or left associative, using the pyparsing-defined constants opAssoc.RIGHT and opAssoc.LEFT. - parseAction is the parse action to be associated with expressions matching this operator expression (the parse action tuple member may be omitted) s(s)isexpr%diis(operator must be unary (1) or binary (2)s2operator must indicate right or left associativityN(sForwardsretsbaseExprsSuppressslastExprs enumeratesopListsisoperDefsNonesopExprsaritysrightLeftAssocspassetNamesthisExprsopAssocsLEFTsGroups matchExprs OneOrMores ValueErrorsRIGHTs isinstancesOptionals FollowedBysexprssetParseAction( sbaseExprsopListsoperDefsopExprsretspasthisExprsaritysrightLeftAssocslastExprsis matchExpr((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysoperatorPrecedence s8      %     s#[\0xc0-\0xd6\0xd8-\0xf6\0xf8-\0xff]s[\0xa1-\0xbf\0xd7\0xf7]s "(?:[^"\n\r\\]|(?:"")|(?:\\.))*"s string enclosed in double quotess '(?:[^'\n\r\\]|(?:'')|(?:\\.))*'s string enclosed in single quotessI(?:"(?:[^"\n\r\\]|(?:"")|(?:\\.))*")|(?:'(?:[^'\n\r\\]|(?:'')|(?:\\.))*')s*quotedString using single or double quotess_s&sgt lt amp nbsp quotsentitys;s><& 'cCs"|itjo t|iptS(N(stsentitys_htmlEntityMapsNone(st((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pysV ss/\*(?:[^*]*\*+)+?/sC style commentss.*s \/\/(\\\n|.)*s // comments:/(?:\*(?:[^*]*\*+)+?/|/[^\n]*(?:\n[^\n]*)*?(?:(?s tokens = stokens.columns =stokens.tables =sSQLs is^(s teststrings simpleSQLs parseStringstokenssasLists tokenlistscolumnsstablessasXMLsTruesParseExceptionserrslinescolumn(s teststringserrstokenss tokenlist((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pystestk s     sselectsfroms_$s.scombines*scolumnsstablessSELECT * from XYZZY, ABCsselect * from SYS.XYZZYsSelect A from Sys.dualsSelect AA,BB,CC from Sys.dualsSelect A, B, C from Sys.dualsXelect A, B, C from Sys.dualsSelect A, B, C frox Sys.dualsSelectsSelect ^^^ frox Sys.duals'Select A, B, C from Sys.dual, Table2 (s__doc__s __version__s__versionTime__s __author__sstringscopyssysswarningssres sre_constantssxml.sax.saxutilssxmls_ustrs _str2dictsobjects _Constantss lowercases uppercasesalphassdigitssnumsshexnumss alphanumss ExceptionsParseBaseExceptionsParseExceptionsParseFatalExceptionsReparseExceptionsRecursiveGrammarExceptions ParseResultsscolslinenoslines_defaultStartDebugActions_defaultSuccessDebugActions_defaultExceptionDebugActionsnullDebugActions ParserElementsTokensEmptysNoMatchsLiteralsKeywordsCaselessLiteralsCaselessKeywordsWordsRegexs QuotedStrings CharsNotInsWhites PositionTokens GoToColumns LineStartsLineEnds StringStarts StringEndsParseExpressionsAndsOrs MatchFirstsEachsParseElementEnhances FollowedBysNotAnys ZeroOrMores OneOrMores _NullTokens_optionalNotMatchedsOptionalsSkipTosForwards_ForwardNoRecursesTokenConvertersUpcasesCombinesGroupsDictsSuppresssOnlyOncestraceParseActionsFalses delimitedLists countedArrays_flattensmatchPreviousLiteralsmatchPreviousExprs_escapeRegexRangeCharssTruesoneOfsdictOfs_bslashsjoinsappends_[1]s printablescs whitespaces printablesssetNamesemptys lineStartslineEnds stringStarts stringEndssetParseActions _escapedPuncs_printables_less_backslashs_escapedHexChars_escapedOctChars _singleChars _charRangessetResultsNames_reBracketExprs _expandedssranges replaceWiths removeQuotess upcaseTokenssdowncaseTokensskeepOriginalTexts _makeTagss makeHTMLTagss makeXMLTagssopAssocsLEFTsRIGHTsoperatorPrecedences alphas8bitspunc8bitsdblQuotedStringssglQuotedStrings quotedStrings anyOpenTags anyCloseTagscommonHTMLEntitysdictszipssplits_htmlEntityMapsreplaceHTMLEntitys cStyleComments htmlCommentsleaveWhitespaces restOfLinesdblSlashCommentscppStyleCommentsjavaStyleCommentspythonStyleComments _noncommas streamlines _commasepitemscommaSeparatedLists__name__stests selectTokens fromTokensidents columnNamescolumnNameLists tableNames tableNameLists simpleSQL(s removeQuotess ZeroOrMoresReparseExceptions alphanumssNoMatchs_bslashs _escapedPuncs_escapedOctCharsForwardsWhitesParseBaseExceptionsParseElementEnhancesxmls_defaultStartDebugActions _charRanges delimitedListslineEndsOptionalsdictOfs makeHTMLTagsscommaSeparatedListsstringsKeywords _NullTokens stringStarts columnNamesTokensUpcases _makeTagss _ConstantssLineEnds_reBracketExprsOrsoneOfs GoToColumns ParserElements_flattenspythonStyleComments_ForwardNoRecurses__versionTime__s _str2dicts tableNameLists_ustrs tableNamesmatchPreviousExprsRecursiveGrammarExceptionsParseFatalExceptions _noncommasdowncaseTokenssSuppresssnumss _commasepitems_defaultSuccessDebugActionsreslinenos PositionTokensWordsOnlyOnces replaceWiths alphas8bits_escapeRegexRangeCharssParseExceptionsEachs _singleCharsTokenConvertersalphasscsParseExpressionsopAssocssglQuotedStrings stringEnds anyCloseTagscppStyleCommentskeepOriginalTextscolsRegexsGroupsNotAnysLiterals StringEndsCombines quotedStringsEmptystraceParseActions sre_constantss ParseResultss lineStarts__doc__semptys_htmlEntityMaps FollowedBys __author__sSkipTos anyOpenTagslinescopysAndsidents _expandeds OneOrMoresoperatorPrecedencesmatchPreviousLiterals cStyleComments upcaseTokenssCaselessKeywords fromTokenspunc8bitsjavaStyleComments StringStartssranges makeXMLTagss MatchFirsts_defaultExceptionDebugActionsnullDebugActionsDictsdblQuotedStringscolumnNameListsCaselessLiterals selectTokens_printables_less_backslashscommonHTMLEntitysdblSlashComments CharsNotInstests __version__s htmlCommentswarningss QuotedStringssyss countedArrays restOfLines_optionalNotMatcheds_escapedHexCharshexnumss simpleSQLs_[1]sreplaceHTMLEntitys printabless LineStart((sE/mnt/gmirror/ports/devel/py-parsing/work/pyparsing-1.4.5/pyparsing.pys?s."          ( (      !   >u9tB:\/<9PE%'" *A         ; G!A,+:             4  #  AJ%    (