org.nlogo.compile.middle

Members list

Type members

Classlikes

class ASTBackifier(backifier: Backifier, procedures: ListMap[String, Procedure])

Attributes

Source
ASTBackifier.scala
Supertypes
class Object
trait Matchable
class Any
object ClosedLetFolder extends AstFolder[Set[Let]]

Attributes

Source
ScopeTransformer.scala
Supertypes
trait AstFolder[Set[Let]]
class Object
trait Matchable
class Any
Self type

Attributes

Source
FrontMiddleBridge.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Source
ScopeTransformer.scala
Supertypes
trait AstFolder[Set[Let]]
class Object
trait Matchable
class Any
Self type
class LambdaLifter(lambdaNumbers: Iterator[Int]) extends AstTransformer

Removes the bodies of command lambdas and makes them into separate "child" procedures.

Removes the bodies of command lambdas and makes them into separate "child" procedures.

Attributes

Source
LambdaLifter.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

Source
LambdaVariableVisitor.scala
Supertypes
trait AstVisitor
class Object
trait Matchable
class Any
class LocalsVisitor(alteredLets: Map[Procedure, Map[Let, Int]]) extends DefaultAstVisitor

This is an AstVisitor that optimizes "let" variables by converting them to "locals" variables instead whenever possible, since the locals mechanism is speedier than the let mechanism.

This is an AstVisitor that optimizes "let" variables by converting them to "locals" variables instead whenever possible, since the locals mechanism is speedier than the let mechanism.

"Whenever possible" is "whenever it's not inside an ask". We must find and convert two prims: _let and _letvariable. We also must add the variable to the procedure's locals list.

We also do the same thing with "repeat", which by default uses the "let" mechanism, but must be changed to use the "locals" mechanism when used outside "ask".

Attributes

Source
LocalsVisitor.scala
Supertypes
trait AstVisitor
class Object
trait Matchable
class Any
object MiddleEnd extends MiddleEndInterface

Attributes

Source
MiddleEnd.scala
Supertypes
class Object
trait Matchable
class Any
Self type
MiddleEnd.type
class Optimizer(optimizations: Optimizations) extends DefaultAstVisitor

Attributes

Source
Optimizer.scala
Supertypes
trait AstVisitor
class Object
trait Matchable
class Any

Attributes

Source
ReferenceTransformer.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

Source
ScopeTransformer.scala
Supertypes
class Object
trait Matchable
class Any
class SetVisitor(program: Program) extends DefaultAstVisitor

an AstVisitor that handles the set command. We convert constructs like "_set(var, value)" into more specific things like "_setprocedurevariable(value)" or whatever, where the new set* command knows internally the variable it's setting.

an AstVisitor that handles the set command. We convert constructs like "_set(var, value)" into more specific things like "_setprocedurevariable(value)" or whatever, where the new set* command knows internally the variable it's setting.

Attributes

Companion
object
Source
SetVisitor.scala
Supertypes
trait AstVisitor
class Object
trait Matchable
class Any
object SetVisitor

Attributes

Companion
class
Source
SetVisitor.scala
Supertypes
class Object
trait Matchable
class Any
Self type
SetVisitor.type

Converts _of(_turtlevariable,...) to _turtlevariableof(...) and _of(_patchvariable,...) to _patchvariableof(...) for better efficiency.

Converts _of(_turtlevariable,...) to _turtlevariableof(...) and _of(_patchvariable,...) to _patchvariableof(...) for better efficiency.

Attributes

Source
SimpleOfVisitor.scala
Supertypes
trait AstVisitor
class Object
trait Matchable
class Any