Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'pyparsing' in functional components in Python. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
result.setParseAction(EvalResult)
rvallist.setParseAction(EvalList)
rvalset.setParseAction(EvalSet)
identity_test = Keyword('is') + ~Keyword('not') | Combine(
Keyword('is') + Keyword('not'), adjacent=False, joinString=' ')
membership_test = Keyword('in') | Combine(
Keyword('not') + Keyword('in'), adjacent=False, joinString=' ')
comparison_op = oneOf('< <= > >= != == isdisjoint')
comparison = identity_test | membership_test | comparison_op
self.parser = infixNotation(operand, [
(Literal('**'), 2, opAssoc.LEFT, EvalPower),
(oneOf('+ - ~'), 1, opAssoc.RIGHT, EvalModifier),
(oneOf('* / // %'), 2, opAssoc.LEFT, EvalArith),
(oneOf('+ -'), 2, opAssoc.LEFT, EvalArith),
(oneOf('<< >>'), 2, opAssoc.LEFT, EvalArith),
(Literal('&'), 2, opAssoc.LEFT, EvalArith),
(Literal('^'), 2, opAssoc.LEFT, EvalArith),
(Literal('|'), 2, opAssoc.LEFT, EvalArith),
(comparison, 2, opAssoc.LEFT, EvalLogic),
(Keyword('not'), 1, opAssoc.RIGHT, EvalModifier),
(Keyword('and'), 2, opAssoc.LEFT, EvalLogic),
(Keyword('or'), 2, opAssoc.LEFT, EvalLogic),
(Keyword('->'), 2, opAssoc.LEFT, EvalArith),
])
left_curly +
multi_choice_answers.setParseAction(set_multi_choice_answers) +
right_curly
).setParseAction(set_multi_choice_question)
multi_choice_question.ignore(comment)
# True-false questions.
# Sample:
# // question: 0 name: TrueStatement using {T} style
# ::TrueStatement about Grant::Grant was buried in a tomb in NY.{T}
#
# // question: 0 name: FalseStatement using {FALSE} style
# ::FalseStatement about sun::The sun rises in the West.{FALSE}
true_false_feedback = Combine(
pound +
SkipTo(right_curly).setParseAction(strip_spaces))
true_false_answer = (
left_curly +
boolean('answer') +
Optional(true_false_feedback, default='')('feedback') +
right_curly)
true_false_question = (
Optional(title, default='') +
task +
true_false_answer
).setParseAction(set_true_false_question)
true_false_question.ignore(comment)
# published under GPLv2 license
from amoco.logger import Log
logger = Log(__name__)
logger.debug('loading module')
from .expressions import bot,top,reg,ext
# expression parser:
#-------------------
import pyparsing as pp
#terminals:
p_bottop = pp.oneOf('⊥ T')
p_symbol = pp.Word(pp.alphas)
p_extern = pp.Suppress('@')+p_symbol
p_cst = pp.Suppress('0x')+pp.Combine(pp.Optional('-')+pp.Regex('[0-9a-f]+'))
p_int = pp.Word(pp.nums).setParseAction(lambda r:int(r[0]))
p_slc = '['+p_int.setResultsName('start')+':'+p_int.setResultsName('stop')+']'
p_op1 = pp.oneOf('~ -')
p_op2 = pp.oneOf('+ - / // * & | ^ << >> < > == <= >= != ? :')
p_term = p_bottop|p_symbol|p_extern|p_cst
#nested expressions:
p_expr = pp.Forward()
p_csl = pp.Suppress('|')+p_slc+pp.Suppress('->')
p_comp = pp.Group(pp.Suppress('{')+pp.ZeroOrMore(p_expr)+pp.Suppress('| }'))
p_mem = 'M'+p_int+pp.Optional(p_symbol)
operators = [(p_op1,1,pp.opAssoc.RIGHT),
def getToken (self):
reg = r"\{\\it(\\\w+)?\s+(?P
def grammar():
# terminals ----------------------------------
colon = Literal(":")
equal = Suppress("=")
slash = Suppress("/")
open_paren = Suppress("(")
close_paren = Suppress(")")
open_brace = Suppress("{")
close_brace = Suppress("}")
# np:tagName ---------------------------------
nspfx = Word(alphas)
local_name = Word(alphanums)
tagname = Combine(nspfx + colon + local_name)
# np:attr_name=attr_val ----------------------
attr_name = Word(alphas + ":")
attr_val = Word(alphanums + " %-./:_")
attr_def = Group(attr_name + equal + attr_val)
attr_list = open_brace + delimitedList(attr_def) + close_brace
text = dblQuotedString.setParseAction(removeQuotes)
def test_varbinary(self):
with self.assertRaises(pyparsing.ParseException):
data_type_syntax.parseString("VARBINARY").data_type
self.assertEquals(data_type_syntax.parseString("VARBINARY(8)").length[0], '8')
g(resolved_type_specifier) + identifier | \
g(resolved_type_specifier) + lit('*') + identifier
fielddocumentation = \
s("{") + (P.Optional(g(kw("key") + identifier + s(";"))) & \
P.Optional(g(kw("name") + P.QuotedString('"') + s(";"))) & \
P.Optional(g(kw("unit") + P.QuotedString('"') + s(";"))) & \
P.Optional(g(kw("offset") + decimal_constant + s(";"))) & \
P.Optional(g(kw("divisor") + decimal_constant + s(";"))) & \
P.Optional(g(kw("description") + P.QuotedString('"') + s(";"))) \
) + s("}")
const_expr_value = constant | scopedidentifier
constant_expr = (const_expr_value + (kw('+') | kw('-')) + const_expr_value) | const_expr_value
enum_body = s("{") + g(P.delimitedList(g(enumValueIdentifier + s('=') + constant_expr))) + s("}")
struct_body << s("{") + P.OneOrMore(g(declaration + g(P.Optional(fielddocumentation)) + s(";"))) + s("}")
constant_def = kw("const") - scopedUpperIdentifier - s("=") - constant - s(";")
namespace_def = kw("namespace") - identifier - s(";")
namespace_def.setParseAction(self.namespaceParse)
struct_def = kw("struct") - newscopedidentifier - g(struct_body) + P.Optional(s('=') - type_name) - s(";")
struct_def.setParseAction(self.newStruct)
command_options = \
P.Optional(g(kw("summary") + P.QuotedString('"') + s(";"))) & \
P.Optional(g(kw("param") + type_name + s(";"))) & \
P.Optional(g(kw("types") + s("=") + g(type_name + P.ZeroOrMore(s(',') + type_name)) + s(";"))) & \
P.Optional(g(kw("response") + g(type_name + P.ZeroOrMore(s(',') + type_name)) + s(";")))
# at http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/docs/queryparsersyntax.html
#
import pyparsing as pp
from pyparsing import pyparsing_common as ppc
pp.ParserElement.enablePackrat()
COLON, LBRACK, RBRACK, LBRACE, RBRACE, TILDE, CARAT = map(pp.Literal, ":[]{}~^")
LPAR, RPAR = map(pp.Suppress, "()")
and_, or_, not_, to_ = map(pp.CaselessKeyword, "AND OR NOT TO".split())
keyword = and_ | or_ | not_ | to_
expression = pp.Forward()
valid_word = pp.Regex(
r'([a-zA-Z0-9*_+.-]|\\\\|\\([+\-!(){}\[\]^"~*?:]|\|\||&&))+'
).setName("word")
valid_word.setParseAction(
lambda t: t[0].replace("\\\\", chr(127)).replace("\\", "").replace(chr(127), "\\")
)
string = pp.QuotedString('"')
required_modifier = pp.Literal("+")("required")
prohibit_modifier = pp.Literal("-")("prohibit")
integer = ppc.integer()
proximity_modifier = pp.Group(TILDE + integer("proximity"))
number = ppc.fnumber()
fuzzy_modifier = TILDE + pp.Optional(number, default=0.5)("fuzzy")
term = pp.Forward().setName("field")
def fromString(inputText, verbose=False):
if verbose: print(('Verbose:', verbose))
(TRANSITIONS, INITIAL_STATE, END_STATE, STATES, PARALLEL) = list(map(CaselessKeyword, """
transitions initial_state end_state states parallel""".split()))
semicolon = Suppress(Word(";"))
op = Suppress(Word("{"))
cl = Suppress(Word("}"))
to = Suppress(CaselessLiteral("=>"))
identifier = Word(alphas + "_", alphanums + "_")
list_identifiers = delimitedList(identifier)
# parse States
stateslist = Group(Suppress(STATES) + list_identifiers + semicolon).setResultsName('states')
# parse Transitions
transition = identifier.setResultsName('src') + to + list_identifiers.setResultsName('dests') + semicolon
transitions_list = Group(OneOrMore(Group(transition))).setResultsName("transitions")
transitions = Suppress(TRANSITIONS) + op + transitions_list + cl + semicolon
# parse initialstate and finalstate
initialstate = Suppress(INITIAL_STATE) + identifier.setResultsName('initialstate') + semicolon
finalstate = Suppress(END_STATE) + identifier.setResultsName('finalstate') + semicolon
# parse machine
def define_dot_parser(self):
"""Define dot grammar
Based on the grammar http://www.graphviz.org/doc/info/lang.html
"""
# punctuation
colon = Literal(":")
lbrace = Suppress("{")
rbrace = Suppress("}")
lbrack = Suppress("[")
rbrack = Suppress("]")
lparen = Literal("(")
rparen = Literal(")")
equals = Suppress("=")
comma = Literal(",")
dot = Literal(".")
slash = Literal("/")
bslash = Literal("\\")
star = Literal("*")
semi = Suppress(";")
at = Literal("@")
minus = Literal("-")
pluss = Suppress("+")
# keywords
strict_ = CaselessLiteral("strict")
graph_ = CaselessLiteral("graph")
digraph_ = CaselessLiteral("digraph")
subgraph_ = CaselessLiteral("subgraph")
node_ = CaselessLiteral("node")
edge_ = CaselessLiteral("edge")