File: README.md

package info (click to toggle)
pyparsing 3.3.2-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 12,200 kB
  • sloc: python: 30,867; ansic: 422; sh: 112; makefile: 24
file content (134 lines) | stat: -rw-r--r-- 6,485 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# Pyparsing Examples

This directory contains a number of examples of parsers created using pyparsing. They fall into a few general 
categories (several examples include supporting railroad diagrams):

<!-- TOC -->
* [Pyparsing Examples](#pyparsing-examples)
  * [Pyparsing tutorial and language feature demonstrations](#pyparsing-tutorial-and-language-feature-demonstrations)
  * [Language parsers](#language-parsers)
  * [Domain Specific Language parsers](#domain-specific-language-parsers)
  * [Search and query language parsers](#search-and-query-language-parsers)
  * [Data format parsers](#data-format-parsers)
  * [Logical and arithmetic infix notation parsers and examples](#logical-and-arithmetic-infix-notation-parsers-and-examples)
  * [Helpful utilities](#helpful-utilities)
<!-- TOC -->

## Pyparsing tutorial and language feature demonstrations
  * Hello World!
    * [greeting.py](./greeting.py) [(PNG)](./greet.png)
    * [greetingInGreek.py](./greetingInGreek.py)
    * [greetingInKorean.py](./greetingInKorean.py)
    * [hola_mundo.py](./hola_mundo.py)
  * left recursion
    * [left_recursion.py](./left_recursion.py)
  * macro expansion
    * [macro_expander.py](./macro_expander.py)
  * Roman numerals
    * [roman_numerals.py](./roman_numerals.py) [(PNG)](./roman_numerals_diagram.png)
  * Unicode text handling
    * [tag_metadata.py](./tag_metadata.py) [(diagram)](./tag_metadata_diagram.html) [(PNG)](./tag_metadata_diagram.png)
  * chemical formulas
    * [chemical_formulas.py](./chemical_formulas.py) [(PNG)](./chemical_formulas.png)
    * [complex_chemical_formulas.py](./complex_chemical_formulas.py) [(PNG)](./complex_chemical_formulas_diagram.png)
  * API checker
    * [apicheck.py](./apicheck.py) [(diagram)](./apicheck_diagram.html) [(PNG)](./apicheck_diagram.png)
  * scan_string examples
    * [scanExamples.py](./scanExamples.py)
  * transform_string examples
    * [include_preprocessor.py](./include_preprocessor.py)
    * [macro_expander.py](./macro_expander.py)
    * [nested_markup.py](./nested_markup.py)
  * parse actions and conditions
    * [shapes.py](./shapes.py)
    * [number_words.py](./number_words.py) [(diagram)](./number_words_diagram.html) [(PNG)](./number_words_diagram.png)
    * [wordsToNum.py](./wordsToNum.py)
    * [range_check.py](./range_check.py) [(PNG)](./range_check.png)
    * [one_to_ninety_nine.py](./one_to_ninety_nine.py) [(PNG)](./one_to_99_diagram.png)
  * railroad diagrams
    * [railroad_diagram_demo.py](./railroad_diagram_demo.py) [(diagram)](./railroad_diagram_demo.html) [(PNG)](./railroad_diagram_demo.png)
  * web page scraping
    * [getNTPserversNew.py](./getNTPserversNew.py)
    * [html_stripper.py](./html_stripper.py)
    * [html_table_parser.py](./html_table_parser.py)
    * [urlExtractorNew.py](./urlExtractorNew.py)

## Language parsers
  * C
    * [oc.py](./oc.py)
  * lua
    * [lua_parser.py](./lua_parser.py) [(diagram)](./lua_parser_diagram.html) [(PNG)](./lua_parser_diagram.png)
  * lox
    * [lox_parser.py](./lox_parser.py) [(diagram)](./lox_parser_diagram.html) [(PNG)](./lox_parser_diagram.png)
  * verilog
    * [verilog_parse.py](./verilog_parse.py)
  * brainf*ck
    * [bf.py](./bf.py) [(diagram)](./bf_diagram.html) [(PNG)](./bf_diagram.png)
  * decaf
    * [decaf_parser.py](./decaf_parser.py) [(diagram)](./decaf_parser_diagram.html) [(PNG)](./decaf_parser_diagram.png)
  * S-expression
    * [sexpParser.py](./sexpParser.py)
  * rosetta code
    * [rosettacode.py](./rosettacode.py) [(diagram)](./rosettacode_diagram.html) [(PNG)](./rosettacode_diagram.png)
  * SPy - simplified Python
    * [spy_parser.py](./spy_parser.py) [(diagram)](./spy_parser_diagram.html) [(PNG)](./spy_parser_diagram.png)
  * TINY - parser, interpreter, and REPL
    * [README.md](./tiny/README.md)
    * [tiny_parser.py](./tiny/tiny_parser.py) [(diagram)](./tiny/tiny_parser_diagram.html) [(PNG)](./tiny/tiny_parser_diagram.png)

## Domain Specific Language parsers
  * adventureEngine - interactive fiction parser and game runner
    * [adventureEngine.py](./adventureEngine.py) [(diagram)](./adventure_game_parser_diagram.html) [(PNG)](./adventure_game_parser_diagram.png)
  * pgn - Chess notation parser
    * [pgn.py](./pgn.py)
  * TAP - Test results parser
    * [TAP.py](./TAP.py) [(diagram)](./TAP_diagram.html) [(PNG)](./TAP_diagram.png)
  * EBNF - Extended Backus-Naur Format parser (and compiler to a running pyparsing parser)
    * [ebnf.py](./ebnf.py) [(diagram)](./ebnf_diagram.html) [(PNG)](./ebnf_diagram.png)
    * [ebnf_number_words.py](./ebnf_number_words.py) [(diagram)](./ebnf_number_parser_diagram.html) [(PNG)](./ebnf_number_parser_diagram.png)

## Search and query language parsers
  * basic search
    * [searchparser.py](./searchparser.py) [demo](./searchParserAppDemo.py)
  * lucene
    * [lucene_grammar.py](./lucene_grammar.py) [(diagram)](./lucene_grammar_diagram.html) [(PNG)](./lucene_grammar_diagram.png)
  * mongodb query
    * [mongodb_query_expression.py](./mongodb_query_expression.py) [(diagram)](./mongodb_query_expression.html) [(PNG)](./mongodb_query_expression.png)
  * SQL
    * [select_parser.py](./select_parser.py) (SELECT statements)
    * [sql2dot.py](./sql2dot.py) (TABLE DML statements)
  * BigQuery view
    * [bigquery_view_parser.py](./bigquery_view_parser.py)

## Data format parsers
  * JSON
    * [jsonParser.py](./jsonParser.py)
  * protobuf
    * [protobuf_parser.py](./protobuf_parser.py)
  * stackish
    * [stackish.py](./stackish.py)
  * CORBA IDL
    * [idlparse.py](./idlparse.py)

## Logical and arithmetic infix notation parsers and examples
  * [fourFn.py](./fourFn.py)
  * [simpleArith.py](./simpleArith.py)
  * [eval_arith.py](./eval_arith.py)
  * [simpleCalc.py](./simpleCalc.py)
  * [LAparser.py](./LAparser.py) (linear algebra)
  * [simpleBool.py](./simpleBool.py)

## Helpful utilities
  * parse time expressions ("2pm the day after tomorrow")
    * [delta_time.py](./delta_time.py) [(diagram)](./delta_time_diagram.html) [(PNG)](./delta_time_diagram.png)
  * invert regex (generate sample strings matching a regex)
    * [inv_regex.py](./inv_regex.py)
    * [PyScript demo page](./regex_inverter/index.html)
  * email addresses
    * [email_address_parser.py](./email_address_parser.py)
  * Excel cell formula
    * [excel_expr.py](./excel_expr.py)
  * ctypes interfaces code generator from C include.h file
    * [gen_ctypes.py](./gen_ctypes.py)
  * log file parsing
    * [httpServerLogPaser.py](./httpServerLogPaser.py)