Flowcode Project File Parser

Ben Rowland 2019 (C) Matrix TSL


Target Device

PIC.16F.16F877A

Constants

SIGNED INT MAX_BUTTONS     BOOL false     BOOL true    

Globals

FLOAT key_D     HANDLE button_handles     HANDLE group_handle     HANDLE prototype_handle     BOOL set_floating     STRING Test_String     BYTE total_keys    

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

WaitPressed

Return:     BYTE
Vars:     BYTE index    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Sim_WaitPressed

Return:     BYTE
Vars:     BYTE index    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

GetAscii

Return:     BYTE
Vars:     BYTE index    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Ev_Stop

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

GetString

Return:     STRING
Vars:     BYTE index    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Prv_GetRow

Return:     BYTE
Vars:     BYTE index     BOOL pin_state    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Sim_GetString

Return:     STRING
Vars:     BYTE index    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Prv_Property

Return:     UNSIGNED LONG
Vars:     BYTE index     STRING TmpStr     STRING TmpStr2    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Ev_Initialise

Return:     UNSIGNED LONG

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

GetNumber

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Sim_GetNumber

Return:     BYTE

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Sim_GetAscii

Return:     BYTE
Vars:     BYTE index    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

GetIndex

Return:     BYTE
Vars:     BYTE index     BYTE row_state    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Sim_WaitReleased

Return:     VOID
Vars:     BYTE index    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Prv_FloatColumns

Return:     VOID
Vars:     BYTE index     BYTE dummy    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Sim_GetIndex

Return:     BYTE
Vars:     BYTE index     BOOL state    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Prv_SetPosition

Return:     VOID
Params:     BYTE index     HANDLE handle    
Vars:     FLOAT X     FLOAT Y     FLOAT Z    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

WaitReleased

Return:     VOID
Vars:     BYTE index    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Ev_Release

Return:     UNSIGNED LONG
Params:     HANDLE Component     FLOAT X     FLOAT Y     FLOAT Z    
Vars:     STRING ComponentString     BYTE index    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Ev_Start

Return:     UNSIGNED LONG
Vars:     BYTE index    

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Main

Return:     VOID

Your browser does not support the HTML5 canvas tag.

WaitPressed    /    Sim_WaitPressed    /    GetAscii    /    Ev_Stop    /    GetString    /    Prv_GetRow    /    Sim_GetString    /    Prv_Property    /    Ev_Initialise    /    GetNumber    /    Sim_GetNumber    /    Sim_GetAscii    /    GetIndex    /    Sim_WaitReleased    /    Prv_FloatColumns    /    Sim_GetIndex    /    Prv_SetPosition    /    WaitReleased    /    Ev_Release    /    Ev_Start    /    Main    /    Ev_Click

Ev_Click

Return:     UNSIGNED LONG
Params:     HANDLE Component     FLOAT X     FLOAT Y     FLOAT Z    
Vars:     BYTE KeyPressedIndex     STRING ComponentString    

Your browser does not support the HTML5 canvas tag.

Verison History

Version 0.6
12/09/19 BR - Created initial recursive parser
14/09/19 BR - Added support for disabled icons
18/09/19 BR - Fixed decision icon parsing
19/09/19 BR - Added switch icon support
23/09/19 BR - Fixed recursive loop spacing
27/09/19 BR - Further tweaked spacing and added Macro menu
30/09/19 BR - Improved all string spacing
01/10/19 BR - Improved While icon support