const Commands = [
    {
        name: 'SHOW',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'UPDATE-PLOTS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CLEAR-GLOBALS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'DISPLAY',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'ASK',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [{ types: ['agent', 'agentset'], isRepeatable: false }, 'commandblock'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: '?',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'PLOT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CREATE-LINKS-FROM',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['turtle agentset', { type: 'commandblock', isRepeatable: false, isOptional: true }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: '---L',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'CAREFULLY',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['commandblock', 'commandblock'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-BROADCAST',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string', 'wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FORWARD',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PLOT-PEN-RESET',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__STDOUT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__LINKCODE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '---L',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: false,
        },
    },
    {
        name: 'SET-PLOT-X-RANGE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CREATE-TEMPORARY-PLOT-PEN',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-SEND',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [{ types: ['string', 'list'], isRepeatable: false }, 'string', 'wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-BROADCAST-CLEAR-OUTPUT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'OUTPUT-PRINT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-SEND-FOLLOW',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string', 'agent', 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'RP',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CRO',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', { type: 'commandblock', isRepeatable: false, isOptional: true }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: '-T--',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'FILE-WRITE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [
                {
                    types: ['number', 'boolean', 'string', 'list', 'nobody'],
                    isRepeatable: false,
                },
            ],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SET-PLOT-PEN-COLOR',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [{ types: ['number', 'list'], isRepeatable: false }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__PATCHCODE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '--P-',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: false,
        },
    },
    {
        name: 'ERROR',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'OUTPUT-SHOW',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'RESET-PERSPECTIVE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__PWD',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'IF',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['boolean', 'commandblock'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'UPHILL',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['symbol'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PLOT-PEN-DOWN',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SET',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard', 'wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SET-CURRENT-PLOT-PEN',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'DOWNHILL',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['symbol'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SET-PLOT-Y-RANGE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'STOP',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SET-CURRENT-DIRECTORY',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__DONE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: false,
        },
    },
    {
        name: 'RT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'IMPORT-PCOLORS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'IMPORT-PCOLORS-RGB',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__TURTLECODE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: false,
        },
    },
    {
        name: 'CREATE-LINK-TO',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['turtle', { type: 'commandblock', isRepeatable: false, isOptional: true }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: '---L',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'DIFFUSE4',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['symbol', 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SET-DEFAULT-SHAPE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [{ types: ['turtle agentset', 'linkset'], isRepeatable: false }, 'string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'BK',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CLEAR-PATCHES',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'TIE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '---L',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FILE-OPEN',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SHOW-LINK',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '---L',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__EXPERIMENTSTEPEND',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'RESET-TIMER',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__APPLY',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['command', 'list'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SETXY',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'JUMP',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-BROADCAST-MESSAGE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'RIDE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['turtle'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FILE-CLOSE-ALL',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-SEND-MESSAGE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [{ types: ['string', 'list'], isRepeatable: false }, 'wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'DOWNHILL4',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['symbol'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__STDERR',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-KICK-CLIENT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__BENCH',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PEN-UP',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'BACK',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'EXPORT-INTERFACE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SET-PLOT-PEN-INTERVAL',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CREATE-TURTLES',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', { type: 'commandblock', isRepeatable: false, isOptional: true }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: '-T--',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'REPEAT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', 'commandblock'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__PLOT-PEN-HIDE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'WAIT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FOLLOW-ME',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'RIDE-ME',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__PLOT-PEN-SHOW',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__SET-LINE-THICKNESS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FILE-TYPE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'LT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__RELOAD-EXTENSIONS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__FOREVERBUTTONEND',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: false,
        },
    },
    {
        name: '__IGNORE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'IMPORT-WORLD',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PLOTXY',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SHOW-TURTLE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'AUTO-PLOT-OFF',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CA',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PRINT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CREATE-ORDERED-TURTLES',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', { type: 'commandblock', isRepeatable: false, isOptional: true }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: '-T--',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'LEFT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'ST',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PU',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'LET',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard', 'wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'RANDOM-SEED',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'WATCH-ME',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-TPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-CLEAR-OVERRIDES',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CLEAR-LINKS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-SEND-OVERRIDE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string', { types: ['agent', 'agentset'], isRepeatable: false }, 'string', 'reporterblock'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: '?',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'LAYOUT-TUTTE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['turtle agentset', 'linkset', 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'TICK-ADVANCE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-SEND-WATCH',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string', 'agent'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CLEAR-OUTPUT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-SEND-CLEAR-OUTPUT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [{ types: ['string', 'list'], isRepeatable: false }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CLEAR-ALL',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-RESET',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'EXPORT-PLOT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string', 'string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'RESIZE-WORLD',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', 'number', 'number', 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CLEAR-PLOT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-FETCH-MESSAGE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'DIFFUSE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['symbol', 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'WHILE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['booleanblock', 'commandblock'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'USER-MESSAGE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FD',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'LOOP',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['commandblock'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__EXPORT-DRAWING',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'TICK',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__LET',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard', 'wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-RESET-PERSPECTIVE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'EXPORT-WORLD',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'RESET-TICKS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'NO-DISPLAY',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'BEEP',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'STOP-INSPECTING',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['agent'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FOLLOW',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['turtle'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PEN-ERASE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'OUTPUT-TYPE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SET-HISTOGRAM-NUM-BARS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'TYPE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__MKDIR',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SET-PATCH-SIZE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FILE-PRINT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CREATE-LINK-WITH',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['turtle', { type: 'commandblock', isRepeatable: false, isOptional: true }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: '---L',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'HIDE-TURTLE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'INSPECT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['agent'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'EVERY',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', 'commandblock'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'OUTPUT-WRITE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [
                {
                    types: ['number', 'boolean', 'string', 'list', 'nobody'],
                    isRepeatable: false,
                },
            ],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CP',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'RIGHT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CLEAR-DRAWING',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'RUN',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [
                { types: ['string', 'command'], isRepeatable: false },
                { type: 'wildcard', isRepeatable: true, isOptional: false },
            ],
            ret: 'unit',
            defaultOption: 1,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PLOT-PEN-UP',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'REPORT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CLEAR-ALL-PLOTS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FILE-CLOSE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CREATE-LINKS-WITH',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['turtle agentset', { type: 'commandblock', isRepeatable: false, isOptional: true }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: '---L',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'AUTO-PLOT-ON',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PENDOWN',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-KICK-ALL-CLIENTS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'WITHOUT-INTERRUPTION',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['commandblock'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'IMPORT-DRAWING',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HOME',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__OBSERVERCODE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: false,
        },
    },
    {
        name: 'LAYOUT-RADIAL',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['turtle agentset', 'linkset', 'turtle'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PENUP',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'WRITE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [
                {
                    types: ['number', 'boolean', 'string', 'list', 'nobody'],
                    isRepeatable: false,
                },
            ],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FACE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [{ types: ['turtle', 'patch'], isRepeatable: false }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'IFELSE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['boolean', { types: ['boolean', 'commandblock'], isRepeatable: true }, 'commandblock'],
            ret: 'unit',
            defaultOption: 3,
            minimumOption: 2,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PD',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FILE-DELETE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CREATE-LINK-FROM',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['turtle', { type: 'commandblock', isRepeatable: false, isOptional: true }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: '---L',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'WATCH',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['agent'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'LAYOUT-CIRCLE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [{ types: ['list', 'turtle agentset'], isRepeatable: false }, 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'ASK-CONCURRENT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['agentset', 'commandblock'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: '?',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'HIDE-LINK',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '---L',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CREATE-LINKS-TO',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['turtle agentset', { type: 'commandblock', isRepeatable: false, isOptional: true }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: '---L',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'SETUP-PLOTS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FACEXY',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'STOP-INSPECTING-DEAD-AGENTS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CLEAR-TURTLES',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__THUNK-DID-FINISH',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HISTOGRAM',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['list'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'STAMP-ERASE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T-L',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'LAYOUT-SPRING',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['turtle agentset', 'linkset', 'number', 'number', 'number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'STAMP',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T-L',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FILE-FLUSH',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CRT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', { type: 'commandblock', isRepeatable: false, isOptional: true }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: '-T--',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'DIE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T-L',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FOREACH',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [{ type: 'list', isRepeatable: true, isOptional: false }, 'command'],
            ret: 'unit',
            defaultOption: 2,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'WITH-LOCAL-RANDOMNESS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['commandblock'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'SET-CURRENT-PLOT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'EXPORT-VIEW',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CD',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'MOVE-TO',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [{ types: ['turtle', 'patch'], isRepeatable: false }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'IF-ELSE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['boolean', { types: ['boolean', 'commandblock'], isRepeatable: true }, 'commandblock'],
            ret: 'unit',
            defaultOption: 3,
            minimumOption: 2,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'SET-PLOT-PEN-MODE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'UPHILL4',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['symbol'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: '__CHANGE-TOPOLOGY',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['boolean', 'boolean'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'PEN-DOWN',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'CLEAR-TICKS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'O---',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'FILE-SHOW',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['wildcard'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'UNTIE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: [],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '---L',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'EXPORT-ALL-PLOTS',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HUBNET-CLEAR-OVERRIDE',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string', { types: ['agent', 'agentset'], isRepeatable: false }, 'string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: '?',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'SPROUT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', { type: 'commandblock', isRepeatable: false, isOptional: true }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '--P-',
            blockAgentClassString: '-T--',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
    {
        name: 'EXPORT-OUTPUT',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['string'],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: 'OTPL',
            blockAgentClassString: 'null',
            introducesContext: 'false',
            canBeConcise: true,
        },
    },
    {
        name: 'HATCH',
        syntax: {
            precedence: 0,
            left: 'unit',
            right: ['number', { type: 'commandblock', isRepeatable: false, isOptional: true }],
            ret: 'unit',
            defaultOption: null,
            minimumOption: null,
            isRightAssociative: false,
            agentClassString: '-T--',
            blockAgentClassString: '-T--',
            introducesContext: 'true',
            canBeConcise: true,
        },
    },
];
export { Commands };
//# sourceMappingURL=commands.js.map