module Htcc.Parser.AST.Type (
ASTSuccess,
ASTConstruction,
ASTs,
ASTResult,
ASTState
) where
import Htcc.Parser.AST.Core (ATree (..))
import Htcc.Parser.ConstructionData.Core (ConstructionData,
Warnings)
import Htcc.Parser.ConstructionData.Scope.ManagedScope (ASTError)
import qualified Htcc.Parser.ConstructionData.Scope.Var as PV
import qualified Htcc.Tokenizer as HT
import Htcc.Utils.CompilationState (CompilationState)
type ASTSuccess i = ([HT.TokenLC i], ATree i, ConstructionData i)
type ASTConstruction i = Either (ASTError i) (ASTSuccess i)
type ASTs i = [ATree i]
type ASTResult i = Either (ASTError i) (Warnings i, ASTs i, PV.GlobalVars i, PV.Literals i)
type ASTState i r = CompilationState (ConstructionData i) [HT.TokenLC i] i r