Uses of Class
net.hydromatic.morel.ast.AstNode
-
Packages that use AstNode Package Description net.hydromatic.morel.ast Abstract syntax tree.net.hydromatic.morel.compile Validates programs (represented asAstNode), deduces their type, and compiles them into code that can be evaluated. -
-
Uses of AstNode in net.hydromatic.morel.ast
Subclasses of AstNode in net.hydromatic.morel.ast Modifier and Type Class Description static classAst.AggregateCall to an aggregate function in acomputeclause.static classAst.AnnotatedExpParse tree node of an expression annotated with a type.static classAst.AnnotatedPatPattern that is a pattern annotated with a type.static classAst.ApplyApplication of a function to its argument.static classAst.CaseCase expression.static classAst.CompositeTypeNot really a type, just a way for the parser to represent the type arguments to a type constructor.static classAst.Con0PatType constructor pattern with no argument.static classAst.ConPatType constructor pattern with an argument.static classAst.DatatypeBindParse tree node of a datatype binding.static classAst.DatatypeDeclParse tree node of a datatype declaration.static classAst.DeclBase class for declarations.static classAst.ExpBase class of expression ASTs.static classAst.FnLambda expression.static classAst.FromFrom expression.static classAst.FunBindOne of the branches (separated by 'and') in a 'fun' function declaration.static classAst.FunctionTypeFunction type.static classAst.FunDeclParse tree node of a function declaration.static classAst.FunMatchOne of the branches (separated by '|') in a 'fun' function declaration.static classAst.IdParse tree node of an identifier.static classAst.IdPatNamed pattern, the pattern analog of theAst.Idexpression.static classAst.If"If ...static classAst.InfixCallCall to an infix operator.static classAst.InfixPatPattern build from an infix operator applied to two patterns.static classAst.LetExp"Let" expression.static classAst.ListList.static classAst.ListPatList pattern, the pattern analog of theAst.Listexpression.static classAst.LiteralParse tree node of a literal (constant).static classAst.LiteralPatLiteral pattern, the pattern analog of theAst.Literalexpression.static classAst.MatchMatch.static classAst.NamedTypeParse tree for a named type (e.g.static classAst.PatBase class for a pattern.static classAst.PrefixCallCall to an prefix operator.static classAst.RecordRecord.static classAst.RecordPatRecord pattern.static classAst.RecordSelectorParse tree node of a record selector.static classAst.RecordTypeParse tree node of a record type.static classAst.TupleTuple.static classAst.TuplePatTuple pattern, the pattern analog of theAst.Tupleexpression.static classAst.TupleTypeTuple type.static classAst.TyConType constructor.static classAst.TypeBase class for parse tree nodes that represent types.static classAst.TyVarParse tree node of a type variable.static classAst.ValBindValue bind.static classAst.ValDeclParse tree node of a value declaration.static classAst.WildcardPatWildcard pattern.Methods in net.hydromatic.morel.ast with type parameters of type AstNode Modifier and Type Method Description private <E extends AstNode>
java.util.List<E>Shuttle. visitList(java.util.List<E> nodes)private <K,E extends AstNode>
java.util.Map<K,E>Shuttle. visitMap(java.util.Map<K,E> nodes)Methods in net.hydromatic.morel.ast that return AstNode Modifier and Type Method Description AstNodeAst.Aggregate. accept(Shuttle shuttle)AstNodeAst.TyCon. accept(Shuttle shuttle)AstNodeAst.ValBind. accept(Shuttle shuttle)abstract AstNodeAstNode. accept(Shuttle shuttle)Accepts a shuttle, calling theShuttle.visit(net.hydromatic.morel.ast.Ast.Literal)method appropriate to the type of this node, and returning the result.AstNodeShuttle. visit(Ast.Aggregate aggregate)AstNodeShuttle. visit(Ast.TyCon tyCon)Methods in net.hydromatic.morel.ast with parameters of type AstNode Modifier and Type Method Description AstWriterAstWriter. append(AstNode node, int left, int right)Appends a parse tree node.AstWriterAstWriter. binary(java.lang.String left, AstNode a0, java.lang.String mid, AstNode a1, int right)Appends a call to a binary operator (e.g.AstWriterAstWriter. binary(java.lang.String left, AstNode a0, java.lang.String mid, AstNode a1, java.lang.String right)Appends a call to a binary operator (e.g.AstWriterAstWriter. infix(int left, AstNode a0, Op op, AstNode a1, int right)Appends a call to an infix operator.AstWriterAstWriter. prefix(int left, Op op, AstNode a, int right)Appends a call to an prefix operator.static java.lang.StringAst. toString(AstNode node)Method parameters in net.hydromatic.morel.ast with type arguments of type AstNode Modifier and Type Method Description AstWriterAstWriter. appendAll(java.lang.Iterable<? extends AstNode> nodes, int left, Op op, int right)Appends a list of parse tree nodes.AstWriterAstWriter. appendAll(java.lang.Iterable<? extends AstNode> list, java.lang.String sep)Appends a list of parse tree nodes separated bysep.AstWriterAstWriter. appendAll(java.lang.Iterable<? extends AstNode> list, java.lang.String start, java.lang.String sep, java.lang.String end)Appends a list of parse tree nodes separated bysep, and also with prefix and suffix:start node0 sep node1 ... sep nodeN end.AstWriterAstWriter. appendAll(java.lang.Iterable<? extends AstNode> list, java.lang.String start, java.lang.String sep, java.lang.String end, java.lang.String empty)Appends a list of parse tree nodes separated bysep, and also with prefix and suffix:start node0 sep node1 ... sep nodeN end.PosPos. plusAll(java.util.List<? extends AstNode> nodes)static PosPos. sum(java.util.List<? extends AstNode> nodes) -
Uses of AstNode in net.hydromatic.morel.compile
Fields in net.hydromatic.morel.compile with type parameters of type AstNode Modifier and Type Field Description (package private) java.util.Map<AstNode,Unifier.Term>TypeResolver. map(package private) java.util.Map<AstNode,Unifier.Term>TypeResolver.TypeMap. nodeTypeTermsMethods in net.hydromatic.morel.compile with type parameters of type AstNode Modifier and Type Method Description private <E extends AstNode>
ETypeResolver. reg(E node, Unifier.Variable variable, Unifier.Term term)Methods in net.hydromatic.morel.compile that return AstNode Modifier and Type Method Description private AstNodeTypeResolver. deduceMatchType(TypeResolver.TypeEnv env, Ast.Match match, java.util.Map<Ast.IdPat,Unifier.Term> termMap, Unifier.Variable argVariable, Unifier.Variable resultVariable)private AstNodeTypeResolver. deduceValBindType(TypeResolver.TypeEnv env, Ast.ValBind valBind, java.util.Map<Ast.IdPat,Unifier.Term> termMap, Unifier.Variable v)Methods in net.hydromatic.morel.compile with parameters of type AstNode Modifier and Type Method Description TypeTypeResolver.TypeMap. getType(AstNode node)Returns a type of an AST node.booleanTypeResolver.TypeMap. hasType(AstNode node)Returns whether an AST node has a type.static CompiledStatementCompiles. prepareStatement(TypeSystem typeSystem, Environment env, AstNode statement)Validates and compiles a statement (expression or declaration), and compiles it to code that can be evaluated by the interpreter.Constructor parameters in net.hydromatic.morel.compile with type arguments of type AstNode Constructor Description TypeMap(TypeSystem typeSystem, java.util.Map<AstNode,Unifier.Term> nodeTypeTerms, Unifier.Substitution substitution)
-