Uses of Class
net.hydromatic.morel.ast.AstNode
Packages that use AstNode
Package
Description
Standard ML interpreter, implemented in Java.
Abstract syntax tree.
Validates programs
(represented as
AstNode),
deduces their type,
and compiles them into code that can be evaluated.-
Uses of AstNode in net.hydromatic.morel
Methods in net.hydromatic.morel with parameters of type AstNode -
Uses of AstNode in net.hydromatic.morel.ast
Subclasses of AstNode in net.hydromatic.morel.astModifier and TypeClassDescriptionstatic classCall to an aggregate function in acomputeclause.static classParse tree node of an expression annotated with a type.static classPattern that is a pattern annotated with a type.static classApplication of a function to its argument.static classLayered pattern.static classCase expression.static classNot really a type, just a way for the parser to represent the type arguments to a type constructor.static classAcomputeclause in afromexpression.static classType constructor pattern with no argument.static classType constructor pattern with an argument.static classParse tree node of a datatype binding.static classParse tree node of a datatype declaration.static classBase class for declarations.static classBase class of expression ASTs.static classLambda expression.static classFrom expression.static classA step in afromexpression -where,groupororder.static classOne of the branches (separated by 'and') in a 'fun' function declaration.static classFunction type.static classParse tree node of a function declaration.static classOne of the branches (separated by '|') in a 'fun' function declaration.static classAgroupclause in afromexpression.static classParse tree node of an identifier.static classNamed pattern, the pattern analog of theAst.Idexpression.static class"If ...static classCall to an infix operator.static classPattern build from an infix operator applied to two patterns.static class"Let" expression.static classList expression.static classList pattern, the pattern analog of theAst.ListExpexpression.static classParse tree node of a literal (constant).static classLiteral pattern, the pattern analog of theAst.Literalexpression.static classMatch.static classParse tree for a named type (e.g.static classAnorderclause in afromexpression.static classAn item in anorderclause.static classBase class for a pattern.static classCall to a prefix operator.static classRecord.static classRecord pattern.static classParse tree node of a record selector.static classParse tree node of a record type.static classA scan (e.g.static classAskipclause in afromexpression.static classAtakeclause in afromexpression.static classTuple.static classTuple pattern, the pattern analog of theAst.Tupleexpression.static classTuple type.static classType constructor.static classBase class for parse tree nodes that represent types.static classParse tree node of a type variable.static classValue bind.static classParse tree node of a value declaration.static classAwhereclause in afromexpression.static classWildcard pattern.static classAyieldclause in afromexpression.static classCall to an aggregate function in acomputeclause.static classApplication of a function to its argument.static classLayered pattern.(package private) static classAbstract base class of Core nodes.static classCase expression.static classType constructor pattern with no argument.static classType constructor pattern with an argument.static classDatatype declaration.static classBase class for declarations.static classBase class of core expressions.static classLambda expression.static classFrom expression.static classA step in afromexpression -where,groupororder.static classAgroupclause in afromexpression.static classReference to a variable.static classNamed pattern.static class"Let" expression.static classList pattern.static classCode of a literal (constant).static classLiteral pattern, the pattern analog of theCore.Literalexpression.static class"Local" expression.static classMatch.static classBase class for named patterns (Core.IdPatandCore.AsPat).static classNon-recursive value declaration.static classAnorderclause in afromexpression.static classAn item in anorderclause.static classBase class for a pattern.static classRecord pattern.static classRecord selector function.static classRecursive value declaration.static classAjoinorv in listExprorv = exprclause in afromexpression.static classAskipclause in afromexpression.static classAtakeclause in afromexpression.static classTuple expression.static classTuple pattern, the pattern analog of theCore.Tupleexpression.static classAbstract (recursive or non-recursive) value declaration.static classAwhereclause in afromexpression.static classWildcard pattern.static classStep that computes an expression.Methods in net.hydromatic.morel.ast with type parameters of type AstNodeModifier and TypeMethodDescriptionprotected <E extends AstNode>
voidVisitor.accept(E e) For use as a method reference.Shuttle.visitSortedMap(SortedMap<K, E> nodes) Methods in net.hydromatic.morel.ast that return AstNodeModifier and TypeMethodDescriptionabstract AstNodeAccepts a shuttle, calling theShuttle.visit(net.hydromatic.morel.ast.Ast.Literal)method appropriate to the type of this node, and returning the result.protected AstNodeShuttle.visit(Ast.Aggregate aggregate) protected AstNodeShuttle.visit(Ast.Compute compute) protected AstNodeprotected AstNodeprotected AstNodeShuttle.visit(Ast.OrderItem orderItem) protected AstNodeprotected AstNodeprotected AstNodeprotected AstNodeprotected AstNodeMethods in net.hydromatic.morel.ast with parameters of type AstNodeModifier and TypeMethodDescriptionAppends a parse tree node.Appends a call to a binary operator (e.g.Appends a call to a binary operator (e.g.Appends a call to an infix operator.Appends a call to an prefix operator.Method parameters in net.hydromatic.morel.ast with type arguments of type AstNodeModifier and TypeMethodDescriptionAppends a list of parse tree nodes.Appends a list of parse tree nodes separated bysep.Appends a list of parse tree nodes separated bysep, and also with prefix and suffix:start node0 sep node1 ... sep nodeN end.AstWriter.appendAll(Iterable<? extends AstNode> list, String start, String sep, String end, String empty) Appends a list of parse tree nodes separated bysep, and also with prefix and suffix:start node0 sep node1 ... sep nodeN end.static Pos -
Uses of AstNode in net.hydromatic.morel.compile
Fields in net.hydromatic.morel.compile with type parameters of type AstNodeModifier and TypeFieldDescriptionprivate final Map<AstNode, Unifier.Term> TypeResolver.mapprivate final Map<AstNode, Unifier.Term> TypeMap.nodeTypeTermsMethods in net.hydromatic.morel.compile with type parameters of type AstNodeModifier and TypeMethodDescriptionprivate <E extends AstNode>
ETypeResolver.reg(E node, Unifier.Variable variable, Unifier.Term term) Methods in net.hydromatic.morel.compile that return AstNodeModifier and TypeMethodDescriptionprivate AstNodeTypeResolver.deduceValBindType(TypeResolver.TypeEnv env, Ast.ValBind valBind, Map<Ast.IdPat, Unifier.Term> termMap, Unifier.Variable v, Unifier.Variable vPat) Methods in net.hydromatic.morel.compile with parameters of type AstNodeModifier and TypeMethodDescriptionstatic Analyzer.AnalysisAnalyzer.analyze(TypeSystem typeSystem, Environment env, AstNode node) Analyzes an expression.CalciteCompiler.getRelationalVariables(Environment env, Set<String> nameSet, AstNode node) Returns the type of an AST node.TypeMap.getTypeOpt(AstNode node) Returns the type of an AST node, or null if no type is known.booleanReturns whether an AST node has a type.static CompiledStatementCompiles.prepareStatement(TypeSystem typeSystem, Session session, Environment env, AstNode statement, @Nullable Calcite calcite, Consumer<CompileException> warningConsumer, Tracer tracer) Validates and compiles a statement (expression or declaration), and compiles it to code that can be evaluated by the interpreter.static Ast.DeclConverts an expression or declaration to a declaration.static Ast.ValDeclConverts an expression or value declaration to a value declaration.booleanTypeMap.typeIsVariable(AstNode node) Returns whether the type of an AST node will be a type variable.static TypeResolver.ResolvedCompiles.validateExpression(AstNode statement, Map<Prop, Object> propMap, Map<String, ForeignValue> valueMap) Validates an expression or declaration, deducing its type and perhaps rewriting the expression to a form that can more easily be compiled.Constructor parameters in net.hydromatic.morel.compile with type arguments of type AstNodeModifierConstructorDescription(package private)TypeMap(TypeSystem typeSystem, Map<AstNode, Unifier.Term> nodeTypeTerms, Unifier.Substitution substitution)