Module PyreAst.Concrete
This module provides types for a concrete abstract syntax tree of Python, for downstream clients who perfer conventional ADT over the tagless-final approach.
The structure of the syntax tree is kept in sync with the structure of the tagless-final APIs. Consult documentation of TaglessFinal
for meanings of the various syntax constructs.
Record/variant definitions are intentionally made private
within this module. To construct those records/variants, use the corresponding make_t
constructor functions.
module Position : sig ... end
module Location : sig ... end
module Identifier : sig ... end
module Constant : sig ... end
module ExpressionContext : sig ... end
module BooleanOperator : sig ... end
module BinaryOperator : sig ... end
module UnaryOperator : sig ... end
module ComparisonOperator : sig ... end
module ImportAlias : sig ... end
module rec Comprehension : sig ... end
and Keyword : sig ... end
See
TaglessFinal.Keyword
.
and Argument : sig ... end
and Arguments : sig ... end
and Expression : sig ... end
module WithItem : sig ... end
module rec ExceptionHandler : sig ... end
and MatchCase : sig ... end
and Pattern : sig ... end
See
TaglessFinal.Pattern
.
and Statement : sig ... end
module TypeIgnore : sig ... end
module Module : sig ... end
See
TaglessFinal.Module
.
module FunctionType : sig ... end
val make_tagless_final : unit -> (Argument.t, Arguments.t, BinaryOperator.t, BooleanOperator.t, ComparisonOperator.t, Comprehension.t, Constant.t, ExceptionHandler.t, Expression.t, ExpressionContext.t, FunctionType.t, Identifier.t, ImportAlias.t, Keyword.t, Location.t, MatchCase.t, Module.t, Pattern.t, Position.t, Statement.t, TypeIgnore.t, UnaryOperator.t, WithItem.t) TaglessFinal.t
Return a value of
TaglessFinal.t
whose specification is to construct a concrete AST as defined in this module.