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 Comprehension : sig ... end
module Keyword : sig ... end
See TaglessFinal.Keyword
.
module Argument : sig ... end
module Arguments : sig ... end
module Expression : sig ... end
module WithItem : sig ... end
module TypeParam : sig ... end
module ExceptionHandler : sig ... end
module MatchCase : sig ... end
module Pattern : sig ... end
See TaglessFinal.Pattern
.
module 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,
TypeParam.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.