pygerber.gerberx3.parser package contains Gerber X3 parser implementations.
ParserProtocol
Bases: Protocol
Parser protocol.
Source code in src/pygerber/gerberx3/parser/__init__.py
| class ParserProtocol(Protocol):
"""Parser protocol."""
def parse(self, code: str, *, strict: bool = True) -> Any:
"""Parse the input."""
|
parse
parse(code: str, *, strict: bool = True) -> Any
Parse the input.
Source code in src/pygerber/gerberx3/parser/__init__.py
| def parse(self, code: str, *, strict: bool = True) -> Any:
"""Parse the input."""
|
parse
parse(
code: str,
*,
strict: bool = True,
parser: Literal["pyparsing"] = "pyparsing",
**options: Any
) -> File
Parse GerberX3 file source code and construct AST from it.
Source code in src/pygerber/gerberx3/parser/__init__.py
| def parse(
code: str,
*,
strict: bool = True,
parser: Literal["pyparsing"] = "pyparsing",
**options: Any,
) -> File:
"""Parse GerberX3 file source code and construct AST from it."""
if parser == "pyparsing":
from pygerber.gerberx3.parser.pyparsing.parser import Parser
return Parser(**options).parse(code, strict=strict)
msg = f"Parser '{parser}' is not supported." # type: ignore[unreachable]
raise NotImplementedError(msg)
|