org.nlogo.compile.api
Members list
Type members
Classlikes
represents an application, in the abstract (either a reporter application of a command application). This is used when parsing arguments, when we don't care what kind of application the args are for.
represents an application, in the abstract (either a reporter application of a command application). This is used when parsing arguments, when we don't care what kind of application the args are for.
Attributes
- Source
- AstNode.scala
- Supertypes
- Known subtypes
-
class ReporterAppclass Statement
Attributes
- Source
- AstVisitor.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
An interface representing a node in the NetLogo abstract syntax tree (AKA parse tree, in NetLogo's case).
An interface representing a node in the NetLogo abstract syntax tree (AKA parse tree, in NetLogo's case).
Each AstNode, even if synthesized, should correspond to some particular source fragment, as indicated by the position and length. It's the compiler's job to make sure these values are always reasonable.
Attributes
- Source
- AstNode.scala
- Supertypes
- Known subtypes
-
trait Applicationclass ReporterAppclass Statementtrait Expressionclass CodeBlockclass CommandBlockclass ReporterBlockclass ProcedureDefinitionclass StatementsShow all
Transforms an AST to allow changes without mutation
Transforms an AST to allow changes without mutation
Attributes
- Source
- AstVisitor.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
an interface for AST tree-walkers. This represents the usual Visitor pattern with double-dispatch.
an interface for AST tree-walkers. This represents the usual Visitor pattern with double-dispatch.
Attributes
- Source
- AstVisitor.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class DefaultAstVisitorclass LambdaVariableVisitorclass LocalsVisitorclass Optimizerclass SetVisitorclass SimpleOfVisitorShow all
Attributes
- Source
- Interfaces.scala
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Source
- Backifier.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class Backifier
Attributes
- Source
- PrimitiveMungers.scala
- Supertypes
represents a set of code that should not be evaluated, but can be lexed and tokenized. This is an expression, and can be used as an argument to commands and reports.
represents a set of code that should not be evaluated, but can be lexed and tokenized. This is an expression, and can be used as an argument to commands and reports.
Attributes
- Source
- AstNode.scala
- Supertypes
-
trait Expressiontrait AstNodetrait AstNodetrait SourceLocatableclass Objecttrait Matchableclass AnyShow all
represents a block containing zero or more statements. Called a command block rather than a statement block for consistency with usual NetLogo jargon. Note that this is an Expression, and as such can be an argument to commands and reporters, etc.
represents a block containing zero or more statements. Called a command block rather than a statement block for consistency with usual NetLogo jargon. Note that this is an Expression, and as such can be an argument to commands and reporters, etc.
Attributes
- Source
- AstNode.scala
- Supertypes
-
trait Expressiontrait AstNodetrait AstNodetrait SourceLocatableclass Objecttrait Matchableclass AnyShow all
Attributes
- Source
- PrimitiveMungers.scala
- Supertypes
Attributes
- Source
- PrimitiveMungers.scala
- Supertypes
- Known subtypes
-
trait RewritingCommandMungerobject CroFastobject CrtFastobject Fd1object FdLessThan1object HatchFastobject SproutFastShow all
The default AST tree-walker. This simply visits each node of the tree, and visits any children of each node in turn. Subclasses can implement pre-order or post-order traversal, or a wide range of other strategies.
The default AST tree-walker. This simply visits each node of the tree, and visits any children of each node in turn. Subclasses can implement pre-order or post-order traversal, or a wide range of other strategies.
Attributes
- Source
- AstVisitor.scala
- Supertypes
- Known subtypes
-
class LambdaVariableVisitorclass LocalsVisitorclass Optimizerclass SetVisitorclass SimpleOfVisitor
represents a NetLogo expression. An expression is either a block or a reporter application (variable references and constants (including lists), are turned into reporter applications).
represents a NetLogo expression. An expression is either a block or a reporter application (variable references and constants (including lists), are turned into reporter applications).
Attributes
- Source
- AstNode.scala
- Supertypes
- Known subtypes
Attributes
- Source
- Interfaces.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object FrontMiddleBridge
Attributes
- Companion
- trait
- Source
- PrimitiveMungers.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Match.type
Attributes
- Companion
- object
- Source
- PrimitiveMungers.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Source
- Interfaces.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object MiddleEnd
Attributes
- Companion
- class
- Source
- Optimizations.scala
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
Optimizations.type
Attributes
- Companion
- object
- Source
- Optimizations.scala
- Supertypes
Attributes
- Source
- PrimitiveMungers.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait CommandMungertrait RewritingCommandMungerobject CroFastobject CrtFastobject Fd1object FdLessThan1object HatchFastobject SproutFasttrait ReporterMungertrait RewritingReporterMungerobject AnyBreedOnobject AnyOtherobject AnyOtherWithobject AnyTurtlesOnobject AnyWith1object AnyWith2object AnyWith3object AnyWith4object AnyWith5object CountOtherobject CountOtherWithobject CountWithobject HasEqualobject HasGreaterThanobject HasLessThanobject HasNotEqualobject Nsumobject Nsum4object OneOfWithobject OtherWithobject PatchAtobject PatchVariableDoubleobject RandomConstobject TurtleVariableDoubleobject Withobject WithOtherShow all
represents a single procedure definition. really just a container for the procedure body, which is a Statements object.
represents a single procedure definition. really just a container for the procedure body, which is a Statements object.
Attributes
- Source
- AstNode.scala
- Supertypes
represents a reporter application. This is the typical kind of NetLogo expression, things like "round 5" and "3 + 4". However, this class also represents things like constants, which are converted into no-arg reporter applications as they're parsed.
represents a reporter application. This is the typical kind of NetLogo expression, things like "round 5" and "3 + 4". However, this class also represents things like constants, which are converted into no-arg reporter applications as they're parsed.
Attributes
- Companion
- object
- Source
- AstNode.scala
- Supertypes
-
trait Applicationtrait Expressiontrait AstNodetrait AstNodetrait SourceLocatableclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Source
- AstNode.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ReporterApp.type
Attributes
- Source
- PrimitiveMungers.scala
- Supertypes
represents a block containing exactly one expression. Called a reporter block rather than an expression block for consistency with usual NetLogo jargon. Note that this is an Expression, and as such can be an argument to commands and reporters, etc. However, it is a different expression from the expression it contains... Its "blockness" is significant.
represents a block containing exactly one expression. Called a reporter block rather than an expression block for consistency with usual NetLogo jargon. Note that this is an Expression, and as such can be an argument to commands and reporters, etc. However, it is a different expression from the expression it contains... Its "blockness" is significant.
Attributes
- Source
- AstNode.scala
- Supertypes
-
trait Expressiontrait AstNodetrait AstNodetrait SourceLocatableclass Objecttrait Matchableclass AnyShow all
Attributes
- Source
- PrimitiveMungers.scala
- Supertypes
- Known subtypes
-
trait RewritingReporterMungerobject AnyBreedOnobject AnyOtherobject AnyOtherWithobject AnyTurtlesOnobject AnyWith1object AnyWith2object AnyWith3object AnyWith4object AnyWith5object CountOtherobject CountOtherWithobject CountWithobject HasEqualobject HasGreaterThanobject HasLessThanobject HasNotEqualobject Nsumobject Nsum4object OneOfWithobject OtherWithobject PatchAtobject PatchVariableDoubleobject RandomConstobject TurtleVariableDoubleobject Withobject WithOtherShow all
Attributes
- Source
- PrimitiveMungers.scala
- Supertypes
- Known subtypes
-
object CroFastobject CrtFastobject Fd1object FdLessThan1object HatchFastobject SproutFastShow all
Attributes
- Source
- PrimitiveMungers.scala
- Supertypes
- Known subtypes
-
object AnyBreedOnobject AnyOtherobject AnyOtherWithobject AnyTurtlesOnobject AnyWith1object AnyWith2object AnyWith3object AnyWith4object AnyWith5object CountOtherobject CountOtherWithobject CountWithobject HasEqualobject HasGreaterThanobject HasLessThanobject HasNotEqualobject Nsumobject Nsum4object OneOfWithobject OtherWithobject PatchAtobject PatchVariableDoubleobject RandomConstobject TurtleVariableDoubleobject Withobject WithOtherShow all
represents a NetLogo statement. Statements only have one form: command application.
represents a NetLogo statement. Statements only have one form: command application.
Attributes
- Source
- AstNode.scala
- Supertypes
-
trait Applicationtrait AstNodetrait AstNodetrait SourceLocatableclass Objecttrait Matchableclass AnyShow all
represents a chunk of zero or more NetLogo statements. Note that this is not necessarily a "block" of statements, as block means something specific (enclosed in [], in particular). This class is used to represent other groups of statements as well, for instance procedure bodies.
represents a chunk of zero or more NetLogo statements. Note that this is not necessarily a "block" of statements, as block means something specific (enclosed in [], in particular). This class is used to represent other groups of statements as well, for instance procedure bodies.
Attributes
- Source
- AstNode.scala
- Supertypes