org.nlogo.nvm
Class Syntax

java.lang.Object
  extended by org.nlogo.nvm.Syntax

public final class Syntax
extends Object


Field Summary
static int COMMAND_PRECEDENCE
           
static int NORMAL_PRECEDENCE
           
static int TYPE_AGENT
           
static int TYPE_AGENTSET
           
static int TYPE_BOOLEAN
           
static int TYPE_BOOLEAN_BLOCK
           
static int TYPE_BRACKETED
           
static int TYPE_COMMAND_BLOCK
           
static int TYPE_LINK
           
static int TYPE_LINKSET
           
static int TYPE_LIST
           
static int TYPE_NOBODY
           
static int TYPE_NUMBER
           
static int TYPE_NUMBER_BLOCK
           
static int TYPE_OPTIONAL
           
static int TYPE_OTHER_BLOCK
           
static int TYPE_PATCH
           
static int TYPE_PATCHSET
           
static int TYPE_READABLE
           
static int TYPE_REFERENCE
           
static int TYPE_REPEATABLE
           
static int TYPE_REPORTER_BLOCK
           
static int TYPE_STRING
           
static int TYPE_TURTLE
           
static int TYPE_TURTLESET
           
static int TYPE_VOID
           
static int TYPE_WILDCARD
           
 
Method Summary
 String agentClassString()
           
static String aTypeName(int mask)
           
static String aTypeName(Object obj)
           
 String blockAgentClassString()
           
static Syntax commandSyntax()
           
static Syntax commandSyntax(boolean switches)
           
static Syntax commandSyntax(int[] right)
           
static Syntax commandSyntax(int[] right, boolean switches)
           
static Syntax commandSyntax(int[] right, int dfault)
           
static Syntax commandSyntax(int[] right, int dfault, String agentClassString, String blockAgentClassString, boolean switches)
           
static Syntax commandSyntax(int[] right, String agentClassString)
           
static Syntax commandSyntax(int[] right, String agentClassString, boolean switches)
           
static Syntax commandSyntax(int[] right, String agentClassString, String blockAgentClassString, boolean switches)
           
static Syntax commandSyntax(String agentClassString, boolean switches)
           
 String dump()
           
static int getAgentSetMask(Class<? extends Agent> type)
           
 String getPositionPhrase(int argIndex)
          The returns an english-text phrase, describing the position of the argument at the given index, relative to the instruction itself.
static int getTypeConstant(Class<?> typeC)
           
 boolean isInfix()
          indicates whether this instruction should be parsed as infix.
 boolean isRightAssociative()
           
 int left()
           
 int min()
           
 int precedence()
           
static Syntax reporterSyntax(int ret)
           
static Syntax reporterSyntax(int[] right, int ret)
           
static Syntax reporterSyntax(int[] right, int ret, int dfault)
           
static Syntax reporterSyntax(int[] right, int ret, int dfault, int min)
           
static Syntax reporterSyntax(int[] right, int ret, String agentClassString)
           
static Syntax reporterSyntax(int[] right, int ret, String agentClassString, String blockAgentClassString)
           
static Syntax reporterSyntax(int left, int[] right, int ret, int precedence)
           
static Syntax reporterSyntax(int left, int[] right, int ret, int precedence, boolean isRightAssociative)
           
static Syntax reporterSyntax(int left, int[] right, int ret, int precedence, boolean isRightAssociative, String agentClassString, String blockAgentClassString)
           
static Syntax reporterSyntax(int left, int[] right, int ret, int precedence, int dfault, boolean isRightAssociative, String agentClassString, String blockAgentClassString)
           
static Syntax reporterSyntax(int ret, String agentClassString)
           
 int ret()
           
 int[] right()
           
 int rightDefault()
          returns the number of args this instruction takes on the right by default.
 boolean switches()
           
 int totalDefault()
          returns the total number of args, left and right, this instruction takes by default.
static String typeName(int mask)
           
static String typeName(Object obj)
           
static boolean typesAreCompatible(int mask, int value)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TYPE_VOID

public static final int TYPE_VOID
See Also:
Constant Field Values

TYPE_NUMBER

public static final int TYPE_NUMBER
See Also:
Constant Field Values

TYPE_BOOLEAN

public static final int TYPE_BOOLEAN
See Also:
Constant Field Values

TYPE_STRING

public static final int TYPE_STRING
See Also:
Constant Field Values

TYPE_LIST

public static final int TYPE_LIST
See Also:
Constant Field Values

TYPE_TURTLESET

public static final int TYPE_TURTLESET
See Also:
Constant Field Values

TYPE_PATCHSET

public static final int TYPE_PATCHSET
See Also:
Constant Field Values

TYPE_LINKSET

public static final int TYPE_LINKSET
See Also:
Constant Field Values

TYPE_AGENTSET

public static final int TYPE_AGENTSET
See Also:
Constant Field Values

TYPE_NOBODY

public static final int TYPE_NOBODY
See Also:
Constant Field Values

TYPE_TURTLE

public static final int TYPE_TURTLE
See Also:
Constant Field Values

TYPE_PATCH

public static final int TYPE_PATCH
See Also:
Constant Field Values

TYPE_LINK

public static final int TYPE_LINK
See Also:
Constant Field Values

TYPE_AGENT

public static final int TYPE_AGENT
See Also:
Constant Field Values

TYPE_READABLE

public static final int TYPE_READABLE
See Also:
Constant Field Values

TYPE_WILDCARD

public static final int TYPE_WILDCARD
See Also:
Constant Field Values

TYPE_REFERENCE

public static final int TYPE_REFERENCE
See Also:
Constant Field Values

TYPE_COMMAND_BLOCK

public static final int TYPE_COMMAND_BLOCK
See Also:
Constant Field Values

TYPE_BOOLEAN_BLOCK

public static final int TYPE_BOOLEAN_BLOCK
See Also:
Constant Field Values

TYPE_NUMBER_BLOCK

public static final int TYPE_NUMBER_BLOCK
See Also:
Constant Field Values

TYPE_OTHER_BLOCK

public static final int TYPE_OTHER_BLOCK
See Also:
Constant Field Values

TYPE_REPORTER_BLOCK

public static final int TYPE_REPORTER_BLOCK
See Also:
Constant Field Values

TYPE_BRACKETED

public static final int TYPE_BRACKETED
See Also:
Constant Field Values

TYPE_REPEATABLE

public static final int TYPE_REPEATABLE
See Also:
Constant Field Values

TYPE_OPTIONAL

public static final int TYPE_OPTIONAL
See Also:
Constant Field Values

COMMAND_PRECEDENCE

public static final int COMMAND_PRECEDENCE
See Also:
Constant Field Values

NORMAL_PRECEDENCE

public static final int NORMAL_PRECEDENCE
See Also:
Constant Field Values
Method Detail

right

public int[] right()

left

public int left()

ret

public int ret()

precedence

public int precedence()

isRightAssociative

public boolean isRightAssociative()

agentClassString

public String agentClassString()

blockAgentClassString

public String blockAgentClassString()

switches

public boolean switches()

commandSyntax

public static Syntax commandSyntax()

commandSyntax

public static Syntax commandSyntax(boolean switches)

commandSyntax

public static Syntax commandSyntax(String agentClassString,
                                   boolean switches)

commandSyntax

public static Syntax commandSyntax(int[] right)

commandSyntax

public static Syntax commandSyntax(int[] right,
                                   boolean switches)

commandSyntax

public static Syntax commandSyntax(int[] right,
                                   String agentClassString)

commandSyntax

public static Syntax commandSyntax(int[] right,
                                   String agentClassString,
                                   boolean switches)

commandSyntax

public static Syntax commandSyntax(int[] right,
                                   String agentClassString,
                                   String blockAgentClassString,
                                   boolean switches)

commandSyntax

public static Syntax commandSyntax(int[] right,
                                   int dfault,
                                   String agentClassString,
                                   String blockAgentClassString,
                                   boolean switches)

commandSyntax

public static Syntax commandSyntax(int[] right,
                                   int dfault)

reporterSyntax

public static Syntax reporterSyntax(int ret)

reporterSyntax

public static Syntax reporterSyntax(int ret,
                                    String agentClassString)

reporterSyntax

public static Syntax reporterSyntax(int left,
                                    int[] right,
                                    int ret,
                                    int precedence)

reporterSyntax

public static Syntax reporterSyntax(int left,
                                    int[] right,
                                    int ret,
                                    int precedence,
                                    boolean isRightAssociative)

reporterSyntax

public static Syntax reporterSyntax(int[] right,
                                    int ret)

reporterSyntax

public static Syntax reporterSyntax(int[] right,
                                    int ret,
                                    String agentClassString,
                                    String blockAgentClassString)

reporterSyntax

public static Syntax reporterSyntax(int[] right,
                                    int ret,
                                    String agentClassString)

reporterSyntax

public static Syntax reporterSyntax(int[] right,
                                    int ret,
                                    int dfault)

reporterSyntax

public static Syntax reporterSyntax(int[] right,
                                    int ret,
                                    int dfault,
                                    int min)

reporterSyntax

public static Syntax reporterSyntax(int left,
                                    int[] right,
                                    int ret,
                                    int precedence,
                                    boolean isRightAssociative,
                                    String agentClassString,
                                    String blockAgentClassString)

reporterSyntax

public static Syntax reporterSyntax(int left,
                                    int[] right,
                                    int ret,
                                    int precedence,
                                    int dfault,
                                    boolean isRightAssociative,
                                    String agentClassString,
                                    String blockAgentClassString)

isInfix

public boolean isInfix()
indicates whether this instruction should be parsed as infix. Infix instructions expect exactly one argument on the left and should not be variadic on the right.

Returns:
true if this instruction is infix, false otherwise.

rightDefault

public int rightDefault()
returns the number of args this instruction takes on the right by default.


totalDefault

public int totalDefault()
returns the total number of args, left and right, this instruction takes by default.


min

public int min()

getPositionPhrase

public String getPositionPhrase(int argIndex)
The returns an english-text phrase, describing the position of the argument at the given index, relative to the instruction itself. (e.g. "the second input", "the first argument on the right", etc) ~Forrest (11/10/2006) CURRENTLY NOT USED! (But it seemed potentially useful, so I didn't delete it) ~Forrest (11/13/2006)

Parameters:
argIndex - - index of the argument we want to describe
Returns:
english-text description of the argument's position

getAgentSetMask

public static int getAgentSetMask(Class<? extends Agent> type)

typesAreCompatible

public static boolean typesAreCompatible(int mask,
                                         int value)

aTypeName

public static String aTypeName(Object obj)

typeName

public static String typeName(Object obj)

aTypeName

public static String aTypeName(int mask)

typeName

public static String typeName(int mask)

getTypeConstant

public static int getTypeConstant(Class<?> typeC)

dump

public String dump()