TreeModule
A polymorphic module containing definitions of Amy trees.
This trait represents either nominal trees (where names have not been resolved) or symbolic trees (where names/qualified names) have been resolved to unique identifiers. This is done by having two type fields within the module, which will be instantiated differently by the two different modules.
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object NominalTreeModule.typeobject SymbolicTreeModule.type
Members list
Type members
Classlikes
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ClassOrFunDeftrait Definitiontrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Literal[Boolean]trait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Function/constructor call
Function/constructor call
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ClassOrFunDeftrait Definitiontrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Patterntrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
- Known subtypes
Represent a ClassType such as O.Option or String
Represent a ClassType such as O.Option or String
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait TypeTreetrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
TODO
TODO
Attributes
- Supertypes
- Known subtypes
-
trait ClassOrFunDefclass AbstractClassDefclass CaseClassDefclass FunDefclass ModuleDefclass ParamDefShow all
Empty expression
Empty expression
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Represents a computational error; prints its message, then exits
Represents a computational error; prints its message, then exits
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Base type for all the expressions in Amy
Base type for all the expressions in Amy
Attributes
- Supertypes
- Known subtypes
-
class Callclass EmptyExprclass Errorclass FunRefclass InfixCallclass Iteclass Lettrait Literal[T]class BooleanLiteralclass IntLiteralclass StringLiteralclass UnitLiteralclass Matchclass Negclass Notclass Sequenceclass VariableShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ClassOrFunDeftrait Definitiontrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Function references (Module::function_name)
Function references (Module::function_name)
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Represents a FunctionType such as (String) => String
Represents a FunctionType such as (String) => String
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait TypeTreetrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Patterntrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Represents an Infix call to a function For now, we only use it for operators.
Represents an Infix call to a function For now, we only use it for operators.
It should be desugared to a Call(op, List(lhs, rhs))
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Literal[Int]trait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
If-then-else
If-then-else
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Local variable definition
Local variable definition
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Represent a Literal (Int, Boolean, String or Unit)
Represent a Literal (Int, Boolean, String or Unit)
Attributes
- Supertypes
- Known subtypes
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Patterntrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Pattern matching
Pattern matching
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Cases and patterns for Match expressions
Cases and patterns for Match expressions
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Definitiontrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Represents a -(expr)
Represents a -(expr)
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Represents a !(expr)
Represents a !(expr)
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Definitiontrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Base Type to represent a pattern
Base Type to represent a pattern
Attributes
- Supertypes
- Known subtypes
Root of the AST, we only have one Program with multiple modules
Root of the AST, we only have one Program with multiple modules
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
The ; operator
The ; operator
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Literal[String]trait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait TypeTreetrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Base type for all the AST nodes
Base type for all the AST nodes
Attributes
- Supertypes
- Known subtypes
-
trait Definitiontrait ClassOrFunDefclass AbstractClassDefclass CaseClassDefclass FunDefclass ModuleDefclass ParamDeftrait Exprclass Callclass EmptyExprclass Errorclass FunRefclass InfixCallclass Iteclass Lettrait Literal[T]class BooleanLiteralclass IntLiteralclass StringLiteralclass UnitLiteralclass Matchclass Negclass Notclass Sequenceclass Variableclass MatchCaseclass Patternclass CaseClassPatternclass IdPatternclass LiteralPattern[T]class WildcardPatternclass Programtrait TypeTreeclass ClassTypeTreeclass FunctionTypeTreeclass TTypeTreeShow all
Base Type to represent type node
Base Type to represent type node
Attributes
- Supertypes
- Known subtypes
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Literal[Unit]trait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Represents an access to a variable
Represents an access to a variable
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait Exprtrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Patterntrait Treetrait Positionedclass Objecttrait Matchableclass AnyShow all
Types
Represents the type for the name for this tree module.
Represents the type for the name for this tree module.
Attributes
Represents a name within an module
Represents a name within an module