PyreAst.ConcreteThis 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 ... endmodule Location : sig ... endmodule Identifier : sig ... endmodule Constant : sig ... endmodule ExpressionContext : sig ... endmodule BooleanOperator : sig ... endmodule BinaryOperator : sig ... endmodule UnaryOperator : sig ... endmodule ComparisonOperator : sig ... endmodule ImportAlias : sig ... endmodule Comprehension : sig ... endmodule Keyword : sig ... endSee TaglessFinal.Keyword.
module Argument : sig ... endmodule Arguments : sig ... endmodule Expression : sig ... endmodule WithItem : sig ... endmodule TypeParam : sig ... endmodule ExceptionHandler : sig ... endmodule MatchCase : sig ... endmodule Pattern : sig ... endSee TaglessFinal.Pattern.
module Statement : sig ... endmodule TypeIgnore : sig ... endmodule Module : sig ... endSee TaglessFinal.Module.
module FunctionType : sig ... endval 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,
TypeParam.t,
UnaryOperator.t,
WithItem.t)
TaglessFinal.tReturn a value of TaglessFinal.t whose specification is to construct a concrete AST as defined in this module.