⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.118
Server IP:
88.222.222.73
Server:
Linux sg-nme-web1518.main-hosting.eu 5.14.0-611.16.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Dec 22 03:40:39 EST 2025 x86_64
Server Software:
LiteSpeed
PHP Version:
8.3.28
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
opt
/
gsutil
/
third_party
/
pyparsing
/
examples
/
View File Name :
railroad_diagram_demo.py
import pyparsing as pp ppc = pp.pyparsing_common # fmt: off word = pp.Word(pp.alphas).setName("word") integer = pp.Word(pp.nums).setName("integer") plus_minus = pp.Char("+-").set_name("add_sub") mult_div = pp.Char("*/").set_name("mult_div") street_address = pp.Group(integer("house_number") + word[1, ...]("street_name") ).setName("street_address") time = pp.Regex(r"\d\d:\d\d") grammar = (pp.Group(integer[1, ...]) + (ppc.ipv4_address & word("header_word") & pp.Optional(time) ).setName("header with various elements")("header") + street_address("address") + pp.Group(pp.counted_array(word)) + pp.Group(integer * 8)("data") + pp.Group(pp.Word("abc") + pp.Word("def")*3) + pp.infix_notation(integer, [ (plus_minus().setName("pos_neg"), 1, pp.opAssoc.RIGHT), (mult_div, 2, pp.opAssoc.LEFT), (plus_minus, 2, pp.opAssoc.LEFT), ]).setName("simple_arithmetic") + ... + pp.Group(ppc.ipv4_address)("ip_address") ).setName("grammar") grammar.create_diagram("railroad_diagram_demo.html", vertical=4, show_results_names=True) test = """\ 1 2 3 ABC 1.2.3.4 12:45 123 Main St 4 abc def ghi jkl 5 5 5 5 5 5 5 5 a d d d 2+2 alice bob charlie dave 5.6.7.8""" result = grammar.runTests([test])