LibCST/docs/source/parser.rst
2019-08-22 13:35:11 -07:00

49 lines
1.2 KiB
ReStructuredText

Parsing
=======
The parser functions accept source code and an optional configuration object,
and will generate :class:`~libcst.CSTNode` objects.
:func:`~libcst.parse_module` is the most useful function here, since it accepts
the entire contents of a file and returns a new tree, but
:func:`~libcst.parse_expression` and :func:`~libcst.parse_statement` are useful
when inserting new nodes into the tree, because they're easier to use than the
equivalent node constructors.
>>> import libcst as cst
>>> cst.parse_expression("1 + 2")
BinaryOperation(
left=Integer(
value='1',
lpar=[],
rpar=[],
),
operator=Add(
whitespace_before=SimpleWhitespace(
value=' ',
),
whitespace_after=SimpleWhitespace(
value=' ',
),
),
right=Integer(
value='2',
lpar=[],
rpar=[],
),
lpar=[],
rpar=[],
)
.. autofunction:: libcst.parse_module
.. autofunction:: libcst.parse_expression
.. autofunction:: libcst.parse_statement
.. autoclass:: libcst.PartialParserConfig
Syntax Errors
-------------
.. autoclass:: libcst.ParserSyntaxError
:members: message, raw_line, raw_column, editor_line, editor_column
:special-members: __str__