[Python-modules-commits] [pyparsing] 01/03: Import pyparsing_2.1.10+dfsg1.orig.tar.gz
Barry Warsaw
barry at moszumanska.debian.org
Tue Oct 18 14:50:46 UTC 2016
This is an automated email from the git hooks/post-receive script.
barry pushed a commit to branch master
in repository pyparsing.
commit ee3a1b6b46791fcbc691119edd3548ef6c30c35f
Author: Barry Warsaw <barry at python.org>
Date: Tue Oct 18 10:34:44 2016 -0400
Import pyparsing_2.1.10+dfsg1.orig.tar.gz
---
CHANGES | 20 +
PKG-INFO | 2 +-
examples/cpp_enum_parser.py | 2 +-
examples/idlParse.py | 73 +-
examples/lucene_grammar.py | 41 +-
examples/oc.py | 107 +-
examples/select_parser.py | 6 +-
examples/simpleSQL.py | 29 +-
htmldoc/api-objects.txt | 4 +-
htmldoc/class-tree.html | 2 +-
htmldoc/help.html | 2 +-
htmldoc/identifier-index.html | 72 +-
htmldoc/module-tree.html | 2 +-
htmldoc/pyparsing-module.html | 12 +-
htmldoc/pyparsing-pysrc.html | 7030 ++++++++++----------
htmldoc/pyparsing.And-class.html | 2 +-
htmldoc/pyparsing.CaselessKeyword-class.html | 2 +-
htmldoc/pyparsing.CaselessLiteral-class.html | 2 +-
htmldoc/pyparsing.CharsNotIn-class.html | 2 +-
htmldoc/pyparsing.CloseMatch-class.html | 2 +-
htmldoc/pyparsing.Combine-class.html | 2 +-
htmldoc/pyparsing.Dict-class.html | 2 +-
htmldoc/pyparsing.Each-class.html | 2 +-
htmldoc/pyparsing.Empty-class.html | 2 +-
htmldoc/pyparsing.FollowedBy-class.html | 2 +-
htmldoc/pyparsing.Forward-class.html | 2 +-
htmldoc/pyparsing.GoToColumn-class.html | 2 +-
htmldoc/pyparsing.Group-class.html | 2 +-
htmldoc/pyparsing.Keyword-class.html | 2 +-
htmldoc/pyparsing.LineEnd-class.html | 2 +-
htmldoc/pyparsing.LineStart-class.html | 61 +-
htmldoc/pyparsing.Literal-class.html | 2 +-
htmldoc/pyparsing.MatchFirst-class.html | 2 +-
htmldoc/pyparsing.NoMatch-class.html | 2 +-
htmldoc/pyparsing.NotAny-class.html | 2 +-
htmldoc/pyparsing.OneOrMore-class.html | 66 +-
htmldoc/pyparsing.OnlyOnce-class.html | 2 +-
htmldoc/pyparsing.Optional-class.html | 2 +-
htmldoc/pyparsing.Or-class.html | 2 +-
htmldoc/pyparsing.ParseBaseException-class.html | 2 +-
htmldoc/pyparsing.ParseElementEnhance-class.html | 2 +-
htmldoc/pyparsing.ParseException-class.html | 2 +-
htmldoc/pyparsing.ParseExpression-class.html | 2 +-
htmldoc/pyparsing.ParseFatalException-class.html | 2 +-
htmldoc/pyparsing.ParseResults-class.html | 2 +-
htmldoc/pyparsing.ParseSyntaxException-class.html | 2 +-
htmldoc/pyparsing.ParserElement-class.html | 11 +-
htmldoc/pyparsing.QuotedString-class.html | 2 +-
.../pyparsing.RecursiveGrammarException-class.html | 2 +-
htmldoc/pyparsing.Regex-class.html | 2 +-
htmldoc/pyparsing.Regex.compiledREtype-class.html | 2 +-
htmldoc/pyparsing.SkipTo-class.html | 2 +-
htmldoc/pyparsing.StringEnd-class.html | 2 +-
htmldoc/pyparsing.StringStart-class.html | 2 +-
htmldoc/pyparsing.Suppress-class.html | 2 +-
htmldoc/pyparsing.Token-class.html | 2 +-
htmldoc/pyparsing.TokenConverter-class.html | 2 +-
htmldoc/pyparsing.White-class.html | 2 +-
htmldoc/pyparsing.Word-class.html | 2 +-
htmldoc/pyparsing.WordEnd-class.html | 2 +-
htmldoc/pyparsing.WordStart-class.html | 2 +-
htmldoc/pyparsing.ZeroOrMore-class.html | 2 +-
htmldoc/pyparsing.pyparsing_common-class.html | 2 +-
pyparsing.egg-info/PKG-INFO | 2 +-
pyparsing.py | 85 +-
65 files changed, 3804 insertions(+), 3915 deletions(-)
diff --git a/CHANGES b/CHANGES
index 5689d53..d6dee6d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,26 @@
Change Log
==========
+Version 2.1.10 - October, 2016
+-------------------------------
+- Fixed bug in reporting named parse results for ZeroOrMore
+ expressions, thanks Ethan Nash for reporting this!
+
+- Fixed behavior of LineStart to be much more predictable.
+ LineStart can now be used to detect if the next parse position
+ is col 1, factoring in potential leading whitespace (which would
+ cause LineStart to fail). Also fixed a bug in col, which is
+ used in LineStart, where '\n's were erroneously considered to
+ be column 1.
+
+- Added support for multiline test strings in runTests.
+
+- Fixed bug in ParseResults.dump when keys were not strings.
+ Also changed display of string values to show them in quotes,
+ to help distinguish parsed numeric strings from parsed integers
+ that have been converted to Python ints.
+
+
Version 2.1.9 - September, 2016
-------------------------------
- Added class CloseMatch, a variation on Literal which matches
diff --git a/PKG-INFO b/PKG-INFO
index b0e19f8..a423144 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pyparsing
-Version: 2.1.9
+Version: 2.1.10
Summary: Python parsing module
Home-page: http://pyparsing.wikispaces.com/
Author: Paul McGuire
diff --git a/examples/cpp_enum_parser.py b/examples/cpp_enum_parser.py
index cbd0932..cd8f525 100644
--- a/examples/cpp_enum_parser.py
+++ b/examples/cpp_enum_parser.py
@@ -1,7 +1,7 @@
#
# cpp_enum_parser.py
#
-# Posted by Mark Tolenen on comp.lang.python in August, 2009,
+# Posted by Mark Tolonen on comp.lang.python in August, 2009,
# Used with permission.
#
# Parser that scans through C or C++ code for enum definitions, and
diff --git a/examples/idlParse.py b/examples/idlParse.py
index dd556e5..b94bac4 100644
--- a/examples/idlParse.py
+++ b/examples/idlParse.py
@@ -19,76 +19,27 @@ def CORBA_IDL_BNF():
if not bnf:
# punctuation
- colon = Literal(":")
- lbrace = Literal("{")
- rbrace = Literal("}")
- lbrack = Literal("[")
- rbrack = Literal("]")
- lparen = Literal("(")
- rparen = Literal(")")
- equals = Literal("=")
- comma = Literal(",")
- dot = Literal(".")
- slash = Literal("/")
- bslash = Literal("\\")
- star = Literal("*")
- semi = Literal(";")
- langle = Literal("<")
- rangle = Literal(">")
+ (colon,lbrace,rbrace,lbrack,rbrack,lparen,rparen,
+ equals,comma,dot,slash,bslash,star,semi,langle,rangle) = map(Literal, r":{}[]()=,./\*;<>")
# keywords
- any_ = Keyword("any")
- attribute_ = Keyword("attribute")
- boolean_ = Keyword("boolean")
- case_ = Keyword("case")
- char_ = Keyword("char")
- const_ = Keyword("const")
- context_ = Keyword("context")
- default_ = Keyword("default")
- double_ = Keyword("double")
- enum_ = Keyword("enum")
- exception_ = Keyword("exception")
- false_ = Keyword("FALSE")
- fixed_ = Keyword("fixed")
- float_ = Keyword("float")
- inout_ = Keyword("inout")
- interface_ = Keyword("interface")
- in_ = Keyword("in")
- long_ = Keyword("long")
- module_ = Keyword("module")
- object_ = Keyword("Object")
- octet_ = Keyword("octet")
- oneway_ = Keyword("oneway")
- out_ = Keyword("out")
- raises_ = Keyword("raises")
- readonly_ = Keyword("readonly")
- sequence_ = Keyword("sequence")
- short_ = Keyword("short")
- string_ = Keyword("string")
- struct_ = Keyword("struct")
- switch_ = Keyword("switch")
- true_ = Keyword("TRUE")
- typedef_ = Keyword("typedef")
- unsigned_ = Keyword("unsigned")
- union_ = Keyword("union")
- void_ = Keyword("void")
- wchar_ = Keyword("wchar")
- wstring_ = Keyword("wstring")
+ (any_, attribute_, boolean_, case_, char_, const_, context_, default_, double_, enum_, exception_,
+ FALSE_, fixed_, float_, inout_, interface_, in_, long_, module_, Object_, octet_, oneway_, out_, raises_,
+ readonly_, sequence_, short_, string_, struct_, switch_, TRUE_, typedef_, unsigned_, union_, void_,
+ wchar_, wstring_) = map(Keyword, """any attribute boolean case char const context
+ default double enum exception FALSE fixed float inout interface in long module
+ Object octet oneway out raises readonly sequence short string struct switch
+ TRUE typedef unsigned union void wchar wstring""".split())
identifier = Word( alphas, alphanums + "_" ).setName("identifier")
- #~ real = Combine( Word(nums+"+-", nums) + dot + Optional( Word(nums) )
- #~ + Optional( CaselessLiteral("E") + Word(nums+"+-",nums) ) )
real = Regex(r"[+-]?\d+\.\d*([Ee][+-]?\d+)?").setName("real")
- #~ integer = ( Combine( CaselessLiteral("0x") + Word( nums+"abcdefABCDEF" ) ) |
- #~ Word( nums+"+-", nums ) ).setName("int")
integer = Regex(r"0x[0-9a-fA-F]+|[+-]?\d+").setName("int")
udTypeName = delimitedList( identifier, "::", combine=True ).setName("udType")
- # have to use longest match for type, in case a user-defined type name starts with a keyword type, like "stringSeq" or "longArray"
- typeName = ( any_ ^ boolean_ ^ char_ ^ double_ ^ fixed_ ^
- float_ ^ long_ ^ octet_ ^ short_ ^ string_ ^
- wchar_ ^ wstring_ ^ udTypeName ).setName("type")
+ typeName = ( any_ | boolean_ | char_ | double_ | fixed_ |
+ float_ | long_ | octet_ | short_ | string_ |
+ wchar_ | wstring_ | udTypeName ).setName("type")
sequenceDef = Forward().setName("seq")
sequenceDef << Group( sequence_ + langle + ( sequenceDef | typeName ) + rangle )
typeDef = sequenceDef | ( typeName + Optional( lbrack + integer + rbrack ) )
diff --git a/examples/lucene_grammar.py b/examples/lucene_grammar.py
index 179f25e..6e404d8 100644
--- a/examples/lucene_grammar.py
+++ b/examples/lucene_grammar.py
@@ -8,16 +8,14 @@
#
from pyparsing import (Literal, CaselessKeyword, Forward, Regex, QuotedString, Suppress,
- Optional, Group, FollowedBy, infixNotation, opAssoc, ParseException, ParserElement)
+ Optional, Group, FollowedBy, infixNotation, opAssoc, ParseException, ParserElement,
+ pyparsing_common)
ParserElement.enablePackrat()
COLON,LBRACK,RBRACK,LBRACE,RBRACE,TILDE,CARAT = map(Literal,":[]{}~^")
LPAR,RPAR = map(Suppress,"()")
-and_ = CaselessKeyword("AND")
-or_ = CaselessKeyword("OR")
-not_ = CaselessKeyword("NOT")
-to_ = CaselessKeyword("TO")
-keyword = and_ | or_ | not_
+and_, or_, not_, to_ = map(CaselessKeyword, "AND OR NOT TO".split())
+keyword = and_ | or_ | not_ | to_
expression = Forward()
@@ -32,11 +30,11 @@ required_modifier = Literal("+")("required")
prohibit_modifier = Literal("-")("prohibit")
integer = Regex(r"\d+").setParseAction(lambda t:int(t[0]))
proximity_modifier = Group(TILDE + integer("proximity"))
-number = Regex(r'\d+(\.\d+)?').setParseAction(lambda t:float(t[0]))
+number = pyparsing_common.fnumber()
fuzzy_modifier = TILDE + Optional(number, default=0.5)("fuzzy")
term = Forward()
-field_name = valid_word.copy().setName("fieldname")
+field_name = valid_word().setName("fieldname")
incl_range_search = Group(LBRACK + term("lower") + to_ + term("upper") + RBRACK)
excl_range_search = Group(LBRACE + term("lower") + to_ + term("upper") + RBRACE)
range_search = incl_range_search("incl_range") | excl_range_search("excl_range")
@@ -52,9 +50,9 @@ term.setParseAction(lambda t:[t] if 'field' in t or 'boost' in t else None)
expression << infixNotation(term,
[
(required_modifier | prohibit_modifier, 1, opAssoc.RIGHT),
- ((not_ | '!').setParseAction(lambda:"NOT"), 1, opAssoc.RIGHT),
- ((and_ | '&&').setParseAction(lambda:"AND"), 2, opAssoc.LEFT),
- (Optional(or_ | '||').setParseAction(lambda:"OR"), 2, opAssoc.LEFT),
+ ((not_ | '!').setParseAction(lambda: "NOT"), 1, opAssoc.RIGHT),
+ ((and_ | '&&').setParseAction(lambda: "AND"), 2, opAssoc.LEFT),
+ (Optional(or_ | '||').setParseAction(lambda: "OR"), 2, opAssoc.LEFT),
])
# test strings taken from grammar description doc, and TestQueryParser.java
@@ -265,7 +263,7 @@ tests = r"""
(*:*)
+*:* -*:*
the wizard of ozzy
- """.splitlines()
+ """
failtests = r"""
field:term:with:colon some more terms
@@ -313,18 +311,9 @@ failtests = r"""
a\:b\+c\~
a:b\c~
[ a\ TO a* ]
- """.splitlines()
-
-allpass = True
-for t in [_f for _f in map(str.strip,tests) if _f]:
- print(t)
- try:
- #~ expression.parseString(t,parseAll=True)
- print(expression.parseString(t,parseAll=True))
- except ParseException as pe:
- print(t)
- print(pe)
- allpass = False
- print('')
+ """
+
+success1, _ = expression.runTests(tests)
+success2, _ = expression.runTests(failtests, failureTests=True)
-print(("FAIL", "OK")[allpass])
+print(("FAIL", "OK")[success1 and success2])
diff --git a/examples/oc.py b/examples/oc.py
index 77ea195..42b9d48 100644
--- a/examples/oc.py
+++ b/examples/oc.py
@@ -9,85 +9,78 @@ http://www.ioccc.org/1996/august.hint
The following is a description of the OC grammar:
- OC grammar
- ==========
- Terminals are in quotes, () is used for bracketing.
+ OC grammar
+ ==========
+ Terminals are in quotes, () is used for bracketing.
- program: decl*
+ program: decl*
- decl: vardecl
- fundecl
+ decl: vardecl
+ fundecl
- vardecl: type NAME ;
- type NAME "[" INT "]" ;
+ vardecl: type NAME ;
+ type NAME "[" INT "]" ;
- fundecl: type NAME "(" args ")" "{" body "}"
+ fundecl: type NAME "(" args ")" "{" body "}"
- args: /*empty*/
- ( arg "," )* arg
+ args: /*empty*/
+ ( arg "," )* arg
- arg: type NAME
+ arg: type NAME
- body: vardecl* stmt*
+ body: vardecl* stmt*
- stmt: ifstmt
- whilestmt
- dowhilestmt
- "return" expr ";"
- expr ";"
- "{" stmt* "}"
- ";"
+ stmt: ifstmt
+ whilestmt
+ dowhilestmt
+ "return" expr ";"
+ expr ";"
+ "{" stmt* "}"
+ ";"
- ifstmt: "if" "(" expr ")" stmt
- "if" "(" expr ")" stmt "else" stmt
+ ifstmt: "if" "(" expr ")" stmt
+ "if" "(" expr ")" stmt "else" stmt
- whilestmt: "while" "(" expr ")" stmt
+ whilestmt: "while" "(" expr ")" stmt
- dowhilestmt: "do" stmt "while" "(" expr ")" ";"
+ dowhilestmt: "do" stmt "while" "(" expr ")" ";"
- expr: expr binop expr
- unop expr
- expr "[" expr "]"
- "(" expr ")"
- expr "(" exprs ")"
- NAME
- INT
- CHAR
- STRING
+ expr: expr binop expr
+ unop expr
+ expr "[" expr "]"
+ "(" expr ")"
+ expr "(" exprs ")"
+ NAME
+ INT
+ CHAR
+ STRING
- exprs: /*empty*/
- (expr ",")* expr
+ exprs: /*empty*/
+ (expr ",")* expr
- binop: "+" | "-" | "*" | "/" | "%" |
- "=" |
- "<" | "==" | "!="
+ binop: "+" | "-" | "*" | "/" | "%" |
+ "=" |
+ "<" | "==" | "!="
- unop: "!" | "-" | "*"
+ unop: "!" | "-" | "*"
- type: "int" stars
- "char" stars
+ type: "int" stars
+ "char" stars
- stars: "*"*
+ stars: "*"*
"""
from pyparsing import *
LPAR,RPAR,LBRACK,RBRACK,LBRACE,RBRACE,SEMI,COMMA = map(Suppress, "()[]{};,")
-INT = Keyword("int")
-CHAR = Keyword("char")
-WHILE = Keyword("while")
-DO = Keyword("do")
-IF = Keyword("if")
-ELSE = Keyword("else")
-RETURN = Keyword("return")
+INT, CHAR, WHILE, DO, IF, ELSE, RETURN = map(Keyword,
+ "int char while do if else return".split())
NAME = Word(alphas+"_", alphanums+"_")
integer = Regex(r"[+-]?\d+")
char = Regex(r"'.'")
string_ = dblQuotedString
-INT = Keyword("int")
-CHAR = Keyword("char")
TYPE = Group((INT | CHAR) + ZeroOrMore("*"))
expr = Forward()
@@ -148,23 +141,23 @@ int
putstr(char *s)
{
while(*s)
- putchar(*s++);
+ putchar(*s++);
}
int
fac(int n)
{
if (n == 0)
- return 1;
+ return 1;
else
- return n*fac(n-1);
+ return n*fac(n-1);
}
int
putn(int n)
{
if (9 < n)
- putn(n / 10);
+ putn(n / 10);
putchar((n%10) + '0');
}
@@ -184,10 +177,10 @@ main()
int i;
i = 0;
while(i < 10)
- facpr(i++);
+ facpr(i++);
return 0;
}
"""
-ast = program.parseString(test,parseAll=True)
+ast = program.parseString(test, parseAll=True)
ast.pprint()
diff --git a/examples/select_parser.py b/examples/select_parser.py
index 5b823a4..f969f02 100644
--- a/examples/select_parser.py
+++ b/examples/select_parser.py
@@ -56,7 +56,7 @@ type_name = oneOf("TEXT REAL INTEGER BLOB NULL")
expr_term = (
CAST + LPAR + expr + AS + type_name + RPAR |
EXISTS + LPAR + select_stmt + RPAR |
- function_name.setName("function_name") + LPAR + Optional(delimitedList(expr)) + RPAR |
+ function_name.setName("function_name") + LPAR + Optional("*" | delimitedList(expr)) + RPAR |
literal_value |
bind_parameter |
Combine(identifier+('.'+identifier)*(0,2)).setName("ident")
@@ -88,8 +88,8 @@ join_constraint = Group(Optional(ON + expr | USING + LPAR + Group(delimitedList(
join_op = COMMA | Group(Optional(NATURAL) + Optional(INNER | CROSS | LEFT + OUTER | LEFT | OUTER) + JOIN)
join_source = Forward()
-single_source = ( (Group(database_name("database") + "." + table_name("table")) | table_name("table")) +
- Optional(Optional(AS) + table_alias("table_alias")) +
+single_source = ( (Group(database_name("database") + "." + table_name("table*")) | table_name("table*")) +
+ Optional(Optional(AS) + table_alias("table_alias*")) +
Optional(INDEXED + BY + index_name("name") | NOT + INDEXED)("index") |
(LPAR + select_stmt + RPAR + Optional(Optional(AS) + table_alias)) |
(LPAR + join_source + RPAR) )
diff --git a/examples/simpleSQL.py b/examples/simpleSQL.py
index 7bbd4cd..6cde6ce 100644
--- a/examples/simpleSQL.py
+++ b/examples/simpleSQL.py
@@ -7,33 +7,26 @@
#
from pyparsing import Literal, CaselessLiteral, Word, delimitedList, Optional, \
Combine, Group, alphas, nums, alphanums, ParseException, Forward, oneOf, quotedString, \
- ZeroOrMore, restOfLine, Keyword, upcaseTokens
+ ZeroOrMore, restOfLine, CaselessKeyword, pyparsing_common
# define SQL tokens
selectStmt = Forward()
-SELECT = Keyword("select", caseless=True)
-FROM = Keyword("from", caseless=True)
-WHERE = Keyword("where", caseless=True)
+SELECT, FROM, WHERE = map(CaselessKeyword, "select from where".split())
ident = Word( alphas, alphanums + "_$" ).setName("identifier")
-columnName = ( delimitedList( ident, ".", combine=True ) ).setName("column name").addParseAction(upcaseTokens)
-columnNameList = Group( delimitedList( columnName ) )
-tableName = ( delimitedList( ident, ".", combine=True ) ).setName("table name").addParseAction(upcaseTokens)
-tableNameList = Group( delimitedList( tableName ) )
+columnName = delimitedList(ident, ".", combine=True).setName("column name")
+columnName.addParseAction(pyparsing_common.upcaseTokens)
+columnNameList = Group( delimitedList(columnName))
+tableName = delimitedList(ident, ".", combine=True).setName("table name")
+tableName.addParseAction(pyparsing_common.upcaseTokens)
+tableNameList = Group(delimitedList(tableName))
whereExpression = Forward()
-and_ = Keyword("and", caseless=True)
-or_ = Keyword("or", caseless=True)
-in_ = Keyword("in", caseless=True)
+and_, or_, in_ = map(CaselessKeyword, "and or in".split())
-E = CaselessLiteral("E")
binop = oneOf("= != < > >= <= eq ne lt le gt ge", caseless=True)
-arithSign = Word("+-",exact=1)
-realNum = Combine( Optional(arithSign) + ( Word( nums ) + "." + Optional( Word(nums) ) |
- ( "." + Word(nums) ) ) +
- Optional( E + Optional(arithSign) + Word(nums) ) )
-intNum = Combine( Optional(arithSign) + Word( nums ) +
- Optional( E + Optional("+") + Word(nums) ) )
+realNum = pyparsing_common.real()
+intNum = pyparsing_common.signed_integer()
columnRval = realNum | intNum | quotedString | columnName # need to add support for alg expressions
whereCondition = Group(
diff --git a/htmldoc/api-objects.txt b/htmldoc/api-objects.txt
index 2e15096..52e9517 100644
--- a/htmldoc/api-objects.txt
+++ b/htmldoc/api-objects.txt
@@ -1190,7 +1190,7 @@ pyparsing.ParserElement.DEFAULT_WHITE_CHARS pyparsing.ParserElement-class.html#D
pyparsing.ParserElement.parseWithTabs pyparsing.ParserElement-class.html#parseWithTabs
pyparsing.ParserElement.searchString pyparsing.ParserElement-class.html#searchString
pyparsing.ParserElement.scanString pyparsing.ParserElement-class.html#scanString
-pyparsing.LineStart.preParse pyparsing.LineStart-class.html#preParse
+pyparsing.ParserElement.preParse pyparsing.ParserElement-class.html#preParse
pyparsing.ParserElement.setDebug pyparsing.ParserElement-class.html#setDebug
pyparsing.ParserElement.__rne__ pyparsing.ParserElement-class.html#__rne__
pyparsing.ParserElement.setBreak pyparsing.ParserElement-class.html#setBreak
@@ -1523,7 +1523,7 @@ pyparsing.ParserElement.matches pyparsing.ParserElement-class.html#matches
pyparsing.ParserElement.suppress pyparsing.ParserElement-class.html#suppress
pyparsing.ParserElement.enablePackrat pyparsing.ParserElement-class.html#enablePackrat
pyparsing.ParserElement.packrat_cache_stats pyparsing.ParserElement-class.html#packrat_cache_stats
-pyparsing.OneOrMore.setResultsName pyparsing.OneOrMore-class.html#setResultsName
+pyparsing.ParserElement.setResultsName pyparsing.ParserElement-class.html#setResultsName
pyparsing.ParserElement.parseFile pyparsing.ParserElement-class.html#parseFile
pyparsing.ParserElement.addCondition pyparsing.ParserElement-class.html#addCondition
pyparsing.ParseElementEnhance.streamline pyparsing.ParseElementEnhance-class.html#streamline
diff --git a/htmldoc/class-tree.html b/htmldoc/class-tree.html
index 12b4ef4..0b2b4eb 100644
--- a/htmldoc/class-tree.html
+++ b/htmldoc/class-tree.html
@@ -317,7 +317,7 @@
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Sat Sep 10 10:21:41 2016
+ Generated by Epydoc 3.0.1 on Thu Oct 06 20:32:29 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/htmldoc/help.html b/htmldoc/help.html
index 9168067..5fec08c 100644
--- a/htmldoc/help.html
+++ b/htmldoc/help.html
@@ -254,7 +254,7 @@ page was last updated. </p>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Sat Sep 10 10:21:41 2016
+ Generated by Epydoc 3.0.1 on Thu Oct 06 20:32:29 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/htmldoc/identifier-index.html b/htmldoc/identifier-index.html
index 7c77f60..5eccd39 100644
--- a/htmldoc/identifier-index.html
+++ b/htmldoc/identifier-index.html
@@ -633,23 +633,23 @@
<span class="index-where">(in <a href="pyparsing.CharsNotIn-class.html">CharsNotIn</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.StringStart-class.html#parseImpl">parseImpl()</a><br />
<span class="index-where">(in <a href="pyparsing.StringStart-class.html">StringStart</a>)</span></td>
-<td width="33%" class="link-index"><a href="pyparsing.LineStart-class.html#preParse">preParse()</a><br />
-<span class="index-where">(in <a href="pyparsing.LineStart-class.html">LineStart</a>)</span></td>
+<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#preParse">preParse()</a><br />
+<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pyparsing.CloseMatch-class.html#parseImpl">parseImpl()</a><br />
<span class="index-where">(in <a href="pyparsing.CloseMatch-class.html">CloseMatch</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.White-class.html#parseImpl">parseImpl()</a><br />
<span class="index-where">(in <a href="pyparsing.White-class.html">White</a>)</span></td>
-<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#preParse">preParse()</a><br />
-<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="pyparsing-module.html#printables">printables</a><br />
+<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pyparsing.Each-class.html#parseImpl">parseImpl()</a><br />
<span class="index-where">(in <a href="pyparsing.Each-class.html">Each</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.Word-class.html#parseImpl">parseImpl()</a><br />
<span class="index-where">(in <a href="pyparsing.Word-class.html">Word</a>)</span></td>
-<td width="33%" class="link-index"><a href="pyparsing-module.html#printables">printables</a><br />
+<td width="33%" class="link-index"><a href="pyparsing-module.html#punc8bit">punc8bit</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
</tr>
<tr>
@@ -657,7 +657,7 @@
<span class="index-where">(in <a href="pyparsing.FollowedBy-class.html">FollowedBy</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.WordEnd-class.html#parseImpl">parseImpl()</a><br />
<span class="index-where">(in <a href="pyparsing.WordEnd-class.html">WordEnd</a>)</span></td>
-<td width="33%" class="link-index"><a href="pyparsing-module.html#punc8bit">punc8bit</a><br />
+<td width="33%" class="link-index"><a href="pyparsing-module.html#PY_3">PY_3</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
</tr>
<tr>
@@ -665,22 +665,22 @@
<span class="index-where">(in <a href="pyparsing.GoToColumn-class.html">GoToColumn</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.WordStart-class.html#parseImpl">parseImpl()</a><br />
<span class="index-where">(in <a href="pyparsing.WordStart-class.html">WordStart</a>)</span></td>
-<td width="33%" class="link-index"><a href="pyparsing-module.html#PY_3">PY_3</a><br />
-<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
+<td width="33%" class="link-index"><a href="pyparsing-module.html">pyparsing</a></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pyparsing.Keyword-class.html#parseImpl">parseImpl()</a><br />
<span class="index-where">(in <a href="pyparsing.Keyword-class.html">Keyword</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.ZeroOrMore-class.html#parseImpl">parseImpl()</a><br />
<span class="index-where">(in <a href="pyparsing.ZeroOrMore-class.html">ZeroOrMore</a>)</span></td>
-<td width="33%" class="link-index"><a href="pyparsing-module.html">pyparsing</a></td>
+<td width="33%" class="link-index"><a href="pyparsing.pyparsing_common-class.html">pyparsing_common</a><br />
+<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
</tr>
<tr>
<td width="33%" class="link-index"><a href="pyparsing.LineEnd-class.html#parseImpl">parseImpl()</a><br />
<span class="index-where">(in <a href="pyparsing.LineEnd-class.html">LineEnd</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html">ParserElement</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
-<td width="33%" class="link-index"><a href="pyparsing.pyparsing_common-class.html">pyparsing_common</a><br />
+<td width="33%" class="link-index"><a href="pyparsing-module.html#pythonStyleComment">pythonStyleComment</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
</tr>
<tr>
@@ -688,8 +688,7 @@
<span class="index-where">(in <a href="pyparsing.LineStart-class.html">LineStart</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.ParseResults-class.html">ParseResults</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
-<td width="33%" class="link-index"><a href="pyparsing-module.html#pythonStyleComment">pythonStyleComment</a><br />
-<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
+<td width="33%" class="link-index"> </td>
</tr>
</table>
</td></tr>
@@ -747,45 +746,37 @@
<tr>
<td width="33%" class="link-index"><a href="pyparsing.Regex.compiledREtype-class.html#scanner">scanner()</a><br />
<span class="index-where">(in <a href="pyparsing.Regex.compiledREtype-class.html">compiledREtype</a>)</span></td>
-<td width="33%" class="link-index"><a href="pyparsing.OneOrMore-class.html#setResultsName">setResultsName()</a><br />
-<span class="index-where">(in <a href="pyparsing.OneOrMore-class.html">OneOrMore</a>)</span></td>
-<td width="33%" class="link-index"><a href="pyparsing.ParseExpression-class.html#streamline">streamline()</a><br />
-<span class="index-where">(in <a href="pyparsing.ParseExpression-class.html">ParseExpression</a>)</span></td>
-</tr>
-<tr>
-<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#scanString">scanString()</a><br />
-<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.ParseExpression-class.html#setResultsName">setResultsName()</a><br />
<span class="index-where">(in <a href="pyparsing.ParseExpression-class.html">ParseExpression</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#streamline">streamline()</a><br />
<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="pyparsing.pyparsing_common-class.html#sci_real">sci_real</a><br />
-<span class="index-where">(in <a href="pyparsing.pyparsing_common-class.html">pyparsing_common</a>)</span></td>
+<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#scanString">scanString()</a><br />
+<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setResultsName">setResultsName()</a><br />
<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.StringEnd-class.html">StringEnd</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="pyparsing.Regex.compiledREtype-class.html#search">search()</a><br />
-<span class="index-where">(in <a href="pyparsing.Regex.compiledREtype-class.html">compiledREtype</a>)</span></td>
+<td width="33%" class="link-index"><a href="pyparsing.pyparsing_common-class.html#sci_real">sci_real</a><br />
+<span class="index-where">(in <a href="pyparsing.pyparsing_common-class.html">pyparsing_common</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setWhitespaceChars">setWhitespaceChars()</a><br />
<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing-module.html#stringEnd">stringEnd</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#searchString">searchString()</a><br />
-<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="pyparsing.Regex.compiledREtype-class.html#search">search()</a><br />
+<span class="index-where">(in <a href="pyparsing.Regex.compiledREtype-class.html">compiledREtype</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing-module.html#sglQuotedString">sglQuotedString</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.StringStart-class.html">StringStart</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setBreak">setBreak()</a><br />
+<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#searchString">searchString()</a><br />
<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.pyparsing_common-class.html#signed_integer">signed_integer</a><br />
<span class="index-where">(in <a href="pyparsing.pyparsing_common-class.html">pyparsing_common</a>)</span></td>
@@ -793,7 +784,7 @@
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setDebug">setDebug()</a><br />
+<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setBreak">setBreak()</a><br />
<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing-module.html#singleArgBuiltins">singleArgBuiltins</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
@@ -801,7 +792,7 @@
<span class="index-where">(in <a href="pyparsing.pyparsing_common-class.html">pyparsing_common</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setDebugActions">setDebugActions()</a><br />
+<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setDebug">setDebug()</a><br />
<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.SkipTo-class.html">SkipTo</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
@@ -809,23 +800,23 @@
<span class="index-where">(in <a href="pyparsing.Regex.compiledREtype-class.html">compiledREtype</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="pyparsing.Keyword-class.html#setDefaultKeywordChars">setDefaultKeywordChars()</a><br />
-<span class="index-where">(in <a href="pyparsing.Keyword-class.html">Keyword</a>)</span></td>
+<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setDebugActions">setDebugActions()</a><br />
+<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#split">split()</a><br />
<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.Regex.compiledREtype-class.html#subn">subn()</a><br />
<span class="index-where">(in <a href="pyparsing.Regex.compiledREtype-class.html">compiledREtype</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setDefaultWhitespaceChars">setDefaultWhitespaceChars()</a><br />
-<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="pyparsing.Keyword-class.html#setDefaultKeywordChars">setDefaultKeywordChars()</a><br />
+<span class="index-where">(in <a href="pyparsing.Keyword-class.html">Keyword</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.Regex.compiledREtype-class.html#split">split()</a><br />
<span class="index-where">(in <a href="pyparsing.Regex.compiledREtype-class.html">compiledREtype</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.Suppress-class.html">Suppress</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setFailAction">setFailAction()</a><br />
+<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setDefaultWhitespaceChars">setDefaultWhitespaceChars()</a><br />
<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing-module.html#srange">srange()</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
@@ -833,7 +824,7 @@
<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setName">setName()</a><br />
+<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setFailAction">setFailAction()</a><br />
<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.Forward-class.html#streamline">streamline()</a><br />
<span class="index-where">(in <a href="pyparsing.Forward-class.html">Forward</a>)</span></td>
@@ -841,13 +832,20 @@
<span class="index-where">(in <a href="pyparsing.Suppress-class.html">Suppress</a>)</span></td>
</tr>
<tr>
-<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setParseAction">setParseAction()</a><br />
+<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setName">setName()</a><br />
<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing.ParseElementEnhance-class.html#streamline">streamline()</a><br />
<span class="index-where">(in <a href="pyparsing.ParseElementEnhance-class.html">ParseElementEnhance</a>)</span></td>
<td width="33%" class="link-index"><a href="pyparsing-module.html#system_version">system_version</a><br />
<span class="index-where">(in <a href="pyparsing-module.html">pyparsing</a>)</span></td>
</tr>
+<tr>
+<td width="33%" class="link-index"><a href="pyparsing.ParserElement-class.html#setParseAction">setParseAction()</a><br />
+<span class="index-where">(in <a href="pyparsing.ParserElement-class.html">ParserElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="pyparsing.ParseExpression-class.html#streamline">streamline()</a><br />
+<span class="index-where">(in <a href="pyparsing.ParseExpression-class.html">ParseExpression</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
</table>
</td></tr>
<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="T">T</a></h2></td>
@@ -1386,7 +1384,7 @@
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Sat Sep 10 10:21:41 2016
+ Generated by Epydoc 3.0.1 on Thu Oct 06 20:32:29 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/htmldoc/module-tree.html b/htmldoc/module-tree.html
index be42db1..c265463 100644
--- a/htmldoc/module-tree.html
+++ b/htmldoc/module-tree.html
@@ -92,7 +92,7 @@
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Sat Sep 10 10:21:41 2016
+ Generated by Epydoc 3.0.1 on Thu Oct 06 20:32:29 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/htmldoc/pyparsing-module.html b/htmldoc/pyparsing-module.html
index 547eb36..bbf01f4 100644
--- a/htmldoc/pyparsing-module.html
+++ b/htmldoc/pyparsing-module.html
@@ -116,7 +116,7 @@
<hr />
<div class="fields"> <p><strong>Version:</strong>
- 2.1.9
+ 2.1.10
</p>
<p><strong>Author:</strong>
Paul McGuire <ptmcg at users.sourceforge.net>
@@ -2236,7 +2236,13 @@
<p>Helper 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.</p>
+ to operator expressions. The generated parser will also recognize the use
+ of parentheses to override operator precedences (see example below).</p>
+ <p>Note: if you define a deep operator list, you may see performance
+ issues when using infixNotation. See <a
+ href="pyparsing.ParserElement-class.html#enablePackrat"
+ class="link">ParserElement.enablePackrat</a> for a mechanism to
+ potentially improve your parser performance.</p>
<p>Parameters:</p>
<ul>
<li>
@@ -2657,7 +2663,7 @@ commaSeparatedList
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
- Generated by Epydoc 3.0.1 on Sat Sep 10 10:21:41 2016
+ Generated by Epydoc 3.0.1 on Thu Oct 06 20:32:29 2016
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/htmldoc/pyparsing-pysrc.html b/htmldoc/pyparsing-pysrc.html
index 20bf288..01a9d7d 100644
--- a/htmldoc/pyparsing-pysrc.html
+++ b/htmldoc/pyparsing-pysrc.html
@@ -120,8 +120,8 @@
<a name="L60"></a><tt class="py-lineno"> 60</tt> <tt class="py-line"><tt class="py-docstring"> - embedded comments</tt> </tt>
<a name="L61"></a><tt class="py-lineno"> 61</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
<a name="L62"></a><tt class="py-lineno"> 62</tt> <tt class="py-line"> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-string">"2.1.9"</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable pyparsing.__versionTime__=pyparsing-module.html#__versionTime__"><a title="pyparsing.__versionTime__" class="py-name" href="#" onclick="return doclink('link-1', '__versionTime__', 'link-1');">__versionTime__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"10 Sep 2016 15:10 UTC"</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt> <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-string">"2.1.10"</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt> <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable pyparsing.__versionTime__=pyparsing-module.html#__versionTime__"><a title="pyparsing.__versionTime__" class="py-name" href="#" onclick="return doclink('link-1', '__versionTime__', 'link-1');">__versionTime__</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"07 Oct 2016 01:31 UTC"</tt> </tt>
<a name="L65"></a><tt class="py-lineno"> 65</tt> <tt class="py-line"><tt class="py-name">__author__</tt> <tt class="py-op">=</tt> <tt class="py-string">"Paul McGuire <ptmcg at users.sourceforge.net>"</tt> </tt>
<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"> </tt>
<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">string</tt> </tt>
@@ -956,7 +956,7 @@ pyparsing.ParserElement.copy" class="py-name" href="#" onclick="return doclink('
pyparsing.ParseResults.append" class="py-name" href="#" onclick="return doclink('link-98', 'append', 'link-18');">append</a></tt><tt class="py-op">(</tt> <tt class="py-name">indent</tt><tt class="py-op">+</tt><tt class="py-name">_ustr</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="pyparsing.ParseResults.asList" class="py-name" href="#" onclick="return doclink('link-99', 'asList', 'link-37');">asList</a></tt><tt [...]
<a name="L869"></a><tt class="py-lineno"> 869</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">full</tt><tt class="py-op">:</tt> </tt>
<a name="L870"></a><tt class="py-lineno"> 870</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="pyparsing.ParseResults.haskeys" class="py-name" href="#" onclick="return doclink('link-100', 'haskeys', 'link-86');">haskeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L871"></a><tt class="py-lineno"> 871</tt> <tt class="py-line"> <tt id="link-101" class="py-name"><a title="pyparsing.ParseResults.items" class="py-name" href="#" onclick="return doclink('link-101', 'items', 'link-51');">items</a></tt> <tt class="py-op">=</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="pyparsing.ParseResults.items" class="py-name" href="#" [...]
+<a name="L871"></a><tt class="py-lineno"> 871</tt> <tt class="py-line"> <tt id="link-101" class="py-name"><a title="pyparsing.ParseResults.items" class="py-name" href="#" onclick="return doclink('link-101', 'items', 'link-51');">items</a></tt> <tt class="py-op">=</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> < [...]
<a name="L872"></a><tt class="py-lineno"> 872</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt><tt class="py-name">v</tt> <tt class="py-keyword">in</tt> <tt id="link-103" class="py-name"><a title="pyparsing.ParseResults.items" class="py-name" href="#" onclick="return doclink('link-103', 'items', 'link-51');">items</a></tt><tt class="py-op">:</tt> </tt>
<a name="L873"></a><tt class="py-lineno"> 873</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">out</tt><tt class="py-op">:</tt> </tt>
<a name="L874"></a><tt class="py-lineno"> 874</tt> <tt class="py-line"> <tt class="py-name">out</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="pyparsing.ParseExpression.append
@@ -972,7 +972,7 @@ pyparsing.ParseResults.append" class="py-name" href="#" onclick="return doclink(
pyparsing.ParseResults.append" class="py-name" href="#" onclick="return doclink('link-109', 'append', 'link-18');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">_ustr</tt><tt class="py-op">(</tt><tt class="py-name">v</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L881"></a><tt class="py-lineno"> 881</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L882"></a><tt class="py-lineno"> 882</tt> <tt class="py-line"> <tt class="py-name">out</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="pyparsing.ParseExpression.append
-pyparsing.ParseResults.append" class="py-name" href="#" onclick="return doclink('link-110', 'append', 'link-18');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">_ustr</tt><tt class="py-op">(</tt><tt class="py-name">v</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+pyparsing.ParseResults.append" class="py-name" href="#" onclick="return doclink('link-110', 'append', 'link-18');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">repr</tt><tt class="py-op">(</tt><tt class="py-name">v</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L883"></a><tt class="py-lineno"> 883</tt> <tt class="py-line"> <tt class="py-keyword">elif</tt> <tt class="py-name">any</tt><tt class="py-op">(</tt><tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">vv</tt><tt class="py-op">,</tt><tt id="link-111" class="py-name"><a title="pyparsing.ParseResults" class="py-name" href="#" onclick="return doclink('link-111', 'ParseResults', 'link-39');">ParseResults</a></tt><tt class="py-op">)</tt> <tt class [...]
<a name="L884"></a><tt class="py-lineno"> 884</tt> <tt class="py-line"> <tt class="py-name">v</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt> </tt>
<a name="L885"></a><tt class="py-lineno"> 885</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt><tt class="py-name">vv</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">v</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
@@ -1052,7 +1052,7 @@ pyparsing.ParserElement.copy" class="py-name" href="#" onclick="return doclink('
<a name="L953"></a><tt class="py-lineno"> 953</tt> <tt class="py-line"><tt class="py-docstring"> positions within the parsed string.</tt> </tt>
<a name="L954"></a><tt class="py-lineno"> 954</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
<a name="L955"></a><tt class="py-lineno"> 955</tt> <tt class="py-line"> <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">strg</tt> </tt>
-<a name="L956"></a><tt class="py-lineno"> 956</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">1</tt> <tt class="py-keyword">if</tt> <tt class="py-name">loc</tt><tt class="py-op"><</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-name">loc</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <t [...]
+<a name="L956"></a><tt class="py-lineno"> 956</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-number">1</tt> <tt class="py-keyword">if</tt> <tt class="py-number">0</tt><tt class="py-op"><</tt><tt class="py-name">loc</tt><tt class="py-op"><</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-name">s</tt><tt class="py-op">[</tt><tt class="py-name">loc</t [...]
</div><a name="L957"></a><tt class="py-lineno"> 957</tt> <tt class="py-line"> </tt>
<a name="lineno"></a><div id="lineno-def"><a name="L958"></a><tt class="py-lineno"> 958</tt> <a class="py-toggle" href="#" id="lineno-toggle" onclick="return toggle('lineno');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="pyparsing-module.html#lineno">lineno</a><tt class="py-op">(</tt><tt class="py-param">loc</tt><tt class="py-op">,</tt><tt class="py-param">strg</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="lineno-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="lineno-expanded"><a name="L959"></a><tt class="py-lineno"> 959</tt> <tt class="py-line"> <tt class="py-docstring">"""Returns current line number within a string, counting newlines as line separators.</tt> </tt>
@@ -1464,8 +1464,7 @@ pyparsing.ParseResults.append" class="py-name" href="#" onclick="return doclink(
<a name="L1352"></a><tt class="py-lineno">1352</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">debugActions</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L1353"></a><tt class="py-lineno">1353</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">debugActions</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">(</tt> <tt class="py-name">instring</tt><tt class="py-op">,</tt> <tt class="py-name">loc</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt> <tt class="py-op">)</tt> </tt>
<a name="L1354"></a><tt class="py-lineno">1354</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">callPreParse</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">callPreparse</tt><tt class="py-op">:</tt> </tt>
-<a name="L1355"></a><tt class="py-lineno">1355</tt> <tt class="py-line"> <tt class="py-name">preloc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name" targets="Method pyparsing.GoToColumn.preParse()=pyparsing.GoToColumn-class.html#preParse,Method pyparsing.LineStart.preParse()=pyparsing.LineStart-class.html#preParse,Method pyparsing.ParserElement.preParse()=pyparsing.ParserElement-class.html#preParse"><a ti [...]
-pyparsing.LineStart.preParse
+<a name="L1355"></a><tt class="py-lineno">1355</tt> <tt class="py-line"> <tt class="py-name">preloc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name" targets="Method pyparsing.GoToColumn.preParse()=pyparsing.GoToColumn-class.html#preParse,Method pyparsing.ParserElement.preParse()=pyparsing.ParserElement-class.html#preParse"><a title="pyparsing.GoToColumn.preParse
pyparsing.ParserElement.preParse" class="py-name" href="#" onclick="return doclink('link-151', 'preParse', 'link-151');">preParse</a></tt><tt class="py-op">(</tt> <tt class="py-name">instring</tt><tt class="py-op">,</tt> <tt class="py-name">loc</tt> <tt class="py-op">)</tt> </tt>
<a name="L1356"></a><tt class="py-lineno">1356</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L1357"></a><tt class="py-lineno">1357</tt> <tt class="py-line"> <tt class="py-name">preloc</tt> <tt class="py-op">=</tt> <tt class="py-name">loc</tt> </tt>
@@ -1513,7 +1512,6 @@ pyparsing.ZeroOrMore.parseImpl" class="py-name" href="#" onclick="return doclink
<a name="L1371"></a><tt class="py-lineno">1371</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L1372"></a><tt class="py-lineno">1372</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">callPreParse</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">callPreparse</tt><tt class="py-op">:</tt> </tt>
<a name="L1373"></a><tt class="py-lineno">1373</tt> <tt class="py-line"> <tt class="py-name">preloc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="pyparsing.GoToColumn.preParse
-pyparsing.LineStart.preParse
pyparsing.ParserElement.preParse" class="py-name" href="#" onclick="return doclink('link-155', 'preParse', 'link-151');">preParse</a></tt><tt class="py-op">(</tt> <tt class="py-name">instring</tt><tt class="py-op">,</tt> <tt class="py-name">loc</tt> <tt class="py-op">)</tt> </tt>
<a name="L1374"></a><tt class="py-lineno">1374</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L1375"></a><tt class="py-lineno">1375</tt> <tt class="py-line"> <tt class="py-name">preloc</tt> <tt class="py-op">=</tt> <tt class="py-name">loc</tt> </tt>
@@ -1826,7 +1824,6 @@ pyparsing.ParserElement.streamline" class="py-name" href="#" onclick="return doc
<a name="L1607"></a><tt class="py-lineno">1607</tt> <tt class="py-line"> <tt class="py-name">loc</tt><tt class="py-op">,</tt> <tt class="py-name">tokens</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse</tt><tt class="py-op">(</tt> <tt class="py-name">instring</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt> <tt class="py-op">)</tt> </tt>
<a name="L1608"></a><tt class="py-lineno">1608</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">parseAll</tt><tt class="py-op">:</tt> </tt>
<a name="L1609"></a><tt class="py-lineno">1609</tt> <tt class="py-line"> <tt class="py-name">loc</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="pyparsing.GoToColumn.preParse
-pyparsing.LineStart.preParse
pyparsing.ParserElement.preParse" class="py-name" href="#" onclick="return doclink('link-233', 'preParse', 'link-151');">preParse</a></tt><tt class="py-op">(</tt> <tt class="py-name">instring</tt><tt class="py-op">,</tt> <tt class="py-name">loc</tt> <tt class="py-op">)</tt> </tt>
<a name="L1610"></a><tt class="py-lineno">1610</tt> <tt class="py-line"> <tt class="py-name">se</tt> <tt class="py-op">=</tt> <tt id="link-234" class="py-name" targets="Class pyparsing.Empty=pyparsing.Empty-class.html"><a title="pyparsing.Empty" class="py-name" href="#" onclick="return doclink('link-234', 'Empty', 'link-234');">Empty</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-235" class="py-name" targets="Class pyparsing [...]
<a name="L1611"></a><tt class="py-lineno">1611</tt> <tt class="py-line"> <tt class="py-name">se</tt><tt class="py-op">.</tt><tt class="py-name">_parse</tt><tt class="py-op">(</tt> <tt class="py-name">instring</tt><tt class="py-op">,</tt> <tt class="py-name">loc</tt> <tt class="py-op">)</tt> </tt>
@@ -1885,7 +1882,6 @@ pyparsing.ParserElement.streamline" class="py-name" href="#" onclick="return doc
<a name="L1658"></a><tt class="py-lineno">1658</tt> <tt class="py-line"> <tt class="py-name">instrlen</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">instring</tt><tt class="py-op">)</tt> </tt>
<a name="L1659"></a><tt class="py-lineno">1659</tt> <tt class="py-line"> <tt class="py-name">loc</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
<a name="L1660"></a><tt class="py-lineno">1660</tt> <tt class="py-line"> <tt class="py-name">preparseFn</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-242" class="py-name"><a title="pyparsing.GoToColumn.preParse
-pyparsing.LineStart.preParse
pyparsing.ParserElement.preParse" class="py-name" href="#" onclick="return doclink('link-242', 'preParse', 'link-151');">preParse</a></tt> </tt>
<a name="L1661"></a><tt class="py-lineno">1661</tt> <tt class="py-line"> <tt class="py-name">parseFn</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_parse</tt> </tt>
<a name="L1662"></a><tt class="py-lineno">1662</tt> <tt class="py-line"> <tt id="link-243" class="py-name"><a title="pyparsing.ParserElement" class="py-name" href="#" onclick="return doclink('link-243', 'ParserElement', 'link-132');">ParserElement</a></tt><tt class="py-op">.</tt><tt id="link-244" class="py-name"><a title="pyparsing.ParserElement.resetCache" class="py-name" href="#" onclick="return doclink('link-244', 'resetCache', 'link-230');">resetCache</a></tt><tt class="py-op [...]
@@ -2229,8 +2225,7 @@ pyparsing.ParseResults.append" class="py-name" href="#" onclick="return doclink(
<a name="L1997"></a><tt class="py-lineno">1997</tt> <tt class="py-line"><tt class="py-docstring"> userdata = Word(alphas)("name") + Word(nums+"-")("socsecno") </tt> </tt>
<a name="L1998"></a><tt class="py-lineno">1998</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
<a name="L1999"></a><tt class="py-lineno">1999</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">name</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L2000"></a><tt class="py-lineno">2000</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-304" class="py-name" targets="Method pyparsing.OneOrMore.setResultsName()=pyparsing.OneOrMore-class.html#setResultsName,Method pyparsing.ParseExpression.setResultsName()=pyparsing.ParseExpression-class.html#setResultsName,Method pyparsing.ParserElement.setResultsName()=pyparsing.ParserElement-class.html#s [...]
-pyparsing.ParseExpression.setResultsName
+<a name="L2000"></a><tt class="py-lineno">2000</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-304" class="py-name" targets="Method pyparsing.ParseExpression.setResultsName()=pyparsing.ParseExpression-class.html#setResultsName,Method pyparsing.ParserElement.setResultsName()=pyparsing.ParserElement-class.html#setResultsName"><a title="pyparsing.ParseExpression.setResultsName
pyparsing.ParserElement.setResultsName" class="py-name" href="#" onclick="return doclink('link-304', 'setResultsName', 'link-304');">setResultsName</a></tt><tt class="py-op">(</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
<a name="L2001"></a><tt class="py-lineno">2001</tt> <tt class="py-line"> <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
<a name="L2002"></a><tt class="py-lineno">2002</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="pyparsing.Forward.copy
@@ -2421,7 +2416,7 @@ pyparsing.ParserElement.checkRecursion" class="py-name" href="#" onclick="return
<a name="ParserElement.matches"></a><div id="ParserElement.matches-def"><a name="L2172"></a><tt class="py-lineno">2172</tt> <a class="py-toggle" href="#" id="ParserElement.matches-toggle" onclick="return toggle('ParserElement.matches');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="pyparsing.ParserElement-class.html#matches">matches</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">testStrin [...]
</div><div id="ParserElement.matches-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ParserElement.matches-expanded"><a name="L2173"></a><tt class="py-lineno">2173</tt> <tt class="py-line"> <tt class="py-docstring">"""</tt> </tt>
<a name="L2174"></a><tt class="py-lineno">2174</tt> <tt class="py-line"><tt class="py-docstring"> Method for quick testing of a parser against a test string. Good for simple </tt> </tt>
-<a name="L2175"></a><tt class="py-lineno">2175</tt> <tt class="py-line"><tt class="py-docstring"> inline microtests of sub expressions while building up larger parser.0</tt> </tt>
+<a name="L2175"></a><tt class="py-lineno">2175</tt> <tt class="py-line"><tt class="py-docstring"> inline microtests of sub expressions while building up larger parser.</tt> </tt>
<a name="L2176"></a><tt class="py-lineno">2176</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
<a name="L2177"></a><tt class="py-lineno">2177</tt> <tt class="py-line"><tt class="py-docstring"> Parameters:</tt> </tt>
<a name="L2178"></a><tt class="py-lineno">2178</tt> <tt class="py-line"><tt class="py-docstring"> - testString - to test against this expression for a match</tt> </tt>
@@ -2516,66 +2511,74 @@ pyparsing.ParserElement.checkRecursion" class="py-name" href="#" onclick="return
<a name="L2267"></a><tt class="py-lineno">2267</tt> <tt class="py-line"><tt class="py-docstring"> FAIL: Expected end of text (at char 4), (line:1, col:5)</tt> </tt>
<a name="L2268"></a><tt class="py-lineno">2268</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L2269"></a><tt class="py-lineno">2269</tt> <tt class="py-line"><tt class="py-docstring"> Success</tt> </tt>
-<a name="L2270"></a><tt class="py-lineno">2270</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
-<a name="L2271"></a><tt class="py-lineno">2271</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">tests</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L2272"></a><tt class="py-lineno">2272</tt> <tt class="py-line"> <tt class="py-name">tests</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">map</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">,</tt> <tt class="py-name">tests</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt cl [...]
-<a name="L2273"></a><tt class="py-lineno">2273</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">comment</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L2274"></a><tt class="py-lineno">2274</tt> <tt class="py-line"> <tt class="py-name">comment</tt> <tt class="py-op">=</tt> <tt id="link-324" class="py-name" targets="Class pyparsing.Literal=pyparsing.Literal-class.html"><a title="pyparsing.Literal" class="py-name" href="#" onclick="return doclink('link-324', 'Literal', 'link-324');">Literal</a></tt><tt class="py-op">(</tt><tt class="py-name">comment</tt><tt class="py-op">)</tt> </tt>
-<a name="L2275"></a><tt class="py-lineno">2275</tt> <tt class="py-line"> <tt class="py-name">allResults</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L2276"></a><tt class="py-lineno">2276</tt> <tt class="py-line"> <tt class="py-name">comments</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L2277"></a><tt class="py-lineno">2277</tt> <tt class="py-line"> <tt class="py-name">success</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L2278"></a><tt class="py-lineno">2278</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tests</tt><tt class="py-op">:</tt> </tt>
-<a name="L2279"></a><tt class="py-lineno">2279</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">comment</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">comment</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="pyparsing.ParserElement.matches" class="py-name" href="#" onclick="return doclink('link-325', 'matches', 'link-245');" [...]
-<a name="L2280"></a><tt class="py-lineno">2280</tt> <tt class="py-line"> <tt class="py-name">comments</tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="pyparsing.ParseExpression.append
+<a name="L2270"></a><tt class="py-lineno">2270</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2271"></a><tt class="py-lineno">2271</tt> <tt class="py-line"><tt class="py-docstring"> Each test string must be on a single line. If you want to test a string that spans multiple</tt> </tt>
+<a name="L2272"></a><tt class="py-lineno">2272</tt> <tt class="py-line"><tt class="py-docstring"> lines, create a test like this::</tt> </tt>
+<a name="L2273"></a><tt class="py-lineno">2273</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L2274"></a><tt class="py-lineno">2274</tt> <tt class="py-line"><tt class="py-docstring"> expr.runTest(r"this is a test\\n of strings that spans \\n 3 lines")</tt> </tt>
+<a name="L2275"></a><tt class="py-lineno">2275</tt> <tt class="py-line"><tt class="py-docstring"> </tt> </tt>
+<a name="L2276"></a><tt class="py-lineno">2276</tt> <tt class="py-line"><tt class="py-docstring"> (Note that this is a raw string literal, you must include the leading 'r'.)</tt> </tt>
+<a name="L2277"></a><tt class="py-lineno">2277</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
+<a name="L2278"></a><tt class="py-lineno">2278</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">tests</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2279"></a><tt class="py-lineno">2279</tt> <tt class="py-line"> <tt class="py-name">tests</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">map</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">,</tt> <tt class="py-name">tests</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt cl [...]
+<a name="L2280"></a><tt class="py-lineno">2280</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">isinstance</tt><tt class="py-op">(</tt><tt class="py-name">comment</tt><tt class="py-op">,</tt> <tt class="py-name">basestring</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L2281"></a><tt class="py-lineno">2281</tt> <tt class="py-line"> <tt class="py-name">comment</tt> <tt class="py-op">=</tt> <tt id="link-324" class="py-name" targets="Class pyparsing.Literal=pyparsing.Literal-class.html"><a title="pyparsing.Literal" class="py-name" href="#" onclick="return doclink('link-324', 'Literal', 'link-324');">Literal</a></tt><tt class="py-op">(</tt><tt class="py-name">comment</tt><tt class="py-op">)</tt> </tt>
+<a name="L2282"></a><tt class="py-lineno">2282</tt> <tt class="py-line"> <tt class="py-name">allResults</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2283"></a><tt class="py-lineno">2283</tt> <tt class="py-line"> <tt class="py-name">comments</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L2284"></a><tt class="py-lineno">2284</tt> <tt class="py-line"> <tt class="py-name">success</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L2285"></a><tt class="py-lineno">2285</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">t</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tests</tt><tt class="py-op">:</tt> </tt>
+<a name="L2286"></a><tt class="py-lineno">2286</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">comment</tt> <tt class="py-keyword">is</tt> <tt class="py-keyword">not</tt> <tt class="py-name">None</tt> <tt class="py-keyword">and</tt> <tt class="py-name">comment</tt><tt class="py-op">.</tt><tt id="link-325" class="py-name"><a title="pyparsing.ParserElement.matches" class="py-name" href="#" onclick="return doclink('link-325', 'matches', 'link-245');" [...]
+<a name="L2287"></a><tt class="py-lineno">2287</tt> <tt class="py-line"> <tt class="py-name">comments</tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="pyparsing.ParseExpression.append
... 8583 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/pyparsing.git
More information about the Python-modules-commits
mailing list