File: type_parser.py

package info (click to toggle)
python-opencascade-pywrap 0.0~git20250714210719.b608b60-3
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 12,992 kB
  • sloc: python: 1,622; pascal: 32; makefile: 13; sh: 1
file content (21 lines) | stat: -rw-r--r-- 436 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from pyparsing import Word, Literal, alphas, alphanums, Optional


CONST = Literal("const")
HANDLE = Literal("opencascade::handle<")
TYPE = Word(alphas + "_", alphanums + "_")
CLOSING = Literal(">")
PTR_REF = Literal("&") | Literal("*")

parser = (
    Optional(CONST)
    + Optional(HANDLE)
    + TYPE.setResultsName("type")
    + Optional(CLOSING)
    + Optional(PTR_REF)
)


def parse_type(t):

    return parser.parseString(t).type