FOIVD5LONOOAGGFG3M4AT5KLVOB7WILZ4WH26BH7FOFPGXVPTLUQC on.mouse_release = function(x,y, mouse_button)if Cursor thenedit.mouse_release(Cursor.editor, x,y, mouse_button)endend
{"panel_bounds":93,"editor_to_string":121,"on.key_release":152,"on.initialize":149,"map":123,"on":1,"Margin":27,"Title_font":73,"Font_size":28,"Cursor":38,"on.draw":108,"Data_title_text":76,"on.mouse_release":154,"In":98,"fw_parent":153,"Out":103,"fw_app":"bf","on.text_input":118,"Num_panels_vertical":24,"eval":148,"draw_data":151,"create_editor_panel":114,"Data":102,"draw_title":110,"Code":101,"draw_editor_panel":140,"create_editor":94,"on.keychord_press":153,"on.mouse_press":112,"Num_panels_horizontal":23}
on.keychord_press = function(chord, key)if chord == 'f4' theneval(editor_to_string(Code.editor), Data)elseif Cursor thenedit.keychord_press(Cursor.editor, chord, key)endend
{"panel_bounds":93,"editor_to_string":121,"on.key_release":152,"on.initialize":149,"map":123,"on":1,"Margin":27,"Title_font":73,"Font_size":28,"Cursor":38,"on.draw":108,"Data_title_text":76,"In":98,"fw_parent":152,"Out":103,"fw_app":"bf","on.text_input":118,"Num_panels_vertical":24,"eval":148,"draw_data":151,"create_editor_panel":114,"Data":102,"draw_title":110,"Code":101,"draw_editor_panel":140,"create_editor":94,"on.keychord_press":153,"on.mouse_press":112,"Num_panels_horizontal":23}
on.key_release = function(key, scancode)if Cursor thenedit.key_release(Cursor.editor, key, scancode)endend
{"panel_bounds":93,"editor_to_string":121,"fw_parent":151,"Data":102,"map":123,"Title_font":73,"Num_panels_horizontal":23,"on.mouse_press":112,"on.key_release":152,"on.initialize":149,"Data_title_text":76,"fw_app":"bf","Margin":27,"draw_title":110,"Font_size":28,"on.draw":108,"eval":148,"create_editor":94,"draw_editor_panel":140,"Code":101,"Cursor":38,"In":98,"on":1,"Out":103,"create_editor_panel":114,"draw_data":151,"on.keychord_press":122,"Num_panels_vertical":24,"on.text_input":118}
{"on.keychord_press":122,"on":1,"on.text_input":118,"panel_bounds":93,"editor_to_string":121,"map":123,"on.mouse_press":112,"draw_data":151,"Title_font":73,"Num_panels_horizontal":23,"create_editor_panel":114,"Num_panels_vertical":24,"Data":102,"on.initialize":149,"Data_title_text":76,"Out":103,"Margin":27,"eval":148,"Font_size":28,"on.draw":108,"fw_parent":150,"create_editor":94,"fw_app":"bf","Code":101,"draw_editor_panel":140,"In":98,"draw_title":110,"Cursor":38}
draw_data = function(data)-- assume data is in middle column, bottom halflocal left, top, panel_width, panel_height = panel_bounds(2, 2)App.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', left, top, panel_width, panel_height, 5,5)local x = Margin + panel_width + Marginlocal y = Margin + panel_height + Marginy = draw_title(Data_title_text, left, top, panel_width)x = x + 20for i,d in ipairs(data) doif i == data.p thenApp.color{r=0.7,g=0.7,b=0.7}love.graphics.rectangle('fill', x,y, 60, 30, 2,2)elseApp.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', x,y, 60, 30, 2,2)endApp.color{r=0,g=0,b=0}love.graphics.print(d, x+2,y)x = x+80if i%5 == 0 theny = y + 40x = Margin + panel_width + Margin + 20endendend
{"Num_panels_vertical":24,"map":123,"on.initialize":149,"Title_font":73,"Margin":27,"on.mouse_press":112,"on.draw":108,"Data_title_text":76,"eval":148,"Code":101,"In":98,"fw_parent":149,"draw_editor_panel":140,"Out":103,"Cursor":38,"Num_panels_horizontal":23,"create_editor_panel":114,"create_editor":94,"on":1,"draw_title":110,"Data":102,"Font_size":28,"draw_data":150,"on.keychord_press":122,"fw_app":"bf","on.text_input":118,"panel_bounds":93,"editor_to_string":121}
draw_data = function(data)-- assume data is in middle column, bottom halflocal left, top, panel_width, panel_height = panel_bounds(2, 2)App.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', left, top, panel_width, panel_height, 5,5)local x = Margin + panel_width + Marginlocal y = Margin + panel_height + Marginy = draw_title(Data_title_text, left, top, panel_width)x = x + 20for i,d in ipairs(data) doApp.color{r=0.5,g=0.5,b=0.5}local mode = 'line'if i == data.p thenmode = 'fill'endlove.graphics.rectangle(mode, x,y, 60, 30, 2,2)App.color{r=0,g=0,b=0}love.graphics.print(d, x+2,y)x = x+80if i%5 == 0 theny = y + 40x = Margin + panel_width + Margin + 20endendend
on.initialize = function()local font = love.graphics.newFont(Font_size)love.graphics.setFont(font)In = create_editor_panel(1,1, 'In')Code = create_editor_panel(2,1, 'Code')Out = create_editor_panel(3,1, 'Out')Data = {}for i=1,10 dotable.insert(Data, 0)endData[1] = 3Data[2] = 4Data.p = 1 -- data pointerData_title_text = App.newText(Title_font, 'Data')end
{"Num_panels_vertical":24,"map":123,"on.initialize":149,"Title_font":73,"Margin":27,"on.mouse_press":112,"on.draw":108,"Data_title_text":76,"eval":148,"Code":101,"In":98,"fw_parent":148,"draw_editor_panel":140,"Out":103,"Cursor":38,"Num_panels_horizontal":23,"create_editor_panel":114,"create_editor":94,"on":1,"draw_title":110,"Data":102,"Font_size":28,"draw_data":147,"on.keychord_press":122,"fw_app":"bf","on.text_input":118,"panel_bounds":93,"editor_to_string":121}
{"Num_panels_vertical":24,"map":123,"on.initialize":104,"Title_font":73,"Margin":27,"on.mouse_press":112,"on.draw":108,"Data_title_text":76,"eval":148,"Code":101,"In":98,"fw_parent":147,"draw_editor_panel":140,"Out":103,"Cursor":38,"Num_panels_horizontal":23,"create_editor_panel":114,"create_editor":94,"on":1,"draw_title":110,"Data":102,"Font_size":28,"draw_data":147,"on.keychord_press":122,"fw_app":"bf","on.text_input":118,"panel_bounds":93,"editor_to_string":121}
eval = function(code, data)local cp, dp = 1, data.pwhile cp <= #code dolocal inst = code:sub(cp,cp)if inst == '<' thendp = dp-1elseif inst == '>' thendp = dp+1elseif inst == '+' thenif data[dp] == nil then data[dp] = 0 enddata[dp] = data[dp]+1elseif inst == '-' thenif data[dp] == nil then data[dp] = 0 enddata[dp] = data[dp]-1elseif inst == '[' thenif data[dp] == 0 thencp = code:find(']', cp, --[[plain]] true)endelseif inst == ']' thenif data[dp] ~= 0 thencp = rfind(code, '[' , cp, --[[plain]] true)endelseif inst == '.' thenOut.editor.lines[1].data = Out.editor.lines[1].data..string.char(data[dp])Text.redraw_all(Out.editor)--print(string.char(data[dp]))--print(data[dp])elseif inst == ',' then--data[dp] = string.byte(io.read(1))if #In.editor.lines[1].data > 0 thendata[dp] = string.byte(In.editor.lines[1].data:sub(1,1))elsedata[dp] = 0endIn.editor.lines[1].data = In.editor.lines[1].data:sub(2)elseif inst == '#' thencp = code:find('\n', cp)endcp = cp+1enddata.p = dpend
{"Num_panels_vertical":24,"map":123,"on.initialize":104,"Title_font":73,"Margin":27,"on.mouse_press":112,"on.draw":108,"Data_title_text":76,"eval":136,"Code":101,"In":98,"fw_parent":146,"draw_editor_panel":140,"Out":103,"Cursor":38,"Num_panels_horizontal":23,"create_editor_panel":114,"create_editor":94,"on":1,"draw_title":110,"Data":102,"Font_size":28,"draw_data":147,"on.keychord_press":122,"fw_app":"bf","on.text_input":118,"panel_bounds":93,"editor_to_string":121}
draw_data = function(data)-- assume data is in middle column, bottom halflocal left, top, panel_width, panel_height = panel_bounds(2, 2)App.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', left, top, panel_width, panel_height, 5,5)local x = Margin + panel_width + Marginlocal y = Margin + panel_height + Marginy = draw_title(Data_title_text, left, top, panel_width)x = x + 20for i,d in ipairs(data) doApp.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', x,y, 60, 30, 2,2)App.color{r=0,g=0,b=0}love.graphics.print(d, x+2,y)x = x+80if i%5 == 0 theny = y + 40x = Margin + panel_width + Margin + 20endendend
{"Num_panels_vertical":24,"map":123,"on.initialize":104,"Title_font":73,"Margin":27,"on.mouse_press":112,"on.draw":108,"Data_title_text":76,"eval":136,"Code":101,"In":98,"fw_parent":145,"draw_editor_panel":140,"Out":103,"Cursor":38,"Num_panels_horizontal":23,"create_editor_panel":114,"create_editor":94,"on":1,"draw_title":110,"Data":102,"Font_size":28,"draw_data":146,"on.keychord_press":122,"fw_app":"bf","on.text_input":118,"panel_bounds":93,"editor_to_string":121}
draw_data = function(data)local left, top, panel_width, panel_height = panel_bounds(2, 2)App.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', left, top, panel_width, panel_height, 5,5)-- assumes data is in middle column, bottom halflocal panel_width = (App.screen.width - Margin * (Num_panels_horizontal+1)) / Num_panels_horizontallocal panel_height = (App.screen.height - Margin*3) / 2local x = Margin + panel_width + Marginlocal y = Margin + panel_height + Marginy = draw_title(Data_title_text, left, top, panel_width)x = x + 20for i,d in ipairs(data) doApp.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', x,y, 60, 30, 2,2)App.color{r=0,g=0,b=0}love.graphics.print(d, x+2,y)x = x+80if i%5 == 0 theny = y + 40x = Margin + panel_width + Margin + 20endendend
{"Num_panels_vertical":24,"map":123,"on.initialize":104,"Title_font":73,"Margin":27,"on.mouse_press":112,"on.draw":108,"Data_title_text":76,"eval":136,"Code":101,"In":98,"fw_parent":144,"draw_editor_panel":140,"Out":103,"Cursor":38,"Num_panels_horizontal":23,"create_editor_panel":114,"create_editor":94,"on":1,"draw_title":110,"Data":102,"Font_size":28,"draw_data":145,"on.keychord_press":122,"fw_app":"bf","on.text_input":118,"panel_bounds":93,"editor_to_string":121}
draw_data = function(data)local left, top, panel_width, panel_height = panel_bounds(2, 2)App.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', left, top, panel_width, panel_height, 5,5)-- assumes data is in middle column, bottom halflocal panel_width = (App.screen.width - Margin * (Num_panels_horizontal+1)) / Num_panels_horizontallocal panel_height = (App.screen.height - Margin*3) / 2local x = Margin + panel_width + Marginlocal y = Margin + panel_height + Marginy = draw_title(Data_title_text, x,y, panel_width)x = x + 20for i,d in ipairs(data) doApp.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', x,y, 60, 30, 2,2)App.color{r=0,g=0,b=0}love.graphics.print(d, x+2,y)x = x+80if i%5 == 0 theny = y + 40x = Margin + panel_width + Margin + 20endendend
{"Num_panels_vertical":24,"map":123,"on.initialize":104,"Title_font":73,"Margin":27,"on.mouse_press":112,"on.draw":108,"Data_title_text":76,"eval":136,"Code":101,"In":98,"fw_parent":143,"draw_editor_panel":140,"Out":103,"Cursor":38,"Num_panels_horizontal":23,"create_editor_panel":114,"create_editor":94,"on":1,"draw_title":110,"Data":102,"Font_size":28,"draw_data":144,"on.keychord_press":122,"fw_app":"bf","on.text_input":118,"panel_bounds":93,"editor_to_string":121}
draw_data = function(data)local left, top, panel_width, panel_height = panel_bounds(2, 2)App.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', left, top, panel_width, panel_height, 5,5)-- assumes data is in middle column, bottom halflocal panel_width = (App.screen.width - Margin * (Num_panels_horizontal+1)) / Num_panels_horizontallocal panel_height = (App.screen.height - Margin*3) / 2local x = Margin + panel_width + Margin + 20local y = Margin + panel_height + Marginy = draw_title(Data_title_text, x,y, panel_width)for i,d in ipairs(data) doApp.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', x,y, 60, 30, 2,2)App.color{r=0,g=0,b=0}love.graphics.print(d, x+2,y)x = x+80if i%5 == 0 theny = y + 40x = Margin + panel_width + Margin + 20endendend
{"Num_panels_vertical":24,"map":123,"on.initialize":104,"Title_font":73,"Margin":27,"on.mouse_press":112,"on.draw":108,"Data_title_text":76,"eval":136,"Code":101,"In":98,"fw_parent":142,"draw_editor_panel":140,"Out":103,"Cursor":38,"Num_panels_horizontal":23,"create_editor_panel":114,"create_editor":94,"on":1,"draw_title":110,"Data":102,"Font_size":28,"draw_data":143,"on.keychord_press":122,"fw_app":"bf","on.text_input":118,"panel_bounds":93,"editor_to_string":121}
draw_data = function(data)local left, top, panel_width, panel_height = panel_bounds(2, 2)App.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', left, top, panel_width, panel_height, 5,5)-- assumes data is in middle column, bottom halflocal panel_width = (App.screen.width - Margin * (Num_panels_horizontal+1)) / Num_panels_horizontallocal panel_height = (App.screen.height - Margin*3) / 2local x = Margin + panel_width + Marginlocal y = Margin + panel_height + Marginy = draw_title(Data_title_text, x,y, panel_width)for i,d in ipairs(data) doApp.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', x,y, 60, 30, 2,2)App.color{r=0,g=0,b=0}love.graphics.print(d, x+2,y)x = x+80if i%5 == 0 theny = y + 40x = Margin + panel_width + Margin + 20endendend
{"Num_panels_vertical":24,"map":123,"on.initialize":104,"Title_font":73,"Margin":27,"on.mouse_press":112,"on.draw":108,"Data_title_text":76,"eval":136,"Code":101,"In":98,"fw_parent":141,"draw_editor_panel":140,"Out":103,"Cursor":38,"Num_panels_horizontal":23,"create_editor_panel":114,"create_editor":94,"on":1,"draw_title":110,"Data":102,"Font_size":28,"draw_data":142,"on.keychord_press":122,"fw_app":"bf","on.text_input":118,"panel_bounds":93,"editor_to_string":121}
draw_data = function(data)local left, top, panel_width, panel_height = panel_bounds(2, 2)App.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', left, top, panel_width, panel_height, 5,5)-- assumes data is in middle column, bottom halflocal panel_width = (App.screen.width - Margin * (Num_panels_horizontal+1)) / Num_panels_horizontallocal panel_height = (App.screen.height - Margin*3) / 2local x = Margin + panel_width + Margin + 20local y = Margin + panel_height + Margin + 20y = draw_title(Data_title_text, x,y, panel_width)for i,d in ipairs(data) doApp.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', x,y, 60, 30, 2,2)App.color{r=0,g=0,b=0}love.graphics.print(d, x+2,y)x = x+80if i%5 == 0 theny = y + 40x = Margin + panel_width + Margin + 20endendend
{"Num_panels_vertical":24,"map":123,"on.initialize":104,"Title_font":73,"Margin":27,"on.mouse_press":112,"on.draw":108,"Data_title_text":76,"eval":136,"Code":101,"In":98,"fw_parent":140,"draw_editor_panel":140,"Out":103,"Cursor":38,"Num_panels_horizontal":23,"create_editor_panel":114,"create_editor":94,"on":1,"draw_title":110,"Data":102,"Font_size":28,"draw_data":141,"on.keychord_press":122,"fw_app":"bf","on.text_input":118,"panel_bounds":93,"editor_to_string":121}
draw_data = function(data)local left, top, panel_width, panel_height = panel_bounds(2, 1)App.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', left, top, panel_width, panel_height, 5,5)-- assumes data is in middle column, bottom halflocal panel_width = (App.screen.width - Margin * (Num_panels_horizontal+1)) / Num_panels_horizontallocal panel_height = (App.screen.height - Margin*3) / 2local x = Margin + panel_width + Margin + 20local y = Margin + panel_height + Margin + 20y = draw_title(Data_title_text, x,y, panel_width)for i,d in ipairs(data) doApp.color{r=0.5,g=0.5,b=0.5}love.graphics.rectangle('line', x,y, 60, 30, 2,2)App.color{r=0,g=0,b=0}love.graphics.print(d, x+2,y)x = x+80if i%5 == 0 theny = y + 40x = Margin + panel_width + Margin + 20endendend