module Lignite
The main namespace
This file is generated from its .erb template. DO NOT EDIT.
This file is generated from its .erb template. DO NOT EDIT.
This file is generated from ev3.yml. DO NOT EDIT.
Constants
- ABS
Absolute r = fabs(x)
- ACOS
ACos (R = acos(X))
- ADD
Add two strings (SOURCE1 + SOURCE2 -> DESTINATION)
- ADDRESS
- ALLOW_PULSE
- ANY_BUTTON
- APPS_DIR
Apps folder
- ARROW_ICON
8x12_miniArrows.bmp
- ASIN
ASin (R = asinf(X))
- ATAN
ATan (R = atanf(X))
- A_ICON_NOS
- BACK_BUTTON
- BG_COLOR
Background color
- BLACKCOLOR
enum: NXTCOLOR Constants related to color sensor value using Color sensor as color detector
- BLANK
- BLUE
- BLUECOLOR
- BLUETOOTH_FILE_NAME
File used in “Bluetooth” app to save status
- BMPFILE
- BRAKE
- BREAK
- BRICKNAMESIZE
Brick name maximal size (including zero termination)
- BROWSE
- BROWSERTYPES
Maximum browser types supported by the VM
- BROWSE_CACHE
Browser for cached / recent files
- BROWSE_FILES
Browser for files
- BROWSE_FOLDERS
Browser for folders
- BROWSE_FOLDS_FILES
Browser for folders and files
- BTADRSIZE
Max bluetooth address size including zero termination
- BTPASSKEYSIZE
Bluetooth pass key size (including zero termination)
- BTTYPES
- BTTYPE_BRICK
Bluetooth type BRICK
- BTTYPE_PC
Bluetooth type PC
- BTTYPE_PHONE
Bluetooth type PHONE
- BTTYPE_UNKNOWN
Bluetooth type UNKNOWN
- BUSY
Busy - try again
- BUTTONS
Number of buttons in the system
- BUTTONTYPES
- CALDATA_FILE_NAME
Calibration data filename
- CAL_DEFAULT
Apply the default minimum and maximum raw value for device type to be used in scaling PCT and SI
- CAL_MAX
Apply new maximum raw value for device type to be used in scaling PCT and SI
- CAL_MIN
Apply new minimum raw value for device type to be used in scaling PCT and SI
- CAL_MINMAX
Apply new minimum and maximum raw value for device type to be used in scaling PCT and SI
- CEIL
Ceiling r = ceil(x)
- CHAIN_DEPT
Number of bricks in the USB daisy chain (master + slaves)
- CHARSET_BTPASSKEY
Character set allowed in bluetooth pass key
- CHARSET_FILENAME
Character set allowed in file names
- CHARSET_NAME
Character set allowed in brick name and raw filenames
- CHARSET_WIFIPASSKEY
Character set allowed in WiFi pass key
- CHARSET_WIFISSID
Character set allowed in WiFi ssid
- CHAR_ERROR
- CHECK
Check filename
- CIRCLE
- CLEAN
- CLOSE
Close file
- CLOSE_LOG
Close data log file
- CLR_ALL
Clear all devices (e.c. counters, angle, …)
- CLR_CHANGES
Clear changes and bumps
- CMD_SLOT
Program slot used for direct commands coming from c_com
- COAST
- CODE
- COLORS
- COMMAND
- COMPARE
Compare two strings
- CONNEC_ITEM
- CONNEC_ITEMS
- COPY
- COPY_ERROR
- COS
Cos (R = cos(X))
- CREATE16
- CREATE32
- CREATE8
- CREATEF
- CURRENT_SLOT
- DATA16_MAX
DATA16 positive limit
- DATA16_MIN
DATA16 negative limit
- DATA16_NAN
- DATA32_MAX
DATA32 positive limit
- DATA32_MIN
DATA32 negative limit
- DATA32_NAN
- DATA8_MAX
DATA8 positive limit
- DATA8_MIN
DATA8 negative limit
- DATA8_NAN
- DATAF_MAX
DATAF positive limit
- DATAF_MIN
DATAF negative limit
- DATAF_NAN
- DATALOG_FOLDER
Folder for On Brick Data log files
- DATA_16
DATA16
- DATA_32
DATA32
- DATA_8
DATA8
- DATA_A
Array handle
- DATA_F
DATAF
- DATA_FORMATS
- DATA_PCT
Percent
- DATA_RAW
Raw
- DATA_S
Zero terminated string
- DATA_SI
SI unit
- DATA_V
Variable type
- DEBUG_SLOT
Program slot used to run the debug ui
- DEFAULT_SLEEPMINUTES
- DEFAULT_VOLUME
- DELETE
- DELS
- DEL_CACHE_FILE
- DEL_COLON
Use colon as delimiter
- DEL_COMMA
Use comma as delimiter
- DEL_CRLF
Use return+line feed as delimiter
- DEL_LINEFEED
Use line feed as delimiter
- DEL_NONE
No delimiter at all
- DEL_RETURN
Use return as delimiter
- DEL_SPACE
Use space as delimiter
- DEL_SUBFOLDER
- DEL_TAB
Use tab as delimiter
- DESTROY
- DEVCMDS
- DEVCMD_CHANNEL
UART device channel (IR seeker)
- DEVCMD_FIRE
UART device fire (ultrasonic)
- DEVCMD_RESET
UART device reset
- DIR_DEEPT
Max directory items allocated including “.” and “..”
- DOTLINE
- DOWNLOAD_END
Send to brick when file down load is completed (plays sound and updates the UI browser)
- DOWN_BUTTON
- DUPLICATE
Duplicate a string (SOURCE1 -> DESTINATION)
- ENCRYPTS
- ENCRYPT_NONE
enum: ENCRYPT Encryption Types
- ENCRYPT_WPA2
- ENTER_BUTTON
- ERRORTEXT
Convert error number to text string
- ERR_STRING_SIZE
Inclusive zero termination
- EVENT_BT_PIN
- EVENT_BT_REQ_CONF
- EVENT_NONE
- EXIST
Test if file exists
- EXP
e^x r = expf(x)
- EXTSIZE
Max extension size including dot and zero termination
- EXT_ARCHIVE
Robot Archive File
- EXT_BYTECODE
Robot Byte code File
- EXT_CONFIG
Robot Configuration File
- EXT_DATALOG
Robot Datalog File
- EXT_GRAPHICS
Robot Graphics File
- EXT_PROGRAM
Robot Program File
- EXT_SOUND
Robot Sound File
- EXT_TEXT
Robot Text File
- FAIL
Something failed
- FAVOUR_ITEM
Get favourite item information.
- FAVOUR_ITEMS
Get no of item in favourite list.
- FG_COLOR
Forground color
- FILENAMESIZE
Max filename size including path, name, extension and termination (must be divideable by 4)
- FILETYPES
- FILETYPE_UNKNOWN
enum: FILETYPE File Types Avaliable
- FILL
- FILLCIRCLE
- FILLRECT
- FILLWINDOW
- FLOATVALUE
- FLOOR
Floor r = floor(x)
- FLUSH
- FONTTYPES
Maximum font types supported by the VM
- GET_ADDRESS
- GET_BACK_BLOCK
- GET_BRICKNAME
Gets the name of the brick
- GET_BUMBED
- GET_BUMPED
- GET_BUMPS
- GET_CACHE_FILE
- GET_CACHE_FILES
- GET_CHANGES
- GET_CLICK
Get and clear click sound request (internal use only)
- GET_CODE
- GET_CONNECTION
Get device connection type (for test)
- GET_ENCRYPT
Returns the encryption mode of the hardware. WIFI only
- GET_ERROR
- GET_EVENT
- GET_FIGURES
- GET_FOLDERNAME
Get current folder name
- GET_FOLDERS
- GET_FORMAT
- GET_FW_BUILD
Get firmware build string
- GET_FW_VERS
Get firmware version string
- GET_HANDLE
Get handle from filename
- GET_HORZ
- GET_HW_VERS
Get hardware version string
- GET_IBATT
- GET_ID
Get bluetooth address information
- GET_IINT
- GET_IMAGE
- GET_IMOTOR
- GET_INCOMING
Returns the encryption mode of the hardware. WIFI only
- GET_IP
Get IP address string
- GET_ITEM
- GET_LBATT
Get battery level in %
- GET_LOG_NAME
Get the current open log filename
- GET_LOG_SYNC_TIME
- GET_MINMAX
- GET_MINUTES
- GET_MODE2
- GET_MODENAME
- GET_NAME
- GET_NETWORK
Gets the network information. WIFI only
- GET_ON_OFF
Get active state
- GET_OS_BUILD
Get os build string
- GET_OS_VERS
Get os version string
- GET_PIN
Get pin code.
- GET_POOL
- GET_POWER
- GET_PRESENT
Return if hardare is present. WIFI only
- GET_PRGNAME
- GET_PRGRESULT
- GET_RAW
- GET_RESULT
Get status.
- GET_SDCARD
- GET_SHUTDOWN
- GET_SIZE
Get size of string (not including zero termination)
- GET_SPEED
- GET_STATUS
- GET_STRING
Get string from terminal
- GET_SUBFOLDER_NAME
- GET_SYMBOL
- GET_TBATT
- GET_TYPEMODE
Get device type and mode
- GET_USBSTICK
- GET_VBATT
- GET_VERSION
Get version string
- GET_VERT
- GET_VISIBLE
Get visibility state
- GET_VOLUME
- GET_WARNING
- GRAPH_DRAW
- GRAPH_SAMPLE
Update tick to scroll graph horizontally in memory when drawing graph in “scope” mode
- GRAPH_SETUP
- GREEN
- GREENCOLOR
- GUI_SLOT
Program slot reserved for executing the user interface
- HALTED
Object is halted because a call is in progress
- HWTYPES
- HW_BT
- HW_USB
enum: HWTYPE Hardware Transport Layer
- HW_WIFI
- ICON
- ICONTYPES
Maximum icon types supported by the VM
- ICON_ADD_HIDDEN
- ICON_BLUETOOTH
- ICON_BRICK
Bluetooth type BRICK
- ICON_BRICK1
- ICON_CHECKBOX
- ICON_CHECKED
- ICON_CONNECT
- ICON_CONNECTED
- ICON_CONNECTIONS
- ICON_DISC
- ICON_DISCONNECT
- ICON_DOWN
- ICON_FOLDER
- ICON_FOLDER2
- ICON_FROM_FOLDER
- ICON_IMAGE
- ICON_INFO
- ICON_INFO_FILE
- ICON_KEY
- ICON_LEFT
enum: A_ICON_NO
- ICON_LOCK
- ICON_LOCKSTAR
- ICON_NONE
enum: N_ICON_NO
- ICON_OBD
- ICON_OBP
- ICON_ONOFF
- ICON_OPENFOLDER
- ICON_PC
Bluetooth type PC
- ICON_PHONE
Bluetooth type PHONE
- ICON_QUESTION
- ICON_QUESTIONMARK
- ICON_RIGHT
- ICON_RUN
- ICON_SD
- ICON_SEARCH
- ICON_SETTINGS
- ICON_SOUND
- ICON_STAR
enum: M_ICON_NO
- ICON_TEXT
- ICON_TRASHBIN
- ICON_UNKNOWN
Bluetooth type UNKNOWN
- ICON_UP
- ICON_USB
- ICON_VISIBILITY
- ICON_WAIT1
- ICON_WAIT2
- ICON_WIFI
- ICON_XED
- INIT16
- INIT32
- INIT8
- INITF
- INIT_RUN
Start the “Mindstorms” “run” screen
- INPUTS
Number of input ports in the system
- INSERT_TYPE
Insert type in table
- INVERSERECT
- IPSIZE
Max WIFI IP size including zero termination
- KEY
- KEYBOARD
- LARGE_FONT
- LARGE_ICON
24x22_Yes_No_OFF_FILEOps.bmp
- LASTRUN_FILE_NAME
Last run filename
- LAYER_0
- LCD_HEIGHT
LCD vertical pixels
- LCD_STORE_LEVELS
Store levels
- LCD_WIDTH
LCD horizontal pixels
- LED
- LEDPATTERNS
- LEDS
Number of LEDs in the system
- LED_ALL
All LEDs
- LED_BLACK
enum: LEDPATTERN
LED
Pattern- LED_GREEN
- LED_GREEN_FLASH
- LED_GREEN_PULSE
- LED_LG
Left green
- LED_LR
Left red
- LED_ORANGE
- LED_ORANGE_FLASH
- LED_ORANGE_PULSE
- LED_RED
- LED_RED_FLASH
- LED_RED_PULSE
- LED_RG
Right green
- LED_RR
Right red
- LEFT_BUTTON
- LINE
- LIST_STATE
Gets a list state value. This can be compared to previous values to determine if items are added or removed from a list since the last call.
- LMS_ENCRYPTS
- LMS_ENCRYPT_NONE
enum: LMS_ENCRYPT Encryption Types
- LMS_ENCRYPT_WPA2
- LN
Ln r = log(x)
- LOAD_IMAGE
- LOG
Log r = log10(x)
- LONGPRESS
- L_ICON_NOS
- MACSIZE
Max WIFI MAC size including zero termination
- MAKE_FOLDER
Make folder if not present
- MAX_VALID_TYPE
Highest valid device type
- MEMORY_FOLDER
Folder for non volatile user programs/data
- MENU_ICON
- MERGE
Merge Folder, name, extension into filename
- MOD
Modulo r = fmod(x,y)
- MOD16
Modulo DATA16 r = x % y
- MOD32
Modulo DATA32 r = x % y
- MOD8
Modulo DATA8 r = x % y
- MODE_KEEP
Mode value that won't change mode in byte codes (convenient place to define)
- MOVE
Move file SOURCE to DEST
- M_ICON_NOS
- NAMESIZE
Max name size including zero termination (must be divideable by 4)
- NEGATE
Negate r = 0.0 - x
- NORMAL_FONT
enum: FONTTYPE Font Types Avaliable
- NORMAL_ICON
24x12_Files_Folders_Settings.bmp
- NOTIFICATION
- NO_BUTTON
enum: BUTTONTYPE Button
- NO_NOTSEL
- NO_SEL
- NO_USBSTICK
- NUMBER_FORMATTED
Convert integer number to a formatted string
- NUMBER_TO_STRING
Convert integer value to a string
- N_ICON_NOS
- OBJ_START
- OBJ_STOP
- OFF
- OK
No errors to report
- OPEN_APPEND
Create file or open for append
- OPEN_LOG
Create file for data logging
- OPEN_READ
Open file for read
- OPEN_WRITE
Create file for write
- OUTPUTS
Number of output ports in the system
- PACK
Pack file or folder into “raf” container
- PATHSIZE
Max path size excluding trailing forward slash including zero termination
- PICTURE
- PIXEL
- PLAY
- POP3_ABS_WARN_ICON_X
- POP3_ABS_WARN_ICON_X1
- POP3_ABS_WARN_ICON_X2
- POP3_ABS_WARN_ICON_X3
- POP3_ABS_WARN_ICON_Y
- POP3_ABS_WARN_LINE_ENDX
- POP3_ABS_WARN_LINE_X
- POP3_ABS_WARN_LINE_Y
- POP3_ABS_WARN_SPEC_ICON_X
- POP3_ABS_WARN_SPEC_ICON_Y
- POP3_ABS_WARN_TEXT_X
- POP3_ABS_WARN_TEXT_Y
- POP3_ABS_WARN_YES_X
- POP3_ABS_WARN_YES_Y
- POP3_ABS_X
- POP3_ABS_Y
- POPUP
- PORT_1
- PORT_2
- PORT_3
- PORT_4
- PORT_A
- PORT_B
- PORT_C
- PORT_D
- POW
Exponent r = powf(x,y)
- POWER
- PRESS
- PRESSED
- PRJS_DIR
Project folder
- PROGRAM_ERROR
- PROGRAM_FOLDER
Folder for On Brick Programming programs
- PULSE_BROWSER
- PULSE_GUI_BACKGROUND
- PULSE_KEY
- PUT_CACHE_FILE
- PUT_STRING
- QUESTION
- READY_IIC
Generic setup/read IIC sensors with result
- READY_PCT
- READY_RAW
- READY_SI
- READ_BYTES
Read a number of bytes from file
- READ_CONTENT
- READ_SIZE
- READ_TEXT
Read text from file
- READ_VALUE
Read floating point value from file
- RECT
- RECTANGLE
- RED
enum: COLOR
- REDCOLOR
- RELEASE
- REMOVE
Delete file
- REPEAT
Could not define sound_play: Unhandled param type PARS
- REPLY
- RESIZE
- RESTORE
- RIGHT_BUTTON
- ROUND
Round r = round(x)
- RUNNING
Object code is running
- SCREEN_BLOCK
Set or clear screen block status (if screen blocked - all graphical screen action are disabled)
- SCROLL
- SDCARD_FOLDER
Folder for SD card mount
- SEARCH_ITEM
Get search item informations.
- SEARCH_ITEMS
Get number of item from search.
- SELECT_FONT
- SERVICE
Could not define sound_repeat: Unhandled param type PARS
- SETTINGS_DIR
Folder for non volatile settings
- SETUP
Generic setup/read IIC sensors
- SET_BACK_BLOCK
- SET_BRICKNAME
Sets the name of the brick
- SET_BUSY
- SET_CONNECTION
Initiate or close the connection request to a remote device by the specified name.
- SET_ENCRYPT
Sets the encryption type for an item in a list.
- SET_ERROR
- SET_INSTR
Set number of instructions before VMThread change
- SET_LOG_SYNC_TIME
- SET_MINUTES
- SET_MODE2
Set active mode state, either active or not
- SET_MOVEDOWN
Moves the index in list one step down.
- SET_MOVEUP
Moves the index in list one step up.
- SET_ON_OFF
Set active state, either on or off
- SET_PASSKEY
Set pin code.
- SET_PIN
Set pin code.
- SET_PULSE
- SET_RAW
- SET_SEARCH
Starts or or stops the search for remote devices
- SET_SIZE
- SET_SSID
Sets the SSID name. Only used for WIFI
- SET_TESTPIN
- SET_TYPEMODE
Set new type and mode on existing devices
- SET_VISIBLE
Set visibility state - Only available for bluetooth
- SET_VOLUME
- SHORTPRESS
- SICON_BATT_0
- SICON_BATT_1
- SICON_BATT_2
- SICON_BATT_3
- SICON_BATT_4
- SICON_BT_CONNECTED
- SICON_BT_CONNVISIB
- SICON_BT_ON
- SICON_BT_VISIBLE
- SICON_CHARGING
enum: S_ICON_NO
- SICON_USB
- SICON_WAIT1
- SICON_WAIT2
- SICON_WIFI_1
- SICON_WIFI_2
- SICON_WIFI_3
- SICON_WIFI_CONNECTED
- SIN
Sin (R = sinf(X))
- SIZE
- SLEEP_FILE_NAME
File used in “Sleep” app to save status
- SLOTS
Maximum slots supported by the VM
- SMALL_FONT
- SMALL_ICON
- SPLIT
Split filename into Folder, name, extension
- SQRT
Squareroot r = sqrt(x)
- STAMP
- START
Start
- STOP
Stopped
- STOPPED
Object is stopped or not triggered yet
- STOP_ALL
Stop all devices (e.c. motors, …)
- STORE
- STRING_TO_VALUE
- STRIP
Strip a string for spaces (SOURCE1 -> DESTINATION)
- SUB
Return DESTINATION: a substring from SOURCE1 that starts were SOURCE2 ends
- S_ICON_NOS
- TAN
Tan (R = tanf(X))
- TERMINAL
- TERM_SLOT
Program slot used for direct commands coming from c_ui
- TESTLONGPRESS
- TESTSHORTPRESS
- TEXT
- TEXTBOX
- TEXTBOX_APPEND
Append line of text at the bottom of a text box
- TEXTBOX_READ
- TINY_FONT
- TMP_DIR
Temporary folder
- TONE
- TOOLS_DIR
Tools folder
- TOPLINE
- TOPLINE_HEIGHT
Top line vertical pixels
- TOTALSIZE
Calculate folder/file size
- TO_BLUETOOTH
- TO_BRICK
- TO_COPY
- TO_EXECUTE
- TO_FILE
- TO_MANUAL
- TO_SDCARD
- TO_TRASH
- TO_USBSTICK
- TO_WIFI
- TRUNC
Truncate r = (float)((int)(x * pow(y))) / pow(y)
- TST_ACCU_SWITCH
Read accu switch state
- TST_BOOT_MODE2
Turn on mode2
- TST_CLOSE
Disables test byte codes
- TST_CLOSE_MODE2
Closes mode2
- TST_DISABLE_UART
Disable all UARTs
- TST_ENABLE_UART
Enable all UARTs
- TST_OPEN
Enables test byte codes for 10 seconds
- TST_POLL_MODE2
Read mode2 status
- TST_RAM_CHECK
Read RAM test status status
- TST_READ_ADC
Read raw count from ADC
- TST_READ_PINS
Read connector pin status
- TST_READ_UART
Read data from port through UART
- TST_WRITE_PINS
Write to connector pin
- TST_WRITE_UART
Write data to port through UART
- TYPE_BYTECODE
- TYPE_COLOR
Device is EV3 color sensor
- TYPE_DATALOG
- TYPE_ENERGYMETER
Device is energy meter
- TYPE_ERROR
Port not empty and type is invalid
- TYPE_FOLDER
- TYPE_GRAPHICS
- TYPE_GYRO
Device is EV3 gyro sensor
- TYPE_IIC_UNKNOWN
Device type is not known yet
- TYPE_IR
Device is EV3 IR sensor
- TYPE_KEEP
Type value that won't change type in byte codes
- TYPE_MINITACHO
Device is EV3 mini tacho motor
- TYPE_NEWTACHO
Device is EV3 new tacho motor
- TYPE_NONE
Port empty or not available
- TYPE_NXT_COLOR
Device is NXT color sensor
- TYPE_NXT_IIC
Device is NXT IIC sensor
- TYPE_NXT_LIGHT
Device is NXT light sensor
- TYPE_NXT_SOUND
Device is NXT sound sensor
- TYPE_NXT_TEMPERATURE
Device is NXT temperature sensor
- TYPE_NXT_TEST
Device is a NXT ADC test sensor
- TYPE_NXT_TOUCH
Device is NXT touch sensor
- TYPE_NXT_ULTRASONIC
Device is NXT ultra sonic sensor
- TYPE_PROGRAM
- TYPE_REFRESH_BROWSER
- TYPE_RESTART_BROWSER
- TYPE_SDCARD
- TYPE_SOUND
- TYPE_TACHO
Device is EV3/NXT tacho motor
- TYPE_TERMINAL
Port is connected to a terminal
- TYPE_TEXT
- TYPE_THIRD_PARTY_END
- TYPE_THIRD_PARTY_START
- TYPE_TOUCH
Device is EV3 touch sensor
- TYPE_ULTRASONIC
Device is EV3 ultra sonic sensor
- TYPE_UNKNOWN
Port not empty but type has not been determined
- TYPE_USBSTICK
- UNPACK
Unpack “raf” container
- UPDATE
- UPDATE_RUN
- UP_BUTTON
- USBSTICK_FOLDER
Folder for USB stick mount
- USER_SLOT
Program slot used to execute user projects, apps and tools
- VALUE
- VALUE16
- VALUE32
- VALUE8
- VALUEF
- VALUE_FORMATTED
Convert floating point value to a formatted string
- VALUE_TO_STRING
Convert floating point value to a string (strips trailing zeroes)
- VERSION
Lignite
version (uses [semantic versioning](semver.org/)).- VERTBAR
- VIEW_UNIT
- VIEW_VALUE
- VOLUME_FILE_NAME
File used in “Volume” app to save status
- WAITING
Object is waiting for final trigger
- WAIT_FOR_PRESS
- WAIT_HORZ
- WAIT_VERT
- WARNINGS
- WARNING_BATTLOW
- WARNING_BUSY
- WARNING_CURRENT
- WARNING_DSPSTAT
- WARNING_MEMORY
- WARNING_RAM
- WARNING_TEMP
enum: WARNING Warnings
- WARNING_VOLTAGE
- WARNSIGN
- WARN_BATT
- WARN_MEMORY
- WARN_POWER
- WARN_TEMP
- WHITECOLOR
- WIFIPASSKEYSIZE
WiFi pass key size (including zero termination)
- WIFI_FILE_NAME
File used in “WiFi” app to save status
- WRITE_BYTES
Write a number of bytes to file
- WRITE_CONTENT
- WRITE_FLUSH
- WRITE_LOG
Write time slot samples to file
- WRITE_TEXT
Write text to file
- WRITE_VALUE
Write floating point value to file
- YELLOWCOLOR
- YES_NOTSEL
enum: L_ICON_NO
- YES_SEL
Public Class Methods
# File lib/lignite.rb, line 48 def program(&block) p = Assembler.new p.compile(&block) p end
Private Instance Methods
# File lib/lignite.rb, line 48 def program(&block) p = Assembler.new p.compile(&block) p end