From 8577bbe28769082b0f42fe544e78e9861f4f8496 Mon Sep 17 00:00:00 2001 From: armfly Date: Wed, 8 Apr 2020 02:04:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E8=84=B1=E6=9C=BA=E7=BC=96?= =?UTF-8?q?=E7=A8=8B=E5=99=A8(=E5=8F=AF=E9=80=89=E6=8B=A9=E5=A4=8D?= =?UTF-8?q?=E4=BD=8D=E6=A8=A1=E5=BC=8F)=20D0=E3=80=81D1=E5=8F=A3=E7=BA=BF?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0TTL=20UART7=E4=B8=B2=E5=8F=A3=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG | 39 + Doc/01.例程功能说明.txt | 50 - Doc/02.例程修改记录.txt | 246 --- Doc/03.通信协议.txt | 73 - Doc/04.Lua开发.txt | 37 - Doc/Lua脚本/H7_自动校准.lua | 7 + ...板功能测试 - ok.lua => h7_主板功能初测.lua} | 55 +- .../Programmer/User/STM32/H7-TOOL_Boot_App.lua | 12 +- .../Programmer/User/STM32/H7-TOOL_Boot_App_QSPI.lua | 4 +- .../H7-TOOL/Programmer/User/STM32/STM32F030xC.lua | 4 + .../H7-TOOL/Programmer/User/STM32/STM32F103xE.lua | 2 + .../H7-TOOL/Programmer/User/STM32/STM32F407xG.lua | 2 + .../H7-TOOL/Programmer/User/STM32/STM32F429xI.lua | 2 + .../H7-TOOL/Programmer/User/STM32/STM32F746xG.lua | 2 + .../H7-TOOL/Programmer/User/STM32/STM32H743xI.lua | 2 + .../H7-TOOL/Programmer/User/STM32/STM32L051x8.lua | 2 + Doc/待解决问题.txt | 7 + Project/MDK-ARM(uV5)/project.uvoptx | 457 ++-- Project/MDK-ARM(uV5)/project.uvprojx | 19 +- Project/MDK-ARM(uV5)/startup_stm32h743xx.s | 2 +- ...pp(V1.08).bin => h7_tool_app(V1.08).bin} | Bin ...pp(V1.09).bin => h7_tool_app(V1.09).bin} | Bin ...pp(V1.07).bin => h7_tool_app(V1.10).bin} | Bin 665252 -> 700528 bytes Project/h7_tool_app(V1.02).bin | Bin 596880 -> 0 bytes Project/h7_tool_app(V1.03).bin | Bin 598944 -> 0 bytes Project/h7_tool_app(V1.04).bin | Bin 614816 -> 0 bytes Project/h7_tool_app(V1.05b).bin | Bin 627956 -> 0 bytes Project/h7_tool_app(V1.06).bin | Bin 641916 -> 0 bytes User/app/inc/main.h | 1 + User/app/inc/param.h | 2 + User/app/inc/status_programmer.h | 1 + User/app/src/main.c | 11 +- User/app/src/param.c | 2 + User/app/src/status_programmer.c | 203 +- User/app/src/status_system_set.c | 2 +- User/bsp/inc/bsp_fmc_io.h | 2 + User/bsp/src/bsp_fmc_io.c | 67 +- User/bsp/src/bsp_key.c | 4 +- User/bsp/src/bsp_uart_fifo.c | 9 +- User/daplink/source/daplink/cmsis-dap/SW_DP.c | 683 +----- .../source/daplink/cmsis-dap/SW_DP_Multi.c | 765 +++++++ .../source/daplink/cmsis-dap/SW_DP_Multi.h | 57 + .../source/daplink/interface/swd_host.c | 8 +- .../source/daplink/interface/swd_host_multi.c | 1749 ++++++++++++++++ .../source/daplink/interface/swd_host_multi.h | 78 + User/daplink/source/target/target_family.c | 35 +- User/lua/if/lua_if.c | 69 +- User/lua/if/lua_if_gpio.c | 25 +- User/lua/if/lua_if_swd.c | 149 +- User/lua/if/lua_if_uart.c | 85 +- User/lua/src-bak/Makefile | 197 -- User/lua/src-bak/lapi.c | 1299 ------------ User/lua/src-bak/lapi.h | 24 - User/lua/src-bak/lauxlib.c | 1044 ---------- User/lua/src-bak/lauxlib.h | 264 --- User/lua/src-bak/lbaselib.c | 498 ----- User/lua/src-bak/lbitlib.c | 233 --- User/lua/src-bak/lcode.c | 1203 ----------- User/lua/src-bak/lcode.h | 88 - User/lua/src-bak/lcorolib.c | 168 -- User/lua/src-bak/lctype.c | 55 - User/lua/src-bak/lctype.h | 95 - User/lua/src-bak/ldblib.c | 456 ---- User/lua/src-bak/ldebug.c | 702 ------- User/lua/src-bak/ldebug.h | 39 - User/lua/src-bak/ldo.c | 807 -------- User/lua/src-bak/ldo.h | 58 - User/lua/src-bak/ldump.c | 215 -- User/lua/src-bak/lfunc.c | 151 -- User/lua/src-bak/lfunc.h | 61 - User/lua/src-bak/lgc.c | 1179 ----------- User/lua/src-bak/lgc.h | 147 -- User/lua/src-bak/linit.c | 68 - User/lua/src-bak/liolib.c | 776 ------- User/lua/src-bak/llex.c | 678 ------ User/lua/src-bak/llex.h | 109 - User/lua/src-bak/llimits.h | 310 --- User/lua/src-bak/lmathlib.c | 440 ---- User/lua/src-bak/lmem.c | 97 - User/lua/src-bak/lmem.h | 67 - User/lua/src-bak/loadlib.c | 801 ------- User/lua/src-bak/lobject.c | 629 ------ User/lua/src-bak/lobject.h | 578 ------ User/lua/src-bak/lopcodes.c | 165 -- User/lua/src-bak/lopcodes.h | 281 --- User/lua/src-bak/loslib.c | 420 ---- User/lua/src-bak/lparser.c | 1650 --------------- User/lua/src-bak/lparser.h | 133 -- User/lua/src-bak/lprefix.h | 45 - User/lua/src-bak/lstate.c | 348 ---- User/lua/src-bak/lstate.h | 241 --- User/lua/src-bak/lstring.c | 254 --- User/lua/src-bak/lstring.h | 44 - User/lua/src-bak/lstrlib.c | 1840 ----------------- User/lua/src-bak/ltable.c | 749 ------- User/lua/src-bak/ltable.h | 58 - User/lua/src-bak/ltablib.c | 469 ----- User/lua/src-bak/ltm.c | 175 -- User/lua/src-bak/ltm.h | 69 - User/lua/src-bak/lua.c | 642 ------ User/lua/src-bak/lua.h | 445 ---- User/lua/src-bak/lua.hpp | 10 - User/lua/src-bak/luac.c | 523 ----- User/lua/src-bak/luaconf.h | 792 ------- User/lua/src-bak/lualib.h | 54 - User/lua/src-bak/lundump.c | 281 --- User/lua/src-bak/lundump.h | 31 - User/lua/src-bak/lutf8lib.c | 275 --- User/lua/src-bak/lvm.c | 1581 -------------- User/lua/src-bak/lvm.h | 113 - User/lua/src-bak/lzio.c | 69 - User/lua/src-bak/lzio.h | 60 - User/programmer/SWD_flash.c | 20 +- User/programmer/elf_file.c | 15 +- User/programmer/prog_if.c | 24 +- User/programmer/prog_if.h | 8 + 116 files changed, 3659 insertions(+), 26792 deletions(-) delete mode 100755 Doc/01.例程功能说明.txt delete mode 100755 Doc/02.例程修改记录.txt delete mode 100755 Doc/03.通信协议.txt delete mode 100755 Doc/04.Lua开发.txt rename Doc/Lua脚本/{h7_主板功能测试 - ok.lua => h7_主板功能初测.lua} (86%) create mode 100644 Doc/待解决问题.txt rename Project/{h7_tool_app(V1.08).bin => h7_tool_app(V1.08).bin} (100%) rename Project/{h7_tool_app(V1.09).bin => h7_tool_app(V1.09).bin} (100%) rename Project/{h7_tool_app(V1.07).bin => h7_tool_app(V1.10).bin} (63%) delete mode 100755 Project/h7_tool_app(V1.02).bin delete mode 100644 Project/h7_tool_app(V1.03).bin delete mode 100644 Project/h7_tool_app(V1.04).bin delete mode 100644 Project/h7_tool_app(V1.05b).bin delete mode 100644 Project/h7_tool_app(V1.06).bin create mode 100644 User/daplink/source/daplink/cmsis-dap/SW_DP_Multi.c create mode 100644 User/daplink/source/daplink/cmsis-dap/SW_DP_Multi.h create mode 100644 User/daplink/source/daplink/interface/swd_host_multi.c create mode 100644 User/daplink/source/daplink/interface/swd_host_multi.h delete mode 100644 User/lua/src-bak/Makefile delete mode 100644 User/lua/src-bak/lapi.c delete mode 100644 User/lua/src-bak/lapi.h delete mode 100644 User/lua/src-bak/lauxlib.c delete mode 100644 User/lua/src-bak/lauxlib.h delete mode 100644 User/lua/src-bak/lbaselib.c delete mode 100644 User/lua/src-bak/lbitlib.c delete mode 100644 User/lua/src-bak/lcode.c delete mode 100644 User/lua/src-bak/lcode.h delete mode 100644 User/lua/src-bak/lcorolib.c delete mode 100644 User/lua/src-bak/lctype.c delete mode 100644 User/lua/src-bak/lctype.h delete mode 100644 User/lua/src-bak/ldblib.c delete mode 100644 User/lua/src-bak/ldebug.c delete mode 100644 User/lua/src-bak/ldebug.h delete mode 100644 User/lua/src-bak/ldo.c delete mode 100644 User/lua/src-bak/ldo.h delete mode 100644 User/lua/src-bak/ldump.c delete mode 100644 User/lua/src-bak/lfunc.c delete mode 100644 User/lua/src-bak/lfunc.h delete mode 100644 User/lua/src-bak/lgc.c delete mode 100644 User/lua/src-bak/lgc.h delete mode 100644 User/lua/src-bak/linit.c delete mode 100644 User/lua/src-bak/liolib.c delete mode 100644 User/lua/src-bak/llex.c delete mode 100644 User/lua/src-bak/llex.h delete mode 100644 User/lua/src-bak/llimits.h delete mode 100644 User/lua/src-bak/lmathlib.c delete mode 100644 User/lua/src-bak/lmem.c delete mode 100644 User/lua/src-bak/lmem.h delete mode 100644 User/lua/src-bak/loadlib.c delete mode 100644 User/lua/src-bak/lobject.c delete mode 100644 User/lua/src-bak/lobject.h delete mode 100644 User/lua/src-bak/lopcodes.c delete mode 100644 User/lua/src-bak/lopcodes.h delete mode 100644 User/lua/src-bak/loslib.c delete mode 100644 User/lua/src-bak/lparser.c delete mode 100644 User/lua/src-bak/lparser.h delete mode 100644 User/lua/src-bak/lprefix.h delete mode 100644 User/lua/src-bak/lstate.c delete mode 100644 User/lua/src-bak/lstate.h delete mode 100644 User/lua/src-bak/lstring.c delete mode 100644 User/lua/src-bak/lstring.h delete mode 100644 User/lua/src-bak/lstrlib.c delete mode 100644 User/lua/src-bak/ltable.c delete mode 100644 User/lua/src-bak/ltable.h delete mode 100644 User/lua/src-bak/ltablib.c delete mode 100644 User/lua/src-bak/ltm.c delete mode 100644 User/lua/src-bak/ltm.h delete mode 100644 User/lua/src-bak/lua.c delete mode 100644 User/lua/src-bak/lua.h delete mode 100644 User/lua/src-bak/lua.hpp delete mode 100644 User/lua/src-bak/luac.c delete mode 100644 User/lua/src-bak/luaconf.h delete mode 100644 User/lua/src-bak/lualib.h delete mode 100644 User/lua/src-bak/lundump.c delete mode 100644 User/lua/src-bak/lundump.h delete mode 100644 User/lua/src-bak/lutf8lib.c delete mode 100644 User/lua/src-bak/lvm.c delete mode 100644 User/lua/src-bak/lvm.h delete mode 100644 User/lua/src-bak/lzio.c delete mode 100644 User/lua/src-bak/lzio.h diff --git a/CHANGELOG b/CHANGELOG index a9c8da3..8522e4c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,42 @@ +---------------------------------------------------------------------------- +2020-04-08 V1.10 +【修改&新增功能】 +1. D0、D1口线增加TTL UART7串口功能,lua可以读写该串口。 +2. lua接口增加本机按键的访问函数(暂未调通,逻辑还存在问题) +3. lua接口函数modbus_write_u16, 如果只写1个寄存器用06H功能码,多个寄存器才用10H功能码。 +4. 脱机下载界面,如果没接芯片长按S键执行了连续烧录,界面会卡住没有提示。 + 修改为进入连续烧录模式后,按任意键退出连续烧录模式 +5. 脱机编程器(缺省使用软件复位模式) + - lua脚本中增加RESET_TYPE变量: RESET_TYPE = 0 -- 0表示软件复位 1表示硬件复位 + - 编程参数界面增加复位选项:由lua选择、强制硬件复位、强制软件复位 + +【bug修复】 +1. 修正V1.09新出的BUG, lua读取D8 GPIO异常. +2. 修改界面文字错误,"USB eMMM磁盘"更正为"USB eMMC磁盘" +3. lua小程序功能执行一次后再到脱机界面,会显示lua小程序的输出窗口。 + 原因:bsp_uart_fifo.c中fputc函数无条件执行LCD_MemoAddChar()函数 +4. 屏幕息屏后只能唤醒一次,之后便不会再息屏,切换界面后正常息屏一次,之后又不行。已修复. + +【其他】 +1. 加入一拖四的源代码备份 + - 该功能还未调通,仅调试到能够同步读出4个芯片的ID + - 因为硬盘硬件损坏,编写调试了一个月的代码差一点丢失,因此推送到git先备份起来 + - 供电问题: + - 同时烧写4个芯片会涉及到TVCC供电不足的问题. + - TVCC引脚仅支持400mA, + - 5V的引脚只支持1000mA电流(5V输出有1个短路限流保护芯片碍事,早知不要了) + - H7-TOOL主板3.3V电流有270mA,因此无法4个主板同时烧写. 3.3V被拖垮到2.4V + - 上拉电阻问题:主板最初只设计了一路SWD接口(SWDIO引脚需要上拉电阻),其他3路的SWDIO无上拉电阻 + - 供电问题和上拉电阻问题可以通过设计一拖四转接板来解决 + +2. 用户反映运行lua程序界面和脱机界面的按键逻辑和其他的不一样比较不习惯 + - 其他界面一般是长按确认执行。但是在这2个界面,因为按钮功能需要频繁使用,所以设计为短按执行. + - 原来准备修改的,但是没有想到更好的操作逻辑,暂时不改了。 + +3. 接受网友的建议,生成的bin文件名中的全角括号修改为半角括号 + +4. doc下的修改记录.txt文件取消。内容记录到根目录 CHANGELOG文件. + ---------------------------------------------------------------------------- 2020-03-12 V1.09 【修改&新增功能】 diff --git a/Doc/01.例程功能说明.txt b/Doc/01.例程功能说明.txt deleted file mode 100755 index 9c088a4..0000000 --- a/Doc/01.例程功能说明.txt +++ /dev/null @@ -1,50 +0,0 @@ - -程序名字: H7-TOOL_App - -统一源代码。源代码功能. - -1. 逻辑分析仪功能、示波器、虚拟串口、虚拟CAN、I2C控制器、SPI控制器、PWM控制器、GPIO控制 - DAC控制、电流检测、编码器输入、频率计. - -2. CMSIS DAP下载器功能、USB虚拟串口功能 - -3. 脱机下载器 - - STM32 - - EEPROM - - SPI FLASH - - -function disp(_addr, _len) - init(0xA0,1,8) - s=read(_addr,_len) - s1="" - for i=1,string.len(s),1 do - if (((i - 1) % 16) == 0) then - s1=s1.."\r\n" - end - s1=s1..string.format("%02X ",string.byte(s,i)) - end - - print(s1) -end - -write(0,"12345678",5) -disp(0,32) - - -for i=0,512,16 do - write(i,"8234567890123456") -end - ---- 内存查看 --- - ---为了有干净的环境,先把可以收集的其他垃圾赶走先 -collectgarbage("collect"); - -local c1 = collectgarbage("count") -print("最开始,Lua的内存为", c1) - -local c2 = collectgarbage("count") -print("结束后,Lua的内存为", c2) - - diff --git a/Doc/02.例程修改记录.txt b/Doc/02.例程修改记录.txt deleted file mode 100755 index ead9f59..0000000 --- a/Doc/02.例程修改记录.txt +++ /dev/null @@ -1,246 +0,0 @@ -【待解决】 -3. qspi_read(), lua连续读取存在问题. 2019-07-07 -4. 文件管理界面,写字库操作1分钟,屏保进入后再唤醒,程序实际在刷屏函数中出不来。 - -2019-12-09 V1.07 -1. systick 中断优先级 = 0、 stm32h7xx_hal_conf.h -#define TICK_INT_PRIORITY 0 // ((uint32_t)0x0F) /*!< tick interrupt priority */ - -2. bsp_CheckRunTime, bsp_GetRunTime 函数内部去掉关闭中断的操作,影响QSPI写操作。 - ----------------------------------------------------------------------------- -2020-03-12 V1.09 -【修改&新增功能】 -1.脱机烧录功能 - - 增加STM8芯片(STM8S和STM8L系列) - - 增加自动识别硬件烧录不同的程序(识别算法由lua指定) - - 增加组合烧录,比如一键烧写H7-TOOL的boot、app和QSPI Flash - - FLM算法文件和数据文件支持绝对路径和相对路径 - - 优化LUA脚本,支持读、写保护状态识别,自动解除保护状态 - - 取消程序文件的大小显示,本次计数采用32点阵字体 - - 支持PC机联机调试lua程序 - - 打印内核ID、flash内容、RAM内容、UID、Option bytes - - 修改和显示目标CPU的RAM和任意寄存器 - - 擦除CPU内部Flash、EEPROM - - 加读保护、解除保护 - - 启动编程 - - 解决无法烧录STM32L0xx芯片的BUG,L0系列的Init函数需要传递形参1-2才行 - - 烧录时LED快闪,烧录成功候常亮,烧录失败后熄灭 - - 烧录界面增加清零本次计数、清零累计计数功能。修改产品序号功能未做,后面有空再做。 - -2.LUA - - print_hex 函数支持显示宽度和显示地址 - -【bug修复】 -1.脱机编程算法占用的RAM可以通过lua文件指定,V1.08是固定0x1000。 某些片子不够用 -2.READ_FMC()存在不能及时获取数据问题。解决方法:FMC内存空间需要配置为禁止cashe -3.微型数控电源界面如果关闭了蜂鸣器,无法确认是否进入了电压设置状态。 -4.00联机模式界面 切换屏幕显示方向时,日期和时间不会显示. - -【其他】 -1.修改switch case语句缩进格式 - ----------------------------------------------------------------------------- -2020-02-06 V1.08 -- 主要增加脱机烧录功能 -1.脱机编程器功能(仅STM32芯片) - - 通过文件浏览方式选择程序文件。不限制目录和文件个数。 - - FLM算法文件从KEIL MDK中复制出来,存放到emmc磁盘 \H7-TOOL\Programmer\FLM,按厂商分类 - - 目标程序文件、编程脚本存放到:\H7-TOOL\Programmer\User 文件夹。不限制目录级别和数量 - - 动态解析FLM文件,分离出内存镜像通过swd加载到目标cpu ram - - 支持多段bin写入 - - 支持option bytes编程,烧录完毕设置读保护 - - 支持自动解除读保护 - - 支持动态填充产品序号、UID加密字段、用户自定义字段 - - 自动保存烧录次数,支持剩余次数限制功能 - - 支持连续烧录模式,检测到IC后自动烧录 - - 可动态显示CPU电压和供电电流 - - 通过lua脚本配置算法文件和数据文件(bin)以及控制编程过程 - - lua非常灵活,可以很方便扩充功能,比如: - - 日期窗口段内才允许烧录 - - 目标板电流超限报警 - - 限定UID(CPU唯一序号)符合规则的才允许烧录 - - UID加密算法由用户自己定义 - - 填充任意短数据(小于1K),比如可以写入生产日期时间或客户代码 - - 关于程序文件保密问题。后期再考虑吧。 - - 因为H7-TOOL软件开源,文件结构开源,为了避免程序文件被加工厂泄露,初步设想如下: - - 控制USB虚拟磁盘程序入口,增加人工输入密码。 - - 在虚拟磁盘扇区读写底层函数,以512字节为单位增加客户自定义加密和解密算法。这样emmc数据内容 - 就是被加密的,即使emmc芯片被复制出来放到其他H7-TOOL主板也无法识别。 - - 2.菜单变更 - - 联机模式长按S进入扩展功能菜单 : 脱机烧录器、LUA小程序、数据记录仪、系统设置 - - 系统设置下级菜单:硬件信息、参设设置、ESP32固件升级、USB eMMC磁盘、数据维护 - - 【bug修复】 - V1.07 lua新增bug 不在lua小程序界面,执行PC机下下载lua程序会死机 - - bsp_tft_lcd.c LCD_DrawMemo()函数,增加: 3284行 - if (_pMemo->Text == 0) - { - return; - } - ----------------------------------------------------------------------------- -2019-12-26 V1.07 -1.界面切换S键和C键功能交换,符合正常逻辑。 -2.系统设置界面,增加USB磁盘访问eMMC -3.FatFS文件系统建立,支持目录浏览 -4.中文字库2MB存放到QSPI Flash末尾,所有汉字都可以显示了,无需CPU内嵌小字库。 -5.系统设置界面可以写字库文件,也可以刷新boot程序 -6.实现Lua小程序脱机运行 -7.数据记录仪只做了菜单(功能下个版本实现) - -bug修复: -1. USB通信时,熄屏后唤醒死机 while (wTransferState == 0){} - - 原因:主程序SPI正在DMA传输显示数据,按键中断服务程序中执行LCD休眠操作,SPI被重置 - 导致DMA传输不能进入完成中断。 - - ----------------------------------------------------------------------------- -2019-12-09 V1.06 -1.界面风格重新设计。24点阵、32点阵部分ASCII字符调整齐 -2.实现长时间不按键自动熄屏功能 -3.修改高侧电流界面120mA判据,增加回差控制 -4.bsp_key.c按键驱动增加长按弹起事件,和短按弹起事件分开处理. 这样处理后 - 主状态函数中的 uint8_t ucIgnoreKey 忽略按键的代码就可以去掉了。 -5.增加脱机烧录器界面(仅界面实现,未实现烧录功能) -6.联机界面增加时钟显示 - ----------------------------------------------------------------------------- -2019-11-30 V1.05b -1.解决上电花屏2秒问题,原因:logo界面没刷屏 - ----------------------------------------------------------------------------- -2019-11-29 V1.05 - 功能未增加,但是改动比较大,封一个版本。 -1.HAL固件库、USB库升级到最新版(来自于en.stm32cubeh7 (V1.5.0)) - -所有的GPIO寄存器操作更改为如下宏(因为新固件库取消了 BSRRH、BSRRL寄存器) - #define BSP_SET_GPIO_1(gpio, pin) gpio->BSRR = pin - #define BSP_SET_GPIO_0(gpio, pin) gpio->BSRR = (uint32_t)pin << 16U - -2.显示屏驱动采用SPI+DMA驱动。整屏刷新18ms。(驱动由硬汉提供) - - 修bsp_tft_st7789.c文件 - - bsp_Idle()函数执行 ST7789_DrawScreen(); /* 硬件SPI+DMA+刷屏 */ - - 使用0x30000000开始的240*240*2字节内存做显存 - -3.为了适应后台刷屏机制。所有的 while循环中bsp_Idle() 位置放到显示刷新后面 - while (g_MainStatus == MS_CURRENT_METER) - { - if (fRefresh) /* 刷新整个界面 */ - { - fRefresh = 0; - - DispCurrentVolt(); - AutoCurrentRange(); - } - - bsp_Idle(); /* 必须在fRefresh语句后边, 否则刚进入界面会有闪烁感 */ - - ... - } - ----------------------------------------------------------------------------- -2019-11-25 V1.04 -1.新增脉冲计数和频率计功能。status_pulse_meter.c -2.lua增加串口MODBUS接口函数 -3.增加参数设置界面,目前可以关闭蜂鸣器,选择配色风格功能未做。 -4.调整配色方案, ui_def.h文件定义颜色 -5.部分界面的文字左对齐 -6.系统设置-信息信息界面显示固件版本号 -7.CDC串口驱动调整。COM切换时,不开关USB设备。 -8.解决虚拟串口波特率低于2400不正确的bug -9.源代码加入Teeny-usb协议栈,未完全调通(临时屏蔽了,还是用ST的USB库) - ----------------------------------------------------------------------------- -2019-11-04 V1.03b -1.增加微型数控电源。 -2.整理bsp_timer.c, bso_tim_pwm.c文件 - ----------------------------------------------------------------------------- -2019-11-03 V1.03a -1.GBK->UTF-8 -2.TAB -> 4个空格 -3.完善高侧电流表功能:电压、电流、功率、放电容量 -4.增加二极管测量,和电阻测量同一个界面。 - - ----------------------------------------------------------------------------- -2019-10-20 V1.02 -1.lua脚本增加bsp_GetRunTimer等时间函数,方便统计时间 -2.主程序状态函数重新整理了一下 -3.adc均值计算增加滤波算法, bsp_cpu_adc.c - static float AdcSumAvg(uint8_t _AdcNo, uint8_t _Offset) -4.NTC电阻校准点增加到4点。0欧和20欧各一点,解决低阻值误差7欧问题。还不完善。 - ----------------------------------------------------------------------------- -2019-10-18 V1.01 -1.bsp_CheckRunTime() 函数BUG -2.上电等主界面清蓝屏后再开背光,避免上电黑屏感觉颜色不均问题。 -3.MAC地址根据CPU SN修改取值方式。1.00版取的字段不好,出来MAC都一样 - ----------------------------------------------------------------------------- -2019-10-17 V1.00 -1.发布生产用程序版本 - - Lua小程序,相对比较完善。已应用到H7-TOOL批量检测 - - 示波器功能,还存在不少BUG,后期再解决。 - - 固件升级(USB串口方式) - - 其他功能均未做 - ----------------------------------------------------------------------------- - -2019-09-20 V0.5 - 模拟量校准 -1.添加校准寄存器的读写功能 - -2019-09-13 V0.4 - 调试第6版主板 -1. 修改LCD接口GPIO -2. -PA0/TIM2_CH1 - ----------------------------------------------------------------------------- - -2019-08-16 V0.4 - 调试emmc -- USB 虚拟磁盘,需要在这个地方设置断点,等USB枚举才能正常。 - usdd_desc.c 文件,函数 uint8_t *USBD_MSC_SerialStrDescriptor - - ----------------------------------------------------------------------------- - -2019-08-13 V0.4 - 针对第5版硬件 -1. 蜂鸣器 PH12 -- > PG1 -2. EIO_D4_Config PH12调整 ----------------------------------------------------------------------------- -2019-06-29 V0.3 - 针对第4版硬件 -1. 针对第4版主板,LCD口线调整。用软件方式。 - -2. 按键 -PF5/D7_DIR 改为 PF2/KEY2 -PI1/KEY2 已到 PI1/D7_DIR - -3. 【D10 TTLTX】- 方向 PE3 = 1 ==> PC6 -【D0】 - 方向 PE0/D0_DIR ---> PH8/DO_DIR - ----------------------------------------------------------------------------- - - -2019-04-26 ----------------------------------------------------------------------------- -1. 示波器模块,增加STMPE811,控制增益和耦合 -2. - -2019-03-24 ----------------------------------------------------------------------------- -1. 移植lua - ----------------------------------------------------------------------------- -2019-02-06 V0.2 -3.上电lwip ping 只能持续5秒 - - ----------------------------------------------------------------------------- -2019-02-05 V0.2 -1.eeprom驱动。解决BUG。 -2.添加modbus驱动 - - - ----------------------------------------------------------------------------- -2018-12-02 V0.1 -1. 首版 diff --git a/Doc/03.通信协议.txt b/Doc/03.通信协议.txt deleted file mode 100755 index c149014..0000000 --- a/Doc/03.通信协议.txt +++ /dev/null @@ -1,73 +0,0 @@ - -3. 脱机下载器 - - STM32 - - EEPROM - - SPI FLASH - -------------------------------------------------------------- -64H - 下载LUA程序,支持分包传输 - 主机发送: - 01 ; 站号 - 64 ; 功能码 - 0100 0000 ; 总长度 4字节 - 0000 0000 : 偏移地址 4字节 - 0020 0000 : 本包数据长度 4字节 - xx ... xx : 程序数据,n个 - CCCC : CRC16 - - 从机应答: - 01 ; 从机地址 - 64 ; 功能码 - 00 ; 执行结果,0表示OK 1表示错误 - CCCC : CRC16 - -------------------------------------------------------------- -65H - 执行临时的LUA程序,命令帧带程序 - 主机发送: - 01 ; 从机地址 - 65 ; 功能码 - 0100 : 本包数据长度 4字节 - xxxx : 数据,0结束 - CCCC : CRC16 - - 从机应答: - 01 ; 从机地址 - 65 ; 功能码 - 00 ; 执行结果,0表示OK 1表示错误 - CCCC : CRC16 - -------------------------------------------------------------- -66H - write file - 主机发送: - 01 ; 站号 - 66 ; 功能码 - 0100 0000 ; 总长度 4字节 - 0000 0000 : 偏移地址 4字节 - 0020 0000 : 本包数据长度 4字节 - xx ... xx : 数据,n个 - CCCC : CRC16 - - 从机应答: - 01 ; 从机地址 - 65 ; 功能码 - 00 ; 执行结果,0表示OK 1表示错误 - CCCC : CRC16 - -------------------------------------------------------------- -67H - read file - 主机发送: - 01 ; 站号 - 67 ; 功能码 - 0100 0000 ; 总长度 4字节 -- 先保留,好像用不到 - 0000 0000 : 偏移地址 4字节 - 0020 0000 : 数据长度 4字节 - CCCC : CRC16 - - 从机应答: - 01 ; 从机地址 - 67 ; 功能码 - 00 ; 执行结果,0表示OK 1表示错误 - 0000 0000 : 偏移地址 4字节 - 0000 0000 : 后续数据长度 - xxx : 数据体 - CCCC : CRC16 diff --git a/Doc/04.Lua开发.txt b/Doc/04.Lua开发.txt deleted file mode 100755 index bf175e9..0000000 --- a/Doc/04.Lua开发.txt +++ /dev/null @@ -1,37 +0,0 @@ -/* - lua 增加调试代码的方法: - -lobject.c文件: - const char *luaO_pushfstring (lua_State *L, const char *fmt, ...) { - #if 1 - printf("%s", msg); - #endif - -ldebug.c 文件 luaG_runerror 函数,增加printf - -lauxlib.c 文件 luaL_error函数,增加printf - -ldo.c 文件 luaD_throw 函数 printf("\r\nthrow errcode=%d\r\n", errcode); - -lua.h 定义错误代码 -#define LUA_ERRRUN 2 -#define LUA_ERRSYNTAX 3 -#define LUA_ERRMEM 4 -#define LUA_ERRGCMM 5 -#define LUA_ERRERR 6 - -一次分配内存不可以大于 MAX_SIZET - -*/ - -/* - luaconf.h 文件对浮点和整数的处理。 缺省64位整数,双精度浮点 - default configuration for 64-bit Lua ('long long' and 'double') -*/ - -luaconf.h - #if LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE - #define LUAL_BUFFERSIZE 8192 - #else - #define LUAL_BUFFERSIZE ((int)(0x80 * sizeof(void*) * sizeof(lua_Integer))) - #endif diff --git a/Doc/Lua脚本/H7_自动校准.lua b/Doc/Lua脚本/H7_自动校准.lua index 0233946..03fa2d6 100755 --- a/Doc/Lua脚本/H7_自动校准.lua +++ b/Doc/Lua脚本/H7_自动校准.lua @@ -1,3 +1,10 @@ +--F01=ԶУ׼,test_calib() +--F02=---У׼TVCC---,calib_tvcc_volt() +--F03=---У׼DACѹ͵---,calib_dac() +--F04=---У׼ʾѹ---,calib_ch1ch2() +--F05=--У׼TVCC͸߲,calib_curr() +--F06=---У׼NTC---,calib_ntc() + beep() print("ű汾 V1.04 2019-11-28") diff --git a/Doc/Lua脚本/h7_主板功能测试 - ok.lua b/Doc/Lua脚本/h7_主板功能初测.lua similarity index 86% rename from Doc/Lua脚本/h7_主板功能测试 - ok.lua rename to Doc/Lua脚本/h7_主板功能初测.lua index d2f4699..c15b705 100644 --- a/Doc/Lua脚本/h7_主板功能测试 - ok.lua +++ b/Doc/Lua脚本/h7_主板功能初测.lua @@ -1,6 +1,16 @@ ---H7-TOOL幦ܳ +--F01=幦Ԥ,test_gpio() +--F02=TVCC+NTC,test_tvcc() +--F03=ʾ·,test_ch1ch2() +--F04=ִ01-02-03,test_gpio() test_tvcc() test_ch1ch2() +--F05=תӰLED,test_ledout() +--F06=ʱ,print(os.date()) +--F07=չ̵ȫ,test_extio_open_do() +--F08=չ̵ȫ,test_extio_close_do() +--F09=չDIȡ,test_extio_di() +--F10=,close_all() + beep() -print("H7-TOOL幦ܳѼ") +print("H7-TOOL幦ܳѼ 2020-01-10") --GPIO function test_gpio(void) @@ -10,23 +20,23 @@ function test_gpio(void) local time1 print("") - print("----ʱ----") + print("----ʱ----") delayms(5) time1 = os.time() print(os.date()) print(time1) if (time1 < 1574937149) then - print("*****ʱӴ*****") + print("*****ʱӴ*****") delayms(5) beep() delayms(100) beep() delayms(100) beep() else - print("ʱOK > 1574937149") + print("ʱOK > 1574937149") delayms(5) end - print("") - print("----ʼ----") + print("") delayms(5) + print("----ʼ----") delayms(5) err=0 terr=0 --TVCC3.3V @@ -188,6 +198,7 @@ function test_ch1ch2(void) local dac2 = {4095, 1024, 512, 256, 128, 64, 32, 16} local mid2 = {43121, 41400, 37714, 37575, 37556, 37494, 37633, 42601} local diff2 = {0.2, 0.1, 0.08, 0.08, 0.08, 0.08, 0.12, 0.17} + local str print("") delayms(5) print("----ʼʾ·----") delayms(5) @@ -205,13 +216,17 @@ function test_ch1ch2(void) errd = mid1[i] * diff1[i]; if (adc < mid1[i] - errd or adc > mid1[i] + errd) then err = err + 1 - print("dac=", dac) delayms(5) - print(" adc=", adc) delayms(5) - print(" error") delayms(5) + --print("dac=", dac) delayms(5) + --print(" adc=", adc) delayms(5) + --print(" error") delayms(5) + str = string.format("dac=%f adc=%f error", dac, adc) + print(str) delayms(5) else - print("dac=", dac) delayms(5) - print(" adc=", adc) delayms(5) - print(" ok") delayms(5) + --print("dac=", dac) delayms(5) + --print(" adc=", adc) delayms(5) + --print(" ok") delayms(5) + str = string.format("dac=%f adc=%f ok", dac, adc) + print(str) delayms(5) end end @@ -224,13 +239,11 @@ function test_ch1ch2(void) errd = mid2[i] * diff2[i]; if (adc < mid2[i] - errd or adc > mid2[i] + errd) then err = err + 1 - print("dac=", dac) delayms(5) - print(" adc=", adc) delayms(5) - print(" error") delayms(5) + str = string.format("dac=%f adc=%f error", dac, adc) + print(str) delayms(5) else - print("dac=", dac) delayms(5) - print(" adc=", adc) delayms(5) - print(" ok") delayms(5) + str = string.format("dac=%f adc=%f ok", dac, adc) + print(str) delayms(5) end end @@ -296,7 +309,7 @@ function test_tvcc(void) if (adc < mid1[i] - errd or adc > mid1[i] + errd) then err = err + 1 print(name[i], adc, "error") delayms(5) - print(" OK=", mid1[i] - errd, mid1[i] + errd) delayms(5) + print(" ȷΧ = ", mid1[i] - errd, mid1[i] + errd) delayms(5) else print(name[i], adc, "ok") delayms(5) end @@ -312,7 +325,7 @@ function test_tvcc(void) if (adc < mid2[i] - errd or adc > mid2[i] + errd) then err = err + 1 print(name[i], adc, "error") delayms(5) - print(" OK=", mid1[i] - errd, mid1[i] + errd) delayms(5) + print(" ȷΧ = ", mid2[i] - errd, mid2[i] + errd) delayms(5) else print(name[i], adc, "ok") delayms(5) end diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/H7-TOOL_Boot_App.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/H7-TOOL_Boot_App.lua index 7557733..fb61d59 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/H7-TOOL_Boot_App.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/H7-TOOL_Boot_App.lua @@ -42,8 +42,12 @@ function cofig_chip1(void) 0x08000000, --Ŀַ AlgoFile_FLASH, --㷨ļ - "0:/H7-TOOL/Firmware/h7_tool_app.bin", --ļ - 0x08020000, --Ŀַ + "0:/H7-TOOL/Firmware/H7-BOOT.bin", --ļ + 0x08000000, --Ŀַ + +-- AlgoFile_FLASH, --㷨ļ +-- "0:/H7-TOOL/Firmware/h7_tool_app.bin", --ļ +-- 0x08020000, --Ŀַ -- AlgoFile_QSPI, --㷨ļ -- "0:/H7-TOOL/Fonts/GB2312ZK.bin", --ļ @@ -55,6 +59,8 @@ function cofig_chip1(void) FLASH_ADDRESS = 0x08000000 --FLASHʼַ + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ + --Ƿ˶CPUںID CHECK_MCU_ID = 0 MCU_ID = 0x6BA02477 @@ -375,7 +381,7 @@ function swd_start_prog(void) end for i = 1, #TaskList, 3 do - if (TaskList[i] ~= "") then + if (TaskList[i] ~= "") then print("------------------------") str = string.format("FLM : %s", TaskList[i]) print(str) str = string.format("Data: %s", TaskList[i + 1]) print(str) diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/H7-TOOL_Boot_App_QSPI.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/H7-TOOL_Boot_App_QSPI.lua index a79f4d4..1f577ce 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/H7-TOOL_Boot_App_QSPI.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/H7-TOOL_Boot_App_QSPI.lua @@ -47,13 +47,15 @@ function cofig_chip1(void) AlgoFile_QSPI, --㷨ļ "0:/H7-TOOL/Fonts/GB2312ZK.bin", --ļ - 0x90000000, --Ŀַ + 0x91E00000, --Ŀַ } --1ʾƬ0ʾ. ЩCPUƬٶȿܶ࣬Щܶ ERASE_CHIP_ENABLE = 0 FLASH_ADDRESS = 0x08000000 --FLASHʼַ + + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ --Ƿ˶CPUںID CHECK_MCU_ID = 0 diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F030xC.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F030xC.lua index 49440a8..0652dfc 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F030xC.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F030xC.lua @@ -49,6 +49,10 @@ function cofig_chip1(void) --1ʾƬ0ʾ. ЩCPUƬٶȿܶ࣬Щܶ ERASE_CHIP_ENABLE = 1 + FLASH_ADDRESS = 0x08000000 --FLASHʼַ + + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ + --Ƿ˶CPUںID CHECK_MCU_ID = 0 MCU_ID = 0x0BB11477 diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F103xE.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F103xE.lua index 7d6997d..f4fb63e 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F103xE.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F103xE.lua @@ -51,6 +51,8 @@ function cofig_chip1(void) FLASH_ADDRESS = 0x08000000 --FLASHʼַ + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ + --Ƿ˶CPUںID CHECK_MCU_ID = 0 MCU_ID = 0x01BA01477 diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F407xG.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F407xG.lua index 9a891af..b66947d 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F407xG.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F407xG.lua @@ -61,6 +61,8 @@ function cofig_chip1(void) ERASE_CHIP_ENABLE = 0 FLASH_ADDRESS = 0x08000000 --FLASHʼַ + + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ --Ƿ˶CPUںID CHECK_MCU_ID = 0 diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F429xI.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F429xI.lua index 4d6f549..5cc6f57 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F429xI.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F429xI.lua @@ -61,6 +61,8 @@ function cofig_chip1(void) ERASE_CHIP_ENABLE = 0 FLASH_ADDRESS = 0x08000000 --FLASHʼַ + + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ --Ƿ˶CPUںID CHECK_MCU_ID = 0 diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F746xG.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F746xG.lua index 95aca8a..052c03b 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F746xG.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32F746xG.lua @@ -69,6 +69,8 @@ function cofig_chip1(void) FLASH_ADDRESS = 0x08000000 --FLASHʼַ + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ + --Ƿ˶CPUںID CHECK_MCU_ID = 0 MCU_ID = 0x5BA02477 diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32H743xI.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32H743xI.lua index e74abd2..0a7c957 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32H743xI.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32H743xI.lua @@ -55,6 +55,8 @@ function cofig_chip1(void) FLASH_ADDRESS = 0x08000000 --FLASHʼַ + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ + --Ƿ˶CPUںID CHECK_MCU_ID = 0 MCU_ID = 0x6BA02477 diff --git a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32L051x8.lua b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32L051x8.lua index 250da22..25d6b3e 100644 --- a/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32L051x8.lua +++ b/Doc/存放到eMMC磁盘的文件/H7-TOOL/Programmer/User/STM32/STM32L051x8.lua @@ -58,6 +58,8 @@ function cofig_chip1(void) FLASH_ADDRESS = 0x08000000 --FLASHʼַ + RESET_TYPE = 0 -- 0ʾλ 1ʾӲλ + --Ƿ˶CPUںID CHECK_MCU_ID = 0 MCU_ID = 0x0BC11477 diff --git a/Doc/待解决问题.txt b/Doc/待解决问题.txt new file mode 100644 index 0000000..454eca7 --- /dev/null +++ b/Doc/待解决问题.txt @@ -0,0 +1,7 @@ +--本文件记录一些待解决或待优化的问题-- + +1. qspi_read(), lua连续读取存在问题. +2. 文件管理界面,写字库操作1分钟,屏保进入后再唤醒,程序实际在刷屏函数中出不来。 +3. systick 中断优先级 = 0、 stm32h7xx_hal_conf.h +#define TICK_INT_PRIORITY 0 // ((uint32_t)0x0F) /*!< tick interrupt priority */ +4. bsp_CheckRunTime, bsp_GetRunTime 函数内部去掉关闭中断的操作,影响QSPI写操作。 diff --git a/Project/MDK-ARM(uV5)/project.uvoptx b/Project/MDK-ARM(uV5)/project.uvoptx index c143222..5b12c04 100755 --- a/Project/MDK-ARM(uV5)/project.uvoptx +++ b/Project/MDK-ARM(uV5)/project.uvoptx @@ -153,40 +153,7 @@ - - - 0 - 0 - 236 - 1 -
134431846
- 0 - 0 - 0 - 0 - 0 - 1 - ..\..\User\segger\HardFaultHandlerMDK\SEGGER_HardFaultHandler.c - - \\output\../../User/segger/HardFaultHandlerMDK/SEGGER_HardFaultHandler.c\236 -
- - 1 - 0 - 511 - 1 -
134675420
- 0 - 0 - 0 - 0 - 0 - 1 - ..\..\User\app\src\status_programmer.c - - \\output\../../User/app/src/status_programmer.c\511 -
-
+ 0 @@ -925,7 +892,7 @@ MDK-ARM - 1 + 0 0 0 0 @@ -1553,7 +1520,7 @@ CMSIS - 1 + 0 0 0 0 @@ -1616,8 +1583,20 @@ 0 0 0 - ..\..\Doc\02.例程修改记录.txt - 02.例程修改记录.txt + ..\..\CHANGELOG + CHANGELOG + 0 + 0 + + + 7 + 110 + 5 + 0 + 0 + 0 + ..\..\Doc\待解决问题.txt + 待解决问题.txt 0 0 @@ -1631,7 +1610,7 @@ 0 8 - 110 + 111 1 0 0 @@ -1643,7 +1622,7 @@ 8 - 111 + 112 1 0 0 @@ -1655,7 +1634,7 @@ 8 - 112 + 113 1 0 0 @@ -1667,7 +1646,7 @@ 8 - 113 + 114 1 0 0 @@ -1679,7 +1658,7 @@ 8 - 114 + 115 1 0 0 @@ -1691,7 +1670,7 @@ 8 - 115 + 116 1 0 0 @@ -1703,7 +1682,7 @@ 8 - 116 + 117 1 0 0 @@ -1715,7 +1694,7 @@ 8 - 117 + 118 1 0 0 @@ -1727,7 +1706,7 @@ 8 - 118 + 119 1 0 0 @@ -1739,7 +1718,7 @@ 8 - 119 + 120 1 0 0 @@ -1751,7 +1730,7 @@ 8 - 120 + 121 1 0 0 @@ -1771,7 +1750,7 @@ 0 9 - 121 + 122 1 0 0 @@ -1783,7 +1762,7 @@ 9 - 122 + 123 1 0 0 @@ -1795,7 +1774,7 @@ 9 - 123 + 124 1 0 0 @@ -1807,7 +1786,7 @@ 9 - 124 + 125 1 0 0 @@ -1819,7 +1798,7 @@ 9 - 125 + 126 1 0 0 @@ -1831,7 +1810,7 @@ 9 - 126 + 127 1 0 0 @@ -1843,7 +1822,7 @@ 9 - 127 + 128 1 0 0 @@ -1855,7 +1834,7 @@ 9 - 128 + 129 5 0 0 @@ -1867,7 +1846,7 @@ 9 - 129 + 130 1 0 0 @@ -1879,7 +1858,7 @@ 9 - 130 + 131 1 0 0 @@ -1891,7 +1870,7 @@ 9 - 131 + 132 1 0 0 @@ -1903,7 +1882,7 @@ 9 - 132 + 133 1 0 0 @@ -1915,7 +1894,7 @@ 9 - 133 + 134 1 0 0 @@ -1927,7 +1906,7 @@ 9 - 134 + 135 1 0 0 @@ -1939,7 +1918,7 @@ 9 - 135 + 136 1 0 0 @@ -1951,7 +1930,7 @@ 9 - 136 + 137 1 0 0 @@ -1971,7 +1950,7 @@ 0 10 - 137 + 138 1 0 0 @@ -1983,7 +1962,7 @@ 10 - 138 + 139 1 0 0 @@ -1995,7 +1974,7 @@ 10 - 139 + 140 1 0 0 @@ -2007,7 +1986,7 @@ 10 - 140 + 141 1 0 0 @@ -2019,7 +1998,7 @@ 10 - 141 + 142 1 0 0 @@ -2031,7 +2010,7 @@ 10 - 142 + 143 1 0 0 @@ -2051,7 +2030,7 @@ 0 11 - 143 + 144 1 0 0 @@ -2063,7 +2042,7 @@ 11 - 144 + 145 1 0 0 @@ -2075,7 +2054,7 @@ 11 - 145 + 146 1 0 0 @@ -2087,7 +2066,7 @@ 11 - 146 + 147 1 0 0 @@ -2099,7 +2078,7 @@ 11 - 147 + 148 1 0 0 @@ -2111,7 +2090,7 @@ 11 - 148 + 149 1 0 0 @@ -2123,7 +2102,7 @@ 11 - 149 + 150 1 0 0 @@ -2135,7 +2114,7 @@ 11 - 150 + 151 1 0 0 @@ -2147,7 +2126,7 @@ 11 - 151 + 152 1 0 0 @@ -2159,7 +2138,7 @@ 11 - 152 + 153 1 0 0 @@ -2171,7 +2150,7 @@ 11 - 153 + 154 1 0 0 @@ -2183,7 +2162,7 @@ 11 - 154 + 155 1 0 0 @@ -2195,7 +2174,7 @@ 11 - 155 + 156 1 0 0 @@ -2207,7 +2186,7 @@ 11 - 156 + 157 1 0 0 @@ -2219,7 +2198,7 @@ 11 - 157 + 158 1 0 0 @@ -2231,7 +2210,7 @@ 11 - 158 + 159 1 0 0 @@ -2243,7 +2222,7 @@ 11 - 159 + 160 1 0 0 @@ -2255,7 +2234,7 @@ 11 - 160 + 161 1 0 0 @@ -2267,7 +2246,7 @@ 11 - 161 + 162 1 0 0 @@ -2279,7 +2258,7 @@ 11 - 162 + 163 1 0 0 @@ -2291,7 +2270,7 @@ 11 - 163 + 164 1 0 0 @@ -2303,7 +2282,7 @@ 11 - 164 + 165 1 0 0 @@ -2315,7 +2294,7 @@ 11 - 165 + 166 1 0 0 @@ -2327,7 +2306,7 @@ 11 - 166 + 167 1 0 0 @@ -2339,7 +2318,7 @@ 11 - 167 + 168 1 0 0 @@ -2351,7 +2330,7 @@ 11 - 168 + 169 1 0 0 @@ -2363,7 +2342,7 @@ 11 - 169 + 170 1 0 0 @@ -2375,7 +2354,7 @@ 11 - 170 + 171 1 0 0 @@ -2387,7 +2366,7 @@ 11 - 171 + 172 1 0 0 @@ -2399,7 +2378,7 @@ 11 - 172 + 173 1 0 0 @@ -2411,7 +2390,7 @@ 11 - 173 + 174 1 0 0 @@ -2423,7 +2402,7 @@ 11 - 174 + 175 1 0 0 @@ -2435,7 +2414,7 @@ 11 - 175 + 176 1 0 0 @@ -2447,7 +2426,7 @@ 11 - 176 + 177 1 0 0 @@ -2467,7 +2446,7 @@ 0 12 - 177 + 178 1 0 0 @@ -2487,7 +2466,7 @@ 0 13 - 178 + 179 1 0 0 @@ -2499,7 +2478,7 @@ 13 - 179 + 180 1 0 0 @@ -2511,7 +2490,7 @@ 13 - 180 + 181 5 0 0 @@ -2523,7 +2502,7 @@ 13 - 181 + 182 1 0 0 @@ -2535,7 +2514,7 @@ 13 - 182 + 183 1 0 0 @@ -2555,7 +2534,7 @@ 0 14 - 183 + 184 1 0 0 @@ -2567,7 +2546,7 @@ 14 - 184 + 185 1 0 0 @@ -2579,7 +2558,7 @@ 14 - 185 + 186 5 0 0 @@ -2591,7 +2570,7 @@ 14 - 186 + 187 1 0 0 @@ -2611,7 +2590,7 @@ 0 15 - 187 + 188 1 0 0 @@ -2623,7 +2602,7 @@ 15 - 188 + 189 1 0 0 @@ -2643,7 +2622,7 @@ 0 16 - 189 + 190 1 0 0 @@ -2655,7 +2634,7 @@ 16 - 190 + 191 1 0 0 @@ -2667,7 +2646,7 @@ 16 - 191 + 192 5 0 0 @@ -2681,15 +2660,15 @@ Programmer - 1 + 0 0 0 0 17 - 192 + 193 1 - 0 + 1 0 0 ..\..\User\programmer\prog_if.c @@ -2699,7 +2678,7 @@ 17 - 193 + 194 1 0 0 @@ -2711,7 +2690,7 @@ 17 - 194 + 195 1 0 0 @@ -2723,7 +2702,7 @@ 17 - 195 + 196 1 0 0 @@ -2735,7 +2714,7 @@ 17 - 196 + 197 5 0 0 @@ -2747,7 +2726,7 @@ 17 - 197 + 198 5 0 0 @@ -2759,7 +2738,7 @@ 17 - 198 + 199 5 0 0 @@ -2771,7 +2750,7 @@ 17 - 199 + 200 1 0 0 @@ -2783,7 +2762,7 @@ 17 - 200 + 201 1 0 0 @@ -2803,7 +2782,7 @@ 0 18 - 201 + 202 1 0 0 @@ -2815,7 +2794,7 @@ 18 - 202 + 203 1 0 0 @@ -2827,7 +2806,7 @@ 18 - 203 + 204 1 0 0 @@ -2839,7 +2818,7 @@ 18 - 204 + 205 1 0 0 @@ -2851,7 +2830,7 @@ 18 - 205 + 206 1 0 0 @@ -2863,7 +2842,7 @@ 18 - 206 + 207 1 0 0 @@ -2875,7 +2854,7 @@ 18 - 207 + 208 1 0 0 @@ -2887,7 +2866,7 @@ 18 - 208 + 209 1 0 0 @@ -2899,7 +2878,7 @@ 18 - 209 + 210 1 0 0 @@ -2911,7 +2890,7 @@ 18 - 210 + 211 1 0 0 @@ -2923,7 +2902,7 @@ 18 - 211 + 212 1 0 0 @@ -2935,7 +2914,7 @@ 18 - 212 + 213 1 0 0 @@ -2947,7 +2926,7 @@ 18 - 213 + 214 1 0 0 @@ -2959,7 +2938,7 @@ 18 - 214 + 215 1 0 0 @@ -2971,7 +2950,7 @@ 18 - 215 + 216 1 0 0 @@ -2983,7 +2962,7 @@ 18 - 216 + 217 1 0 0 @@ -2995,7 +2974,7 @@ 18 - 217 + 218 1 0 0 @@ -3007,7 +2986,7 @@ 18 - 218 + 219 1 0 0 @@ -3019,7 +2998,7 @@ 18 - 219 + 220 1 0 0 @@ -3031,7 +3010,7 @@ 18 - 220 + 221 1 0 0 @@ -3043,7 +3022,7 @@ 18 - 221 + 222 1 0 0 @@ -3055,7 +3034,7 @@ 18 - 222 + 223 1 0 0 @@ -3067,7 +3046,7 @@ 18 - 223 + 224 1 0 0 @@ -3079,7 +3058,7 @@ 18 - 224 + 225 1 0 0 @@ -3091,7 +3070,7 @@ 18 - 225 + 226 1 0 0 @@ -3103,7 +3082,7 @@ 18 - 226 + 227 1 0 0 @@ -3115,7 +3094,7 @@ 18 - 227 + 228 1 0 0 @@ -3127,7 +3106,7 @@ 18 - 228 + 229 1 0 0 @@ -3139,7 +3118,7 @@ 18 - 229 + 230 1 0 0 @@ -3151,7 +3130,7 @@ 18 - 230 + 231 1 0 0 @@ -3163,7 +3142,7 @@ 18 - 231 + 232 1 0 0 @@ -3175,7 +3154,7 @@ 18 - 232 + 233 1 0 0 @@ -3187,7 +3166,7 @@ 18 - 233 + 234 1 0 0 @@ -3201,13 +3180,13 @@ Lua_IF - 1 + 0 0 0 0 19 - 234 + 235 5 0 0 @@ -3219,7 +3198,7 @@ 19 - 235 + 236 1 0 0 @@ -3231,7 +3210,7 @@ 19 - 236 + 237 1 0 0 @@ -3243,7 +3222,7 @@ 19 - 237 + 238 1 0 0 @@ -3255,7 +3234,7 @@ 19 - 238 + 239 1 0 0 @@ -3267,7 +3246,7 @@ 19 - 239 + 240 1 0 0 @@ -3279,7 +3258,7 @@ 19 - 240 + 241 1 0 0 @@ -3291,7 +3270,7 @@ 19 - 241 + 242 1 0 0 @@ -3303,7 +3282,7 @@ 19 - 242 + 243 1 0 0 @@ -3315,7 +3294,7 @@ 19 - 243 + 244 1 0 0 @@ -3327,7 +3306,7 @@ 19 - 244 + 245 1 0 0 @@ -3339,7 +3318,7 @@ 19 - 245 + 246 1 0 0 @@ -3351,7 +3330,7 @@ 19 - 246 + 247 1 0 0 @@ -3363,7 +3342,7 @@ 19 - 247 + 248 1 0 0 @@ -3375,7 +3354,7 @@ 19 - 248 + 249 1 0 0 @@ -3387,7 +3366,7 @@ 19 - 249 + 250 5 0 0 @@ -3399,7 +3378,7 @@ 19 - 250 + 251 1 0 0 @@ -3419,7 +3398,7 @@ 0 20 - 251 + 252 1 0 0 @@ -3431,7 +3410,7 @@ 20 - 252 + 253 1 0 0 @@ -3443,7 +3422,7 @@ 20 - 253 + 254 1 0 0 @@ -3455,7 +3434,7 @@ 20 - 254 + 255 1 0 0 @@ -3467,7 +3446,7 @@ 20 - 255 + 256 1 0 0 @@ -3479,7 +3458,7 @@ 20 - 256 + 257 1 0 0 @@ -3489,6 +3468,18 @@ 0 0 + + 20 + 258 + 1 + 0 + 0 + 0 + ..\..\User\daplink\source\daplink\cmsis-dap\SW_DP_Multi.c + SW_DP_Multi.c + 0 + 0 + @@ -3499,7 +3490,7 @@ 0 21 - 257 + 259 1 0 0 @@ -3511,7 +3502,7 @@ 21 - 258 + 260 1 0 0 @@ -3523,7 +3514,7 @@ 21 - 259 + 261 1 0 0 @@ -3535,7 +3526,7 @@ 21 - 260 + 262 1 0 0 @@ -3547,7 +3538,7 @@ 21 - 261 + 263 1 0 0 @@ -3557,6 +3548,18 @@ 0 0 + + 21 + 264 + 1 + 0 + 0 + 0 + ..\..\User\daplink\source\daplink\interface\swd_host_multi.c + swd_host_multi.c + 0 + 0 + @@ -3567,7 +3570,7 @@ 0 22 - 262 + 265 1 0 0 @@ -3579,7 +3582,7 @@ 22 - 263 + 266 1 0 0 @@ -3591,7 +3594,7 @@ 22 - 264 + 267 1 0 0 @@ -3611,7 +3614,7 @@ 0 23 - 265 + 268 1 0 0 @@ -3623,7 +3626,7 @@ 23 - 266 + 269 1 0 0 @@ -3635,7 +3638,7 @@ 23 - 267 + 270 1 0 0 @@ -3647,7 +3650,7 @@ 23 - 268 + 271 1 0 0 @@ -3659,7 +3662,7 @@ 23 - 269 + 272 1 0 0 @@ -3679,7 +3682,7 @@ 0 24 - 270 + 273 5 0 0 @@ -3691,7 +3694,7 @@ 24 - 271 + 274 1 0 0 @@ -3703,7 +3706,7 @@ 24 - 272 + 275 1 0 0 @@ -3715,7 +3718,7 @@ 24 - 273 + 276 1 0 0 @@ -3727,7 +3730,7 @@ 24 - 274 + 277 1 0 0 @@ -3739,7 +3742,7 @@ 24 - 275 + 278 1 0 0 @@ -3751,7 +3754,7 @@ 24 - 276 + 279 5 0 0 @@ -3771,7 +3774,7 @@ 0 25 - 277 + 280 1 0 0 @@ -3783,7 +3786,7 @@ 25 - 278 + 281 1 0 0 @@ -3803,7 +3806,7 @@ 0 26 - 279 + 282 5 0 0 @@ -3815,7 +3818,7 @@ 26 - 280 + 283 5 0 0 @@ -3827,7 +3830,7 @@ 26 - 281 + 284 1 0 0 @@ -3839,7 +3842,7 @@ 26 - 282 + 285 1 0 0 @@ -3851,7 +3854,7 @@ 26 - 283 + 286 5 0 0 @@ -3863,7 +3866,7 @@ 26 - 284 + 287 5 0 0 @@ -3875,7 +3878,7 @@ 26 - 285 + 288 1 0 0 @@ -3895,7 +3898,7 @@ 0 27 - 286 + 289 1 0 0 @@ -3907,7 +3910,7 @@ 27 - 287 + 290 1 0 0 @@ -3919,7 +3922,7 @@ 27 - 288 + 291 1 0 0 @@ -3931,7 +3934,7 @@ 27 - 289 + 292 1 0 0 @@ -3943,7 +3946,7 @@ 27 - 290 + 293 1 0 0 @@ -3955,7 +3958,7 @@ 27 - 291 + 294 5 0 0 @@ -3975,7 +3978,7 @@ 0 28 - 292 + 295 1 0 0 @@ -3987,7 +3990,7 @@ 28 - 293 + 296 1 0 0 @@ -3999,7 +4002,7 @@ 28 - 294 + 297 1 0 0 @@ -4011,7 +4014,7 @@ 28 - 295 + 298 1 0 0 diff --git a/Project/MDK-ARM(uV5)/project.uvprojx b/Project/MDK-ARM(uV5)/project.uvprojx index e7be53c..a2a7797 100755 --- a/Project/MDK-ARM(uV5)/project.uvprojx +++ b/Project/MDK-ARM(uV5)/project.uvprojx @@ -1004,9 +1004,14 @@ Doc - 02.例程修改记录.txt + CHANGELOG 5 - ..\..\Doc\02.例程修改记录.txt + ..\..\CHANGELOG + + + 待解决问题.txt + 5 + ..\..\Doc\待解决问题.txt @@ -1961,6 +1966,11 @@ 1 ..\..\User\daplink\source\daplink\cmsis-dap\SWO.c + + SW_DP_Multi.c + 1 + ..\..\User\daplink\source\daplink\cmsis-dap\SW_DP_Multi.c + @@ -2042,6 +2052,11 @@ 1 ..\..\User\daplink\source\rtos_none\SysTick_Handler.c + + swd_host_multi.c + 1 + ..\..\User\daplink\source\daplink\interface\swd_host_multi.c + diff --git a/Project/MDK-ARM(uV5)/startup_stm32h743xx.s b/Project/MDK-ARM(uV5)/startup_stm32h743xx.s index a4f10f4..c83c6e4 100755 --- a/Project/MDK-ARM(uV5)/startup_stm32h743xx.s +++ b/Project/MDK-ARM(uV5)/startup_stm32h743xx.s @@ -68,7 +68,7 @@ __Vectors DCD __initial_sp ; Top of Stack DCD MemManage_Handler ; MPU Fault Handler DCD BusFault_Handler ; Bus Fault Handler DCD UsageFault_Handler ; Usage Fault Handler - DCD 0x00000109 ; Reserved H7-TOOL APP 固件版本 + DCD 0x00000110 ; Reserved H7-TOOL APP 固件版本 DCD 0 ; Reserved DCD 0 ; Reserved DCD 0 ; Reserved diff --git a/Project/h7_tool_app(V1.08).bin b/Project/h7_tool_app(V1.08).bin similarity index 100% rename from Project/h7_tool_app(V1.08).bin rename to Project/h7_tool_app(V1.08).bin diff --git a/Project/h7_tool_app(V1.09).bin b/Project/h7_tool_app(V1.09).bin similarity index 100% rename from Project/h7_tool_app(V1.09).bin rename to Project/h7_tool_app(V1.09).bin diff --git a/Project/h7_tool_app(V1.07).bin b/Project/h7_tool_app(V1.10).bin similarity index 63% rename from Project/h7_tool_app(V1.07).bin rename to Project/h7_tool_app(V1.10).bin index 2b3926be479bdd002ed97827cfc257167f1f7b09..be9fb6c4b55eb007a99f8d60025f6280fa613673 100644 GIT binary patch delta 144030 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

DDtLO|pmQj@rl8(54D^-EfS!Zs!$92l7FF%b? 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 v7wg8lazJ}rzfO}d>WLaLHQjhchy=tVSPxw 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 P@d`ee?CNJouSWhqr delta 108786 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%0ABT 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%0A4PM3!B~iuy1EknBgj*6CVfM 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

V;mD*JJ*twvcLmFCIR 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�l?LiaDDe8u1 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π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 diff --git a/Project/h7_tool_app(V1.03).bin b/Project/h7_tool_app(V1.03).bin deleted file mode 100644 index 75f0aadbd10fcc3cf971a3ff1e94cf543c21ae15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 598944 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 =~Ej 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

J1MTS+%B3`FMWeVhCerK0 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 z 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 diff --git a/Project/h7_tool_app(V1.04).bin b/Project/h7_tool_app(V1.04).bin deleted file mode 100644 index dc7c1214d5314c7f8946753c144a453677d03830..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 614816 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ÏXc?!kS4pGf- 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

(u>7rS6Lnw{e8CV-Bf42N?8=N`dXj z0fTe!1g!~J^~}i%VOSp<3HSXY>@n(Nb%6fiu+Z$W9X_Cy_>$gaRVlgXuQG&8A%BZ{+rB}{I@k*YVVkPZn_4WRO z^E$4+(E3q^`{6?4$D-Ho#TdwE_ttynC^RHSLNhTgwNaRlv{;G3q$^Vq7yYqB9xfEd zQbsW(D%Pu}5|-D%@JqcKCaffiyhQB0B&6e8!>=TH`JDATcM$QNcL~OGcj(cB(f*}G z7QOLmaAZ4kTSs=tZ(&5n2j9l;`he)|z$zv2kvBXKan97Bh~MNOcTJp<@2*>5KIT~` zsaE1y+X$BOM%QP5agS#mQ7g&bw~?=x_&jSV7ep1v zenxT8i1iI7kzP`Hy4ACe)~07I^7Q&E_ajVY;8|-$O;D-n$jZxLlEz>}*`St(ElRkP zmS`nO&7y2nTS7WTx%be$PW1CWv<8hLNtGfJ)gAu^;{={t!>DaS!&IuL zhK#*;Q^>0&Ni5f#Vr#VPvJrz=X)J7$(V|5axTqz-6n^~<48RR&~u{11k^OYEUZIs^4!)A3FN=sd6_wGTv zw=tIsrj!yTrBsmP)w{vb)KY2{xL~3i^K~!UQy~d_(K;Fac(rEO3O$Nf7Y|3NyigJ)52)p5vn5IoA?-QSP;7PNu;};Sd%MMGfn^Mw0L=%vHJ%C>2{N;$vTXb1fL$iZl4jq^*$4RkNEVo zmDLe(5Pi_I&(MEo=2IK0>!&s}?<~K&p^1)2xxB<6$%s>o-NhuMG(Th|;K2+Y%-E^u z-bwstiP>Y@dBB=`_QVv0XV6yVaQ9*2DxUUF;lDg#wR`0xb?3lO&sukpjA#WT%v25| z`3B&0ofFJW=cHW}w;{LZMDsbl`N%nfIM1%8b8fS>sqIUCH|qa!k|D-$Sm-Cj+7j(< zI6KY!$yu}c&2x&m=bUxGaFp1k^YLP;>KN9echdZ}VY)t~8qwdN^Ru?pH;In?Qm;JH zH+7g~IF)OGXNvi7kBQXCl%fDA>N)2b!#erIj4_DO^wAPcAJKeu2c+{nO6?rdDYV}b zaz8i$Jpk?`GgGQZx%~ob0YO*GgSH#$gzn)Dq)D8j^Ogxc6(VMHr>DJkmtk(a^v*@Gl$ONpqvr;$g&<3Y$$B4HBXh^DC2*_?5E+ z$i0Pg#LEVZC{~7On$t~cUCr0H{q;%BnQrnR=OjU2NxECAZECe6mN;)dHQh}fm2Cb4 zsTjwU*4GzacY>CV7VaTp65=?~?aNlCAP?u9LEAZlo`jS~0iAjx&fNh#lTO9BC6*G6 zvCr?3Lg(i~so*n#hNM=ki(x#~(TOn%a=LxI$kP(qf89yxru17|lA6tBDGy>@JZNnb z%2xWH@gMh-bVGT1-I}^JJ}y1o$EWMc(~;{O+Sh14CJSG^|A?Q`O|kk)M$@dYy>^** zo7K}8VPSOs866ku5$*};og7x~5Q`C`7Edx_+_A{d+b!;bDq@E<7R{w@4@O#Ut_s)- z4#7`UONe5aHb9!W47$sJM&ct&DGnFvRgZNw(ms>cZLi;z3w*3@;n(Vxv|r=4xMydk|v z{n7AWGgN_b2n|IcBn}aW!JaRg)%HR9`-?#n*2zDBJ`n+*1)rW@N&BxDc?#y#*^njW z{HuNe_33Nl*jStL&57DBu*8v!E8*7#BvfG6!EowP@_pbUN9D7T&v}x$6dc$CpJ5K#xe^T?qc2lEXJv4|JT4|y?S>=WjN+-en zYLM=~?0jFJF>~fB{J&!J+D)rAZ@FXZ=GCk4Ro`)6&896|tM0vH&4zVa#G2|gchs!k zvUby*RcqGHTtjyLMxW8~x;|s)TYAXU2>G~VyLYm>V>la}L^-bwW_r=S>z&0IS8uR< zG@~?g;iUTdq->lK80q`YfSsj@nC-M&B-;`Lscx=5)jdglBuvC)#HP5LLS}(DO{b<& zpOf@NVMRV!Eg6^s`Zo=xVpL1e<}JZQ_0!O#Qcj$qIzwXp_5=AcCuXXD!6=EgZM{p{jXMFIdX9csb zBp?0TtaGd9iRX0Yjd13y?rIt~H=M1aVe}E+>~P5l&NtO3+WyJ)}P_N9I|wPQo5FUDwi8|IC9XN|ilgv;F! zx|i@y9V~iYX&wAIEGDOPNl2_DGf0MA@es*oh>SAcJa>di!+4bB@~1p$KRAGPG-Hxt z!1#rZLMV4{qOa5>--vWQdh?wJ-n=-l?Kt{#Uj!G%2fGa2|4s8e>$6FhVi7W6B!~D{ zs9e-@3&C>@_%EgMgNyE%cY`w{#xsvmzNoFa$tHs%$k&jZf9_EBA;{W)ZeKR7 z8T878fNxHAWf@M~kfl4hugAp)4p@~cgzseG+YlC%0)%B2z8+!l2CG0wsKvqBB{>ml z6JbrP&AihPgbkUYr}NrdsgGKdX|OS3Gl$hM9xX?&kPH*jJE|#^zZy`mh@{;L8)U*R zwE!5zWttRAE5UpUFe_-7!kFA9Zw^i)-5~4Sq#mG1m(j6fRd6T+n+2Ar3Pw zih+pXzT@G;7fcdSqeE~p_A!N&0~pnZIHdhCtl=S`iHeukk3!}#^!TI^(A0*ZoCv@Q2!hrjiEC_v4-~AVilbUwgXmVuoF`Z z>aUSUOVQ?uM)gM%W{odl)=1Z`(2M!#*b5^ruOuXvHVyWu{xmBckBGviYI}^kpble{ zI{0H5t(d2Sm#BXFJ7s|W4&#?o&xIZ80JOu}wjX_ph_)b=m7@-@0(GxZ z?Su^$AEWxBg+D=fXCz#|!KnT(!gHTOKQCX8^Ir{xrGYsMlV(w0abVU$7xT>zxE8vZ zZ(bm8p@;eA1acPEGM_8pT-d;TIe{4q_cPy&KnBC+2sk3xQUhWHTT&o3f-NDC62TT5 zNQz*K3QUP$(+3hF*tj4k(ze*tY_7G=OQJj9Ds+Ljls&uZ{k1x$;bXIR!-Xh*QtGa? zIz{tSpWqeg%JSO!b?Dm(FIn}xbmRlPrn=Q|@HGq(Dab zP0W`NaFkavUu3~?-MUYHgQTDJ4Qxie~^G>gAWP@5IqpiE{p4H4{#{~FntQuuogRvNIy?-~a`Zpcu@oyuj zQIqoi-3NL)m>+fz>EBRx)f~7;?nnu0xlNJW@j)|EIWZPF#$zy!!$9*-QM7yp6 zOAwX-)|A7}*TkF@8of~o#tJPv*FC&0aAw+l-}n6Y`YFwUGdB2ct1x=sMO#==k#s%v z6$h49xR`H#pt8cveDeZ}Dm=_LCs0;V%Y3eYyP|>lasqP2e&(AIC}!9kfx-y3)PNMh zmK3--f-NC%V+31lU~U9kRNxyCZ2G|L2sYHw3{XGgugwjiRUV@{-86s3yV6S@qxT!$ z8NL1)ChslqZ}$AaE6vmgjot$Y^>~UEqqiBp^Pc&NBSMW>k;v#v4Ww2$nJ+1jQgIXW zB?OWxDw!`fFr}iJ`Jw^|5xVq&_=?9^+$c3KjZwpan)O$qKsQE#+BVu2nciStmF(sk zlHIxn$-rYy{5aN3D!vN)4DcHpxR)op^=f@69xw@j@n01t7BKgP2xiEW#3*&aF#WX- z)9^Oit^Je|%lCeGQ%&(*aVSBzUw*ALU4 zji^ULw6`JZVYoE>*GTv{`U#@G7P>T-Cu}Yp?)x3a(3p+-F-^zZw!ZF2-I47j;8@r` zOLT9?>C5f)JC5vduNGwPeu@KYlJ%ty586 ztKTvT;^UZ+KhC2cBjQw5#LflALalncZehGfN5@Wf4nAKAU2o9loLrtcNJkYqF;@M} zNF2rl)Ymp*##loir28(h>aW;Xf%=+9V%6`C&=CNguX1_c4OU|W!y|?6!@%~ajch+A z7W*)t0)r)}r9K@=-NSZiV%5h-jw<|E>JJbr$g%47NZ#*{yr<~KQokEX-5klgVdPCk zk5oF2iB-K3%+-;+o{^s^hOyLdMp9Qq@-7+qkzyQ6T^PYENAebqJffI#pO0X^F_LKDT~5uR!4Cy~?>k-YyqY>V(rQv(sq ze~jckG8_Y*qro#xJrqf8i{xz`j>Y^G^<6^8nxZ@vYadjns4ch|w&v!DJ-W%=u`8*S zV^)dB7=&7<>)rlcoKqK=1DAIu1ZTSm+JYgN@5Zc#S*=(Ft3jTs_J~uGIHlodqw~yLre5$&(pQxKcbU%>TqZc|tR;%_a*{F5s z#XhcpIi!=+g|di4Js(cTI*N$h?Zp_WkFGn@_Kfit)|JCno2vG6b~kTRzl1BD=R_OM zs}cBk`2NOxI`~e(SJBJ)Z0biW&VaaM{T9F(;rkyJXM*qd42}of;r>}jjY3>IOEtsy z7V|~J*TUd*fNScfl*AzJRYpN9d@n%{tS#y4FNV_9SB9ugSX;tGs>y z0@(kP_Jmh;uVDY*I?HYrRLkf8v3pDsBEny^)Uj~>o$Cr9D*St(Sp0m~PdoqPkqF#vMEv}ht!Ezj zVI;h+zzZl>%O0%#l1y6HH<5z#&y&|ew_uF&nd`NX#Ok_`Ou?F*PHn;&(sZmwY4yBl z1nse&b4CSKd)%uInbtPl+mBPr2BH*Bq_LU~XtB~j!TCE0qM064{E69=@}J9a*u3y{s=5+oEkN7k8FAVB=hSAY;9+r zZvW!3N0)v6j{ozY@BX4?H+ZBHX>R=DsduTU7}vnB!4-X8_uLn+J+Hz2+hzW_{~p;K zDf9RJwzlH@)9*g{`NKc^tbO0-Km4`mbj{3nKae-aV<38N>aE1=kdo!0P2g^ zUikdE{bwG2ytD0>oo#zM-+pf9%$bP)S9WVUTAhAEtFy6I_xaHHR;SsmFG7icHcWt? z%%J~g0<>ng{u~nA3HyHIrB?9W3F$v#ZMZ!|?V9*8`kyn;?-50;yX1?+XJZchK6v}6qRIK$6k>^zjDts#r2u4ni%Cg9U#ni={vR)A^mGMm9nngFw%$u%LA zuKXHnw-oAH1{KCG#-%<;!$ig~*%{2)2{05BMrh$tD@!8#!LXs!xSrYjHmU$k{LcS* z8PzZ$ZuXsJH1bm1En@y621aJjenEQnnQ4+J!djns=J9#rE#j=1*U_#_gV&6<3$@LR z_9Zx!rFD5|zfZwFQ|s)GSm%Wi>x{O7o_H~#=K*l5uZIlAOYAn*#YoIoIr1#ow2y~A z-Z#iWB9mU_S+D#O?c5rM@fp8qPK_c9V?tR=VJ+)VfKJ~+c|7QF{c#46HGPnXPPbI;QUNCWO6 zzbFcFRIpc1K-VA?Z7iK zVh1JRzJU>kY_v}X+}{zSM@&z|JsWY)z!ebxdBpt`IToC+Wv3XXheR2>p3y|b91S|1 zQogl{+SA$i=HQ$5WQ;kPUgD(xoZpoaS}cq%s&TK5*xIgdNkmv+8u-G&-?BT_mzif-CSf64}tR-Iir=zIo!8<#IA_< z|!O1N0kPnmMcz z(3M9WPFd(18hH+@jyktVeQ1#Cw~?I_!kM*|q~*s=<#u8JP+!Y{&CbDX9+>PF8Ya7= zkekCf9$kaJ!O%cYpPL&nN8V%EW3|WZA@>iN29n>jzV)C6dTeeF0fI?u^0s{kA*T;Yb19Y!g~Ydm&r7)_QAF#qbdg6p1J6FPAmNNb<%EUb5&!S9Bv5sN0UWQE^OA#+i!KTI7s_H~+{;?GQ z#5_3Z8Oa0RXdaW>G8gN#IQ?lTwcIe4Ua6%EZS>5PwuWcInG(}UQ{GaXF*c}^r={96 zv+_uE-n@YEq>z^rh|0?gnDdH)GZjnTb%B_?Zv?9IZVFzH`+oEefabp0KU)hAT+7^! zfgI+_gV!+k{lRqRE*_fB+@nJ&%ykVU~Xe5j=4$*XI_9`>^CvDvR?-`-1io= z8T%1vtC~(?cMlq+=_9npM>TRDH1fIu>}!stSa2o?sS-_{jnvG6&v1H&Y9ZBQtO~P~ znMg@Ok2e~Rbqv5~AvR{9LiPJHN|SI>=@zW-r36J@WT8vYijG330{Sbu^Eg(vh9wE{ zUHu|f|B{0W7k^paMwT}gFj%*_to$g%{t4V`Yeol&(d`c%lp<}-hPFn}C=q;UcXXXY zlgpLdlS)e8RA76le+VrZtEc0r^su&UMe2X{PsU1OTo6)$G$|gss!!!)f)u%zvE!~j z40^Cy2uglq)zjZmdaN2P|BMc;7API7`>}F7#x3f{Ln(|$%8GuxNsv1^pwU6&uTDn+ zl?$WeJx0fS{|7p>I*&tXY5gx=ArFz&h=A0%egoD{bpegv!>pXc|A%rkouuV-g(mV# z7{9cBPlZh2*ASrPX#D(^mGj%taw2tnNv`ATZoJ+f3|*z>B`Q~{_b-ROoG5YDUZ~zb zhtW_w5HdEzE1NMj?xwbnA^uuplKtO zOeIDdxB~(mYqe5+Yts>4n}JuOm3CNYDnqP99ndy8&2U3}3D%JmYXS(tZ@a%sP5Bi5S&K z$5A9Q_$4 zL&Gu!@e3o;@QatX8Lj+Sz|6g(d@7ARZTAw=Xk*f78*MYxj!=0_=sU;P#i%W$5;0#z zBASJnh19{}@eq9yj~5r@#YFhWbEm<^0e0zdBF0OxfQbgoB`InUl#7BfF4|dt z**;pYsLy}a=CxY;4lszr%iq3|53Ogu4e2-=F;;t8yIhJ`!?;+jHWnjxV2Jh%Zl>jr zfV(VEe#!RJF{svR3jq7skcYqJvQeOhe;!gl92zeXt%Ny<|NYSIkcjgNyqbl~0mQ)} zk#}AdZw69d#){`eT@(@fUqdeJJ7=>I-?Yo}YGu>bw|iV()FG>B+TykiUCyP(2komi zVttq19Po!am}Tx5t)J0$NA>M%+n(0)zXd#thRUx}OPUQ{hV+}q(WYr=1!8B7ixrs$ zE<`Ln|L+$UK%=&!j;@rYW|eONDyB2RISzFn8`oyXEI@twuOm-x&DqbWT0B7L%4B^kYR&q4bO4e_AoH6u+Ykq5n{f8l1xo3^-S#rSXMG^D6>! z@%s7jKcGZK@ZAEq&5D_ZRI=$Nq}{7TvygxFT!hvt7A>@N4np5is-3F<>0h0P&}|Br zwIYZUD2{A|DmB`9ConE#v`dZ|h%W~1x}fMthyNBvxz!=UKNpnif_g_P{Ifu}E+{xs zkT(}p>w=PFGU8`2ngz!s_(jl6@!&;9PqIcaY9S6O2^z&{8#uLEWzi_^^)D3=GJs+o zB*K^4!E(2?f*da|;Umx*eouqp3 zh+SyJ`sB78nd3f3?p)Vg7YfRqMVDPi%d+AepC7Mp3LY!&(Fq>2I9*K` z(4<4xZmE2v_fUw| zMM0^1^E^PrIipU*Ip*)X2`Ro1y$y)IWwU!T5wF7u$6K+!lMfs>!tcVjn4XKO7oDc# zxwx}L>LpwDLaRT|UA#OOxN@Ag1ZN=K-cK{3Ia(Q@)v!0GWNozStnQK*xmJ?wUH1#bU4p+BL1B07C8pI?@6 zc5z^ngwTJ5*CPkLHRW0{3f*(UsPK*i2L0nOX*DW%XN3?oEFA1H#=VW( zIc~gTgZ+^mtbNJLmQo(k(%_p1Im!`-#?v+Z z#F-a}bEL9z?+B}{hS!|(Wc3>ZqVKGY`tk=n5nt{=W5jpOfD-XJ2E>gTTZJ>8U(+Iz~CtiPcjv6tN2+6{Ou!v|{OejsD6@G4mL`D$esnZY5shgq6t}pl<;X zHEw`vc6^iCM$hn2ij&oQhG@-*{WFzWvc?his+^etOGNHpjRyRFKEi3& z2)!BkQK!j~%+mfgBDVe{6ir-ne}{WUddCzN`@bXBR$k$*AL@&gq>R}8cr0`)UI&2PsSYO(|l?d z!mx=y+DPr{Z~FBzZXe-3qYTkI z$_4a3n{!3yfoTfeH`+Sf*gRb=1T5Ox1H}sr$A5w~Fj20uJ$4{_IsC+o{!7b2l#f_V zw4Dz9P}{X4GboN_!$+E9U^(^|3N*LX?B?sK{SwNO{QDv}1mMua)_9id+{Ri$dpN&K z4z+y&TR`_5NjsIkA8!^71VnkDuXXt01KK{J5aR7Tv!2p%j zqv6p$_X*ZljPJK^TU1fJfGPJs>${s6p0yMY)6?}=;3=&vsATP9oL;Iek4NM)o%P*O z*zJcD?n+kc2Xx^6W=59<{L2hq3|jhV|9#ssv^h--kv2!W>WMV+GHzlim8-TnIrO2v zlFC)2Rj0UZhYl2GU4Rx#S=>oZJdd03YUkI(IvA`t4i-9HWWuR)k~tSz@yj8WV@R>r$IO z`^#e_YdfP44qeZ(ZB4ykgGuR>1*B#*$RN=;zw)rUj0S?^1~r#K0Px_ z9I>o~_q-EJAU#QA*v|p`&efN&=0>m{_P!TN9OoAcD8}bepY&uNcCN)q4UdNk$m5|R zLSvlp-HH!`DTK;d+)g6t;;=*YcxV+#0`$X3{{hbayyuz1V(|uA1I>#)aQuD)sS-(T zNNGp}Y&Aj;Ff4^I4I+bsSq0n*yelGAMzNi?ScWH`@Zxmlt3|H+@hxXLuLFEC%jqLg zFVi07sR3G^p3wCYf>LaNjlpLDRm5s!I1-s(&-|(I8+}4U4LdzBb-=;)p6MNNmp2e1 zg&DoR>L~Tcc>68^?-Ch~(O>>(FPj>Sb{q%HA^1%BNz`b&)S$%6Wd*7^$zPoUBn1$iXVK6o-G2-3RJ+iSU$&g)xlPn$NnibH+=e$R} zIDH~D^^gi4D-ZO1Nm4CrBsucN5#0BSBgaA+jr3L5Bc3DdMTR3DmzS)^-mvvAA=3DM z$U`VR_Oai1Bb3`%@4frNbg7=f5*N)Q_DbThkSl`2<(0rr+L%1&bW7(PH9@o2OqwNlqg)Mn76`XxpixH#e=?X-1~W0R(ncFNy2+a>-?!4;ug zD=1=+yjb74%_idgCatUwLi$Kqjb3l_i(b*|MhgD2!t(^&zp15yGm}C@Ek)f&Q|cK_ zR?-Ms#9o!W5fXvteMZxU3-RE=#_%#4d;Q`O&vb=KHWn#bi5gcNnaeOpu4AFZNDj)S zsKu+2=NQf(X*HoqVJ@Tu=}N~!P8P38iB!^(#0gTN@O%W1$9F7biQxG@C;=pLTrM{n zuVEV1j;X=bGLG)HY&w`CEs5(ew}<9Sjwn;J&?}T z<(cqr%advgrFv98jb7s1*89-wcp)=RAE;-k^|N-42gS*|k=sX9wgb36cPx*tN-?Oyh?IML_0IH~b zT&TF{vF`z*sJte<=rMd2O5bcs<>BwzG)RhB6<_xM3WYqVjvRoVRr*Y(F%lFG_+~ermnXo5RB>^wo)o>3pJTByVFoMT* zGirtG@MHFh#cfv$C;wq8*S&1>39G66@2ma@|MD%LS@(4xHgFlgkkX}StTVcpy~hh9 z=o9F>h9i9?BlJB3de7dFH+X{Hv>WNWd4yzS!9L-3PFwz%dyDL2KTo}grxiGzHHqv(%{!hXj^LGwc6H0wj-rr8px63(u6d+Cl z;(suY`Xj#gk&DJ1#SJn-ER1*BA98u7AO|BWlty`lBD$($RA?Bp0&iUr@8&$=zBk!f zK$?f12Sl%mxL0sPO2cDq!Minhn2C_K4EMdr%FhbXa+=uh99BN=U?FBcEC0XP?*>-B0p;tF2Xi(2g1fOYD1NRL zYl?VFh|0^Lz7sM+no@GL(|F84@5X{=QO;18v$Kw;0qu!<1um0h z#Jl|u@=n`v+^$*ts|RB%4z8Fh|KLHADurga$n+mPXmM>{af{saplo}0vtFj}zzM#2 zc&p)BvEE0-Blsg1PFV%Mp)c4yHjIhBGeqU#ePT3x>t*4^EbM%8G+iDS)*=5bLv&HtL#m8%$MUOuUpR_#Ws5CB~BRPwTaavY~*S38U z^@!JC9I z&1dys9SU^$^&MgQH!m*ZigL6-*d?Vc=prkGhy2v_P+nKqmW47a4XU(&`ipR~GzssL z`mMCQ=-^6}<OD=X-WUG;Ki4gb1RE>d@4{{OoWX?OMYq+xTVJ+9|i-w zjlkRRk7oKBdvbukHZiDpts%ieY0zUoK=D?FtQM<_C{c|&@HY#h_fcAx3>vN>?Kfb4 zkfU-qH5hqYoAmvcUcjICShsfb<|_J!JG4LgQL|pWvUol6l3{yp?K-3LcCog>y&caz5~w`_F@)pZTm00A%!!b8OBW0jO&V* zHwz8}>L6Ne9@0DbQfs~w{#S>5ZA)>dN?YT>Y7**6zxqrSvab zSny)2h&t#qYQ!^??(?4<95{yvUmeGwdm;ecDu-YC5sey;pxC&9a^BlAh_& z*=tw7x3QpC;=4;J&MkvEqj75ErY~6B-GlbAIAznPEY34HRZ$lHmHEFl7_aT=)_5FCH}DeUcBE-#tiq`iq-jmgvJQ(SL_2=&Z4OfA2kXVLMlf#knbwS7EKh z-8wNPO8N1p%kfvIC^Uz6a32*YyitB{0yggiY>8vo=C)2uG2yRIO~hoP_aks`;Cs^C zBD}-9TJ%aROG-Qv2%0AWPKPe*r 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

AHyfP_pYZ}0=7nszb2-=eY9;52_d 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

=sk&G0*x0*K+SI#Ns#2;t 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

hM8+VKvt{u_1o-lMSS#JZvc^P1X^&Gp7^bJX*N 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 !PWEc+)HjM3WT(2grwjU6_+)8%^>mehz7 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≷KPGeXl^K~o@xJIWX+$9pN#uddS9vc&mXD;k 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�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%0D0>z8?`u{t1!gpAkj=1qt%~im38$h$jDz=<*+k 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�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�>yE*ndz2Er*5KQup8?l75iCu!7vn|J2vv+od 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 diff --git a/User/app/inc/main.h b/User/app/inc/main.h index 6eba10f..db01f3d 100755 --- a/User/app/inc/main.h +++ b/User/app/inc/main.h @@ -29,6 +29,7 @@ enum MS_PROG_SELECT_FILE, /* 脱机下载器浏览文件 */ MS_PROG_WORK, /* 脱机下载器工作界面 */ MS_PROG_SETTING, /* 脱机下载器参数设置 */ + MS_PROG_MODIFY_PARAM, /* 修改参数比如复位类型 */ MS_VOLTAGE_METER, /* 电压表 */ MS_CURRENT_METER, /* 高侧电流表 */ diff --git a/User/app/inc/param.h b/User/app/inc/param.h index bdaa7e6..f7e3367 100755 --- a/User/app/inc/param.h +++ b/User/app/inc/param.h @@ -100,6 +100,8 @@ typedef struct uint16_t LcdSleepTime; /* 屏保时间 */ uint8_t FileListFont24; /* 1表示24点阵显示文件列表,0表示16点阵 */ + + uint8_t ResetType; /* 0表示由lua脚本决定 1表示强制硬件复位 2表示强制软件复位 */ } PARAM_T; /* 模拟量校准参数 */ diff --git a/User/app/inc/status_programmer.h b/User/app/inc/status_programmer.h index fe01f9e..02c491c 100755 --- a/User/app/inc/status_programmer.h +++ b/User/app/inc/status_programmer.h @@ -13,6 +13,7 @@ void status_ProgSelectFile(void); void status_ProgWork(void); void status_ProgSetting(void); +void status_ProgModifyParam(void); #endif diff --git a/User/app/src/main.c b/User/app/src/main.c index 630f282..9591d21 100755 --- a/User/app/src/main.c +++ b/User/app/src/main.c @@ -43,6 +43,7 @@ #include "target_reset.h" #include "target_config.h" #include "swd_host.h" +#include "SW_DP_Multi.h" //#include "usbd_user.h" #include "usb_if.h" @@ -86,13 +87,15 @@ int main(void) bsp_InitESP32(); + bsp_SetTVCC(3300); + DSO_InitHard(); DSO_SetDC(1, 1); DSO_SetDC(2, 1); DSO_SetGain(1, 3); DSO_SetGain(2, 3); - bsp_SetTVCC(3300); + g_gMulSwd.MultiMode = 0; /* 测试一拖四模式 */ /* LwIP 初始化 */ { @@ -155,7 +158,11 @@ int main(void) case MS_PROG_SETTING: /* 脱机下载器 - 参数设置 */ status_ProgSetting(); - break; + break; + + case MS_PROG_MODIFY_PARAM: /* 脱机下载器 - 修改复位类型 */ + status_ProgModifyParam(); + break; case MS_VOLTAGE_METER: /* 电压表 */ status_VoltageMeter(); diff --git a/User/app/src/param.c b/User/app/src/param.c index c8281d4..49aa85c 100755 --- a/User/app/src/param.c +++ b/User/app/src/param.c @@ -148,6 +148,8 @@ void InitBaseParam(void) g_tParam.FileListFont24 = 0; /* 1表示24点阵显示文件列表,0表示16点阵 */ + g_tParam.ResetType = 0; /* ARM芯片复位模式 */ + SaveParam(); } diff --git a/User/app/src/status_programmer.c b/User/app/src/status_programmer.c index 4d05ae8..71e003a 100755 --- a/User/app/src/status_programmer.c +++ b/User/app/src/status_programmer.c @@ -83,6 +83,7 @@ const uint8_t *g_MenuProg1_Text[] = " 2 清零本次计数", " 3 清零累计计数", " 4 输入产品序号", + " 5 修改编程参数", /* 结束符号, 用于菜单函数自动识别菜单项个数 */ "&" }; @@ -134,7 +135,6 @@ void status_ProgWork(void) BUTTON_T btn1, btn2, btn3; FONT_T tFontNote; FONT_T tFontText; - FONT_T tFont24; FONT_T tFontBtn; uint8_t cursor = 0; uint8_t fRunOnce = 0; @@ -160,12 +160,7 @@ void status_ProgWork(void) tFontBtn.FontCode = FC_ST_16; /* 字体代码 16点阵 */ tFontBtn.FrontColor = INFO_NAME_COLOR; /* 字体颜色 */ tFontBtn.BackColor = CL_MASK; /* 文字背景颜色 */ - tFontBtn.Space = 0; /* 文字间距,单位 = 像素 */ - - tFont24.FontCode = FC_ST_24; /* 字体代码 24点阵 */ - tFont24.FrontColor = INFO_NAME_COLOR; /* 字体颜色 */ - tFont24.BackColor = CL_MASK; /* 文字背景颜色 */ - tFont24.Space = 0; /* 文字间距,单位 = 像素 */ + tFontBtn.Space = 0; /* 文字间距,单位 = 像素 */ } LCD_ClrScr(FORM_BACK_COLOR); @@ -185,8 +180,6 @@ void status_ProgWork(void) if (s_lua_read_len > 0) { const char *pNote1; - const char *pDataFileName; - uint32_t ulDataFileSize = 0; char *p; char buf[32]; @@ -493,6 +486,11 @@ void status_ProgWork(void) { cursor = 0; } + if (g_tProg.AutoStart == 1) + { + g_tProg.AutoStart = 0; + PG_PrintText("退出连续烧录"); + } fRefresh = 1; break; @@ -708,7 +706,11 @@ void status_ProgSetting(void) else if (g_tMenuProg1.Cursor == 3) /* 输入产品序号 */ { //g_MainStatus = MS_SYSTEM_SET; - } + } + else if (g_tMenuProg1.Cursor == 4) /* 修改编程参数 */ + { + g_MainStatus = MS_PROG_MODIFY_PARAM; + } break; case KEY_UP_C: /* C键 下 */ @@ -727,6 +729,187 @@ void status_ProgSetting(void) } } +/* +********************************************************************************************************* +* 函 数 名: status_ProgModifyParam +* 功能说明: 修改复位类型等参数 +* 形 参: 无 +* 返 回 值: 无 +********************************************************************************************************* +*/ +#define PARAM_NUM 3 +void status_ProgModifyParam(void) +{ + uint8_t ucKeyCode; /* 按键代码 */ + uint8_t fRefresh = 1; + uint8_t fSaveParam = 0; + uint8_t cursor = 0; + char buf[48]; + uint8_t ucIgnoreKey = 1; + uint8_t active; + + DispHeader2(93, "烧录参数"); + DispHelpBar("长按S键选择参数", + "短按S、C键修改参数值"); + + while (g_MainStatus == MS_PROG_MODIFY_PARAM) + { + bsp_Idle(); + + if (fRefresh == 1) + { + fRefresh = 0; + + /* 第1个参数 - 复位类型 */ + { + if (cursor == 0) + { + active = 1; + } + else + { + active = 0; + } + if (g_tParam.ResetType == 0) + { + sprintf(buf, "由lua决定"); + DispParamBar(0, "复位类型:", buf, active); + } + else if (g_tParam.ResetType == 1) + { + sprintf(buf, "强制硬件"); + DispParamBar(0, "复位类型:", buf, active); + } + else + { + sprintf(buf, "强制软件"); + DispParamBar(0, "复位类型:", buf, active); + } + } + + /* 第2个参数 - 编程参数2 */ + { + if (cursor == 1) + { + active = 1; + } + else + { + active = 0; + } + DispParamBar(1, "参数2:", "保留", active); + } + + /* 第3个参数 - 编程参数3 */ + { + if (cursor == 2) + { + active = 1; + } + else + { + active = 0; + } + + DispParamBar(2, "参数3:", "保留", active); + } + + } + + ucKeyCode = bsp_GetKey(); /* 读取键值, 无键按下时返回 KEY_NONE = 0 */ + if (ucKeyCode != KEY_NONE) + { + /* 有键按下 */ + switch (ucKeyCode) + { + case KEY_UP_S: /* S键 弹起 */ + if (ucIgnoreKey == 1) + { + ucIgnoreKey = 0; + break; + } + + if (cursor == 0) + { + if (g_tParam.ResetType == 0) + { + g_tParam.ResetType = 1; + } + else if (g_tParam.ResetType == 1) + { + g_tParam.ResetType = 2; + } + else + { + g_tParam.ResetType = 0; + } + } + else if (cursor == 1) + { + + } + else if (cursor == 2) + { + + } + fRefresh = 1; + fSaveParam = 1; + break; + + case KEY_UP_C: /* C键 下 */ + if (cursor == 0) + { + if (g_tParam.ResetType == 0) + { + g_tParam.ResetType = 2; + } + else if (g_tParam.ResetType == 2) + { + g_tParam.ResetType = 1; + } + else + { + g_tParam.ResetType = 0; + } + } + else if (cursor == 1) + { + + } + else if (cursor == 2) + { + + } + fRefresh = 1; + fSaveParam = 1; + break; + + case KEY_LONG_DOWN_S: /* S键长按 - 选择参数 */ + if (++cursor >= PARAM_NUM) + { + cursor = 0; + } + ucIgnoreKey = 1; + fRefresh = 1; + break; + + case KEY_LONG_DOWN_C: /* C键长按 - 返回 */ + PlayKeyTone(); + g_MainStatus = MS_PROG_SETTING; + break; + + default: + break; + } + } + } + + if (fSaveParam == 1) + { + SaveParam(); /* 保存参数 */ + } +} + /* ********************************************************************************************************* * 函 数 名: DispProgCounter diff --git a/User/app/src/status_system_set.c b/User/app/src/status_system_set.c index a71b504..af30c25 100755 --- a/User/app/src/status_system_set.c +++ b/User/app/src/status_system_set.c @@ -706,7 +706,7 @@ void status_UsbEMMC(void) { uint8_t ucKeyCode; /* 按键代码 */ - DispHeader2(93, "USB eMMM磁盘"); + DispHeader2(93, "USB eMMC磁盘"); DispHelpBar("请在电脑操作eMMC文件", ""); diff --git a/User/bsp/inc/bsp_fmc_io.h b/User/bsp/inc/bsp_fmc_io.h index 45f7e7b..a798885 100755 --- a/User/bsp/inc/bsp_fmc_io.h +++ b/User/bsp/inc/bsp_fmc_io.h @@ -52,6 +52,8 @@ typedef enum ES_GPIO_CAN = 6, /* CAN功能 */ ES_GPIO_I2C = 7, /* I2C功能 */ + + ES_GPIO_SWD_OUT = 8, /* 1拖4 SWD接口用 */ } EIO_SELECT_E; void bsp_InitExtIO(void); diff --git a/User/bsp/src/bsp_fmc_io.c b/User/bsp/src/bsp_fmc_io.c index 0133f9a..e11aaac 100755 --- a/User/bsp/src/bsp_fmc_io.c +++ b/User/bsp/src/bsp_fmc_io.c @@ -48,6 +48,14 @@ gpio_init.Pin = pin; \ HAL_GPIO_Init(gpio, &gpio_init); +#define GPIO_INIT_UART7(gpio, pin) \ + gpio_init.Mode = GPIO_MODE_AF_PP; \ + gpio_init.Pull = GPIO_NOPULL; \ + gpio_init.Speed = GPIO_SPEED_FREQ_VERY_HIGH; \ + gpio_init.Alternate = GPIO_AF11_UART7; \ + gpio_init.Pin = pin; \ + HAL_GPIO_Init(gpio, &gpio_init); + #define GPIO_DIR_SET_OUT(gpio, pin) BSP_SET_GPIO_1(gpio, pin) /* DIR = 1 输出 */ #define GPIO_DIR_SET_IN(gpio, pin) BSP_SET_GPIO_0(gpio, pin) /* DIR = 0 输入 */ @@ -326,6 +334,13 @@ void EIO_D0_Config(EIO_SELECT_E _mode) GPIO_INIT_INPUT(GPIOA, GPIO_PIN_15); /* 配置为GPIO 输入功能 */ GPIO_INIT_INPUT(GPIOI, GPIO_PIN_0); /* 配置为GPIO 输入功能 */ } + else if (_mode == ES_GPIO_UART) + { + GPIO_DIR_SET_OUT(GPIO_D0_DIR, PIN_D0_DIR); /* 设置为输出方向 - 先执行 */ + + GPIO_INIT_UART7(GPIOA, GPIO_PIN_15); /* 配置GPIO为UART7功能 */ + GPIO_INIT_INPUT(GPIOI, GPIO_PIN_0); /* 配置为GPIO 输入功能 */ + } else { g_tVar.GpioMode[0] = 0; @@ -374,6 +389,12 @@ void EIO_D1_Config(EIO_SELECT_E _mode) GPIO_INIT_INPUT(GPIOA, GPIO_PIN_8); /* 配置为GPIO输入功能 */ GPIO_INIT_INPUT(GPIOH, GPIO_PIN_10); /* 配置为GPIO输入功能 */ } + else if (_mode == ES_GPIO_UART) + { + GPIO_INIT_UART7(GPIOA, GPIO_PIN_8); /* 配置GPIO为UART7功能 */ + GPIO_INIT_INPUT(GPIOI, GPIO_PIN_0); /* 配置为GPIO 输入功能 */ + GPIO_DIR_SET_IN(GPIO_D1_DIR, PIN_D1_DIR); /* 设置为输入方向 - 后执行 */ + } else { g_tVar.GpioMode[1] = 0; @@ -444,7 +465,7 @@ void EIO_D3_Config(EIO_SELECT_E _mode) /* 【D3】 - 方向 PG10/D3_DIR PD1/FMC_D3 - PE5/SPI4_MISO + PE5/SPI4_MISO (GPIO) PH11/TIM5_CH2/ENCODE1 */ GPIO_InitTypeDef gpio_init; @@ -587,8 +608,8 @@ void EIO_D6_Config(EIO_SELECT_E _mode) { /* 【D6】 - 方向 PD10/D6_DIR - PE9/FMC_D6 - PD3/SPI2_SCK --- io + PE9/FMC_D6 + PD3/SPI2_SCK --- gpio PA0/TIM2_CH1 */ GPIO_InitTypeDef gpio_init; @@ -608,6 +629,13 @@ void EIO_D6_Config(EIO_SELECT_E _mode) GPIO_INIT_INPUT(GPIOA, GPIO_PIN_0); /* 配置为GPIO 输入功能 */ GPIO_INIT_OUT_PP(GPIOD, GPIO_PIN_3); /* 配置为GPIO 输出功能 */ } + else if (_mode == ES_GPIO_SWD_OUT) + { + GPIO_DIR_SET_OUT(GPIO_D6_DIR, PIN_D6_DIR); /* 设置为输出方向 - 先执行 */ + GPIO_INIT_INPUT(GPIOA, GPIO_PIN_0); /* 配置为GPIO 输入功能 */ + GPIO_INIT_INPUT(GPIOD, GPIO_PIN_3); /* 配置为GPIO 输出功能 */ + GPIO_INIT_OUT_PP(GPIOE, GPIO_PIN_9); + } else if (_mode == ES_FMC_OUT) { GPIO_DIR_SET_OUT(GPIO_D6_DIR, PIN_D6_DIR); /* 设置为输出方向 - 先执行 */ @@ -657,6 +685,13 @@ void EIO_D7_Config(EIO_SELECT_E _mode) GPIO_DIR_SET_OUT(GPIO_D7_DIR, PIN_D7_DIR); /* 设置为输出方向 - 先执行 */ GPIO_INIT_OUT_PP(GPIOI, GPIO_PIN_6); /* 配置为GPIO 输出功能 */ } + else if (_mode == ES_GPIO_SWD_OUT) + { + GPIO_INIT_INPUT(GPIOF, GPIO_PIN_0); /* 配置为GPIO 输入功能 */ + GPIO_INIT_INPUT(GPIOI, GPIO_PIN_6); /* 配置为GPIO 输出功能 */ + GPIO_DIR_SET_OUT(GPIO_D7_DIR, PIN_D7_DIR); /* 设置为输出方向 - 先执行 */ + GPIO_INIT_OUT_PP(GPIOE, GPIO_PIN_10); + } else if (_mode == ES_FMC_OUT) { GPIO_DIR_SET_OUT(GPIO_D7_DIR, PIN_D7_DIR); /* 设置为输出方向 - 先执行 */ @@ -691,8 +726,8 @@ void EIO_D8_Config(EIO_SELECT_E _mode) /* 【D8】 - 方向 PG9/NOE_DIR PE11/FMC_D8 - PD4/FMC_NOE - PI3/SPI2_MOSI - GPIO + PD4/FMC_NOE - GPIO + PI3/SPI2_MOSI */ GPIO_InitTypeDef gpio_init; @@ -720,6 +755,13 @@ void EIO_D8_Config(EIO_SELECT_E _mode) GPIO_INIT_INPUT(GPIOI, GPIO_PIN_3); /* 配置为GPIO 输出功能 */ #endif } + else if (_mode == ES_GPIO_SWD_OUT) + { + GPIO_DIR_SET_OUT(GPIO_D8_DIR, PIN_D8_DIR); /* 设置为输出方向 - 先执行 */ + GPIO_INIT_OUT_PP(GPIOE, GPIO_PIN_11); + GPIO_INIT_INPUT(GPIOD, GPIO_PIN_4); /* 配置为GPIO 输入功能 */ + GPIO_INIT_INPUT(GPIOI, GPIO_PIN_3); /* 配置为GPIO 输入功能 */ + } else if (_mode == ES_FMC_OUT) { GPIO_INIT_FMC(GPIOE, GPIO_PIN_11); /* 配置为FMC_D8功能 */ @@ -781,6 +823,13 @@ void EIO_D9_Config(EIO_SELECT_E _mode) GPIO_INIT_INPUT(GPIOF, GPIO_PIN_1); /* 配置为GPIO 输入功能 */ GPIO_INIT_OUT_PP(GPIOD, GPIO_PIN_5); /* 配置为GPIO 输出功能 */ } + else if (_mode == ES_GPIO_SWD_OUT) + { + GPIO_DIR_SET_OUT(GPIO_D9_DIR, PIN_D9_DIR); /* 设置为输出方向 - 先执行 */ + GPIO_INIT_INPUT(GPIOF, GPIO_PIN_1); /* 配置为GPIO 输入功能 */ + GPIO_INIT_INPUT(GPIOD, GPIO_PIN_5); /* 配置为GPIO 输出功能 */ + GPIO_INIT_OUT_PP(GPIOE, GPIO_PIN_12); /* 配置为输出功能 */ + } else if (_mode == ES_FMC_OUT) { GPIO_INIT_FMC(GPIOE, GPIO_PIN_12); /* 配置为FMC功能 */ @@ -1047,7 +1096,7 @@ void EIO_SetOutLevel(uint8_t _eio, uint8_t _level) else if (_eio == EIO_D7) GPIO_SET_LOW(GPIOI, GPIO_PIN_6); else if (_eio == EIO_D8) - GPIO_SET_LOW(GPIOI, GPIO_PIN_3); + GPIO_SET_LOW(GPIOD, GPIO_PIN_4); else if (_eio == EIO_D9) GPIO_SET_LOW(GPIOD, GPIO_PIN_5); else if (_eio == EIO_D10) @@ -1079,7 +1128,7 @@ void EIO_SetOutLevel(uint8_t _eio, uint8_t _level) else if (_eio == EIO_D7) GPIO_SET_HIGH(GPIOI, GPIO_PIN_6); else if (_eio == EIO_D8) - GPIO_SET_HIGH(GPIOI, GPIO_PIN_3); + GPIO_SET_HIGH(GPIOD, GPIO_PIN_4); else if (_eio == EIO_D9) GPIO_SET_HIGH(GPIOD, GPIO_PIN_5); else if (_eio == EIO_D10) @@ -1132,7 +1181,7 @@ uint8_t EIO_GetOutLevel(uint8_t _eio) if (GPIO_OUT_IS_HIGH(GPIOI, GPIO_PIN_6)) re = 1; if (_eio == EIO_D8) - if (GPIO_OUT_IS_HIGH(GPIOI, GPIO_PIN_3)) + if (GPIO_OUT_IS_HIGH(GPIOD, GPIO_PIN_4)) re = 1; if (_eio == EIO_D9) if (GPIO_OUT_IS_HIGH(GPIOD, GPIO_PIN_5)) @@ -1187,7 +1236,7 @@ uint8_t EIO_GetInputLevel(uint8_t _eio) if (GPIO_IN_IS_HIGH(GPIOI, GPIO_PIN_6)) re = 1; if (_eio == EIO_D8) - if (GPIO_IN_IS_HIGH(GPIOI, GPIO_PIN_3)) + if (GPIO_IN_IS_HIGH(GPIOD, GPIO_PIN_4)) re = 1; if (_eio == EIO_D9) if (GPIO_IN_IS_HIGH(GPIOD, GPIO_PIN_5)) diff --git a/User/bsp/src/bsp_key.c b/User/bsp/src/bsp_key.c index 115c379..8225f06 100755 --- a/User/bsp/src/bsp_key.c +++ b/User/bsp/src/bsp_key.c @@ -237,6 +237,8 @@ static void bsp_InitKeyVar(void) */ void bsp_PutKey(uint8_t _KeyCode) { + s_KeyTimeOutCount = GetSleepTimeMinute() * 60 * 100u; /* 10ms单位 */ + /* 屏幕熄灭阶段,丢弃唤醒键 */ if (s_LcdOn == 0) { @@ -258,8 +260,6 @@ void bsp_PutKey(uint8_t _KeyCode) { s_tKey.Write = 0; } - - s_KeyTimeOutCount = GetSleepTimeMinute() * 60 * 100u; /* 10ms单位 */ } /* diff --git a/User/bsp/src/bsp_uart_fifo.c b/User/bsp/src/bsp_uart_fifo.c index b8bbd6d..a10aec5 100755 --- a/User/bsp/src/bsp_uart_fifo.c +++ b/User/bsp/src/bsp_uart_fifo.c @@ -26,6 +26,7 @@ */ #include "bsp.h" +#include "main.h" #if UART1_FIFO_EN == 1 /* 串口1的GPIO PA9, PA10 RS323 DB9接口 */ @@ -1075,6 +1076,8 @@ void bsp_SetUartParam(COM_PORT_E _ucPort, uint32_t BaudRate, uint32_t Parity, ui /* Initialization Error */ Error_Handler(__FILE__, __LINE__); } + + comClearRxFifo(_ucPort); /* 清除接收缓冲区 */ } /* @@ -1703,6 +1706,7 @@ void UART8_IRQHandler(void) extern uint8_t USBCom_SendBuf(int _Port, uint8_t *_Buf, uint16_t _Len); extern void lua_udp_SendBuf(uint8_t *_buf, uint16_t _len, uint16_t _port); extern MEMO_T g_LuaMemo; +extern uint16_t g_MainStatus; int fputc(int ch, FILE *f) { uint8_t buf[1]; @@ -1712,7 +1716,10 @@ int fputc(int ch, FILE *f) #if PRINT_TO_UDP == 1 lua_udp_SendBuf(buf, 1, LUA_UDP_PORT); - LCD_MemoAddChar(&g_LuaMemo, ch); + if (g_MainStatus == MS_LUA_EXEC_FILE) + { + LCD_MemoAddChar(&g_LuaMemo, ch); + } #else USBCom_SendBuf(1, buf, 1); #endif diff --git a/User/daplink/source/daplink/cmsis-dap/SW_DP.c b/User/daplink/source/daplink/cmsis-dap/SW_DP.c index 7e9268f..0643748 100755 --- a/User/daplink/source/daplink/cmsis-dap/SW_DP.c +++ b/User/daplink/source/daplink/cmsis-dap/SW_DP.c @@ -133,7 +133,6 @@ static const uint8_t ParityTable256[256] = uint8_t GetParity(uint32_t data) { -#if 1 uint8_t parity; data ^= data >> 16; @@ -142,158 +141,12 @@ uint8_t GetParity(uint32_t data) parity = ParityTable256[data & 0xff]; return parity; -#else - uint8_t parity = 0; - - parity = (data >> 31) + (data >> 30) + (data >> 29) + (data >> 28) - + (data >> 27) + (data >> 26) + (data >> 25) + (data >> 24) - + (data >> 23) + (data >> 22) + (data >> 21) + (data >> 20) - + (data >> 19) + (data >> 18) + (data >> 17) + (data >> 16) - + (data >> 15) + (data >> 14) + (data >> 13) + (data >> 12) - + (data >> 11) + (data >> 10) + (data >> 9) + (data >> 8) - + (data >> 7) + (data >> 6) + (data >> 5) + (data >> 4) - + (data >> 3) + (data >> 2) + (data >> 1) + (data >> 0); - - if (parity & 1) - { - parity = 1; - } - else - { - parity = 0; - } - - return parity; -#endif } -//// SWD Transfer I/O -//// request: A[3:2] RnW APnDP -//// data: DATA[31:0] -//// return: ACK[2:0] -//#define SWD_TransferFunction(speed) /**/ \ -//uint8_t SWD_Transfer##speed (uint32_t request, uint32_t *data) { \ -// uint32_t ack; \ -// uint32_t bit; \ -// uint32_t val; \ -// uint32_t parity; \ -// \ -// uint32_t n; \ -// \ -// /* Packet Request */ \ -// parity = 0U; \ -// SW_WRITE_BIT(1U); /* Start Bit */ \ -// bit = request >> 0; \ -// SW_WRITE_BIT(bit); /* APnDP Bit */ \ -// parity += bit; \ -// bit = request >> 1; \ -// SW_WRITE_BIT(bit); /* RnW Bit */ \ -// parity += bit; \ -// bit = request >> 2; \ -// SW_WRITE_BIT(bit); /* A2 Bit */ \ -// parity += bit; \ -// bit = request >> 3; \ -// SW_WRITE_BIT(bit); /* A3 Bit */ \ -// parity += bit; \ -// SW_WRITE_BIT(parity); /* Parity Bit */ \ -// SW_WRITE_BIT(0U); /* Stop Bit */ \ -// SW_WRITE_BIT(1U); /* Park Bit */ \ -// \ -// /* Turnaround */ \ -// PIN_SWDIO_OUT_DISABLE(); \ -// for (n = DAP_Data.swd_conf.turnaround; n; n--) { \ -// SW_CLOCK_CYCLE(); \ -// } \ -// \ -// /* Acknowledge response */ \ -// SW_READ_BIT(bit); \ -// ack = bit << 0; \ -// SW_READ_BIT(bit); \ -// ack |= bit << 1; \ -// SW_READ_BIT(bit); \ -// ack |= bit << 2; \ -// \ -// if (ack == DAP_TRANSFER_OK) { /* OK response */ \ -// /* Data transfer */ \ -// if (request & DAP_TRANSFER_RnW) { \ -// /* Read data */ \ -// val = 0U; \ -// parity = 0U; \ -// for (n = 32U; n; n--) { \ -// SW_READ_BIT(bit); /* Read RDATA[0:31] */ \ -// parity += bit; \ -// val >>= 1; \ -// val |= bit << 31; \ -// } \ -// SW_READ_BIT(bit); /* Read Parity */ \ -// if ((parity ^ bit) & 1U) { \ -// ack = DAP_TRANSFER_ERROR; \ -// } \ -// if (data) { *data = val; } \ -// /* Turnaround */ \ -// for (n = DAP_Data.swd_conf.turnaround; n; n--) { \ -// SW_CLOCK_CYCLE(); \ -// } \ -// PIN_SWDIO_OUT_ENABLE(); \ -// } else { \ -// /* Turnaround */ \ -// for (n = DAP_Data.swd_conf.turnaround; n; n--) { \ -// SW_CLOCK_CYCLE(); \ -// } \ -// PIN_SWDIO_OUT_ENABLE(); \ -// /* Write data */ \ -// val = *data; \ -// parity = 0U; \ -// for (n = 32U; n; n--) { \ -// SW_WRITE_BIT(val); /* Write WDATA[0:31] */ \ -// parity += val; \ -// val >>= 1; \ -// } \ -// SW_WRITE_BIT(parity); /* Write Parity Bit */ \ -// } \ -// /* Idle cycles */ \ -// n = DAP_Data.transfer.idle_cycles; \ -// if (n) { \ -// PIN_SWDIO_OUT(0U); \ -// for (; n; n--) { \ -// SW_CLOCK_CYCLE(); \ -// } \ -// } \ -// PIN_SWDIO_OUT(1U); \ -// return ((uint8_t)ack); \ -// } \ -// \ -// if ((ack == DAP_TRANSFER_WAIT) || (ack == DAP_TRANSFER_FAULT)) { \ -// /* WAIT or FAULT response */ \ -// if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) != 0U)) { \ -// for (n = 32U+1U; n; n--) { \ -// SW_CLOCK_CYCLE(); /* Dummy Read RDATA[0:31] + Parity */ \ -// } \ -// } \ -// /* Turnaround */ \ -// for (n = DAP_Data.swd_conf.turnaround; n; n--) { \ -// SW_CLOCK_CYCLE(); \ -// } \ -// PIN_SWDIO_OUT_ENABLE(); \ -// if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) == 0U)) { \ -// PIN_SWDIO_OUT(0U); \ -// for (n = 32U+1U; n; n--) { \ -// SW_CLOCK_CYCLE(); /* Dummy Write WDATA[0:31] + Parity */ \ -// } \ -// } \ -// PIN_SWDIO_OUT(1U); \ -// return ((uint8_t)ack); \ -// } \ -// \ -// /* Protocol error */ \ -// for (n = DAP_Data.swd_conf.turnaround + 32U + 1U; n; n--) { \ -// SW_CLOCK_CYCLE(); /* Back off data phase */ \ -// } \ -// PIN_SWDIO_OUT_ENABLE(); \ -// PIN_SWDIO_OUT(1U); \ -// return ((uint8_t)ack); \ -//} - +// SWD Transfer I/O +// request: A[3:2] RnW APnDP +// data: DATA[31:0] +// return: ACK[2:0] uint8_t SWD_TransferFast(uint32_t request, uint32_t *data) { uint32_t ack; @@ -340,26 +193,16 @@ uint8_t SWD_TransferFast(uint32_t request, uint32_t *data) /* Data transfer */ if (request & DAP_TRANSFER_RnW) { /* Read data */ - #if 1 /* armfly : 优化奇偶校验算法 */ - val = 0U; - for (n = 32U; n; n--) { - SW_READ_BIT_FAST(bit); /* Read RDATA[0:31] */ - val >>= 1; - val |= bit << 31; - } + /* armfly : 优化奇偶校验算法 */ + val = 0U; + for (n = 32U; n; n--) { + SW_READ_BIT_FAST(bit); /* Read RDATA[0:31] */ + val >>= 1; + val |= bit << 31; + } + + parity = GetParity(val); - parity = GetParity(val); - #else - val = 0U; - parity = 0U; - - for (n = 32U; n; n--) { - SW_READ_BIT_FAST(bit); /* Read RDATA[0:31] */ - parity += bit; - val >>= 1; - val |= bit << 31; - } - #endif SW_READ_BIT_FAST(bit); /* Read Parity */ if ((parity ^ bit) & 1U) { @@ -380,30 +223,17 @@ uint8_t SWD_TransferFast(uint32_t request, uint32_t *data) /* Write data */ val = *data; - #if 1 /* armfly : 优化奇偶校验算法 */ -// parity = GetParity(val); -// for (n = 32U; n; n--) { -// SW_WRITE_BIT_FAST(val); /* Write WDATA[0:31] */ -// val >>= 1; -// } - - parity = GetParity(val); - SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); - SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); - SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); - SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); - SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); - SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); - SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); - SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); - #else - parity = 0U; - for (n = 32U; n; n--) { - SW_WRITE_BIT_FAST(val); /* Write WDATA[0:31] */ - parity += val; - val >>= 1; - } - #endif + /* armfly : 优化奇偶校验算法 */ + parity = GetParity(val); + SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); + SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); + SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); + SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); + SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); + SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); + SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); + SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE();SEND_32BIT_ONCE(); + SW_WRITE_BIT_FAST(parity); /* Write Parity Bit */ } /* Idle cycles */ @@ -576,16 +406,11 @@ uint8_t SWD_TransferSlow(uint32_t request, uint32_t *data) // request: A[3:2] RnW APnDP // data: DATA[31:0] // return: ACK[2:0] -uint8_t SWD_TransferFastH7(uint32_t request, uint32_t *data); uint8_t SWD_Transfer(uint32_t request, uint32_t *data) { if (DAP_Data.fast_clock) { - #if SPI_MODE_ENABLE == 1 - return SWD_TransferFastH7(request, data); - #else - return SWD_TransferFast(request, data); - #endif + return SWD_TransferFast(request, data); } else { @@ -601,178 +426,6 @@ uint8_t SWD_Transfer(uint32_t request, uint32_t *data) #undef PIN_DELAY #define PIN_DELAY() PIN_DELAY_FAST() -void SWD_SendBits(uint8_t _bits, uint32_t _data) -{ -#if SPI_MODE_ENABLE == 1 - -// EIO_SetOutLevel(2, 1); - -// SPI2->CFG1 = SPI_MODE_BAUD | _bits; -// SPI2->CR1 = SPI_CR1_SSI | SPI_CR1_HDDIR; -// SPI2->CR1 = SPI_CR1_SPE | SPI_CR1_HDDIR | SPI_CR1_SSI; -// SPI2->CR1 = SPI_CR1_SPE | SPI_CR1_HDDIR | SPI_CR1_SSI | SPI_CR1_CSTART; - - SPI2->CFG1 = SPI_MODE_BAUD | (_bits - 1); - SPI2->CR1 = SPI_CR1_HDDIR; - SPI2->CR1 = SPI_CR1_SPE | SPI_CR1_HDDIR; - SPI2->CR1 = SPI_CR1_SPE | SPI_CR1_HDDIR | SPI_CR1_CSTART; - - //while ((SPI2->SR & SPI_FLAG_TXE) == 0); -// EIO_SetOutLevel(2, 0); - - if (_bits > 16) - { - *((__IO uint32_t *)&SPI2->TXDR) = _data; - } - else if (_bits > 8) - { - *((__IO uint16_t *)&SPI2->TXDR) = _data; - } - else - { - *((__IO uint8_t *)&SPI2->TXDR) = _data; - } - - -// EIO_SetOutLevel(2, 1); - - while ((SPI2->SR & SPI_SR_TXC) == 0); - - SPI2->IFCR = SPI_IFCR_EOTC | SPI_IFCR_TXTFC; - - SPI2->CR1 &= ~(SPI_CR1_SPE); - -// EIO_SetOutLevel(2, 0); -#else - uint8_t i; - - for (i = 0; i < _bits; i++) - { - SW_WRITE_BIT_SLOW(_data >> i); - } -#endif -} - -uint32_t SWD_ReadBits(uint8_t _bits) -{ -#if SPI_MODE_ENABLE == 1 -//if (hspi->Instance->SR & (SPI_FLAG_RXWNE|SPI_FLAG_EOT)) - -// { -// /* Check the RXWNE/FRLVL flag */ -// if (hspi->Instance->SR & (SPI_FLAG_RXWNE|SPI_FLAG_FRLVL)) -// { -// if (hspi->Instance->SR & SPI_FLAG_RXWNE) -// { -// *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR); -// hspi->pRxBuffPtr += sizeof(uint32_t); -// hspi->RxXferCount-=2; -// } -// else -// { -// *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR); -// hspi->pRxBuffPtr += sizeof(uint16_t); -// hspi->RxXferCount--; -// } -// } -// } - -// { -// /* Check the RXWNE/FRLVL flag */ -// if (hspi->Instance->SR & (SPI_FLAG_RXWNE|SPI_FLAG_FRLVL)) -// { -// if (hspi->Instance->SR & SPI_FLAG_RXWNE) -// { -// *((uint32_t *)hspi->pRxBuffPtr) = *((__IO uint32_t *)&hspi->Instance->RXDR); -// hspi->pRxBuffPtr += sizeof(uint32_t); -// hspi->RxXferCount-=4; -// } -// else if ((hspi->Instance->SR & SPI_FLAG_FRLVL) > SPI_FRLVL_QUARTER_FULL) -// { -// *((uint16_t *)hspi->pRxBuffPtr) = *((__IO uint16_t *)&hspi->Instance->RXDR); -// hspi->pRxBuffPtr += sizeof(uint16_t); -// hspi->RxXferCount-=2; -// } -// else -// { -// *((uint8_t *)hspi->pRxBuffPtr) = *((__IO uint8_t *)&hspi->Instance->RXDR); -// hspi->pRxBuffPtr += sizeof(uint8_t); -// hspi->RxXferCount--; -// } -// } -// } - uint32_t ret; - - _bits--; - -// EIO_SetOutLevel(2, 1); 测试波形用 - - SPI2->CFG1 = SPI_MODE_BAUD | _bits; -// SPI2->CR1 = SPI_CR1_SSI ; -// SPI2->CR2 = 1; - SPI2->CR1 = SPI_CR1_SPE;// | SPI_CR1_SSI; - - SPI2->CR1 = SPI_CR1_SPE | SPI_CR1_CSTART ; //| SPI_CR1_SSI ; - -// while ((SPI2->SR & SPI_FLAG_TXE) == 0); - - if (_bits > 15) - { - *((__IO uint32_t *)&SPI2->TXDR) = 0; - } - else if (_bits > 7) - { - *((__IO uint16_t *)&SPI2->TXDR) = 0; - } - else - { - *((__IO uint8_t *)&SPI2->TXDR) = 0; - } - - while ((SPI2->SR & SPI_SR_TXC) == 0); - SPI2->IFCR = SPI_IFCR_EOTC | SPI_IFCR_TXTFC; - - ret = SPI2->RXDR; - SPI2->CR1 &= ~(SPI_CR1_SPE); - -// EIO_SetOutLevel(2, 0); 测试波形用 - return ret; - -#else - uint8_t bit; - uint8_t i; - uint32_t val = 0; - - for (i = 0; i < _bits; i++) - { - SW_READ_BIT_SLOW(bit); /* Read RDATA[0:31] */ - val >>= 1; - val |= bit << (_bits - 1); - } - return val; -#endif -} - -void SWD_DIO_OutDisable(void) -{ -#if SPI_MODE_ENABLE == 1 - SPI2->CR1 = SPI_CR1_SSI; - BSP_SET_GPIO_0(GPIOG, GPIO_PIN_9); /* PG9 = 0 是输入 */ -#else - PIN_SWDIO_OUT_DISABLE(); -#endif -} - -void SWD_DIO_OutEnable(void) -{ -#if SPI_MODE_ENABLE == 1 - BSP_SET_GPIO_1(GPIOG, GPIO_PIN_9); /* PG9 = 1 是输出 */ - SPI2->CR1 = SPI_CR1_SSI | SPI_CR1_HDDIR; -#else - PIN_SWDIO_OUT_ENABLE(); -#endif -} - #undef PIN_DELAY #define PIN_DELAY() PIN_DELAY_SLOW(DAP_Data.clock_delay) @@ -782,34 +435,6 @@ void SWD_DIO_OutEnable(void) // return: none #if ((DAP_SWD != 0) || (DAP_JTAG != 0)) void SWJ_Sequence (uint32_t count, const uint8_t *data) { -#if SPI_MODE_ENABLE == 1 - uint8_t i; - uint32_t val; - uint8_t rem; - - rem = count % 32; - - if (rem >= 1 && rem < 4) /* 1,2,3 */ - { - ; - } - else - { - for (i = 0; i < count / 32; i++) - { - val = *(uint32_t *)data; - data += 4; - SWD_SendBits(32, val); - } - - if (rem) - { - val = *(uint32_t *)data; /* 可能多访问内存 */ - SWD_SendBits(rem, val); - } - } -#else - uint32_t val; uint32_t n; @@ -829,265 +454,7 @@ void SWJ_Sequence (uint32_t count, const uint8_t *data) { val >>= 1; n--; } -#endif } #endif - -uint8_t SWD_TransferFastH7(uint32_t request, uint32_t *data) -{ - uint32_t ack; -// uint32_t bit; - uint32_t val; - uint32_t temp1,temp2; - uint32_t parity; - - uint32_t n; - - /* Packet Request */ -// parity = 0U; -// SW_WRITE_BIT(1U); /* Start Bit */ -// bit = request >> 0; -// SW_WRITE_BIT(bit); /* APnDP Bit */ -// parity += bit; -// bit = request >> 1; -// SW_WRITE_BIT(bit); /* RnW Bit */ -// parity += bit; -// bit = request >> 2; -// SW_WRITE_BIT(bit); /* A2 Bit */ -// parity += bit; -// bit = request >> 3; -// SW_WRITE_BIT(bit); /* A3 Bit */ -// parity += bit; -// SW_WRITE_BIT(parity); /* Parity Bit */ -// SW_WRITE_BIT(0U); /* Stop Bit */ -// SW_WRITE_BIT(1U); /* Park Bit */ - - parity = GetParity(request); - val = (1u << 7) | (0 << 6) | (parity << 5) | (request << 1) | (1 << 0); - SWD_SendBits(8, val); - - - /* Turnaround */ - SWD_DIO_OutDisable(); - -// for (n = DAP_Data.swd_conf.turnaround; n; n--) -// { -// SW_CLOCK_CYCLE(); -// } - -// /* Acknowledge response */ -// SW_READ_BIT(bit); -// ack = bit << 0; -// SW_READ_BIT(bit); -// ack |= bit << 1; -// SW_READ_BIT(bit); -// ack |= bit << 2; - -// ack = SWD_ReadBits(3 + DAP_Data.swd_conf.turnaround); -// ack >>= DAP_Data.swd_conf.turnaround; - - -// if (ack == DAP_TRANSFER_OK) - { /* OK response */ - /* Data transfer */ - if (request & DAP_TRANSFER_RnW) /* 读指令 - 32 + 1 bit */ - { - ack = SWD_ReadBits(3 + DAP_Data.swd_conf.turnaround); - ack >>= DAP_Data.swd_conf.turnaround; - ack &= 0x07; - - /* Read data */ -// val = 0U; -// parity = 0U; -// for (n = 32U; n; n--) -// { -// SW_READ_BIT(bit); /* Read RDATA[0:31] */ -// parity += bit; -// val >>= 1; -// val |= bit << 31; -// } -// SW_READ_BIT(bit); /* Read Parity */ -// if ((parity ^ bit) & 1U) -// { -// ack = DAP_TRANSFER_ERROR; -// } -// if (data) { *data = val; } -// -// /* Turnaround */ -// for (n = DAP_Data.swd_conf.turnaround; n; n--) -// { -// SW_CLOCK_CYCLE(); -// } - - if (ack == DAP_TRANSFER_OK) - { - temp1 = SWD_ReadBits(16); - temp2 = SWD_ReadBits(16 + 1 + DAP_Data.swd_conf.turnaround); - val = temp1 + ((temp2 & 0xFFFF) << 16); - if (temp2 & (1 << 16)) - { - parity = 1; - } - else - { - parity = 0; - } - if (parity != GetParity(val)) - { - ack = DAP_TRANSFER_ERROR; - } - else - { - *data = val; - } - - SWD_DIO_OutEnable(); - - /* Idle cycles */ - n = DAP_Data.transfer.idle_cycles; - if (n) - { - PIN_SWDIO_OUT(0U); - for (; n; n--) - { - SW_CLOCK_CYCLE_FAST(); - } - } - PIN_SWDIO_OUT(1U); - return ((uint8_t)ack); - } - } - else // 写指令 - { - ack = SWD_ReadBits(3 + DAP_Data.swd_conf.turnaround + 1); - ack >>= DAP_Data.swd_conf.turnaround; - ack &= 0x07; - - /* Turnaround */ -// for (n = DAP_Data.swd_conf.turnaround; n; n--) -// { -// SW_CLOCK_CYCLE(); -// } - - if (ack == DAP_TRANSFER_OK) - { - SWD_DIO_OutEnable(); - - /* Write data */ -// val = *data; -// parity = 0U; -// for (n = 32U; n; n--) -// { -// SW_WRITE_BIT(val); /* Write WDATA[0:31] */ -// parity += val; -// val >>= 1; -// } -// SW_WRITE_BIT(parity); /* Write Parity Bit */ - -// /* Idle cycles */ -// n = DAP_Data.transfer.idle_cycles; -// if (n) -// { -// PIN_SWDIO_OUT(0U); -// for (; n; n--) -// { -// SW_CLOCK_CYCLE(); -// } -// } -// PIN_SWDIO_OUT(1U); - - val = *data; - parity = GetParity(val); - SWD_SendBits(16, val); - SWD_SendBits(16 + 1 + DAP_Data.transfer.idle_cycles, (val >> 16) + (parity << 16)); - - //PIN_SWDIO_OUT(1U); 好像不是必须的。 - - return ((uint8_t)ack); - } - } - - } - - if ((ack == DAP_TRANSFER_WAIT) || (ack == DAP_TRANSFER_FAULT)) - { - if (request & DAP_TRANSFER_RnW) /* 读异常 */ - { - /* WAIT or FAULT response */ -// if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) != 0U)) -// { -// for (n = 32U+1U; n; n--) -// { -// SW_CLOCK_CYCLE(); /* Dummy Read RDATA[0:31] + Parity */ -// } -// } -// /* Turnaround */ -// for (n = DAP_Data.swd_conf.turnaround; n; n--) -// { -// SW_CLOCK_CYCLE(); -// } - - SWD_ReadBits(16); - SWD_ReadBits(16 + 1 + DAP_Data.swd_conf.turnaround); - SWD_DIO_OutEnable(); - -// if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) == 0U)) -// { -// PIN_SWDIO_OUT(0U); -// for (n = 32U+1U; n; n--) -// { -// SW_CLOCK_CYCLE(); /* Dummy Write WDATA[0:31] + Parity */ -// } -// } - PIN_SWDIO_OUT(1U); - return ((uint8_t)ack); - } - else /* 写异常 - 前面多发了1个clk */ - { - /* WAIT or FAULT response */ -// if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) != 0U)) -// { -// for (n = 32U+1U; n; n--) -// { -// SW_CLOCK_CYCLE(); /* Dummy Read RDATA[0:31] + Parity */ -// } -// } - /* Turnaround */ -// for (n = DAP_Data.swd_conf.turnaround; n; n--) -// { -// SW_CLOCK_CYCLE(); -// } - SWD_DIO_OutEnable(); - -// if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) == 0U)) -// { -// PIN_SWDIO_OUT(0U); -// for (n = 32U+1U; n; n--) -// { -// SW_CLOCK_CYCLE(); /* Dummy Write WDATA[0:31] + Parity */ -// } -// } - if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) == 0U)) - { - SWD_SendBits(16, 0); - SWD_SendBits(16 + 1, 0); - } - PIN_SWDIO_OUT(1U); - return ((uint8_t)ack); - } - } - - /* Protocol error */ -// for (n = DAP_Data.swd_conf.turnaround + 32U + 1U; n; n--) -// { -// SW_CLOCK_CYCLE(); /* Back off data phase */ -// } - SWD_ReadBits(16); - SWD_ReadBits(16 + 1 + DAP_Data.swd_conf.turnaround); - SWD_DIO_OutEnable(); - - PIN_SWDIO_OUT(1U); - return ((uint8_t)ack); -} #endif /* (DAP_SWD != 0) */ diff --git a/User/daplink/source/daplink/cmsis-dap/SW_DP_Multi.c b/User/daplink/source/daplink/cmsis-dap/SW_DP_Multi.c new file mode 100644 index 0000000..83d419a --- /dev/null +++ b/User/daplink/source/daplink/cmsis-dap/SW_DP_Multi.c @@ -0,0 +1,765 @@ +/* + 由 SW_DP_Multi.c 文件修改得到,支持1-4路并发操作 +*/ +/* +********************************************************************************************************* +* +* 模块名称 : SWD一拖四驱动程序 +* 文件名称 : SW_DP_Multi.c +* 版 本 : V1.0 +* 说 明 : SWD接口底层驱动函数 +* 修改记录 : +* 版本号 日期 作者 说明 +* V1.0 2020-03-13 armfly +* +* Copyright (C), 2018-2030, 安富莱电子 www.armfly.com +* +********************************************************************************************************* +*/ + + +/** + * @file SW_DP_Multi.c + * @brief 1拖4 SWD driver + * + * DAPLink Interface Firmware + * Copyright (c) 2009-2016, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ---------------------------------------------------------------------- + * + * $Date: 20. May 2015 + * $Revision: V1.10 + * + * Project: CMSIS-DAP Source + * Title: SW_DP.c CMSIS-DAP SW DP I/O + * + *---------------------------------------------------------------------------*/ + +#include "DAP_config.h" +#include "DAP.h" + +#include "SW_DP_Multi.h" + +/* + BSP_SET_GPIO_1(SWCLK_TCK_PIN_PORT, SWCLK_TCK_PIN); + + D0 PD14 PA15 PI0 - DIR PH8 RESET 共用 + D1 PD15 PA8 PH19 - DIR PG8 POWER OFF 控制 + + D2 PE6 PD0 PB7 - DIR PD9 SWCLK_4 + D3 PE5 PD1 PH11 - DIR PG10 SWDIO_4 + D4 PE4 PE7 PH12 - DIR PG12 SWDIO_3 + D5 PE2 PE8 PI5 - DIR PG7 SWDIO_2 + D6 PE9 PD3 PA0 - DIR PD10 SWCLK_3 + D7 PE10 PI6 - DIR PI1 SWCLK_2 + D8 PE11 PD4 PI3 - DIR PG9 SWDIO_1 + D9 PE12 PD5 - DIR PI12 SWCLK_1 +*/ + +#define MUL_GPIO_SWD GPIOE +#define MUL_GPIO_DIR GPIOG + +#define MUL_PIN_SWCLK_1 GPIO_PIN_12 +#define MUL_PIN_SWDIO_1 GPIO_PIN_11 +#define MUL_PIN_DIR_1 GPIO_PIN_9 + +#define MUL_PIN_SWCLK_2 GPIO_PIN_10 +#define MUL_PIN_SWDIO_2 GPIO_PIN_2 +#define MUL_PIN_DIR_2 GPIO_PIN_7 + +#define MUL_PIN_SWCLK_3 GPIO_PIN_9 +#define MUL_PIN_SWDIO_3 GPIO_PIN_4 +#define MUL_PIN_DIR_3 GPIO_PIN_12 + +#define MUL_PIN_SWCLK_4 GPIO_PIN_6 +#define MUL_PIN_SWDIO_4 GPIO_PIN_5 +#define MUL_PIN_DIR_4 GPIO_PIN_10 + +/* pin bit */ +#define MUL_PINB_SWCLK_1 12 +#define MUL_PINB_SWDIO_1 11 +#define MUL_PINB_DIR_1 9 + +#define MUL_PINB_SWCLK_2 10 +#define MUL_PINB_SWDIO_2 2 +#define MUL_PINB_DIR_2 7 + +#define MUL_PINB_SWCLK_3 9 +#define MUL_PINB_SWDIO_3 4 +#define MUL_PINB_DIR_3 12 + +#define MUL_PINB_SWCLK_4 6 +#define MUL_PINB_SWDIO_4 5 +#define MUL_PINB_DIR_4 10 + +/* GPIO_MODER寄存器 */ +#define MUL_DIO_MODE_MASK_1 ~(3u << (MUL_PINB_SWDIO_1 * 2)) +#define MUL_DIO_MODE_MASK_2 ~(3u << (MUL_PINB_SWDIO_2 * 2)) +#define MUL_DIO_MODE_MASK_3 ~(3u << (MUL_PINB_SWDIO_3 * 2)) +#define MUL_DIO_MODE_MASK_4 ~(3u << (MUL_PINB_SWDIO_4 * 2)) + +#define MUL_DIO_MODE_OUT_1 (1u << (MUL_PINB_SWDIO_1 * 2)) +#define MUL_DIO_MODE_OUT_2 (1u << (MUL_PINB_SWDIO_2 * 2)) +#define MUL_DIO_MODE_OUT_3 (1u << (MUL_PINB_SWDIO_3 * 2)) +#define MUL_DIO_MODE_OUT_4 (1u << (MUL_PINB_SWDIO_4 * 2)) + +/* CLK_0_DIO_0 */ +#define CLK_0_DIO_0_1 (((uint32_t)MUL_PIN_SWCLK_1 + MUL_PIN_SWDIO_1) << 16) +#define CLK_0_DIO_0_2 (((uint32_t)MUL_PIN_SWCLK_2 + MUL_PIN_SWDIO_2) << 16) +#define CLK_0_DIO_0_3 (((uint32_t)MUL_PIN_SWCLK_3 + MUL_PIN_SWDIO_3) << 16) +#define CLK_0_DIO_0_4 (((uint32_t)MUL_PIN_SWCLK_4 + MUL_PIN_SWDIO_4) << 16) + +/* CLK_0_DIO_1 */ +#define CLK_0_DIO_1_1 (((uint32_t)MUL_PIN_SWCLK_1 << 16) | MUL_PIN_SWDIO_1) +#define CLK_0_DIO_1_2 (((uint32_t)MUL_PIN_SWCLK_2 << 16) | MUL_PIN_SWDIO_2) +#define CLK_0_DIO_1_3 (((uint32_t)MUL_PIN_SWCLK_3 << 16) | MUL_PIN_SWDIO_3) +#define CLK_0_DIO_1_4 (((uint32_t)MUL_PIN_SWCLK_4 << 16) | MUL_PIN_SWDIO_4) + +MUL_SWD_T g_gMulSwd = {0}; + +/* 4个SWDIO配置为输出 */ +static __forceinline void MUL_PIN_SWDIO_OUT_ENABLE(void) +{ + BSP_SET_GPIO_1(MUL_GPIO_DIR, g_gMulSwd.DIR_Pins); + + MUL_GPIO_SWD->MODER = (MUL_GPIO_SWD->MODER & g_gMulSwd.MODER_Mask) | g_gMulSwd.MODER_Out; /* 输出 */ + + BSP_SET_GPIO_0(MUL_GPIO_SWD, g_gMulSwd.SWDIO_Pins); +} + +/* 4个SWDIO配置为输入 */ +static __forceinline void MUL_PIN_SWDIO_OUT_DISABLE(void) +{ + BSP_SET_GPIO_0(MUL_GPIO_DIR, g_gMulSwd.DIR_Pins); + + MUL_GPIO_SWD->MODER = (MUL_GPIO_SWD->MODER & g_gMulSwd.MODER_Mask); /* 输入 */ + + BSP_SET_GPIO_0(MUL_GPIO_SWD, g_gMulSwd.SWDIO_Pins); +} + +/* 读取4个SWDIO引脚状态 */ +static __forceinline uint32_t MUL_PIN_SWDIO_IN(void) +{ + uint32_t input; + uint32_t ret = 0; + + input = MUL_GPIO_SWD->IDR; + + if (input & MUL_PIN_SWDIO_1) + { + ret += 0x00000001; + } + + if (input & MUL_PIN_SWDIO_2) + { + ret += 0x00000100; + } + + if (input & MUL_PIN_SWDIO_3) + { + ret += 0x00010000; + } + + if (input & MUL_PIN_SWDIO_4) + { + ret += 0x01000000; + } + + return ret; +} + +/* 设置4个SWDIO引脚状态 */ +static __forceinline void MUL_PIN_SWDIO_OUT(uint32_t bit) +{ + if (bit & 1) + { + BSP_SET_GPIO_1(MUL_GPIO_SWD, g_gMulSwd.SWDIO_Pins); + } + else + { + BSP_SET_GPIO_0(MUL_GPIO_SWD, g_gMulSwd.SWDIO_Pins); + } +} + +/* */ +static __forceinline void MUL_PIN_SWCLK_SET(void) +{ + BSP_SET_GPIO_1(MUL_GPIO_SWD, g_gMulSwd.SWCLK_Pins); +} + +/* */ +static __forceinline void MUL_PIN_SWCLK_CLR(void) +{ + BSP_SET_GPIO_0(MUL_GPIO_SWD, g_gMulSwd.SWCLK_Pins); +} + +/* */ +void MUL_SEND_32BIT(uint32_t val) +{ + uint32_t i; + + for (i = 0; i < 32; i++) + { + if (val & 1) + { + MUL_GPIO_SWD->BSRR = g_gMulSwd.CLK_0_DIO_1; + val >>= 1; + MUL_PIN_SWCLK_SET(); + } + else + { + + MUL_GPIO_SWD->BSRR = g_gMulSwd.CLK_0_DIO_0; + val >>= 1; + MUL_PIN_SWCLK_SET(); + } + } +} + +/* SPI软件模式,低速配置 */ +#define PIN_DELAY_S() PIN_DELAY_SLOW(DAP_Data.clock_delay) +#define MUL_SW_CLOCK_CYCLE_SLOW() MUL_PIN_SWCLK_CLR(); PIN_DELAY_S(); MUL_PIN_SWCLK_SET(); PIN_DELAY_S() +#define MUL_SW_WRITE_BIT_SLOW(bit) MUL_PIN_SWDIO_OUT(bit); MUL_PIN_SWCLK_CLR(); PIN_DELAY_S(); MUL_PIN_SWCLK_SET(); PIN_DELAY_S() +#define MUL_SW_READ_BIT_SLOW(bit) MUL_PIN_SWCLK_CLR(); PIN_DELAY_S(); bit = MUL_PIN_SWDIO_IN(); MUL_PIN_SWCLK_SET(); PIN_DELAY_S() + +/* SPI软件模式,高速配置 */ +#define MUL_SW_CLOCK_CYCLE_FAST() MUL_PIN_SWCLK_CLR(); MUL_PIN_SWCLK_SET(); +#define MUL_SW_WRITE_BIT_FAST(bit) MUL_PIN_SWDIO_OUT(bit); MUL_PIN_SWCLK_CLR(); MUL_PIN_SWCLK_SET(); + +#define MUL_SW_READ_BIT_FAST(bit) MUL_PIN_SWCLK_CLR(); bit = MUL_PIN_SWDIO_IN(); MUL_PIN_SWCLK_SET(); + + +extern uint8_t GetParity(uint32_t data); + +/* +********************************************************************************************************* +* 函 数 名: MUL_SWD_GPIOConfig +* 功能说明: GPIO配置 +* 形 参: 无 +* 返 回 值: 无 +********************************************************************************************************* +*/ +void MUL_SWD_GPIOConfig(void) +{ + EIO_D0_Config(ES_GPIO_OUT); /* FMC输入功能依然有效 */ + EIO_D1_Config(ES_GPIO_OUT); + EIO_D2_Config(ES_GPIO_OUT); + EIO_D3_Config(ES_GPIO_OUT); + EIO_D4_Config(ES_GPIO_OUT); + EIO_D5_Config(ES_GPIO_OUT); + + EIO_D6_Config(ES_GPIO_SWD_OUT); /* 用FMC口线做GPIO。因此FMC功能失效 */ + EIO_D7_Config(ES_GPIO_SWD_OUT); /* 用FMC口线做GPIO。因此FMC功能失效 */ + EIO_D8_Config(ES_GPIO_SWD_OUT); /* 用FMC口线做GPIO。因此FMC功能失效 */ + EIO_D9_Config(ES_GPIO_SWD_OUT); /* 用FMC口线做GPIO。因此FMC功能失效 */ +} + +/* +********************************************************************************************************* +* 函 数 名: MUL_RefreshGpioParam +* 功能说明: 根据通道状态刷新GPIO配置 +* 形 参: 无 +* 返 回 值: 无 +********************************************************************************************************* +*/ +const uint32_t TablePinDIR[4] = {MUL_PIN_DIR_1, MUL_PIN_DIR_2, MUL_PIN_DIR_3, MUL_PIN_DIR_4}; +const uint32_t TablePinSWClK[4] = {MUL_PIN_SWCLK_1, MUL_PIN_SWCLK_2, MUL_PIN_SWCLK_3, MUL_PIN_SWCLK_4}; +const uint32_t TablePinSWDIO[4] = {MUL_PIN_SWDIO_1, MUL_PIN_SWDIO_2, MUL_PIN_SWDIO_3, MUL_PIN_SWDIO_4}; + +const uint32_t TableModeMask[4] = {MUL_DIO_MODE_MASK_1, MUL_DIO_MODE_MASK_2, MUL_DIO_MODE_MASK_3, MUL_DIO_MODE_MASK_4}; +const uint32_t TableModeOut[4] = {MUL_DIO_MODE_OUT_1, MUL_DIO_MODE_OUT_2, MUL_DIO_MODE_OUT_3, MUL_DIO_MODE_OUT_4}; + +const uint32_t TableClk0Dio0[4] = {CLK_0_DIO_0_1, CLK_0_DIO_0_2, CLK_0_DIO_0_3, CLK_0_DIO_0_4}; +const uint32_t TableClk0Dio1[4] = {CLK_0_DIO_1_1, CLK_0_DIO_1_2, CLK_0_DIO_1_3, CLK_0_DIO_1_4}; + +void MUL_RefreshGpioParam(void) +{ + uint32_t DIR_Pins = 0; + uint32_t SWDIO_Pins = 0; + uint32_t SWCLK_Pins = 0; + uint32_t MODER_Mask = 0xFFFFFFFF; + uint32_t MODER_Out = 0; + uint32_t CLK_0_DIO_0 = 0; + uint32_t CLK_0_DIO_1 = 0; + uint8_t i; + + for (i = 0; i < 4; i++) + { + if (g_gMulSwd.Active[i] == 1 && g_gMulSwd.Ignore[i] == 0 && g_gMulSwd.TempIgnore[i] == 0) + { + DIR_Pins |= TablePinDIR[i]; + SWCLK_Pins |= TablePinSWClK[i]; + SWDIO_Pins |= TablePinSWDIO[i]; + MODER_Mask &= TableModeMask[i]; + MODER_Out |= TableModeOut[i]; + CLK_0_DIO_0 |= TableClk0Dio0[i]; + CLK_0_DIO_1 |= TableClk0Dio1[i]; + } + } + g_gMulSwd.DIR_Pins = DIR_Pins; + g_gMulSwd.SWCLK_Pins = SWCLK_Pins; + g_gMulSwd.SWDIO_Pins = SWDIO_Pins; + g_gMulSwd.MODER_Mask = MODER_Mask; + g_gMulSwd.MODER_Out = MODER_Out; + g_gMulSwd.CLK_0_DIO_0 = CLK_0_DIO_0; + g_gMulSwd.CLK_0_DIO_1 = CLK_0_DIO_1; +} + +/* +********************************************************************************************************* +* 函 数 名: MUL_SWD_TransferFast +* 功能说明: SWD Transfer I/O. 读和写一体 +* 形 参: request: A[3:2] RnW APnDP +* data: DATA[31:0] 缓冲区。4个通道不同. +* 返 回 值: uint8_t指针,目标存放4个通道的应答值。s_ack[4] +********************************************************************************************************* +*/ +uint8_t* MUL_SWD_TransferFast(uint32_t request, uint32_t *data) +{ + static uint8_t s_ack[4]; + uint32_t ack; + uint8_t *ack_buf; + uint32_t bit; + uint8_t *bit_buf = (uint8_t *)&bit; + uint32_t val; + uint32_t val_buf[4]; + uint32_t pb_buf[4]; + uint32_t pb; + uint32_t n; + uint8_t i; + uint8_t route = 0; + + for (i = 0; i < 4; i++) + { + g_gMulSwd.TempIgnore[i] = 0; + } + + MUL_RefreshGpioParam(); /* 刷新GPIO寄存器变量 */ + + MUL_PIN_SWDIO_OUT_ENABLE(); + + /* Packet Request */ + pb = 0U; + MUL_SW_WRITE_BIT_FAST(1U); /* Start Bit */ + bit = request >> 0; + MUL_SW_WRITE_BIT_FAST(bit); /* APnDP Bit */ + pb += bit; + bit = request >> 1; + MUL_SW_WRITE_BIT_FAST(bit); /* RnW Bit */ + pb += bit; + bit = request >> 2; + MUL_SW_WRITE_BIT_FAST(bit); /* A2 Bit */ + pb += bit; + bit = request >> 3; + MUL_SW_WRITE_BIT_FAST(bit); /* A3 Bit */ + pb += bit; + MUL_SW_WRITE_BIT_FAST(pb); /* Parity Bit */ + MUL_SW_WRITE_BIT_FAST(0U); /* Stop Bit */ + MUL_SW_WRITE_BIT_FAST(1U); /* Park Bit */ + + /* Turnaround */ + MUL_PIN_SWDIO_OUT_DISABLE(); + for (n = DAP_Data.swd_conf.turnaround; n; n--) + { + MUL_SW_CLOCK_CYCLE_FAST(); + } + + /* Acknowledge response */ + MUL_SW_READ_BIT_FAST(bit); + ack = bit << 0; + MUL_SW_READ_BIT_FAST(bit); + ack |= bit << 1; + MUL_SW_READ_BIT_FAST(bit); + ack |= bit << 2; + + ack_buf = (uint8_t *)&ack; /* 4个芯片同时应答 */ + + route = 0; + for (i = 0; i < 4; i++) + { + if (g_gMulSwd.Ignore[i] == 0) + { + if (ack_buf[i] == DAP_TRANSFER_OK) + { + route = DAP_TRANSFER_OK; /* 4个芯片有1个OK,后面就优先处理OK流程 */ + } + else + { + g_gMulSwd.TempIgnore[i] = 1; /* 收到其他应答 */ + } + } + } + + if (route == DAP_TRANSFER_OK) /* OK response */ + { + MUL_RefreshGpioParam(); /* 刷新GPIO寄存器变量 */ + + if (request & DAP_TRANSFER_RnW) /* 读数据 */ + { + /* Read data */ + /* armfly : 优化奇偶校验算法 */ + + for (i = 0; i < 4; i++) + { + val_buf[i] = 0; + } + for (n = 32U; n; n--) + { + MUL_SW_READ_BIT_FAST(bit); /* Read RDATA[0:31] */ + + for (i = 0; i < 4; i++) + { + val_buf[i] >>= 1; + val_buf[i] |= bit_buf[i] << 31; + } + } + + for (i = 0; i < 4; i++) + { + pb_buf[i] = GetParity(val_buf[i]); + } + + MUL_SW_READ_BIT_FAST(bit); /* Read Parity */ + + for (i = 0; i < 4; i++) + { + if ((pb_buf[i] ^ bit_buf[i]) & 1U) + { + ack_buf[i] = DAP_TRANSFER_ERROR; + if (data > 0) + { + data[i] = 0; + } + } + else + { + if (data > 0) + { + data[i] = val_buf[i]; + } + } + } + + /* Turnaround */ + for (n = DAP_Data.swd_conf.turnaround; n; n--) + { + MUL_SW_CLOCK_CYCLE_FAST(); + } + MUL_PIN_SWDIO_OUT_ENABLE(); + } + else /* 写数据 */ + { + /* Turnaround */ + for (n = DAP_Data.swd_conf.turnaround; n; n--) + { + MUL_SW_CLOCK_CYCLE_FAST(); + } + MUL_PIN_SWDIO_OUT_ENABLE(); + + /* Write data */ + val = *data; + + /* armfly : 优化奇偶校验算法 */ + pb = GetParity(val); + MUL_SEND_32BIT(val); + + MUL_SW_WRITE_BIT_FAST(pb); /* Write Parity Bit */ + } + /* Idle cycles */ + n = DAP_Data.transfer.idle_cycles; + if (n) + { + MUL_PIN_SWDIO_OUT(0U); + for (; n; n--) + { + MUL_SW_CLOCK_CYCLE_FAST(); + } + } + MUL_PIN_SWDIO_OUT(1U); + } + + /* 处理异常 */ + for (i = 0; i < 4; i++) + { + g_gMulSwd.TempIgnore[i] = 0; + } + route = 0; + for (i = 0; i < 4; i++) + { + if (g_gMulSwd.Ignore[i] == 0) + { + if (ack_buf[i] == DAP_TRANSFER_WAIT || ack_buf[i] == DAP_TRANSFER_FAULT) + { + route = ack_buf[i]; + } + else + { + g_gMulSwd.TempIgnore[i] = 1; /* 收到其他应答 */ + } + } + } + + if ((route == DAP_TRANSFER_WAIT) || (route == DAP_TRANSFER_FAULT)) + { + MUL_RefreshGpioParam(); /* 刷新GPIO寄存器变量 */ + + /* WAIT or FAULT response */ + if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) != 0U)) + { + for (n = 32U+1U; n; n--) + { + MUL_SW_CLOCK_CYCLE_FAST(); /* Dummy Read RDATA[0:31] + Parity */ + } + } + /* Turnaround */ + for (n = DAP_Data.swd_conf.turnaround; n; n--) + { + MUL_SW_CLOCK_CYCLE_FAST(); + } + MUL_PIN_SWDIO_OUT_ENABLE(); + if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) == 0U)) + { + MUL_PIN_SWDIO_OUT(0U); + for (n = 32U+1U; n; n--) + { + MUL_SW_CLOCK_CYCLE_FAST(); /* Dummy Write WDATA[0:31] + Parity */ + } + } + MUL_PIN_SWDIO_OUT(1U); + } + + /* 处理异常 */ + for (i = 0; i < 4; i++) + { + g_gMulSwd.TempIgnore[i] = 0; + } + route = 0; + for (i = 0; i < 4; i++) + { + if (g_gMulSwd.Ignore[i] == 0) + { + if (ack_buf[i] == DAP_TRANSFER_WAIT || ack_buf[i] == DAP_TRANSFER_FAULT + || ack_buf[i] == DAP_TRANSFER_OK) + { + g_gMulSwd.TempIgnore[i] = 1; + } + else + { + g_gMulSwd.TempIgnore[i] = 0; /* 收到其他应答 */ + route = DAP_TRANSFER_ERROR; + } + } + } + if (route == DAP_TRANSFER_ERROR) + { + MUL_RefreshGpioParam(); /* 刷新GPIO寄存器变量 */ + + /* Protocol error */ + for (n = DAP_Data.swd_conf.turnaround + 32U + 1U; n; n--) + { + MUL_SW_CLOCK_CYCLE_FAST(); /* Back off data phase */ + } + MUL_PIN_SWDIO_OUT_ENABLE(); + MUL_PIN_SWDIO_OUT(1U); + } + + for (i = 0; i < 4; i++) + { + g_gMulSwd.TempIgnore[i] = 0; + + s_ack[i] = ack_buf[i]; + } + return s_ack; +} + +uint8_t MUL_SWD_TransferSlow(uint32_t request, uint32_t *data) +{ + uint32_t ack; + uint32_t bit; + uint32_t val; + uint32_t parity; + + uint32_t n; + + /* Packet Request */ + parity = 0U; + MUL_SW_WRITE_BIT_SLOW(1U); /* Start Bit */ + bit = request >> 0; + MUL_SW_WRITE_BIT_SLOW(bit); /* APnDP Bit */ + parity += bit; + bit = request >> 1; + MUL_SW_WRITE_BIT_SLOW(bit); /* RnW Bit */ + parity += bit; + bit = request >> 2; + MUL_SW_WRITE_BIT_SLOW(bit); /* A2 Bit */ + parity += bit; + bit = request >> 3; + MUL_SW_WRITE_BIT_SLOW(bit); /* A3 Bit */ + parity += bit; + MUL_SW_WRITE_BIT_SLOW(parity); /* Parity Bit */ + MUL_SW_WRITE_BIT_SLOW(0U); /* Stop Bit */ + MUL_SW_WRITE_BIT_SLOW(1U); /* Park Bit */ + + /* Turnaround */ + MUL_PIN_SWDIO_OUT_DISABLE(); + for (n = DAP_Data.swd_conf.turnaround; n; n--) { + MUL_SW_CLOCK_CYCLE_SLOW(); + } + + /* Acknowledge response */ + MUL_SW_READ_BIT_SLOW(bit); + ack = bit << 0; + MUL_SW_READ_BIT_SLOW(bit); + ack |= bit << 1; + MUL_SW_READ_BIT_SLOW(bit); + ack |= bit << 2; + + if (ack == DAP_TRANSFER_OK) { /* OK response */ + /* Data transfer */ + if (request & DAP_TRANSFER_RnW) { + /* Read data */ + val = 0U; + parity = 0U; + for (n = 32U; n; n--) { + MUL_SW_READ_BIT_SLOW(bit); /* Read RDATA[0:31] */ + parity += bit; + val >>= 1; + val |= bit << 31; + } + MUL_SW_READ_BIT_SLOW(bit); /* Read Parity */ + if ((parity ^ bit) & 1U) { + ack = DAP_TRANSFER_ERROR; + } + if (data) { *data = val; } + /* Turnaround */ + for (n = DAP_Data.swd_conf.turnaround; n; n--) { + MUL_SW_CLOCK_CYCLE_SLOW(); + } + MUL_PIN_SWDIO_OUT_ENABLE(); + } else { + /* Turnaround */ + for (n = DAP_Data.swd_conf.turnaround; n; n--) { + MUL_SW_CLOCK_CYCLE_SLOW(); + } + MUL_PIN_SWDIO_OUT_ENABLE(); + /* Write data */ + val = *data; + parity = 0U; + for (n = 32U; n; n--) { + MUL_SW_WRITE_BIT_SLOW(val); /* Write WDATA[0:31] */ + parity += val; + val >>= 1; + } + MUL_SW_WRITE_BIT_SLOW(parity); /* Write Parity Bit */ + } + /* Idle cycles */ + n = DAP_Data.transfer.idle_cycles; + if (n) { + MUL_PIN_SWDIO_OUT(0U); + for (; n; n--) { + MUL_SW_CLOCK_CYCLE_SLOW(); + } + } + MUL_PIN_SWDIO_OUT(1U); + return ((uint8_t)ack); + } + + if ((ack == DAP_TRANSFER_WAIT) || (ack == DAP_TRANSFER_FAULT)) { + /* WAIT or FAULT response */ + if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) != 0U)) { + for (n = 32U+1U; n; n--) { + MUL_SW_CLOCK_CYCLE_SLOW(); /* Dummy Read RDATA[0:31] + Parity */ + } + } + /* Turnaround */ + for (n = DAP_Data.swd_conf.turnaround; n; n--) { + MUL_SW_CLOCK_CYCLE_SLOW(); + } + MUL_PIN_SWDIO_OUT_ENABLE(); + if (DAP_Data.swd_conf.data_phase && ((request & DAP_TRANSFER_RnW) == 0U)) { + MUL_PIN_SWDIO_OUT(0U); + for (n = 32U+1U; n; n--) { + MUL_SW_CLOCK_CYCLE_SLOW(); /* Dummy Write WDATA[0:31] + Parity */ + } + } + MUL_PIN_SWDIO_OUT(1U); + return ((uint8_t)ack); + } + + /* Protocol error */ + for (n = DAP_Data.swd_conf.turnaround + 32U + 1U; n; n--) { + MUL_SW_CLOCK_CYCLE_SLOW(); /* Back off data phase */ + } + MUL_PIN_SWDIO_OUT_ENABLE(); + MUL_PIN_SWDIO_OUT(1U); + return ((uint8_t)ack); +} + +// SWD Transfer I/O +// request: A[3:2] RnW APnDP +// data: DATA[31:0] +// return: ACK[2:0] +uint8_t* MUL_SWD_Transfer(uint32_t request, uint32_t *data) +{ +// if (DAP_Data.fast_clock) +// { + return MUL_SWD_TransferFast(request, data); +// } +// else +// { +// return MUL_SWD_TransferSlow(request, data); +// } +} + +/********************************* armfly 优化时序速度 ***************************/ +// SWD Transfer I/O +// request: A[3:2] RnW APnDP +// data: DATA[31:0] +// return: ACK[2:0] +#undef PIN_DELAY +#define PIN_DELAY() PIN_DELAY_FAST() + + +#undef PIN_DELAY +#define PIN_DELAY() PIN_DELAY_SLOW(DAP_Data.clock_delay) +// Generate SWJ Sequence +// count: sequence bit count +// data: pointer to sequence bit data +// return: none +#if ((DAP_SWD != 0) || (DAP_JTAG != 0)) +void MUL_SWJ_Sequence (uint32_t count, const uint8_t *data) { + uint32_t val; + uint32_t n; + + val = 0U; + n = 0U; + while (count--) { + if (n == 0U) { + val = *data++; + n = 8U; + } + if (val & 1U) { + MUL_PIN_SWDIO_OUT(1); + } else { + MUL_PIN_SWDIO_OUT(0); + } + MUL_SW_CLOCK_CYCLE_SLOW(); + val >>= 1; + n--; + } +} +#endif + diff --git a/User/daplink/source/daplink/cmsis-dap/SW_DP_Multi.h b/User/daplink/source/daplink/cmsis-dap/SW_DP_Multi.h new file mode 100644 index 0000000..fe61d69 --- /dev/null +++ b/User/daplink/source/daplink/cmsis-dap/SW_DP_Multi.h @@ -0,0 +1,57 @@ + +/* + +*/ + +#ifndef __SW_DAP_MULTI_H__ +#define __SW_DAP_MULTI_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "flash_blob.h" +#include "target_reset.h" +#ifdef TARGET_MCU_CORTEX_A +#include "debug_ca.h" +#else +#include "debug_cm.h" +#endif + +typedef struct +{ + uint8_t MultiMode; /* 0表示单机模式, 1表示1拖2, 2表示1拖3, 3表示1拖4 */ + uint8_t Active[4]; + uint8_t Error[4]; + uint8_t AckOk[4]; + + uint8_t Ignore[4]; + uint8_t TempIgnore[4]; /* 临时忽略 */ + + uint32_t DIR_Pins; + uint32_t SWDIO_Pins; + uint32_t SWCLK_Pins; + uint32_t MODER_Mask; + uint32_t MODER_Out; + uint32_t CLK_0_DIO_0; + uint32_t CLK_0_DIO_1; + + uint32_t CoreID[4]; + +}MUL_SWD_T; + +extern MUL_SWD_T g_gMulSwd; + +uint8_t *MUL_SWD_Transfer(uint32_t request, uint32_t *data); +void MUL_SWJ_Sequence (uint32_t count, const uint8_t *data); + +void MUL_SWD_GPIOConfig(void); + +void MUL_RefreshGpioParam(void); +void MUL_SEND_32BIT(uint32_t val); + +#ifdef __cplusplus +} +#endif + +#endif /* __DAP_H__ */ diff --git a/User/daplink/source/daplink/interface/swd_host.c b/User/daplink/source/daplink/interface/swd_host.c index ac73212..36c963a 100755 --- a/User/daplink/source/daplink/interface/swd_host.c +++ b/User/daplink/source/daplink/interface/swd_host.c @@ -30,6 +30,7 @@ #include "target_family.h" #include "prog_if.h" #include "file_lib.h" +#include "SW_DP_Multi.h" // Default NVIC and Core debug base addresses // TODO: Read these addresses from ROM. @@ -60,7 +61,7 @@ typedef struct { uint32_t xpsr; } DEBUG_STATE; -static SWD_CONNECT_TYPE reset_connect = CONNECT_NORMAL; +SWD_CONNECT_TYPE reset_connect = CONNECT_NORMAL; static DAP_STATE dap_state; static uint32_t soft_reset = SYSRESETREQ; @@ -144,6 +145,11 @@ uint8_t swd_init(void) // and fixed. DAP_Setup(); PORT_SWD_SETUP(); + + if (g_gMulSwd.MultiMode > 0) + { + MUL_SWD_GPIOConfig(); + } return 1; } diff --git a/User/daplink/source/daplink/interface/swd_host_multi.c b/User/daplink/source/daplink/interface/swd_host_multi.c new file mode 100644 index 0000000..a27d43f --- /dev/null +++ b/User/daplink/source/daplink/interface/swd_host_multi.c @@ -0,0 +1,1749 @@ +/** + * @file MUL_swd_host.c + * @brief Implementation of MUL_swd_host.h + * + * DAPLink Interface Firmware + * Copyright (c) 2009-2019, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TARGET_MCU_CORTEX_A +//#include "cmsis_os2.h" +#include "target_reset.h" +#include "target_config.h" +#include "swd_host_multi.h" +#include "debug_cm.h" +#include "DAP_config.h" +#include "DAP.h" +#include "target_family.h" +#include "prog_if.h" +#include "file_lib.h" +#include "SW_DP_Multi.h" + +// Default NVIC and Core debug base addresses +// TODO: Read these addresses from ROM. +#define NVIC_Addr (0xe000e000) +#define DBG_Addr (0xe000edf0) + +// AP CSW register, base value +#define CSW_VALUE (CSW_RESERVED | CSW_MSTRDBG | CSW_HPROT | CSW_DBGSTAT | CSW_SADDRINC) + +#define DCRDR 0xE000EDF8 +#define DCRSR 0xE000EDF4 +#define DHCSR 0xE000EDF0 +#define REGWnR (1 << 16) + +#define MAX_SWD_RETRY 100 //10 +#define MAX_TIMEOUT 1000000 // Timeout for syscalls on target + +//#define SCB_AIRCR_PRIGROUP_Pos 8 /*!< SCB AIRCR: PRIGROUP Position */ +#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB AIRCR: PRIGROUP Mask */ + +typedef struct { + uint32_t select; + uint32_t csw; +} DAP_STATE; + +typedef struct { + uint32_t r[16]; + uint32_t xpsr; +} DEBUG_STATE; + +static SWD_CONNECT_TYPE reset_connect = CONNECT_NORMAL; + +static DAP_STATE dap_state; +static uint32_t soft_reset = SYSRESETREQ; + +#if 0 // armfly debug +__attribute__((weak)) void MUL_swd_set_target_reset(uint8_t asserted) +{ + (asserted) ? PIN_nRESET_OUT(0) : PIN_nRESET_OUT(1); +} +#else +void MUL_swd_set_target_reset(uint8_t asserted) +{ + (asserted) ? PIN_nRESET_OUT(0) : PIN_nRESET_OUT(1); + + if (asserted == 0) + { + EIO_SetOutLevel(EIO_D0, 1); + } + else + { + EIO_SetOutLevel(EIO_D0, 0); + } +// if(asserted == 0) +// { +// swd_write_word((uint32_t)&SCB->AIRCR, ((0x5FA << SCB_AIRCR_VECTKEY_Pos) |(SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | SCB_AIRCR_SYSRESETREQ_Msk)); +// } +} +#endif + +uint32_t MUL_target_get_apsel() +{ +// if (g_target_family && g_target_family->apsel) { +// return g_target_family->apsel; +// } else { +// return 0; +// } + return 0; +} + + +static uint32_t MUL_swd_get_apsel(uint32_t adr) +{ + uint32_t apsel = MUL_target_get_apsel(); + if (!apsel) + return adr & 0xff000000; + else + return apsel; +} + +void MUL_swd_set_reset_connect(SWD_CONNECT_TYPE type) +{ + reset_connect = type; +} + +/* 小端转换 */ +void MUL_int2array(uint8_t *res, uint32_t data, uint8_t len) +{ + uint8_t i = 0; + + for (i = 0; i < len; i++) { + res[i] = (data >> 8 * i) & 0xff; + } +} + +/* 1拖4用 + data : 缓冲区,4个单元 + 返回值: 1表示正确 + + // DAP Transfer Response + #define DAP_TRANSFER_OK (1U<<0) + #define DAP_TRANSFER_WAIT (1U<<1) + #define DAP_TRANSFER_FAULT (1U<<2) + #define DAP_TRANSFER_ERROR (1U<<3) + #define DAP_TRANSFER_MISMATCH (1U<<4) +*/ +uint8_t *MUL_swd_transfer_retry(uint32_t req, uint32_t *data) +{ + uint8_t *ack; + static uint8_t ret_ack[4]; + uint32_t done = 0; + uint8_t i; + uint8_t err_cout[4]; + + for (i = 0; i < 4; i++) + { + err_cout[i] = 0; + + ret_ack[i] = 0; /* 函数返回 */ + + g_gMulSwd.Ignore[i] = 0; /* 先不忽略 */ + if (g_gMulSwd.Active[i] == 0) /* 通道未激活 */ + { + g_gMulSwd.Ignore[i] = 1; /* 传送数据时,忽略该通道 */ + done |= (1 << i); + } + else /* 通道已经激活 */ + { + if (g_gMulSwd.Error[i] == 1) /* 该通道已经错误,后续不在重试 */ + { + g_gMulSwd.Ignore[i] = 1; /* 传送数据时,忽略该通道 */ + done |= (1 << i); + } + } + } + + /* 四个通道全部传输完毕才结束 */ + while (done != 0x0F) + { + ack = MUL_SWD_Transfer(req, data); + + for (i = 0; i < 4; i++) + { + if (g_gMulSwd.Ignore[i] == 0) + { + if (ack[i] == DAP_TRANSFER_OK) + { + ret_ack[i] = DAP_TRANSFER_OK; + done |= (1 << i); + g_gMulSwd.Ignore[i] = 1; /* 传送数据时,忽略该通道 */ + } + else if (ack[i] == DAP_TRANSFER_WAIT) + { + if (++err_cout[i] >= MAX_SWD_RETRY) + { + done |= (1 << i); + g_gMulSwd.Ignore[i] = 1; + ret_ack[i] = DAP_TRANSFER_WAIT; + //g_gMulSwd.Error[i] = 1; /* 设置错误标志 */ + } + } + else /* 错误 */ + { + done |= (1 << i); + g_gMulSwd.Ignore[i] = 1; + ret_ack[i] = DAP_TRANSFER_ERROR; + //g_gMulSwd.Error[i] = 1; /* 设置错误标志 */ + } + } + } + } + return ret_ack; +} + +void MUL_swd_set_soft_reset(uint32_t soft_reset_type) +{ + soft_reset = soft_reset_type; +} + +uint8_t MUL_swd_init(void) +{ + //TODO - DAP_Setup puts GPIO pins in a hi-z state which can + // cause problems on re-init. This needs to be investigated + // and fixed. + DAP_Setup(); + PORT_SWD_SETUP(); + + g_gMulSwd.MultiMode = 0; /* 测试多机模式 */ + if (g_gMulSwd.MultiMode > 0) + { + MUL_SWD_GPIOConfig(); + + memset((uint8_t *)&g_gMulSwd, 0, sizeof(g_gMulSwd)); + + g_gMulSwd.Active[0] = 1; + g_gMulSwd.Active[1] = 0; + g_gMulSwd.Active[2] = 0; + g_gMulSwd.Active[3] = 0; + + MUL_RefreshGpioParam(); + } + return 1; +} + +uint8_t MUL_swd_off(void) +{ + PORT_OFF(); + return 1; +} + +uint8_t MUL_swd_clear_errors(void) +{ + if (!MUL_swd_write_dp(DP_ABORT, STKCMPCLR | STKERRCLR | WDERRCLR | ORUNERRCLR)) { + return 0; + } + return 1; +} + +// Read debug port register. +uint8_t * MUL_swd_read_dp(uint8_t adr, uint32_t *val) +{ + uint32_t tmp_in; +// uint8_t tmp_out[4]; +// uint8_t *ack; +// uint32_t tmp; + + tmp_in = SWD_REG_DP | SWD_REG_R | SWD_REG_ADR(adr); +// ack = MUL_swd_transfer_retry(tmp_in, (uint32_t *)tmp_out); +// +// val[0] = 0; +// tmp = tmp_out[3]; +// val[0] |= (tmp << 24); +// tmp = tmp_out[2]; +// val[0] |= (tmp << 16); +// tmp = tmp_out[1]; +// val[0] |= (tmp << 8); +// tmp = tmp_out[0]; +// val[0] |= (tmp << 0); +// ack = MUL_swd_transfer_retry(tmp_in, val); +// return (ack == 0x01); + return MUL_swd_transfer_retry(tmp_in, val); +} + +// Write debug port register +uint8_t MUL_swd_write_dp(uint8_t adr, uint32_t val) +{ + uint32_t req; + uint8_t data[4]; + uint8_t ack; + uint8_t *pAck; + //check if the right bank is already selected + if ((adr == DP_SELECT) && (dap_state.select == val)) { + return 1; + } + + req = SWD_REG_DP | SWD_REG_W | SWD_REG_ADR(adr); + MUL_int2array(data, val, 4); + + pAck = MUL_swd_transfer_retry(req, (uint32_t *)data); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = DAP_TRANSFER_OK; + } + else + { + ack = 0; + } + if ((ack == DAP_TRANSFER_OK) && (adr == DP_SELECT)) { + dap_state.select = val; + } + return (ack == 0x01); +} + +// Read access port register. +#if 0 /* 该函数未使用 */ +uint8_t MUL_swd_read_ap(uint32_t adr, uint32_t *val) +{ + uint8_t tmp_in, ack; + uint8_t tmp_out[4]; + uint32_t tmp; + uint32_t apsel = MUL_swd_get_apsel(adr); + uint32_t bank_sel = adr & APBANKSEL; + + if (!MUL_swd_write_dp(DP_SELECT, apsel | bank_sel)) { + return 0; + } + + tmp_in = SWD_REG_AP | SWD_REG_R | SWD_REG_ADR(adr); + // first dummy read + MUL_swd_transfer_retry(tmp_in, (uint32_t *)tmp_out); + ack = MUL_swd_transfer_retry(tmp_in, (uint32_t *)tmp_out); + *val = 0; + tmp = tmp_out[3]; + *val |= (tmp << 24); + tmp = tmp_out[2]; + *val |= (tmp << 16); + tmp = tmp_out[1]; + *val |= (tmp << 8); + tmp = tmp_out[0]; + *val |= (tmp << 0); + return (ack == 0x01); +} +#endif + +// Write access port register +uint8_t MUL_swd_write_ap(uint32_t adr, uint32_t val) +{ + uint8_t data[4]; + uint8_t req, ack; + uint8_t *pAck; + uint32_t apsel = MUL_swd_get_apsel(adr); + uint32_t bank_sel = adr & APBANKSEL; + + if (!MUL_swd_write_dp(DP_SELECT, apsel | bank_sel)) { + return 0; + } + + switch (adr) { + case AP_CSW: + if (dap_state.csw == val) { + return 1; + } + + dap_state.csw = val; + break; + + default: + break; + } + + req = SWD_REG_AP | SWD_REG_W | SWD_REG_ADR(adr); + int2array(data, val, 4); + + pAck = MUL_swd_transfer_retry(req, (uint32_t *)data); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = 1; + } + else + { + ack = 0; + } + if (ack != 0x01) { + return 0; + } + + req = SWD_REG_DP | SWD_REG_R | SWD_REG_ADR(DP_RDBUFF); + pAck = MUL_swd_transfer_retry(req, NULL); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = 1; + } + else + { + ack = 0; + } + return (ack == 0x01); +} + + +// Write 32-bit word aligned values to target memory using address auto-increment. +// size is in bytes. +static uint8_t MUL_swd_write_block(uint32_t address, uint8_t *data, uint32_t size) +{ + uint8_t tmp_in[4], req; + uint32_t size_in_words; + uint32_t i, ack; + uint8_t *pAck; + + if (size == 0) { + return 0; + } + + size_in_words = size / 4; + + // CSW register + if (!MUL_swd_write_ap(AP_CSW, CSW_VALUE | CSW_SIZE32)) { + return 0; + } + + // TAR write + req = SWD_REG_AP | SWD_REG_W | (1 << 2); + int2array(tmp_in, address, 4); + pAck = MUL_swd_transfer_retry(req, (uint32_t *)tmp_in); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = 1; + } + else + { + ack = 0; + } + if (ack != 0x01) { + return 0; + } + + // DRW write + req = SWD_REG_AP | SWD_REG_W | (3 << 2); + + for (i = 0; i < size_in_words; i++) { + pAck = MUL_swd_transfer_retry(req, (uint32_t *)data); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = 1; + } + else + { + ack = 0; + } + if (ack != 0x01) { + return 0; + } + + data += 4; + } + + // dummy read + req = SWD_REG_DP | SWD_REG_R | SWD_REG_ADR(DP_RDBUFF); + pAck = MUL_swd_transfer_retry(req, NULL); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = 1; + } + else + { + ack = 0; + } + return (ack == 0x01); +} + +// Read 32-bit word aligned values from target memory using address auto-increment. +// size is in bytes. +static uint8_t MUL_swd_read_block(uint32_t address, uint32_t *p1,uint32_t *p2,uint32_t *p3,uint32_t *p4, uint32_t size) +{ + uint8_t tmp_in[4], req, ack; + uint8_t *pAck; + uint32_t size_in_words; + uint32_t i; + uint32_t buf32[4]; + + if (size == 0) { + return 0; + } + + size_in_words = size / 4; + + if (!MUL_swd_write_ap(AP_CSW, CSW_VALUE | CSW_SIZE32)) { + return 0; + } + + // TAR write + req = SWD_REG_AP | SWD_REG_W | AP_TAR; + int2array(tmp_in, address, 4); + + pAck = MUL_swd_transfer_retry(req, (uint32_t *)tmp_in); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = DAP_TRANSFER_OK; + } + else + { + ack = 0; + } + if (ack != DAP_TRANSFER_OK) { + return 0; + } + + // read data + req = SWD_REG_AP | SWD_REG_R | AP_DRW; + + // initiate first read, data comes back in next read + pAck = MUL_swd_transfer_retry(req, NULL); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = DAP_TRANSFER_OK; + } + else + { + ack = 0; + } + if (ack != 0x01) { + return 0; + } + + for (i = 0; i < (size_in_words - 1); i++) + { + pAck = MUL_swd_transfer_retry(req, (uint32_t *)buf32); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = DAP_TRANSFER_OK; + } + else + { + ack = 0; + } + if (ack != DAP_TRANSFER_OK) { + return 0; + } + + *p1++ = buf32[0]; + *p2++ = buf32[1]; + *p3++ = buf32[2]; + *p4++ = buf32[3]; + } + + // read last word + req = SWD_REG_DP | SWD_REG_R | SWD_REG_ADR(DP_RDBUFF); + pAck = MUL_swd_transfer_retry(req, (uint32_t *)buf32); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = DAP_TRANSFER_OK; + + *p1++ = buf32[0]; + *p2++ = buf32[1]; + *p3++ = buf32[2]; + *p4++ = buf32[3]; + } + else + { + ack = 0; + } + return (ack == 0x01); +} + +// Read target memory. +static uint8_t MUL_swd_read_data(uint32_t addr, uint32_t *val) +{ + uint8_t tmp_in[4]; + uint8_t tmp_out[4]; + uint8_t req, ack; + uint8_t *pAck; + + // put addr in TAR register + int2array(tmp_in, addr, 4); + req = SWD_REG_AP | SWD_REG_W | (1 << 2); + + pAck = MUL_swd_transfer_retry(req, (uint32_t *)tmp_in); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = DAP_TRANSFER_OK; + } + else + { + ack = 0; + } + if (ack != 0x01) { + return 0; + } + + // read data + req = SWD_REG_AP | SWD_REG_R | (3 << 2); + + pAck = MUL_swd_transfer_retry(req, (uint32_t *)tmp_out); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = DAP_TRANSFER_OK; + } + else + { + ack = 0; + } + if (ack != 0x01) { + return 0; + } + + // dummy read + req = SWD_REG_DP | SWD_REG_R | SWD_REG_ADR(DP_RDBUFF); + pAck = MUL_swd_transfer_retry(req, (uint32_t *)val); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = DAP_TRANSFER_OK; + } + else + { + ack = 0; + } +// *val = 0; +// tmp = tmp_out[3]; +// *val |= (tmp << 24); +// tmp = tmp_out[2]; +// *val |= (tmp << 16); +// tmp = tmp_out[1]; +// *val |= (tmp << 8); +// tmp = tmp_out[0]; +// *val |= (tmp << 0); + return (ack == 0x01); +} + +// Write target memory. +static uint8_t MUL_swd_write_data(uint32_t address, uint32_t data) +{ + uint8_t tmp_in[4]; + uint8_t req, ack; + uint8_t *pAck; + + // put addr in TAR register + int2array(tmp_in, address, 4); + req = SWD_REG_AP | SWD_REG_W | (1 << 2); + + pAck = MUL_swd_transfer_retry(req, (uint32_t *)tmp_in); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = DAP_TRANSFER_OK; + } + else + { + ack = 0; + } + if (ack != 0x01) { + return 0; + } + + // write data + int2array(tmp_in, data, 4); + req = SWD_REG_AP | SWD_REG_W | (3 << 2); + + pAck = MUL_swd_transfer_retry(req, (uint32_t *)tmp_in); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = DAP_TRANSFER_OK; + } + else + { + ack = 0; + } + if (ack != 0x01) { + return 0; + } + + // dummy read + req = SWD_REG_DP | SWD_REG_R | SWD_REG_ADR(DP_RDBUFF); + pAck = MUL_swd_transfer_retry(req, NULL); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + ack = DAP_TRANSFER_OK; + } + else + { + ack = 0; + } + return (ack == 0x01) ? 1 : 0; +} + +// Read 32-bit word from target memory. +uint8_t MUL_swd_read_word(uint32_t addr, uint32_t *val) +{ + if (!MUL_swd_write_ap(AP_CSW, CSW_VALUE | CSW_SIZE32)) { + return 0; + } + + if (!MUL_swd_read_data(addr, val)) { + return 0; + } + + return 1; +} + +// Write 32-bit word to target memory. +uint8_t MUL_swd_write_word(uint32_t addr, uint32_t val) +{ + if (!MUL_swd_write_ap(AP_CSW, CSW_VALUE | CSW_SIZE32)) { + return 0; + } + + if (!MUL_swd_write_data(addr, val)) { + return 0; + } + + return 1; +} + +// Read 8-bit byte from target memory. +uint8_t MUL_swd_read_byte(uint32_t addr, uint8_t *val) +{ + uint32_t tmp[4]; + + if (!MUL_swd_write_ap(AP_CSW, CSW_VALUE | CSW_SIZE8)) { + return 0; + } + + if (!MUL_swd_read_data(addr, tmp)) { + return 0; + } + + //*val = (uint8_t)(tmp >> ((addr & 0x03) << 3)); + val[0] = (uint8_t)(tmp[0] >> ((addr & 0x03) << 3)); + val[1] = (uint8_t)(tmp[1] >> ((addr & 0x03) << 3)); + val[2] = (uint8_t)(tmp[2] >> ((addr & 0x03) << 3)); + val[3] = (uint8_t)(tmp[3] >> ((addr & 0x03) << 3)); + return 1; +} + +// Write 8-bit byte to target memory. +uint8_t MUL_swd_write_byte(uint32_t addr, uint8_t val) +{ + uint32_t tmp; + + if (!MUL_swd_write_ap(AP_CSW, CSW_VALUE | CSW_SIZE8)) { + return 0; + } + + tmp = val << ((addr & 0x03) << 3); + + if (!MUL_swd_write_data(addr, tmp)) { + return 0; + } + + return 1; +} + +// Read unaligned data from target memory. +// size is in bytes. + +/* + 读4个芯片的内存数据。 + ata存放规则: 第1个芯片数据 + 第2个芯片数据 + 第3个芯片数据 + 第4个芯片数据 +*/ +uint8_t MUL_swd_read_memory(uint32_t address, uint8_t *data, uint32_t size) +{ + uint32_t n; + uint8_t Buf8[4]; + uint8_t *p1,*p2,*p3,*p4; + + p1 = data; + p2 = p1 + size; + p3 = p2 + size; + p4 = p3 + size; + + // Read bytes until word aligned + while ((size > 0) && (address & 0x3)) { + if (!MUL_swd_read_byte(address, Buf8)) { + return 0; + } + + address++; + size--; + + *p1++ = Buf8[0]; + *p2++ = Buf8[1]; + *p3++ = Buf8[2]; + *p4++ = Buf8[3]; + } + + // Read word aligned blocks + while (size > 3) { + // Limit to auto increment page size + n = TARGET_AUTO_INCREMENT_PAGE_SIZE - (address & (TARGET_AUTO_INCREMENT_PAGE_SIZE - 1)); + + if (size < n) { + n = size & 0xFFFFFFFC; // Only count complete words remaining + } + + if (!MUL_swd_read_block(address, (uint32_t *)p1, (uint32_t *)p2, (uint32_t *)p3, (uint32_t *)p4, n)) { + return 0; + } + + address += n; + p1 += n; + p2 += n; + p3 += n; + p4 += n; + size -= n; + } + + // Read remaining bytes + while (size > 0) { + if (!MUL_swd_read_byte(address, Buf8)) { + return 0; + } + + address++; + size--; + *p1++ = Buf8[0]; + *p2++ = Buf8[1]; + *p3++ = Buf8[2]; + *p4++ = Buf8[3]; + } + + return 1; +} + +// Write unaligned data to target memory. +// size is in bytes. +uint8_t MUL_swd_write_memory(uint32_t address, uint8_t *data, uint32_t size) +{ + uint32_t n = 0; + + // Write bytes until word aligned + while ((size > 0) && (address & 0x3)) { + if (!MUL_swd_write_byte(address, *data)) { + goto err_quit; + } + + address++; + data++; + size--; + } + + // Write word aligned blocks + while (size > 3) { + // Limit to auto increment page size + n = TARGET_AUTO_INCREMENT_PAGE_SIZE - (address & (TARGET_AUTO_INCREMENT_PAGE_SIZE - 1)); + + if (size < n) { + n = size & 0xFFFFFFFC; // Only count complete words remaining + } + + if (!MUL_swd_write_block(address, data, n)) { + goto err_quit;; + } + + address += n; + data += n; + size -= n; + } + + // Write remaining bytes + while (size > 0) { + if (!MUL_swd_write_byte(address, *data)) { + goto err_quit; + } + + address++; + data++; + size--; + } + return 1; + +err_quit: + return 0; +} + +// Execute system call. +static uint8_t MUL_swd_write_debug_state(DEBUG_STATE *state) +{ + uint32_t i; + uint8_t ret = 0; + + if (!MUL_swd_write_dp(DP_SELECT, 0)) { + return 0; + } + + // R0, R1, R2, R3 + for (i = 0; i < 4; i++) { + if (!MUL_swd_write_core_register(i, state->r[i])) { + return 0; + } + } + + // R9 + if (!MUL_swd_write_core_register(9, state->r[9])) { + return 0; + } + + // R13, R14, R15 + for (i = 13; i < 16; i++) { + if (!MUL_swd_write_core_register(i, state->r[i])) { + return 0; + } + } + + // xPSR + if (!MUL_swd_write_core_register(16, state->xpsr)) { + return 0; + } + + if (!MUL_swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN | C_MASKINTS | C_HALT)) { + return 0; + } + + if (!MUL_swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN | C_MASKINTS)) { + return 0; + } + + // check status +// if (!MUL_swd_read_dp(DP_CTRL_STAT, &status)) { +// return 0; +// } + +// if (status & (STICKYERR | WDATAERR)) { +// return 0; +// } + /* 只要有1个通道成功就返回成功 */ + { + uint8_t *pAck; + uint32_t status[4]; + + pAck = MUL_swd_read_dp(DP_CTRL_STAT, status); + + for (i = 0; i < 4; i++) + { + if (pAck[i] == 1 && (status[i] & (STICKYERR | WDATAERR))) + { + ret = 1; + } + else + { + g_gMulSwd.Error[i] = 1; /* 出错 */ + } + } + } + + return ret; +} + +uint8_t MUL_swd_read_core_register(uint32_t n, uint32_t *val) +{ + int i = 0, timeout = 100; + + if (!MUL_swd_write_word(DCRSR, n)) { + return 0; + } + + // wait for S_REGRDY + for (i = 0; i < timeout; i++) { + if (!MUL_swd_read_word(DHCSR, val)) { + return 0; + } + + if (*val & S_REGRDY) { + break; + } + } + + if (i == timeout) { + return 0; + } + + if (!MUL_swd_read_word(DCRDR, val)) { + return 0; + } + + return 1; +} + +uint8_t MUL_swd_write_core_register(uint32_t n, uint32_t val) +{ + int i = 0, timeout = 100; + + if (!MUL_swd_write_word(DCRDR, val)) { + return 0; + } + + if (!MUL_swd_write_word(DCRSR, n | REGWnR)) { + return 0; + } + + // wait for S_REGRDY + for (i = 0; i < timeout; i++) { + if (!MUL_swd_read_word(DHCSR, &val)) { + return 0; + } + + if (val & S_REGRDY) { + return 1; + } + } + + return 0; +} + +/* +********************************************************************************************************* +* 函 数 名: MUL_swd_wait_until_halted +* 功能说明: 执行FLM中的函数,等待完成. 增加了超时控制,全局变量 g_tProg.FLMFuncTimeout +* 形 参: 无 +* 返 回 值: 无 +********************************************************************************************************* +*/ +void PG_PrintPercent(float _Percent, uint32_t _Addr); +extern uint8_t ProgCancelKey(void); +extern void PG_PrintText(char *_str); +static uint8_t MUL_swd_wait_until_halted(void) +{ +#if 1 + // Wait for target to stop + uint32_t val; + int32_t time1; + + time1 = bsp_GetRunTime(); + + while (1) + { + /* 擦除芯片 */ + if (g_tProg.FLMEraseChipFlag == 1) + { + if (g_tProgIni.LastEraseChipTime == 0) + { + g_tProgIni.LastEraseChipTime = 20000; /* 第1次缺省按20秒计算进度 */ + } + + /* 整片擦除 */ + { + int32_t tt; + float percent; + + tt = bsp_CheckRunTime(time1); + if (tt > g_tProg.FLMFuncTimeout) + { + break; + } + else + { + if ((tt % 250) == 0) + { + percent = ((float)tt / g_tProgIni.LastEraseChipTime) * 100; + PG_PrintPercent(percent, 0xFFFFFFFF); + } + bsp_Idle(); + } + } + } + + if (!MUL_swd_read_word(DBG_HCSR, &val)) + { + break; + } + + if (val & S_HALT) + { + g_tProg.FLMEraseChipFlag = 0; + return 1; + } + + if (ProgCancelKey()) + { + PG_PrintText("用户终止运行"); + break; + } + } + g_tProg.FLMEraseChipFlag = 0; + return 0; +#else + // Wait for target to stop + uint32_t val, i, timeout = MAX_TIMEOUT; + + for (i = 0; i < timeout; i++) { + if (!MUL_swd_read_word(DBG_HCSR, &val)) { + return 0; + } + + if (val & S_HALT) { + return 1; + } + } + + return 0; +#endif +} + +uint8_t MUL_swd_flash_syscall_exec(const program_syscall_t *sysCallParam, uint32_t entry, uint32_t arg1, uint32_t arg2, uint32_t arg3, uint32_t arg4) +{ + DEBUG_STATE state = {{0}, 0}; + // Call flash algorithm function on target and wait for result. + state.r[0] = arg1; // R0: Argument 1 + state.r[1] = arg2; // R1: Argument 2 + state.r[2] = arg3; // R2: Argument 3 + state.r[3] = arg4; // R3: Argument 4 + state.r[9] = sysCallParam->static_base; // SB: Static Base + state.r[13] = sysCallParam->stack_pointer; // SP: Stack Pointer + state.r[14] = sysCallParam->breakpoint; // LR: Exit Point + state.r[15] = entry; // PC: Entry Point + state.xpsr = 0x01000000; // xPSR: T = 1, ISR = 0 + + if (!MUL_swd_write_debug_state(&state)) { + return 0; + } + + if (!MUL_swd_wait_until_halted()) { + return 0; + } + + if (!MUL_swd_read_core_register(0, &state.r[0])) { + return 0; + } + + //remove the C_MASKINTS + if (!MUL_swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN | C_HALT)) { + return 0; + } + + // Flash functions return 0 if successful. + if (state.r[0] != 0) { + return 0; + } + + return 1; +} + +uint32_t MUL_swd_flash_syscall_exec_ex(const program_syscall_t *sysCallParam, uint32_t entry, uint32_t arg1, uint32_t arg2, uint32_t arg3, uint32_t arg4) +{ + DEBUG_STATE state = {{0}, 0}; + // Call flash algorithm function on target and wait for result. + state.r[0] = arg1; // R0: Argument 1 + state.r[1] = arg2; // R1: Argument 2 + state.r[2] = arg3; // R2: Argument 3 + state.r[3] = arg4; // R3: Argument 4 + state.r[9] = sysCallParam->static_base; // SB: Static Base + state.r[13] = sysCallParam->stack_pointer; // SP: Stack Pointer + state.r[14] = sysCallParam->breakpoint; // LR: Exit Point + state.r[15] = entry; // PC: Entry Point + state.xpsr = 0x01000000; // xPSR: T = 1, ISR = 0 + + if (!MUL_swd_write_debug_state(&state)) { + return 0; + } + + if (!MUL_swd_wait_until_halted()) { + return 0; + } + + if (!MUL_swd_read_core_register(0, &state.r[0])) { + return 0; + } + + //remove the C_MASKINTS + if (!MUL_swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN | C_HALT)) { + return 0; + } + +// // Flash functions return 0 if successful. +// if (state.r[0] != 0) { +// return 0; +// } + +// return 1; + return state.r[0]; +} + +// SWD Reset +static uint8_t MUL_swd_reset(void) +{ + uint8_t tmp_in[8]; + uint8_t i = 0; + + for (i = 0; i < 8; i++) { + tmp_in[i] = 0xff; + } + + MUL_SWJ_Sequence(51, tmp_in); + return 1; +} + +// SWD Switch +static uint8_t MUL_swd_switch(uint16_t val) +{ + uint8_t tmp_in[2]; + tmp_in[0] = val & 0xff; + tmp_in[1] = (val >> 8) & 0xff; + MUL_SWJ_Sequence(16, tmp_in); + return 1; +} + +// SWD Read ID +//static uint8_t MUL_swd_read_idcode(uint32_t *id) +uint8_t MUL_swd_read_idcode(uint32_t *id) +{ + uint8_t tmp_in[1]; + uint32_t tmp_out[4]; + uint8_t ack; + uint8_t *pAck; + + tmp_in[0] = 0x00; + + MUL_SWJ_Sequence(8, tmp_in); + +// if (MUL_swd_read_dp(0, (uint32_t *)tmp_out) != 0x01) { +// return 0; +// } + +// *id = (tmp_out[3] << 24) | (tmp_out[2] << 16) | (tmp_out[1] << 8) | tmp_out[0]; + pAck = MUL_swd_read_dp(0, tmp_out); + if (pAck[0] == DAP_TRANSFER_OK || pAck[1] == DAP_TRANSFER_OK || + pAck[2] == DAP_TRANSFER_OK || pAck[3] == DAP_TRANSFER_OK) + { + + if (pAck[0] == DAP_TRANSFER_OK) id[0] = g_gMulSwd.CoreID[0] = tmp_out[0]; + if (pAck[1] == DAP_TRANSFER_OK) id[1] = g_gMulSwd.CoreID[1] = tmp_out[1]; + if (pAck[2] == DAP_TRANSFER_OK) id[2] = g_gMulSwd.CoreID[2] = tmp_out[2]; + if (pAck[3] == DAP_TRANSFER_OK) id[3] = g_gMulSwd.CoreID[3] = tmp_out[3]; + + ack = DAP_TRANSFER_OK; + } + else + { + ack = 0; + } + + if (ack == DAP_TRANSFER_OK) + return 1; + else + return 0; +} + + +static uint8_t MUL_JTAG2SWD() +{ + uint32_t tmp[4] = {0}; + + if (!MUL_swd_reset()) { + return 0; + } + + if (!MUL_swd_switch(0xE79E)) { + return 0; + } + + if (!MUL_swd_reset()) { + return 0; + } + + if (!MUL_swd_read_idcode(tmp)) { + return 0; + } + + return 1; +} + +uint8_t MUL_swd_init_debug(void) +{ + uint32_t tmp[4] = {0,0,0,0}; + int i = 0; + int timeout = 100; + uint8_t *pAck; + + // init dap state with fake values + dap_state.select = 0xffffffff; + dap_state.csw = 0xffffffff; + + int8_t retries = 4; + int8_t do_abort = 0; + + do { + if (do_abort) { + //do an abort on stale target, then reset the device + MUL_swd_write_dp(DP_ABORT, DAPABORT); + MUL_swd_set_target_reset(1); + osDelay(20); + MUL_swd_set_target_reset(0); + osDelay(20); + do_abort = 0; + } + + MUL_swd_init(); + +#if 0 // armfly debug + // call a target dependant function + // this function can do several stuff before really + // initing the debug + if (g_target_family && g_target_family->target_before_init_debug) { + g_target_family->target_before_init_debug(); + } +#endif + + if (!MUL_JTAG2SWD()) { + do_abort = 1; + continue; + } + +// if (g_gMulSwd.CoreID[0] > 0 && g_gMulSwd.CoreID[1] > 0 +// && g_gMulSwd.CoreID[2] > 0 && g_gMulSwd.CoreID[3] > 0) + if (g_gMulSwd.CoreID[0] > 0) + { + ; + } + else + { + do_abort = 1; + continue; + } + + if (!MUL_swd_clear_errors()) { + do_abort = 1; + continue; + } + + if (!MUL_swd_write_dp(DP_SELECT, 0)) { + do_abort = 1; + continue; + + } + + // Power up + if (!MUL_swd_write_dp(DP_CTRL_STAT, CSYSPWRUPREQ | CDBGPWRUPREQ)) { + do_abort = 1; + continue; + } + +// for (i = 0; i < timeout; i++) { +// if (!swd_read_dp(DP_CTRL_STAT, &tmp)) { +// do_abort = 1; +// break; +// } +// if ((tmp & (CDBGPWRUPACK | CSYSPWRUPACK)) == (CDBGPWRUPACK | CSYSPWRUPACK)) { +// // Break from loop if powerup is complete +// break; +// } +// } +// if ((i == timeout) || (do_abort == 1)) { +// // Unable to powerup DP +// do_abort = 1; +// continue; +// } + { + uint8_t k; + uint8_t done = 0; + uint8_t err = 0; + + for (i = 0; i < timeout; i++) + { + pAck = MUL_swd_read_dp(DP_CTRL_STAT, tmp); + for (k = 0; k < 4; k++) + { + if (g_gMulSwd.Active[i] == 0 || g_gMulSwd.Error[i] == 1) /* 通道未激活 */ + { + done |= (1 << k); + err |= (1 << k); + } + else + { + if (pAck[k] == 1) + { + err &= ~(1 << k); + if ((tmp[k] & (CDBGPWRUPACK | CSYSPWRUPACK)) == (CDBGPWRUPACK | CSYSPWRUPACK)) + { + done |= (1 << k); + } + else + { + ; /* 收到应答,单不满足条件,继续重发 */; + } + } + else + { + done |= (1 << k); + err |= (1 << k); + } + } + } + + if (done == 0x0F) + { + break; + } + } + } + + if (!MUL_swd_write_dp(DP_CTRL_STAT, CSYSPWRUPREQ | CDBGPWRUPREQ | TRNNORMAL | MASKLANE)) { + do_abort = 1; + continue; + } + +#if 0 // armfly debug + // call a target dependant function: + // some target can enter in a lock state + // this function can unlock these targets + if (g_target_family && g_target_family->target_unlock_sequence) { + g_target_family->target_unlock_sequence(); + } +#endif + + if (!MUL_swd_write_dp(DP_SELECT, 0)) { + do_abort = 1; + continue; + } + + return 1; + + } while (--retries > 0); + + return 0; +} + +uint8_t MUL_swd_set_target_state_hw(TARGET_RESET_STATE state) +{ + uint32_t val; + int8_t ap_retries = 2; + /* Calling MUL_swd_init prior to entering RUN state causes operations to fail. */ + if (state != RUN) { + MUL_swd_init(); + } + + switch (state) { + case RESET_HOLD: + MUL_swd_set_target_reset(1); + break; + + case RESET_RUN: + MUL_swd_set_target_reset(1); + osDelay(2); + MUL_swd_set_target_reset(0); + osDelay(2); + MUL_swd_off(); + break; + + case RESET_PROGRAM: + { + int k; + int err = 0; + + for (k = 0; k < 10; k++) + { + err = 0; + if (!MUL_swd_init_debug()) { + err = 1; + continue; + } + +// if (reset_connect == CONNECT_UNDER_RESET) { +// // Assert reset +// MUL_swd_set_target_reset(1); +// osDelay(20); +// } + + // Enable debug + while(MUL_swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN) == 0) { + if( --ap_retries <=0 ) + return 0; + // Target is in invalid state? + MUL_swd_set_target_reset(1); + osDelay(20); + MUL_swd_set_target_reset(0); + osDelay(20); + } + + // Enable halt on reset + if (!MUL_swd_write_word(DBG_EMCR, VC_CORERESET)) { + err = 2; + continue; + } + +// if (reset_connect == CONNECT_NORMAL) { + // Assert reset + MUL_swd_set_target_reset(1); + osDelay(20); +// } + + // Deassert reset + MUL_swd_set_target_reset(0); + osDelay(20); + + /* 2020-01-18 armfly 增加退出机制 */ + #if 1 + { + uint32_t i; + + for (i = 0; i < 100000; i++) + { + if (!MUL_swd_read_word(DBG_HCSR, &val)) { + err = 3; + break; + } + + if ((val & S_HALT) != 0) + { + break; + } + } + + if (err > 0) + { + continue; + } + } + #else + do { + if (!MUL_swd_read_word(DBG_HCSR, &val)) { + return 0; + } + } while ((val & S_HALT) == 0); + #endif + + // Disable halt on reset + if (!MUL_swd_write_word(DBG_EMCR, 0)) { + err = 4; + continue; + } + break; + } + + if (err > 0) + { + return 0; + } + } + break; + + case NO_DEBUG: + if (!MUL_swd_write_word(DBG_HCSR, DBGKEY)) { + return 0; + } + + break; + + case DEBUG: + if (!MUL_JTAG2SWD()) { + return 0; + } + + if (!MUL_swd_clear_errors()) { + return 0; + } + + // Ensure CTRL/STAT register selected in DPBANKSEL + if (!MUL_swd_write_dp(DP_SELECT, 0)) { + return 0; + } + + // Power up + if (!MUL_swd_write_dp(DP_CTRL_STAT, CSYSPWRUPREQ | CDBGPWRUPREQ)) { + return 0; + } + + // Enable debug + if (!MUL_swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN)) { + return 0; + } + + break; + + case HALT: + if (!MUL_swd_init_debug()) { + return 0; + } + + // Enable debug and halt the core (DHCSR <- 0xA05F0003) + if (!MUL_swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN | C_HALT)) { + return 0; + } + + // Wait until core is halted + do { + if (!MUL_swd_read_word(DBG_HCSR, &val)) { + return 0; + } + } while ((val & S_HALT) == 0); + break; + + case RUN: + if (!MUL_swd_write_word(DBG_HCSR, DBGKEY)) { + return 0; + } + MUL_swd_off(); + break; + + case POST_FLASH_RESET: + // This state should be handled in target_reset.c, nothing needs to be done here. + break; + + default: + return 0; + } + + return 1; +} + +uint8_t MUL_swd_set_target_state_sw(TARGET_RESET_STATE state) +{ + uint32_t val; + int8_t ap_retries = 2; + /* Calling MUL_swd_init prior to enterring RUN state causes operations to fail. */ + if (state != RUN) { + MUL_swd_init(); + } + + switch (state) { + case RESET_HOLD: + MUL_swd_set_target_reset(1); + break; + + case RESET_RUN: + MUL_swd_set_target_reset(1); + osDelay(2); + MUL_swd_set_target_reset(0); + osDelay(2); + MUL_swd_off(); + break; + + case RESET_PROGRAM: + if (!MUL_swd_init_debug()) { + return 0; + } + + // Enable debug and halt the core (DHCSR <- 0xA05F0003) + while (MUL_swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN | C_HALT) == 0) { + if ( --ap_retries <=0 ) { + return 0; + } + // Target is in invalid state? + MUL_swd_set_target_reset(1); + osDelay(2); + MUL_swd_set_target_reset(0); + osDelay(2); + } + + // Wait until core is halted + do { + if (!MUL_swd_read_word(DBG_HCSR, &val)) { + return 0; + } + } while ((val & S_HALT) == 0); + + // Enable halt on reset + if (!MUL_swd_write_word(DBG_EMCR, VC_CORERESET)) { + return 0; + } + + // Perform a soft reset + if (!MUL_swd_read_word(NVIC_AIRCR, &val)) { + return 0; + } + + if (!MUL_swd_write_word(NVIC_AIRCR, VECTKEY | (val & SCB_AIRCR_PRIGROUP_Msk) | soft_reset)) { + return 0; + } + + osDelay(2); + + do { + if (!MUL_swd_read_word(DBG_HCSR, &val)) { + return 0; + } + } while ((val & S_HALT) == 0); + + // Disable halt on reset + if (!MUL_swd_write_word(DBG_EMCR, 0)) { + return 0; + } + + break; + + case NO_DEBUG: + if (!MUL_swd_write_word(DBG_HCSR, DBGKEY)) { + return 0; + } + + break; + + case DEBUG: + if (!MUL_JTAG2SWD()) { + return 0; + } + + if (!MUL_swd_clear_errors()) { + return 0; + } + + // Ensure CTRL/STAT register selected in DPBANKSEL + if (!MUL_swd_write_dp(DP_SELECT, 0)) { + return 0; + } + + // Power up + if (!MUL_swd_write_dp(DP_CTRL_STAT, CSYSPWRUPREQ | CDBGPWRUPREQ)) { + return 0; + } + + // Enable debug + if (!MUL_swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN)) { + return 0; + } + + break; + + case HALT: + if (!MUL_swd_init_debug()) { + return 0; + } + + // Enable debug and halt the core (DHCSR <- 0xA05F0003) + if (!MUL_swd_write_word(DBG_HCSR, DBGKEY | C_DEBUGEN | C_HALT)) { + return 0; + } + + // Wait until core is halted + do { + if (!MUL_swd_read_word(DBG_HCSR, &val)) { + return 0; + } + } while ((val & S_HALT) == 0); + break; + + case RUN: + if (!MUL_swd_write_word(DBG_HCSR, DBGKEY)) { + return 0; + } + MUL_swd_off(); + break; + + case POST_FLASH_RESET: + // This state should be handled in target_reset.c, nothing needs to be done here. + break; + + default: + return 0; + } + + return 1; +} +#endif diff --git a/User/daplink/source/daplink/interface/swd_host_multi.h b/User/daplink/source/daplink/interface/swd_host_multi.h new file mode 100644 index 0000000..bb604b0 --- /dev/null +++ b/User/daplink/source/daplink/interface/swd_host_multi.h @@ -0,0 +1,78 @@ +/** + * @file swd_host_mulit.h + * @brief Host driver for accessing the DAP + * + * DAPLink Interface Firmware + * Copyright (c) 2009-2019, ARM Limited, All Rights Reserved + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef _SWD_HOST_MULTI_H +#define _SWD_HOST_MULTI_H + +#include "flash_blob.h" +#include "target_reset.h" +#ifdef TARGET_MCU_CORTEX_A +#include "debug_ca.h" +#else +#include "debug_cm.h" +#endif + +#include "swd_host.h" + +#ifdef __cplusplus +extern "C" { +#endif + +//typedef enum { +// CONNECT_NORMAL, +// CONNECT_UNDER_RESET, +//} SWD_CONNECT_TYPE; + + + +uint8_t MUL_swd_init(void); +uint8_t MUL_swd_off(void); +uint8_t MUL_swd_init_debug(void); +uint8_t MUL_MUL_swd_clear_errors(void); +uint8_t *MUL_swd_read_dp(uint8_t adr, uint32_t *val); +uint8_t MUL_swd_write_dp(uint8_t adr, uint32_t val); +uint8_t MUL_swd_read_ap(uint32_t adr, uint32_t *val); +uint8_t MUL_swd_write_ap(uint32_t adr, uint32_t val); +uint8_t MUL_swd_read_word(uint32_t addr, uint32_t *val); +uint8_t MUL_swd_write_word(uint32_t addr, uint32_t val); +uint8_t MUL_swd_read_byte(uint32_t addr, uint8_t *val); +uint8_t MUL_swd_write_byte(uint32_t addr, uint8_t val); +uint8_t MUL_swd_read_memory(uint32_t address, uint8_t *data, uint32_t size); +uint8_t MUL_swd_write_memory(uint32_t address, uint8_t *data, uint32_t size); +uint8_t MUL_swd_read_core_register(uint32_t n, uint32_t *val); +uint8_t MUL_swd_write_core_register(uint32_t n, uint32_t val); +uint8_t MUL_swd_flash_syscall_exec(const program_syscall_t *sysCallParam, uint32_t entry, uint32_t arg1, uint32_t arg2, uint32_t arg3, uint32_t arg4); +uint32_t MUL_swd_flash_syscall_exec_ex(const program_syscall_t *sysCallParam, uint32_t entry, uint32_t arg1, uint32_t arg2, uint32_t arg3, uint32_t arg4); +uint8_t MUL_swd_set_target_state_hw(TARGET_RESET_STATE state); +uint8_t MUL_swd_set_target_state_sw(TARGET_RESET_STATE state); +uint8_t *MUL_swd_transfer_retry(uint32_t req, uint32_t *data); +void MUL_int2array(uint8_t *res, uint32_t data, uint8_t len); +void MUL_swd_set_reset_connect(SWD_CONNECT_TYPE type); +void MUL_swd_set_soft_reset(uint32_t soft_reset_type); + + +uint8_t MUL_swd_read_idcode(uint32_t *id); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/User/daplink/source/target/target_family.c b/User/daplink/source/target/target_family.c index 68dd6ae..1011248 100755 --- a/User/daplink/source/target/target_family.c +++ b/User/daplink/source/target/target_family.c @@ -126,28 +126,43 @@ uint8_t target_family_valid(void) uint8_t target_set_state(TARGET_RESET_STATE state) { - if (g_board_info.target_set_state) { //target specific + if (g_board_info.target_set_state) + { //target specific g_board_info.target_set_state(state); } - if (g_target_family) { - if (g_target_family->target_set_state) { + if (g_target_family) + { + if (g_target_family->target_set_state) + { //customize target state return g_target_family->target_set_state(state); - } else { - if (g_target_family->default_reset_type == kHardwareReset) { + } + else + { + if (g_target_family->default_reset_type == kHardwareReset) + { return swd_set_target_state_hw(state); - } else if (g_target_family->default_reset_type == kSoftwareReset) { - if (g_board_info.soft_reset_type) { //board has precedence + } + else if (g_target_family->default_reset_type == kSoftwareReset) + { + if (g_board_info.soft_reset_type) + { //board has precedence swd_set_soft_reset(g_board_info.soft_reset_type); - } else if (g_target_family->soft_reset_type) { + } + else if (g_target_family->soft_reset_type) + { swd_set_soft_reset(g_target_family->soft_reset_type); } return swd_set_target_state_sw(state); - }else { + } + else + { return 1; } } - }else{ + } + else + { return 0; } } diff --git a/User/lua/if/lua_if.c b/User/lua/if/lua_if.c index cab7e3a..dc7a961 100755 --- a/User/lua/if/lua_if.c +++ b/User/lua/if/lua_if.c @@ -148,7 +148,7 @@ void LuaYeildHook(lua_State *_L, lua_Debug *ar) LCD_SetEncode(ENCODE_UTF8); } - ucKeyCode = bsp_GetKey(); /* 读取键值, 无键按下时返回 KEY_NONE = 0 */ + ucKeyCode = bsp_GetKey2(); /* 读取键值, 无键按下时返回 KEY_NONE = 0 */ if (ucKeyCode != KEY_NONE) { /* 有键按下 */ @@ -168,7 +168,7 @@ void LuaYeildHook(lua_State *_L, lua_Debug *ar) { uint8_t ucKeyCode; - ucKeyCode = bsp_GetKey(); /* 读取键值, 无键按下时返回 KEY_NONE = 0 */ + ucKeyCode = bsp_GetKey2(); /* 读取键值, 无键按下时返回 KEY_NONE = 0 */ if (ucKeyCode != KEY_NONE) { /* 有键按下 */ @@ -180,6 +180,14 @@ void LuaYeildHook(lua_State *_L, lua_Debug *ar) lua_yield(_L, 0); break; + case KEY_UP_S: + case KEY_UP_C: + if (g_tProg.AutoStart == 1) + { + ; + } + break; + default: break; } @@ -718,6 +726,58 @@ int l_my_print(lua_State* L) return 0; } +/* +********************************************************************************************************* +* 函 数 名: get_key +* 功能说明: 读取键值 +* 形 参: 无 +* 返 回 值: 无 +********************************************************************************************************* +*/ +static int get_key(lua_State* L) +{ + uint8_t key; + + key = bsp_GetKey(); + lua_pushnumber(L, key); + return 1; +} + +/* +********************************************************************************************************* +* 函 数 名: put_key +* 功能说明: 模拟一个键值 +* 形 参: 无 +* 返 回 值: 无 +********************************************************************************************************* +*/ +static int put_key(lua_State* L) +{ + uint8_t key; + + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 */ + { + key = luaL_checknumber(L, 1); + } + + bsp_PutKey(key); + return 0; +} + +/* +********************************************************************************************************* +* 函 数 名: clear_key +* 功能说明: 清除按键缓冲区 +* 形 参: 无 +* 返 回 值: 无 +********************************************************************************************************* +*/ +static int clear_key(lua_State* L) +{ + bsp_ClearKey(); + return 0; +} + /* ********************************************************************************************************* * 函 数 名: lua_RegisterFunc @@ -738,6 +798,9 @@ static void lua_RegisterFunc(void) lua_register(g_Lua, "read_clock", read_clock); lua_register(g_Lua, "get_runtime", get_runtime); lua_register(g_Lua, "check_runtime", check_runtime); + lua_register(g_Lua, "get_key", get_key); + lua_register(g_Lua, "put_key", put_key); + lua_register(g_Lua, "clear_key", clear_key); /* 注册接口函数 */ lua_gpio_RegisterFun(); @@ -756,4 +819,4 @@ static void lua_RegisterFunc(void) lua_uart_RegisterFun(); } - +/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/ diff --git a/User/lua/if/lua_if_gpio.c b/User/lua/if/lua_if_gpio.c index fcac44c..a14a61d 100755 --- a/User/lua/if/lua_if_gpio.c +++ b/User/lua/if/lua_if_gpio.c @@ -62,18 +62,19 @@ static int lua_GpioCfg(lua_State* L) return 1; } - if (_dir == 0) - { - EIO_ConfigPort(_no, ES_GPIO_IN); - } - else if (_dir == 1) - { - EIO_ConfigPort(_no, ES_GPIO_OUT); - } - else if (_dir == 2) - { - EIO_ConfigPort(_no, ES_FMC_OUT); - } +// if (_dir == 0) +// { +// EIO_ConfigPort(_no, ES_GPIO_IN); +// } +// else if (_dir == 1) +// { +// EIO_ConfigPort(_no, ES_GPIO_OUT); +// } +// else if (_dir == 2) +// { +// EIO_ConfigPort(_no, ES_FMC_OUT); +// } + EIO_ConfigPort(_no, (EIO_SELECT_E)_dir); return 1; } diff --git a/User/lua/if/lua_if_swd.c b/User/lua/if/lua_if_swd.c index f47da60..4f34128 100755 --- a/User/lua/if/lua_if_swd.c +++ b/User/lua/if/lua_if_swd.c @@ -9,12 +9,14 @@ #include "target_reset.h" #include "target_config.h" #include "swd_host.h" +#include "swd_host_multi.h" #include "Systick_Handler.h" #include "main.h" #include "target_family.h" #include "stm8_flash.h" #include "stm8_swim.h" #include "swd_flash.h" +#include "SW_DP_Multi.h" /* 为了避免和DAP驱动中的函数混淆,本模块函数名前缀用 h7swd */ @@ -103,7 +105,7 @@ static int h7_ReladLuaVar(lua_State* L) /* ********************************************************************************************************* * 函 数 名: h7swd_Init -* 功能说明: 读芯片ID +* 功能说明: 初始化swd * 形 参: 无 * 返 回 值: 无 ********************************************************************************************************* @@ -112,9 +114,16 @@ static int h7swd_Init(lua_State* L) { if (g_tProg.ChipType == CHIP_SWD_ARM) { - sysTickInit(); /* 这是DAP驱动中的初始化函数,全局变量初始化 */ - - swd_init_debug(); /* 进入swd debug状态 */ + sysTickInit(); /* 这是DAP驱动中的初始化函数,全局变量初始化 */ + + if (g_gMulSwd.MultiMode == 0) + { + swd_init_debug(); /* 进入swd debug状态 */ + } + else + { + MUL_swd_init_debug(); /* 进入swd debug状态 */ + } } else if (g_tProg.ChipType == CHIP_SWIM_STM8) { @@ -141,17 +150,32 @@ static int h7swd_Init(lua_State* L) static int h7swd_ReadID(lua_State* L) { uint32_t id; + uint32_t id_buf[4]; if (g_tProg.ChipType == CHIP_SWD_ARM) { - if (swd_read_idcode(&id) == 0) + if (g_gMulSwd.MultiMode == 0) { - lua_pushnumber(L, 0); /* 出错 */ - } - else - { - lua_pushnumber(L, id); /* 成功,返回ID */ - } + if (swd_read_idcode(&id) == 0) + { + lua_pushnumber(L, 0); /* 出错 */ + } + else + { + lua_pushnumber(L, id); /* 成功,返回ID */ + } + } + else + { + if (MUL_swd_read_idcode(id_buf) == 0) + { + lua_pushnumber(L, 0); /* 出错 */ + } + else + { + lua_pushnumber(L, id); /* 成功,返回ID */ + } + } } else if (g_tProg.ChipType == CHIP_SWIM_STM8) { @@ -272,16 +296,32 @@ static int h7swd_ReadMemory(lua_State* L) if (g_tProg.ChipType == CHIP_SWD_ARM) { - if (swd_read_memory(addr, s_lua_read_buf, num) == 0) - { - lua_pushnumber(L, 0); /* 出错 */ - } - else - { - lua_pushnumber(L, 1); /* 成功 */ - } + if (g_gMulSwd.MultiMode == 0) /* 单机模式 */ + { + if (swd_read_memory(addr, s_lua_read_buf, num) == 0) + { + lua_pushnumber(L, 0); /* 出错 */ + } + else + { + lua_pushnumber(L, 1); /* 成功 */ + } - lua_pushlstring(L, (char *)s_lua_read_buf, num); + lua_pushlstring(L, (char *)s_lua_read_buf, num); + } + else /* 1拖4模式 */ + { + if (MUL_swd_read_memory(addr, s_lua_read_buf, num) == 0) + { + lua_pushnumber(L, 0); /* 出错 */ + } + else + { + lua_pushnumber(L, 1); /* 成功 */ + } + + lua_pushlstring(L, (char *)s_lua_read_buf, num); + } } else if (g_tProg.ChipType == CHIP_SWIM_STM8) { @@ -498,30 +538,61 @@ static int h7_reset(lua_State* L) static int h7_DetectIC(lua_State* L) { if (g_tProg.ChipType == CHIP_SWD_ARM) - { - uint8_t i; - uint32_t id = 0; - - for (i = 0; i < 3; i++) + { + if (g_gMulSwd.MultiMode == 0) { - sysTickInit(); /* 这是DAP驱动中的初始化函数,全局变量初始化 */ - - bsp_DelayUS(5 * 1000); /* 延迟10ms */ + uint8_t i; + uint32_t id = 0; - swd_init_debug(); /* 进入swd debug状态 */ - - if (swd_read_idcode(&id) == 0) + for (i = 0; i < 3; i++) { - id = 0; /* 出错继续检测 */ + sysTickInit(); /* 这是DAP驱动中的初始化函数,全局变量初始化 */ + + bsp_DelayUS(5 * 1000); /* 延迟10ms */ + + swd_init_debug(); /* 进入swd debug状态 */ + + if (swd_read_idcode(&id) == 0) + { + id = 0; /* 出错继续检测 */ + } + else + { + break; + } } - else - { - break; - } - } - lua_pushnumber(L, id); /* 成功,返回ID */ - return 1; + lua_pushnumber(L, id); /* 成功,返回ID */ + return 1; + } + else /* 1拖4模式 */ + { + uint8_t i; + uint32_t id[4] = {0}; + + sysTickInit(); /* 这是DAP驱动中的初始化函数,全局变量初始化 */ + for (i = 0; i < 3; i++) + { + bsp_DelayUS(5 * 1000); /* 延迟5ms */ + + MUL_swd_init_debug(); /* 进入swd debug状态 */ + + if (MUL_swd_read_idcode(id) == 0) + { + //id = 0; /* 出错继续检测 */ + } + else + { + break; + } + } + + lua_pushnumber(L, id[0]); /* 成功,返回ID */ + lua_pushnumber(L, id[1]); /* 成功,返回ID */ + lua_pushnumber(L, id[2]); /* 成功,返回ID */ + lua_pushnumber(L, id[3]); /* 成功,返回ID */ + return 4; + } } else if (g_tProg.ChipType == CHIP_SWIM_STM8) { diff --git a/User/lua/if/lua_if_uart.c b/User/lua/if/lua_if_uart.c index b7da886..4d35d76 100644 --- a/User/lua/if/lua_if_uart.c +++ b/User/lua/if/lua_if_uart.c @@ -45,6 +45,7 @@ static int lua_uart_cfg(lua_State* L); static int lua_uart_send(lua_State* L); static int lua_uart_recive(lua_State* L); +static int lua_uart_clear_rx_fifo(lua_State* L); static int lua_uart_WriteReg16(lua_State* L); static int lua_uart_WriteReg32(lua_State* L); @@ -75,6 +76,7 @@ void lua_uart_RegisterFun(void) lua_register(g_Lua, "uart_cfg", lua_uart_cfg); lua_register(g_Lua, "uart_send", lua_uart_send); lua_register(g_Lua, "uart_recive", lua_uart_recive); + lua_register(g_Lua, "uart_clear_rx", lua_uart_clear_rx_fifo); lua_register(g_Lua, "modbus_write_u16", lua_uart_WriteReg16); lua_register(g_Lua, "modbus_write_u32", lua_uart_WriteReg32); @@ -303,7 +305,7 @@ static int lua_uart_recive(lua_State* L) } time1 = bsp_GetRunTime(); - timeout = luaL_checknumber(L, 2); + timeout = luaL_checknumber(L, 3); len = 0; while (1) { @@ -333,6 +335,37 @@ static int lua_uart_recive(lua_State* L) return 2; /* 返回2个参数 */ } +/* +********************************************************************************************************* +* 函 数 名: lua_uart_clear_rx_fifo +* 功能说明: 清接收缓冲区数据 +* 形 参: prot, maxlen, timeout +* 返 回 值: len, readdata +********************************************************************************************************* +*/ +static int lua_uart_clear_rx_fifo(lua_State* L) +{ + COM_PORT_E port; /* com号: 支持 COM1, COM4, COM7, COM8 */ + + if (lua_type(L, 1) == LUA_TNUMBER) /* 判断第1个参数 : com 端口 */ + { + port = (COM_PORT_E)luaL_checknumber(L, 1); + if (VALID_PORT(port)) + { + ; + } + else + { + LUA_ERR_PARAM_PRINT("\r\nerror : %s,%s,%d\r\n", "uart_recive", "port=",port); + return 0; + } + } + + comClearRxFifo(port); /* 清除接收缓冲区 */ + + return 0; /* 返回0个参数 */ +} + /* ********************************************************************************************************* * 函 数 名: uart_ReadModbusAck @@ -475,25 +508,40 @@ static int lua_uart_WriteReg16(lua_State* L) return 0; } - txbuf[pos++] = addr485; - txbuf[pos++] = 0x10; - txbuf[pos++] = regaddr >> 8; - txbuf[pos++] = regaddr; - - txbuf[pos++] = regnum >> 8; - txbuf[pos++] = regnum; - - txbuf[pos++] = regnum * 2; - - for (i = 0; i < regnum; i++) + if (regnum == 1) /* 1个寄存器使用0x06功能 */ { - txbuf[pos++] = value[i] >> 8; - txbuf[pos++] = value[i]; + + txbuf[pos++] = addr485; + txbuf[pos++] = 0x06; + txbuf[pos++] = regaddr >> 8; + txbuf[pos++] = regaddr; + txbuf[pos++] = value[0] >> 8; + txbuf[pos++] = value[0]; + crc = CRC16_Modbus(txbuf, pos); + txbuf[pos++] = crc >> 8; + txbuf[pos++] = crc; + } + else /* 多个寄存器使用0x10功能 */ + { + txbuf[pos++] = addr485; + txbuf[pos++] = 0x10; + txbuf[pos++] = regaddr >> 8; + txbuf[pos++] = regaddr; + + txbuf[pos++] = regnum >> 8; + txbuf[pos++] = regnum; + + txbuf[pos++] = regnum * 2; + + for (i = 0; i < regnum; i++) + { + txbuf[pos++] = value[i] >> 8; + txbuf[pos++] = value[i]; + } + crc = CRC16_Modbus(txbuf, pos); + txbuf[pos++] = crc >> 8; + txbuf[pos++] = crc; } - crc = CRC16_Modbus(txbuf, pos); - txbuf[pos++] = crc >> 8; - txbuf[pos++] = crc; - comSendBuf((COM_PORT_E)port, txbuf, pos); errcode = ERR_TIMEOUT; @@ -503,6 +551,7 @@ static int lua_uart_WriteReg16(lua_State* L) lua_pushnumber(L, RSP_OK); /* 成功返回0 */ return 1; } + if (rxlen == 5 && (rxbuf[1] & 0x80)) /* 错误应答 */ { /* 01 86 02 C1 C2 */ diff --git a/User/lua/src-bak/Makefile b/User/lua/src-bak/Makefile deleted file mode 100644 index 64c78f7..0000000 --- a/User/lua/src-bak/Makefile +++ /dev/null @@ -1,197 +0,0 @@ -# Makefile for building Lua -# See ../doc/readme.html for installation and customization instructions. - -# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= - -# Your platform. See PLATS for possible values. -PLAT= none - -CC= gcc -std=gnu99 -CFLAGS= -O2 -Wall -Wextra -DLUA_COMPAT_5_2 $(SYSCFLAGS) $(MYCFLAGS) -LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) -LIBS= -lm $(SYSLIBS) $(MYLIBS) - -AR= ar rcu -RANLIB= ranlib -RM= rm -f - -SYSCFLAGS= -SYSLDFLAGS= -SYSLIBS= - -MYCFLAGS= -MYLDFLAGS= -MYLIBS= -MYOBJS= - -# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= - -PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris - -LUA_A= liblua.a -CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o \ - lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o \ - ltm.o lundump.o lvm.o lzio.o -LIB_O= lauxlib.o lbaselib.o lbitlib.o lcorolib.o ldblib.o liolib.o \ - lmathlib.o loslib.o lstrlib.o ltablib.o lutf8lib.o loadlib.o linit.o -BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) - -LUA_T= lua -LUA_O= lua.o - -LUAC_T= luac -LUAC_O= luac.o - -ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) -ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) -ALL_A= $(LUA_A) - -# Targets start here. -default: $(PLAT) - -all: $(ALL_T) - -o: $(ALL_O) - -a: $(ALL_A) - -$(LUA_A): $(BASE_O) - $(AR) $@ $(BASE_O) - $(RANLIB) $@ - -$(LUA_T): $(LUA_O) $(LUA_A) - $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) - -$(LUAC_T): $(LUAC_O) $(LUA_A) - $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) - -clean: - $(RM) $(ALL_T) $(ALL_O) - -depend: - @$(CC) $(CFLAGS) -MM l*.c - -echo: - @echo "PLAT= $(PLAT)" - @echo "CC= $(CC)" - @echo "CFLAGS= $(CFLAGS)" - @echo "LDFLAGS= $(SYSLDFLAGS)" - @echo "LIBS= $(LIBS)" - @echo "AR= $(AR)" - @echo "RANLIB= $(RANLIB)" - @echo "RM= $(RM)" - -# Convenience targets for popular platforms -ALL= all - -none: - @echo "Please do 'make PLATFORM' where PLATFORM is one of these:" - @echo " $(PLATS)" - -aix: - $(MAKE) $(ALL) CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl" SYSLDFLAGS="-brtl -bexpall" - -bsd: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-Wl,-E" - -c89: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_C89" CC="gcc -std=c89" - @echo '' - @echo '*** C89 does not guarantee 64-bit integers for Lua.' - @echo '' - - -freebsd: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" CC="cc" - -generic: $(ALL) - -linux: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline" - -macosx: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX" SYSLIBS="-lreadline" - -mingw: - $(MAKE) "LUA_A=lua53.dll" "LUA_T=lua.exe" \ - "AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \ - "SYSCFLAGS=-DLUA_BUILD_AS_DLL" "SYSLIBS=" "SYSLDFLAGS=-s" lua.exe - $(MAKE) "LUAC_T=luac.exe" luac.exe - -posix: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX" - -solaris: - $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN -D_REENTRANT" SYSLIBS="-ldl" - -# list targets that do not create files (but not all makes understand .PHONY) -.PHONY: all $(PLATS) default o a clean depend echo none - -# DO NOT DELETE - -lapi.o: lapi.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ - lobject.h ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lstring.h \ - ltable.h lundump.h lvm.h -lauxlib.o: lauxlib.c lprefix.h lua.h luaconf.h lauxlib.h -lbaselib.o: lbaselib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -lbitlib.o: lbitlib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -lcode.o: lcode.c lprefix.h lua.h luaconf.h lcode.h llex.h lobject.h \ - llimits.h lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h \ - ldo.h lgc.h lstring.h ltable.h lvm.h -lcorolib.o: lcorolib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -lctype.o: lctype.c lprefix.h lctype.h lua.h luaconf.h llimits.h -ldblib.o: ldblib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -ldebug.o: ldebug.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ - lobject.h ltm.h lzio.h lmem.h lcode.h llex.h lopcodes.h lparser.h \ - ldebug.h ldo.h lfunc.h lstring.h lgc.h ltable.h lvm.h -ldo.o: ldo.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ - lobject.h ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lopcodes.h \ - lparser.h lstring.h ltable.h lundump.h lvm.h -ldump.o: ldump.c lprefix.h lua.h luaconf.h lobject.h llimits.h lstate.h \ - ltm.h lzio.h lmem.h lundump.h -lfunc.o: lfunc.c lprefix.h lua.h luaconf.h lfunc.h lobject.h llimits.h \ - lgc.h lstate.h ltm.h lzio.h lmem.h -lgc.o: lgc.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ - llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h -linit.o: linit.c lprefix.h lua.h luaconf.h lualib.h lauxlib.h -liolib.o: liolib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -llex.o: llex.c lprefix.h lua.h luaconf.h lctype.h llimits.h ldebug.h \ - lstate.h lobject.h ltm.h lzio.h lmem.h ldo.h lgc.h llex.h lparser.h \ - lstring.h ltable.h -lmathlib.o: lmathlib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -lmem.o: lmem.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ - llimits.h ltm.h lzio.h lmem.h ldo.h lgc.h -loadlib.o: loadlib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -lobject.o: lobject.c lprefix.h lua.h luaconf.h lctype.h llimits.h \ - ldebug.h lstate.h lobject.h ltm.h lzio.h lmem.h ldo.h lstring.h lgc.h \ - lvm.h -lopcodes.o: lopcodes.c lprefix.h lopcodes.h llimits.h lua.h luaconf.h -loslib.o: loslib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -lparser.o: lparser.c lprefix.h lua.h luaconf.h lcode.h llex.h lobject.h \ - llimits.h lzio.h lmem.h lopcodes.h lparser.h ldebug.h lstate.h ltm.h \ - ldo.h lfunc.h lstring.h lgc.h ltable.h -lstate.o: lstate.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ - lobject.h ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h llex.h \ - lstring.h ltable.h -lstring.o: lstring.c lprefix.h lua.h luaconf.h ldebug.h lstate.h \ - lobject.h llimits.h ltm.h lzio.h lmem.h ldo.h lstring.h lgc.h -lstrlib.o: lstrlib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -ltable.o: ltable.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ - llimits.h ltm.h lzio.h lmem.h ldo.h lgc.h lstring.h ltable.h lvm.h -ltablib.o: ltablib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -ltm.o: ltm.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ - llimits.h ltm.h lzio.h lmem.h ldo.h lstring.h lgc.h ltable.h lvm.h -lua.o: lua.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -luac.o: luac.c lprefix.h lua.h luaconf.h lauxlib.h lobject.h llimits.h \ - lstate.h ltm.h lzio.h lmem.h lundump.h ldebug.h lopcodes.h -lundump.o: lundump.c lprefix.h lua.h luaconf.h ldebug.h lstate.h \ - lobject.h llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lstring.h lgc.h \ - lundump.h -lutf8lib.o: lutf8lib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -lvm.o: lvm.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ - llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lopcodes.h lstring.h \ - ltable.h lvm.h -lzio.o: lzio.c lprefix.h lua.h luaconf.h llimits.h lmem.h lstate.h \ - lobject.h ltm.h lzio.h - -# (end of Makefile) diff --git a/User/lua/src-bak/lapi.c b/User/lua/src-bak/lapi.c deleted file mode 100644 index 31a1f9b..0000000 --- a/User/lua/src-bak/lapi.c +++ /dev/null @@ -1,1299 +0,0 @@ -/* -** $Id: lapi.c,v 2.259.1.2 2017/12/06 18:35:12 roberto Exp $ -** Lua API -** See Copyright Notice in lua.h -*/ - -#define lapi_c -#define LUA_CORE - -#include "lprefix.h" - - -#include -#include - -#include "lua.h" - -#include "lapi.h" -#include "ldebug.h" -#include "ldo.h" -#include "lfunc.h" -#include "lgc.h" -#include "lmem.h" -#include "lobject.h" -#include "lstate.h" -#include "lstring.h" -#include "ltable.h" -#include "ltm.h" -#include "lundump.h" -#include "lvm.h" - - - -const char lua_ident[] = - "$LuaVersion: " LUA_COPYRIGHT " $" - "$LuaAuthors: " LUA_AUTHORS " $"; - - -/* value at a non-valid index */ -#define NONVALIDVALUE cast(TValue *, luaO_nilobject) - -/* corresponding test */ -#define isvalid(o) ((o) != luaO_nilobject) - -/* test for pseudo index */ -#define ispseudo(i) ((i) <= LUA_REGISTRYINDEX) - -/* test for upvalue */ -#define isupvalue(i) ((i) < LUA_REGISTRYINDEX) - -/* test for valid but not pseudo index */ -#define isstackindex(i, o) (isvalid(o) && !ispseudo(i)) - -#define api_checkvalidindex(l,o) api_check(l, isvalid(o), "invalid index") - -#define api_checkstackindex(l, i, o) \ - api_check(l, isstackindex(i, o), "index not in the stack") - - -static TValue *index2addr (lua_State *L, int idx) { - CallInfo *ci = L->ci; - if (idx > 0) { - TValue *o = ci->func + idx; - api_check(L, idx <= ci->top - (ci->func + 1), "unacceptable index"); - if (o >= L->top) return NONVALIDVALUE; - else return o; - } - else if (!ispseudo(idx)) { /* negative index */ - api_check(L, idx != 0 && -idx <= L->top - (ci->func + 1), "invalid index"); - return L->top + idx; - } - else if (idx == LUA_REGISTRYINDEX) - return &G(L)->l_registry; - else { /* upvalues */ - idx = LUA_REGISTRYINDEX - idx; - api_check(L, idx <= MAXUPVAL + 1, "upvalue index too large"); - if (ttislcf(ci->func)) /* light C function? */ - return NONVALIDVALUE; /* it has no upvalues */ - else { - CClosure *func = clCvalue(ci->func); - return (idx <= func->nupvalues) ? &func->upvalue[idx-1] : NONVALIDVALUE; - } - } -} - - -/* -** to be called by 'lua_checkstack' in protected mode, to grow stack -** capturing memory errors -*/ -static void growstack (lua_State *L, void *ud) { - int size = *(int *)ud; - luaD_growstack(L, size); -} - - -LUA_API int lua_checkstack (lua_State *L, int n) { - int res; - CallInfo *ci = L->ci; - lua_lock(L); - api_check(L, n >= 0, "negative 'n'"); - if (L->stack_last - L->top > n) /* stack large enough? */ - res = 1; /* yes; check is OK */ - else { /* no; need to grow stack */ - int inuse = cast_int(L->top - L->stack) + EXTRA_STACK; - if (inuse > LUAI_MAXSTACK - n) /* can grow without overflow? */ - res = 0; /* no */ - else /* try to grow stack */ - res = (luaD_rawrunprotected(L, &growstack, &n) == LUA_OK); - } - if (res && ci->top < L->top + n) - ci->top = L->top + n; /* adjust frame top */ - lua_unlock(L); - return res; -} - - -LUA_API void lua_xmove (lua_State *from, lua_State *to, int n) { - int i; - if (from == to) return; - lua_lock(to); - api_checknelems(from, n); - api_check(from, G(from) == G(to), "moving among independent states"); - api_check(from, to->ci->top - to->top >= n, "stack overflow"); - from->top -= n; - for (i = 0; i < n; i++) { - setobj2s(to, to->top, from->top + i); - to->top++; /* stack already checked by previous 'api_check' */ - } - lua_unlock(to); -} - - -LUA_API lua_CFunction lua_atpanic (lua_State *L, lua_CFunction panicf) { - lua_CFunction old; - lua_lock(L); - old = G(L)->panic; - G(L)->panic = panicf; - lua_unlock(L); - return old; -} - - -LUA_API const lua_Number *lua_version (lua_State *L) { - static const lua_Number version = LUA_VERSION_NUM; - if (L == NULL) return &version; - else return G(L)->version; -} - - - -/* -** basic stack manipulation -*/ - - -/* -** convert an acceptable stack index into an absolute index -*/ -LUA_API int lua_absindex (lua_State *L, int idx) { - return (idx > 0 || ispseudo(idx)) - ? idx - : cast_int(L->top - L->ci->func) + idx; -} - - -LUA_API int lua_gettop (lua_State *L) { - return cast_int(L->top - (L->ci->func + 1)); -} - - -LUA_API void lua_settop (lua_State *L, int idx) { - StkId func = L->ci->func; - lua_lock(L); - if (idx >= 0) { - api_check(L, idx <= L->stack_last - (func + 1), "new top too large"); - while (L->top < (func + 1) + idx) - setnilvalue(L->top++); - L->top = (func + 1) + idx; - } - else { - api_check(L, -(idx+1) <= (L->top - (func + 1)), "invalid new top"); - L->top += idx+1; /* 'subtract' index (index is negative) */ - } - lua_unlock(L); -} - - -/* -** Reverse the stack segment from 'from' to 'to' -** (auxiliary to 'lua_rotate') -*/ -static void reverse (lua_State *L, StkId from, StkId to) { - for (; from < to; from++, to--) { - TValue temp; - setobj(L, &temp, from); - setobjs2s(L, from, to); - setobj2s(L, to, &temp); - } -} - - -/* -** Let x = AB, where A is a prefix of length 'n'. Then, -** rotate x n == BA. But BA == (A^r . B^r)^r. -*/ -LUA_API void lua_rotate (lua_State *L, int idx, int n) { - StkId p, t, m; - lua_lock(L); - t = L->top - 1; /* end of stack segment being rotated */ - p = index2addr(L, idx); /* start of segment */ - api_checkstackindex(L, idx, p); - api_check(L, (n >= 0 ? n : -n) <= (t - p + 1), "invalid 'n'"); - m = (n >= 0 ? t - n : p - n - 1); /* end of prefix */ - reverse(L, p, m); /* reverse the prefix with length 'n' */ - reverse(L, m + 1, t); /* reverse the suffix */ - reverse(L, p, t); /* reverse the entire segment */ - lua_unlock(L); -} - - -LUA_API void lua_copy (lua_State *L, int fromidx, int toidx) { - TValue *fr, *to; - lua_lock(L); - fr = index2addr(L, fromidx); - to = index2addr(L, toidx); - api_checkvalidindex(L, to); - setobj(L, to, fr); - if (isupvalue(toidx)) /* function upvalue? */ - luaC_barrier(L, clCvalue(L->ci->func), fr); - /* LUA_REGISTRYINDEX does not need gc barrier - (collector revisits it before finishing collection) */ - lua_unlock(L); -} - - -LUA_API void lua_pushvalue (lua_State *L, int idx) { - lua_lock(L); - setobj2s(L, L->top, index2addr(L, idx)); - api_incr_top(L); - lua_unlock(L); -} - - - -/* -** access functions (stack -> C) -*/ - - -LUA_API int lua_type (lua_State *L, int idx) { - StkId o = index2addr(L, idx); - return (isvalid(o) ? ttnov(o) : LUA_TNONE); -} - - -LUA_API const char *lua_typename (lua_State *L, int t) { - UNUSED(L); - api_check(L, LUA_TNONE <= t && t < LUA_NUMTAGS, "invalid tag"); - return ttypename(t); -} - - -LUA_API int lua_iscfunction (lua_State *L, int idx) { - StkId o = index2addr(L, idx); - return (ttislcf(o) || (ttisCclosure(o))); -} - - -LUA_API int lua_isinteger (lua_State *L, int idx) { - StkId o = index2addr(L, idx); - return ttisinteger(o); -} - - -LUA_API int lua_isnumber (lua_State *L, int idx) { - lua_Number n; - const TValue *o = index2addr(L, idx); - return tonumber(o, &n); -} - - -LUA_API int lua_isstring (lua_State *L, int idx) { - const TValue *o = index2addr(L, idx); - return (ttisstring(o) || cvt2str(o)); -} - - -LUA_API int lua_isuserdata (lua_State *L, int idx) { - const TValue *o = index2addr(L, idx); - return (ttisfulluserdata(o) || ttislightuserdata(o)); -} - - -LUA_API int lua_rawequal (lua_State *L, int index1, int index2) { - StkId o1 = index2addr(L, index1); - StkId o2 = index2addr(L, index2); - return (isvalid(o1) && isvalid(o2)) ? luaV_rawequalobj(o1, o2) : 0; -} - - -LUA_API void lua_arith (lua_State *L, int op) { - lua_lock(L); - if (op != LUA_OPUNM && op != LUA_OPBNOT) - api_checknelems(L, 2); /* all other operations expect two operands */ - else { /* for unary operations, add fake 2nd operand */ - api_checknelems(L, 1); - setobjs2s(L, L->top, L->top - 1); - api_incr_top(L); - } - /* first operand at top - 2, second at top - 1; result go to top - 2 */ - luaO_arith(L, op, L->top - 2, L->top - 1, L->top - 2); - L->top--; /* remove second operand */ - lua_unlock(L); -} - - -LUA_API int lua_compare (lua_State *L, int index1, int index2, int op) { - StkId o1, o2; - int i = 0; - lua_lock(L); /* may call tag method */ - o1 = index2addr(L, index1); - o2 = index2addr(L, index2); - if (isvalid(o1) && isvalid(o2)) { - switch (op) { - case LUA_OPEQ: i = luaV_equalobj(L, o1, o2); break; - case LUA_OPLT: i = luaV_lessthan(L, o1, o2); break; - case LUA_OPLE: i = luaV_lessequal(L, o1, o2); break; - default: api_check(L, 0, "invalid option"); - } - } - lua_unlock(L); - return i; -} - - -LUA_API size_t lua_stringtonumber (lua_State *L, const char *s) { - size_t sz = luaO_str2num(s, L->top); - if (sz != 0) - api_incr_top(L); - return sz; -} - - -LUA_API lua_Number lua_tonumberx (lua_State *L, int idx, int *pisnum) { - lua_Number n; - const TValue *o = index2addr(L, idx); - int isnum = tonumber(o, &n); - if (!isnum) - n = 0; /* call to 'tonumber' may change 'n' even if it fails */ - if (pisnum) *pisnum = isnum; - return n; -} - - -LUA_API lua_Integer lua_tointegerx (lua_State *L, int idx, int *pisnum) { - lua_Integer res; - const TValue *o = index2addr(L, idx); - int isnum = tointeger(o, &res); - if (!isnum) - res = 0; /* call to 'tointeger' may change 'n' even if it fails */ - if (pisnum) *pisnum = isnum; - return res; -} - - -LUA_API int lua_toboolean (lua_State *L, int idx) { - const TValue *o = index2addr(L, idx); - return !l_isfalse(o); -} - - -LUA_API const char *lua_tolstring (lua_State *L, int idx, size_t *len) { - StkId o = index2addr(L, idx); - if (!ttisstring(o)) { - if (!cvt2str(o)) { /* not convertible? */ - if (len != NULL) *len = 0; - return NULL; - } - lua_lock(L); /* 'luaO_tostring' may create a new string */ - luaO_tostring(L, o); - luaC_checkGC(L); - o = index2addr(L, idx); /* previous call may reallocate the stack */ - lua_unlock(L); - } - if (len != NULL) - *len = vslen(o); - return svalue(o); -} - - -LUA_API size_t lua_rawlen (lua_State *L, int idx) { - StkId o = index2addr(L, idx); - switch (ttype(o)) { - case LUA_TSHRSTR: return tsvalue(o)->shrlen; - case LUA_TLNGSTR: return tsvalue(o)->u.lnglen; - case LUA_TUSERDATA: return uvalue(o)->len; - case LUA_TTABLE: return luaH_getn(hvalue(o)); - default: return 0; - } -} - - -LUA_API lua_CFunction lua_tocfunction (lua_State *L, int idx) { - StkId o = index2addr(L, idx); - if (ttislcf(o)) return fvalue(o); - else if (ttisCclosure(o)) - return clCvalue(o)->f; - else return NULL; /* not a C function */ -} - - -LUA_API void *lua_touserdata (lua_State *L, int idx) { - StkId o = index2addr(L, idx); - switch (ttnov(o)) { - case LUA_TUSERDATA: return getudatamem(uvalue(o)); - case LUA_TLIGHTUSERDATA: return pvalue(o); - default: return NULL; - } -} - - -LUA_API lua_State *lua_tothread (lua_State *L, int idx) { - StkId o = index2addr(L, idx); - return (!ttisthread(o)) ? NULL : thvalue(o); -} - - -LUA_API const void *lua_topointer (lua_State *L, int idx) { - StkId o = index2addr(L, idx); - switch (ttype(o)) { - case LUA_TTABLE: return hvalue(o); - case LUA_TLCL: return clLvalue(o); - case LUA_TCCL: return clCvalue(o); - case LUA_TLCF: return cast(void *, cast(size_t, fvalue(o))); - case LUA_TTHREAD: return thvalue(o); - case LUA_TUSERDATA: return getudatamem(uvalue(o)); - case LUA_TLIGHTUSERDATA: return pvalue(o); - default: return NULL; - } -} - - - -/* -** push functions (C -> stack) -*/ - - -LUA_API void lua_pushnil (lua_State *L) { - lua_lock(L); - setnilvalue(L->top); - api_incr_top(L); - lua_unlock(L); -} - - -LUA_API void lua_pushnumber (lua_State *L, lua_Number n) { - lua_lock(L); - setfltvalue(L->top, n); - api_incr_top(L); - lua_unlock(L); -} - - -LUA_API void lua_pushinteger (lua_State *L, lua_Integer n) { - lua_lock(L); - setivalue(L->top, n); - api_incr_top(L); - lua_unlock(L); -} - - -/* -** Pushes on the stack a string with given length. Avoid using 's' when -** 'len' == 0 (as 's' can be NULL in that case), due to later use of -** 'memcmp' and 'memcpy'. -*/ -LUA_API const char *lua_pushlstring (lua_State *L, const char *s, size_t len) { - TString *ts; - lua_lock(L); - ts = (len == 0) ? luaS_new(L, "") : luaS_newlstr(L, s, len); - setsvalue2s(L, L->top, ts); - api_incr_top(L); - luaC_checkGC(L); - lua_unlock(L); - return getstr(ts); -} - - -LUA_API const char *lua_pushstring (lua_State *L, const char *s) { - lua_lock(L); - if (s == NULL) - setnilvalue(L->top); - else { - TString *ts; - ts = luaS_new(L, s); - setsvalue2s(L, L->top, ts); - s = getstr(ts); /* internal copy's address */ - } - api_incr_top(L); - luaC_checkGC(L); - lua_unlock(L); - return s; -} - - -LUA_API const char *lua_pushvfstring (lua_State *L, const char *fmt, - va_list argp) { - const char *ret; - lua_lock(L); - ret = luaO_pushvfstring(L, fmt, argp); - luaC_checkGC(L); - lua_unlock(L); - return ret; -} - - -LUA_API const char *lua_pushfstring (lua_State *L, const char *fmt, ...) { - const char *ret; - va_list argp; - lua_lock(L); - va_start(argp, fmt); - ret = luaO_pushvfstring(L, fmt, argp); - va_end(argp); - luaC_checkGC(L); - lua_unlock(L); - return ret; -} - - -LUA_API void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n) { - lua_lock(L); - if (n == 0) { - setfvalue(L->top, fn); - api_incr_top(L); - } - else { - CClosure *cl; - api_checknelems(L, n); - api_check(L, n <= MAXUPVAL, "upvalue index too large"); - cl = luaF_newCclosure(L, n); - cl->f = fn; - L->top -= n; - while (n--) { - setobj2n(L, &cl->upvalue[n], L->top + n); - /* does not need barrier because closure is white */ - } - setclCvalue(L, L->top, cl); - api_incr_top(L); - luaC_checkGC(L); - } - lua_unlock(L); -} - - -LUA_API void lua_pushboolean (lua_State *L, int b) { - lua_lock(L); - setbvalue(L->top, (b != 0)); /* ensure that true is 1 */ - api_incr_top(L); - lua_unlock(L); -} - - -LUA_API void lua_pushlightuserdata (lua_State *L, void *p) { - lua_lock(L); - setpvalue(L->top, p); - api_incr_top(L); - lua_unlock(L); -} - - -LUA_API int lua_pushthread (lua_State *L) { - lua_lock(L); - setthvalue(L, L->top, L); - api_incr_top(L); - lua_unlock(L); - return (G(L)->mainthread == L); -} - - - -/* -** get functions (Lua -> stack) -*/ - - -static int auxgetstr (lua_State *L, const TValue *t, const char *k) { - const TValue *slot; - TString *str = luaS_new(L, k); - if (luaV_fastget(L, t, str, slot, luaH_getstr)) { - setobj2s(L, L->top, slot); - api_incr_top(L); - } - else { - setsvalue2s(L, L->top, str); - api_incr_top(L); - luaV_finishget(L, t, L->top - 1, L->top - 1, slot); - } - lua_unlock(L); - return ttnov(L->top - 1); -} - - -LUA_API int lua_getglobal (lua_State *L, const char *name) { - Table *reg = hvalue(&G(L)->l_registry); - lua_lock(L); - return auxgetstr(L, luaH_getint(reg, LUA_RIDX_GLOBALS), name); -} - - -LUA_API int lua_gettable (lua_State *L, int idx) { - StkId t; - lua_lock(L); - t = index2addr(L, idx); - luaV_gettable(L, t, L->top - 1, L->top - 1); - lua_unlock(L); - return ttnov(L->top - 1); -} - - -LUA_API int lua_getfield (lua_State *L, int idx, const char *k) { - lua_lock(L); - return auxgetstr(L, index2addr(L, idx), k); -} - - -LUA_API int lua_geti (lua_State *L, int idx, lua_Integer n) { - StkId t; - const TValue *slot; - lua_lock(L); - t = index2addr(L, idx); - if (luaV_fastget(L, t, n, slot, luaH_getint)) { - setobj2s(L, L->top, slot); - api_incr_top(L); - } - else { - setivalue(L->top, n); - api_incr_top(L); - luaV_finishget(L, t, L->top - 1, L->top - 1, slot); - } - lua_unlock(L); - return ttnov(L->top - 1); -} - - -LUA_API int lua_rawget (lua_State *L, int idx) { - StkId t; - lua_lock(L); - t = index2addr(L, idx); - api_check(L, ttistable(t), "table expected"); - setobj2s(L, L->top - 1, luaH_get(hvalue(t), L->top - 1)); - lua_unlock(L); - return ttnov(L->top - 1); -} - - -LUA_API int lua_rawgeti (lua_State *L, int idx, lua_Integer n) { - StkId t; - lua_lock(L); - t = index2addr(L, idx); - api_check(L, ttistable(t), "table expected"); - setobj2s(L, L->top, luaH_getint(hvalue(t), n)); - api_incr_top(L); - lua_unlock(L); - return ttnov(L->top - 1); -} - - -LUA_API int lua_rawgetp (lua_State *L, int idx, const void *p) { - StkId t; - TValue k; - lua_lock(L); - t = index2addr(L, idx); - api_check(L, ttistable(t), "table expected"); - setpvalue(&k, cast(void *, p)); - setobj2s(L, L->top, luaH_get(hvalue(t), &k)); - api_incr_top(L); - lua_unlock(L); - return ttnov(L->top - 1); -} - - -LUA_API void lua_createtable (lua_State *L, int narray, int nrec) { - Table *t; - lua_lock(L); - t = luaH_new(L); - sethvalue(L, L->top, t); - api_incr_top(L); - if (narray > 0 || nrec > 0) - luaH_resize(L, t, narray, nrec); - luaC_checkGC(L); - lua_unlock(L); -} - - -LUA_API int lua_getmetatable (lua_State *L, int objindex) { - const TValue *obj; - Table *mt; - int res = 0; - lua_lock(L); - obj = index2addr(L, objindex); - switch (ttnov(obj)) { - case LUA_TTABLE: - mt = hvalue(obj)->metatable; - break; - case LUA_TUSERDATA: - mt = uvalue(obj)->metatable; - break; - default: - mt = G(L)->mt[ttnov(obj)]; - break; - } - if (mt != NULL) { - sethvalue(L, L->top, mt); - api_incr_top(L); - res = 1; - } - lua_unlock(L); - return res; -} - - -LUA_API int lua_getuservalue (lua_State *L, int idx) { - StkId o; - lua_lock(L); - o = index2addr(L, idx); - api_check(L, ttisfulluserdata(o), "full userdata expected"); - getuservalue(L, uvalue(o), L->top); - api_incr_top(L); - lua_unlock(L); - return ttnov(L->top - 1); -} - - -/* -** set functions (stack -> Lua) -*/ - -/* -** t[k] = value at the top of the stack (where 'k' is a string) -*/ -static void auxsetstr (lua_State *L, const TValue *t, const char *k) { - const TValue *slot; - TString *str = luaS_new(L, k); - api_checknelems(L, 1); - if (luaV_fastset(L, t, str, slot, luaH_getstr, L->top - 1)) - L->top--; /* pop value */ - else { - setsvalue2s(L, L->top, str); /* push 'str' (to make it a TValue) */ - api_incr_top(L); - luaV_finishset(L, t, L->top - 1, L->top - 2, slot); - L->top -= 2; /* pop value and key */ - } - lua_unlock(L); /* lock done by caller */ -} - - -LUA_API void lua_setglobal (lua_State *L, const char *name) { - Table *reg = hvalue(&G(L)->l_registry); - lua_lock(L); /* unlock done in 'auxsetstr' */ - auxsetstr(L, luaH_getint(reg, LUA_RIDX_GLOBALS), name); -} - - -LUA_API void lua_settable (lua_State *L, int idx) { - StkId t; - lua_lock(L); - api_checknelems(L, 2); - t = index2addr(L, idx); - luaV_settable(L, t, L->top - 2, L->top - 1); - L->top -= 2; /* pop index and value */ - lua_unlock(L); -} - - -LUA_API void lua_setfield (lua_State *L, int idx, const char *k) { - lua_lock(L); /* unlock done in 'auxsetstr' */ - auxsetstr(L, index2addr(L, idx), k); -} - - -LUA_API void lua_seti (lua_State *L, int idx, lua_Integer n) { - StkId t; - const TValue *slot; - lua_lock(L); - api_checknelems(L, 1); - t = index2addr(L, idx); - if (luaV_fastset(L, t, n, slot, luaH_getint, L->top - 1)) - L->top--; /* pop value */ - else { - setivalue(L->top, n); - api_incr_top(L); - luaV_finishset(L, t, L->top - 1, L->top - 2, slot); - L->top -= 2; /* pop value and key */ - } - lua_unlock(L); -} - - -LUA_API void lua_rawset (lua_State *L, int idx) { - StkId o; - TValue *slot; - lua_lock(L); - api_checknelems(L, 2); - o = index2addr(L, idx); - api_check(L, ttistable(o), "table expected"); - slot = luaH_set(L, hvalue(o), L->top - 2); - setobj2t(L, slot, L->top - 1); - invalidateTMcache(hvalue(o)); - luaC_barrierback(L, hvalue(o), L->top-1); - L->top -= 2; - lua_unlock(L); -} - - -LUA_API void lua_rawseti (lua_State *L, int idx, lua_Integer n) { - StkId o; - lua_lock(L); - api_checknelems(L, 1); - o = index2addr(L, idx); - api_check(L, ttistable(o), "table expected"); - luaH_setint(L, hvalue(o), n, L->top - 1); - luaC_barrierback(L, hvalue(o), L->top-1); - L->top--; - lua_unlock(L); -} - - -LUA_API void lua_rawsetp (lua_State *L, int idx, const void *p) { - StkId o; - TValue k, *slot; - lua_lock(L); - api_checknelems(L, 1); - o = index2addr(L, idx); - api_check(L, ttistable(o), "table expected"); - setpvalue(&k, cast(void *, p)); - slot = luaH_set(L, hvalue(o), &k); - setobj2t(L, slot, L->top - 1); - luaC_barrierback(L, hvalue(o), L->top - 1); - L->top--; - lua_unlock(L); -} - - -LUA_API int lua_setmetatable (lua_State *L, int objindex) { - TValue *obj; - Table *mt; - lua_lock(L); - api_checknelems(L, 1); - obj = index2addr(L, objindex); - if (ttisnil(L->top - 1)) - mt = NULL; - else { - api_check(L, ttistable(L->top - 1), "table expected"); - mt = hvalue(L->top - 1); - } - switch (ttnov(obj)) { - case LUA_TTABLE: { - hvalue(obj)->metatable = mt; - if (mt) { - luaC_objbarrier(L, gcvalue(obj), mt); - luaC_checkfinalizer(L, gcvalue(obj), mt); - } - break; - } - case LUA_TUSERDATA: { - uvalue(obj)->metatable = mt; - if (mt) { - luaC_objbarrier(L, uvalue(obj), mt); - luaC_checkfinalizer(L, gcvalue(obj), mt); - } - break; - } - default: { - G(L)->mt[ttnov(obj)] = mt; - break; - } - } - L->top--; - lua_unlock(L); - return 1; -} - - -LUA_API void lua_setuservalue (lua_State *L, int idx) { - StkId o; - lua_lock(L); - api_checknelems(L, 1); - o = index2addr(L, idx); - api_check(L, ttisfulluserdata(o), "full userdata expected"); - setuservalue(L, uvalue(o), L->top - 1); - luaC_barrier(L, gcvalue(o), L->top - 1); - L->top--; - lua_unlock(L); -} - - -/* -** 'load' and 'call' functions (run Lua code) -*/ - - -#define checkresults(L,na,nr) \ - api_check(L, (nr) == LUA_MULTRET || (L->ci->top - L->top >= (nr) - (na)), \ - "results from function overflow current stack size") - - -LUA_API void lua_callk (lua_State *L, int nargs, int nresults, - lua_KContext ctx, lua_KFunction k) { - StkId func; - lua_lock(L); - api_check(L, k == NULL || !isLua(L->ci), - "cannot use continuations inside hooks"); - api_checknelems(L, nargs+1); - api_check(L, L->status == LUA_OK, "cannot do calls on non-normal thread"); - checkresults(L, nargs, nresults); - func = L->top - (nargs+1); - if (k != NULL && L->nny == 0) { /* need to prepare continuation? */ - L->ci->u.c.k = k; /* save continuation */ - L->ci->u.c.ctx = ctx; /* save context */ - luaD_call(L, func, nresults); /* do the call */ - } - else /* no continuation or no yieldable */ - luaD_callnoyield(L, func, nresults); /* just do the call */ - adjustresults(L, nresults); - lua_unlock(L); -} - - - -/* -** Execute a protected call. -*/ -struct CallS { /* data to 'f_call' */ - StkId func; - int nresults; -}; - - -static void f_call (lua_State *L, void *ud) { - struct CallS *c = cast(struct CallS *, ud); - luaD_callnoyield(L, c->func, c->nresults); -} - - - -LUA_API int lua_pcallk (lua_State *L, int nargs, int nresults, int errfunc, - lua_KContext ctx, lua_KFunction k) { - struct CallS c; - int status; - ptrdiff_t func; - lua_lock(L); - api_check(L, k == NULL || !isLua(L->ci), - "cannot use continuations inside hooks"); - api_checknelems(L, nargs+1); - api_check(L, L->status == LUA_OK, "cannot do calls on non-normal thread"); - checkresults(L, nargs, nresults); - if (errfunc == 0) - func = 0; - else { - StkId o = index2addr(L, errfunc); - api_checkstackindex(L, errfunc, o); - func = savestack(L, o); - } - c.func = L->top - (nargs+1); /* function to be called */ - if (k == NULL || L->nny > 0) { /* no continuation or no yieldable? */ - c.nresults = nresults; /* do a 'conventional' protected call */ - status = luaD_pcall(L, f_call, &c, savestack(L, c.func), func); - } - else { /* prepare continuation (call is already protected by 'resume') */ - CallInfo *ci = L->ci; - ci->u.c.k = k; /* save continuation */ - ci->u.c.ctx = ctx; /* save context */ - /* save information for error recovery */ - ci->extra = savestack(L, c.func); - ci->u.c.old_errfunc = L->errfunc; - L->errfunc = func; - setoah(ci->callstatus, L->allowhook); /* save value of 'allowhook' */ - ci->callstatus |= CIST_YPCALL; /* function can do error recovery */ - luaD_call(L, c.func, nresults); /* do the call */ - ci->callstatus &= ~CIST_YPCALL; - L->errfunc = ci->u.c.old_errfunc; - status = LUA_OK; /* if it is here, there were no errors */ - } - adjustresults(L, nresults); - lua_unlock(L); - return status; -} - - -LUA_API int lua_load (lua_State *L, lua_Reader reader, void *data, - const char *chunkname, const char *mode) { - ZIO z; - int status; - lua_lock(L); - if (!chunkname) chunkname = "?"; - luaZ_init(L, &z, reader, data); - status = luaD_protectedparser(L, &z, chunkname, mode); - if (status == LUA_OK) { /* no errors? */ - LClosure *f = clLvalue(L->top - 1); /* get newly created function */ - if (f->nupvalues >= 1) { /* does it have an upvalue? */ - /* get global table from registry */ - Table *reg = hvalue(&G(L)->l_registry); - const TValue *gt = luaH_getint(reg, LUA_RIDX_GLOBALS); - /* set global table as 1st upvalue of 'f' (may be LUA_ENV) */ - setobj(L, f->upvals[0]->v, gt); - luaC_upvalbarrier(L, f->upvals[0]); - } - } - lua_unlock(L); - return status; -} - - -LUA_API int lua_dump (lua_State *L, lua_Writer writer, void *data, int strip) { - int status; - TValue *o; - lua_lock(L); - api_checknelems(L, 1); - o = L->top - 1; - if (isLfunction(o)) - status = luaU_dump(L, getproto(o), writer, data, strip); - else - status = 1; - lua_unlock(L); - return status; -} - - -LUA_API int lua_status (lua_State *L) { - return L->status; -} - - -/* -** Garbage-collection function -*/ - -LUA_API int lua_gc (lua_State *L, int what, int data) { - int res = 0; - global_State *g; - lua_lock(L); - g = G(L); - switch (what) { - case LUA_GCSTOP: { - g->gcrunning = 0; - break; - } - case LUA_GCRESTART: { - luaE_setdebt(g, 0); - g->gcrunning = 1; - break; - } - case LUA_GCCOLLECT: { - luaC_fullgc(L, 0); - break; - } - case LUA_GCCOUNT: { - /* GC values are expressed in Kbytes: #bytes/2^10 */ - res = cast_int(gettotalbytes(g) >> 10); - break; - } - case LUA_GCCOUNTB: { - res = cast_int(gettotalbytes(g) & 0x3ff); - break; - } - case LUA_GCSTEP: { - l_mem debt = 1; /* =1 to signal that it did an actual step */ - lu_byte oldrunning = g->gcrunning; - g->gcrunning = 1; /* allow GC to run */ - if (data == 0) { - luaE_setdebt(g, -GCSTEPSIZE); /* to do a "small" step */ - luaC_step(L); - } - else { /* add 'data' to total debt */ - debt = cast(l_mem, data) * 1024 + g->GCdebt; - luaE_setdebt(g, debt); - luaC_checkGC(L); - } - g->gcrunning = oldrunning; /* restore previous state */ - if (debt > 0 && g->gcstate == GCSpause) /* end of cycle? */ - res = 1; /* signal it */ - break; - } - case LUA_GCSETPAUSE: { - res = g->gcpause; - g->gcpause = data; - break; - } - case LUA_GCSETSTEPMUL: { - res = g->gcstepmul; - if (data < 40) data = 40; /* avoid ridiculous low values (and 0) */ - g->gcstepmul = data; - break; - } - case LUA_GCISRUNNING: { - res = g->gcrunning; - break; - } - default: res = -1; /* invalid option */ - } - lua_unlock(L); - return res; -} - - - -/* -** miscellaneous functions -*/ - - -LUA_API int lua_error (lua_State *L) { - lua_lock(L); - api_checknelems(L, 1); - luaG_errormsg(L); - /* code unreachable; will unlock when control actually leaves the kernel */ - return 0; /* to avoid warnings */ -} - - -LUA_API int lua_next (lua_State *L, int idx) { - StkId t; - int more; - lua_lock(L); - t = index2addr(L, idx); - api_check(L, ttistable(t), "table expected"); - more = luaH_next(L, hvalue(t), L->top - 1); - if (more) { - api_incr_top(L); - } - else /* no more elements */ - L->top -= 1; /* remove key */ - lua_unlock(L); - return more; -} - - -LUA_API void lua_concat (lua_State *L, int n) { - lua_lock(L); - api_checknelems(L, n); - if (n >= 2) { - luaV_concat(L, n); - } - else if (n == 0) { /* push empty string */ - setsvalue2s(L, L->top, luaS_newlstr(L, "", 0)); - api_incr_top(L); - } - /* else n == 1; nothing to do */ - luaC_checkGC(L); - lua_unlock(L); -} - - -LUA_API void lua_len (lua_State *L, int idx) { - StkId t; - lua_lock(L); - t = index2addr(L, idx); - luaV_objlen(L, L->top, t); - api_incr_top(L); - lua_unlock(L); -} - - -LUA_API lua_Alloc lua_getallocf (lua_State *L, void **ud) { - lua_Alloc f; - lua_lock(L); - if (ud) *ud = G(L)->ud; - f = G(L)->frealloc; - lua_unlock(L); - return f; -} - - -LUA_API void lua_setallocf (lua_State *L, lua_Alloc f, void *ud) { - lua_lock(L); - G(L)->ud = ud; - G(L)->frealloc = f; - lua_unlock(L); -} - - -LUA_API void *lua_newuserdata (lua_State *L, size_t size) { - Udata *u; - lua_lock(L); - u = luaS_newudata(L, size); - setuvalue(L, L->top, u); - api_incr_top(L); - luaC_checkGC(L); - lua_unlock(L); - return getudatamem(u); -} - - - -static const char *aux_upvalue (StkId fi, int n, TValue **val, - CClosure **owner, UpVal **uv) { - switch (ttype(fi)) { - case LUA_TCCL: { /* C closure */ - CClosure *f = clCvalue(fi); - if (!(1 <= n && n <= f->nupvalues)) return NULL; - *val = &f->upvalue[n-1]; - if (owner) *owner = f; - return ""; - } - case LUA_TLCL: { /* Lua closure */ - LClosure *f = clLvalue(fi); - TString *name; - Proto *p = f->p; - if (!(1 <= n && n <= p->sizeupvalues)) return NULL; - *val = f->upvals[n-1]->v; - if (uv) *uv = f->upvals[n - 1]; - name = p->upvalues[n-1].name; - return (name == NULL) ? "(*no name)" : getstr(name); - } - default: return NULL; /* not a closure */ - } -} - - -LUA_API const char *lua_getupvalue (lua_State *L, int funcindex, int n) { - const char *name; - TValue *val = NULL; /* to avoid warnings */ - lua_lock(L); - name = aux_upvalue(index2addr(L, funcindex), n, &val, NULL, NULL); - if (name) { - setobj2s(L, L->top, val); - api_incr_top(L); - } - lua_unlock(L); - return name; -} - - -LUA_API const char *lua_setupvalue (lua_State *L, int funcindex, int n) { - const char *name; - TValue *val = NULL; /* to avoid warnings */ - CClosure *owner = NULL; - UpVal *uv = NULL; - StkId fi; - lua_lock(L); - fi = index2addr(L, funcindex); - api_checknelems(L, 1); - name = aux_upvalue(fi, n, &val, &owner, &uv); - if (name) { - L->top--; - setobj(L, val, L->top); - if (owner) { luaC_barrier(L, owner, L->top); } - else if (uv) { luaC_upvalbarrier(L, uv); } - } - lua_unlock(L); - return name; -} - - -static UpVal **getupvalref (lua_State *L, int fidx, int n, LClosure **pf) { - LClosure *f; - StkId fi = index2addr(L, fidx); - api_check(L, ttisLclosure(fi), "Lua function expected"); - f = clLvalue(fi); - api_check(L, (1 <= n && n <= f->p->sizeupvalues), "invalid upvalue index"); - if (pf) *pf = f; - return &f->upvals[n - 1]; /* get its upvalue pointer */ -} - - -LUA_API void *lua_upvalueid (lua_State *L, int fidx, int n) { - StkId fi = index2addr(L, fidx); - switch (ttype(fi)) { - case LUA_TLCL: { /* lua closure */ - return *getupvalref(L, fidx, n, NULL); - } - case LUA_TCCL: { /* C closure */ - CClosure *f = clCvalue(fi); - api_check(L, 1 <= n && n <= f->nupvalues, "invalid upvalue index"); - return &f->upvalue[n - 1]; - } - default: { - api_check(L, 0, "closure expected"); - return NULL; - } - } -} - - -LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1, - int fidx2, int n2) { - LClosure *f1; - UpVal **up1 = getupvalref(L, fidx1, n1, &f1); - UpVal **up2 = getupvalref(L, fidx2, n2, NULL); - luaC_upvdeccount(L, *up1); - *up1 = *up2; - (*up1)->refcount++; - if (upisopen(*up1)) (*up1)->u.open.touched = 1; - luaC_upvalbarrier(L, *up1); -} - - diff --git a/User/lua/src-bak/lapi.h b/User/lua/src-bak/lapi.h deleted file mode 100644 index 7f6e58e..0000000 --- a/User/lua/src-bak/lapi.h +++ /dev/null @@ -1,24 +0,0 @@ -/* -** $Id: lapi.h,v 2.9.1.1 2017/04/19 17:20:42 roberto Exp $ -** Auxiliary functions from Lua API -** See Copyright Notice in lua.h -*/ - -#ifndef lapi_h -#define lapi_h - - -#include "llimits.h" -#include "lstate.h" - -#define api_incr_top(L) {L->top++; api_check(L, L->top <= L->ci->top, \ - "stack overflow");} - -#define adjustresults(L,nres) \ - { if ((nres) == LUA_MULTRET && L->ci->top < L->top) L->ci->top = L->top; } - -#define api_checknelems(L,n) api_check(L, (n) < (L->top - L->ci->func), \ - "not enough elements in the stack") - - -#endif diff --git a/User/lua/src-bak/lauxlib.c b/User/lua/src-bak/lauxlib.c deleted file mode 100644 index 84e7bf7..0000000 --- a/User/lua/src-bak/lauxlib.c +++ /dev/null @@ -1,1044 +0,0 @@ -/* -** $Id: lauxlib.c,v 1.289.1.1 2017/04/19 17:20:42 roberto Exp $ -** Auxiliary functions for building Lua libraries -** See Copyright Notice in lua.h -*/ - -#define lauxlib_c -#define LUA_LIB - -#include "lprefix.h" - - -#include -#include -#include -#include -#include - - -/* -** This file uses only the official API of Lua. -** Any function declared here could be written as an application function. -*/ - -#include "lua.h" - -#include "lauxlib.h" - - -/* -** {====================================================== -** Traceback -** ======================================================= -*/ - - -#define LEVELS1 10 /* size of the first part of the stack */ -#define LEVELS2 11 /* size of the second part of the stack */ - - - -/* -** search for 'objidx' in table at index -1. -** return 1 + string at top if find a good name. -*/ -static int findfield (lua_State *L, int objidx, int level) { - if (level == 0 || !lua_istable(L, -1)) - return 0; /* not found */ - lua_pushnil(L); /* start 'next' loop */ - while (lua_next(L, -2)) { /* for each pair in table */ - if (lua_type(L, -2) == LUA_TSTRING) { /* ignore non-string keys */ - if (lua_rawequal(L, objidx, -1)) { /* found object? */ - lua_pop(L, 1); /* remove value (but keep name) */ - return 1; - } - else if (findfield(L, objidx, level - 1)) { /* try recursively */ - lua_remove(L, -2); /* remove table (but keep name) */ - lua_pushliteral(L, "."); - lua_insert(L, -2); /* place '.' between the two names */ - lua_concat(L, 3); - return 1; - } - } - lua_pop(L, 1); /* remove value */ - } - return 0; /* not found */ -} - - -/* -** Search for a name for a function in all loaded modules -*/ -static int pushglobalfuncname (lua_State *L, lua_Debug *ar) { - int top = lua_gettop(L); - lua_getinfo(L, "f", ar); /* push function */ - lua_getfield(L, LUA_REGISTRYINDEX, LUA_LOADED_TABLE); - if (findfield(L, top + 1, 2)) { - const char *name = lua_tostring(L, -1); - if (strncmp(name, "_G.", 3) == 0) { /* name start with '_G.'? */ - lua_pushstring(L, name + 3); /* push name without prefix */ - lua_remove(L, -2); /* remove original name */ - } - lua_copy(L, -1, top + 1); /* move name to proper place */ - lua_pop(L, 2); /* remove pushed values */ - return 1; - } - else { - lua_settop(L, top); /* remove function and global table */ - return 0; - } -} - - -static void pushfuncname (lua_State *L, lua_Debug *ar) { - if (pushglobalfuncname(L, ar)) { /* try first a global name */ - lua_pushfstring(L, "function '%s'", lua_tostring(L, -1)); - lua_remove(L, -2); /* remove name */ - } - else if (*ar->namewhat != '\0') /* is there a name from code? */ - lua_pushfstring(L, "%s '%s'", ar->namewhat, ar->name); /* use it */ - else if (*ar->what == 'm') /* main? */ - lua_pushliteral(L, "main chunk"); - else if (*ar->what != 'C') /* for Lua functions, use */ - lua_pushfstring(L, "function <%s:%d>", ar->short_src, ar->linedefined); - else /* nothing left... */ - lua_pushliteral(L, "?"); -} - - -static int lastlevel (lua_State *L) { - lua_Debug ar; - int li = 1, le = 1; - /* find an upper bound */ - while (lua_getstack(L, le, &ar)) { li = le; le *= 2; } - /* do a binary search */ - while (li < le) { - int m = (li + le)/2; - if (lua_getstack(L, m, &ar)) li = m + 1; - else le = m; - } - return le - 1; -} - - -LUALIB_API void luaL_traceback (lua_State *L, lua_State *L1, - const char *msg, int level) { - lua_Debug ar; - int top = lua_gettop(L); - int last = lastlevel(L1); - int n1 = (last - level > LEVELS1 + LEVELS2) ? LEVELS1 : -1; - if (msg) - lua_pushfstring(L, "%s\n", msg); - luaL_checkstack(L, 10, NULL); - lua_pushliteral(L, "stack traceback:"); - while (lua_getstack(L1, level++, &ar)) { - if (n1-- == 0) { /* too many levels? */ - lua_pushliteral(L, "\n\t..."); /* add a '...' */ - level = last - LEVELS2 + 1; /* and skip to last ones */ - } - else { - lua_getinfo(L1, "Slnt", &ar); - lua_pushfstring(L, "\n\t%s:", ar.short_src); - if (ar.currentline > 0) - lua_pushfstring(L, "%d:", ar.currentline); - lua_pushliteral(L, " in "); - pushfuncname(L, &ar); - if (ar.istailcall) - lua_pushliteral(L, "\n\t(...tail calls...)"); - lua_concat(L, lua_gettop(L) - top); - } - } - lua_concat(L, lua_gettop(L) - top); -} - -/* }====================================================== */ - - -/* -** {====================================================== -** Error-report functions -** ======================================================= -*/ - -LUALIB_API int luaL_argerror (lua_State *L, int arg, const char *extramsg) { - lua_Debug ar; - if (!lua_getstack(L, 0, &ar)) /* no stack frame? */ - return luaL_error(L, "bad argument #%d (%s)", arg, extramsg); - lua_getinfo(L, "n", &ar); - if (strcmp(ar.namewhat, "method") == 0) { - arg--; /* do not count 'self' */ - if (arg == 0) /* error is in the self argument itself? */ - return luaL_error(L, "calling '%s' on bad self (%s)", - ar.name, extramsg); - } - if (ar.name == NULL) - ar.name = (pushglobalfuncname(L, &ar)) ? lua_tostring(L, -1) : "?"; - return luaL_error(L, "bad argument #%d to '%s' (%s)", - arg, ar.name, extramsg); -} - - -static int typeerror (lua_State *L, int arg, const char *tname) { - const char *msg; - const char *typearg; /* name for the type of the actual argument */ - if (luaL_getmetafield(L, arg, "__name") == LUA_TSTRING) - typearg = lua_tostring(L, -1); /* use the given type name */ - else if (lua_type(L, arg) == LUA_TLIGHTUSERDATA) - typearg = "light userdata"; /* special name for messages */ - else - typearg = luaL_typename(L, arg); /* standard name */ - msg = lua_pushfstring(L, "%s expected, got %s", tname, typearg); - return luaL_argerror(L, arg, msg); -} - - -static void tag_error (lua_State *L, int arg, int tag) { - typeerror(L, arg, lua_typename(L, tag)); -} - - -/* -** The use of 'lua_pushfstring' ensures this function does not -** need reserved stack space when called. -*/ -LUALIB_API void luaL_where (lua_State *L, int level) { - lua_Debug ar; - if (lua_getstack(L, level, &ar)) { /* check function at level */ - lua_getinfo(L, "Sl", &ar); /* get info about it */ - if (ar.currentline > 0) { /* is there info? */ - lua_pushfstring(L, "%s:%d: ", ar.short_src, ar.currentline); - return; - } - } - lua_pushfstring(L, ""); /* else, no information available... */ -} - - -/* -** Again, the use of 'lua_pushvfstring' ensures this function does -** not need reserved stack space when called. (At worst, it generates -** an error with "stack overflow" instead of the given message.) -*/ -LUALIB_API int luaL_error (lua_State *L, const char *fmt, ...) { - va_list argp; - va_start(argp, fmt); - luaL_where(L, 1); - lua_pushvfstring(L, fmt, argp); - va_end(argp); - lua_concat(L, 2); - - return lua_error(L); -} - - -LUALIB_API int luaL_fileresult (lua_State *L, int stat, const char *fname) { - int en = errno; /* calls to Lua API may change this value */ - if (stat) { - lua_pushboolean(L, 1); - return 1; - } - else { - lua_pushnil(L); - if (fname) - lua_pushfstring(L, "%s: %s", fname, strerror(en)); - else - lua_pushstring(L, strerror(en)); - lua_pushinteger(L, en); - return 3; - } -} - - -#if !defined(l_inspectstat) /* { */ - -#if defined(LUA_USE_POSIX) - -#include - -/* -** use appropriate macros to interpret 'pclose' return status -*/ -#define l_inspectstat(stat,what) \ - if (WIFEXITED(stat)) { stat = WEXITSTATUS(stat); } \ - else if (WIFSIGNALED(stat)) { stat = WTERMSIG(stat); what = "signal"; } - -#else - -#define l_inspectstat(stat,what) /* no op */ - -#endif - -#endif /* } */ - - -LUALIB_API int luaL_execresult (lua_State *L, int stat) { - const char *what = "exit"; /* type of termination */ - if (stat == -1) /* error? */ - return luaL_fileresult(L, 0, NULL); - else { - l_inspectstat(stat, what); /* interpret result */ - if (*what == 'e' && stat == 0) /* successful termination? */ - lua_pushboolean(L, 1); - else - lua_pushnil(L); - lua_pushstring(L, what); - lua_pushinteger(L, stat); - return 3; /* return true/nil,what,code */ - } -} - -/* }====================================================== */ - - -/* -** {====================================================== -** Userdata's metatable manipulation -** ======================================================= -*/ - -LUALIB_API int luaL_newmetatable (lua_State *L, const char *tname) { - if (luaL_getmetatable(L, tname) != LUA_TNIL) /* name already in use? */ - return 0; /* leave previous value on top, but return 0 */ - lua_pop(L, 1); - lua_createtable(L, 0, 2); /* create metatable */ - lua_pushstring(L, tname); - lua_setfield(L, -2, "__name"); /* metatable.__name = tname */ - lua_pushvalue(L, -1); - lua_setfield(L, LUA_REGISTRYINDEX, tname); /* registry.name = metatable */ - return 1; -} - - -LUALIB_API void luaL_setmetatable (lua_State *L, const char *tname) { - luaL_getmetatable(L, tname); - lua_setmetatable(L, -2); -} - - -LUALIB_API void *luaL_testudata (lua_State *L, int ud, const char *tname) { - void *p = lua_touserdata(L, ud); - if (p != NULL) { /* value is a userdata? */ - if (lua_getmetatable(L, ud)) { /* does it have a metatable? */ - luaL_getmetatable(L, tname); /* get correct metatable */ - if (!lua_rawequal(L, -1, -2)) /* not the same? */ - p = NULL; /* value is a userdata with wrong metatable */ - lua_pop(L, 2); /* remove both metatables */ - return p; - } - } - return NULL; /* value is not a userdata with a metatable */ -} - - -LUALIB_API void *luaL_checkudata (lua_State *L, int ud, const char *tname) { - void *p = luaL_testudata(L, ud, tname); - if (p == NULL) typeerror(L, ud, tname); - return p; -} - -/* }====================================================== */ - - -/* -** {====================================================== -** Argument check functions -** ======================================================= -*/ - -LUALIB_API int luaL_checkoption (lua_State *L, int arg, const char *def, - const char *const lst[]) { - const char *name = (def) ? luaL_optstring(L, arg, def) : - luaL_checkstring(L, arg); - int i; - for (i=0; lst[i]; i++) - if (strcmp(lst[i], name) == 0) - return i; - return luaL_argerror(L, arg, - lua_pushfstring(L, "invalid option '%s'", name)); -} - - -/* -** Ensures the stack has at least 'space' extra slots, raising an error -** if it cannot fulfill the request. (The error handling needs a few -** extra slots to format the error message. In case of an error without -** this extra space, Lua will generate the same 'stack overflow' error, -** but without 'msg'.) -*/ -LUALIB_API void luaL_checkstack (lua_State *L, int space, const char *msg) { - if (!lua_checkstack(L, space)) { - if (msg) - luaL_error(L, "stack overflow (%s)", msg); - else - luaL_error(L, "stack overflow"); - } -} - - -LUALIB_API void luaL_checktype (lua_State *L, int arg, int t) { - if (lua_type(L, arg) != t) - tag_error(L, arg, t); -} - - -LUALIB_API void luaL_checkany (lua_State *L, int arg) { - if (lua_type(L, arg) == LUA_TNONE) - luaL_argerror(L, arg, "value expected"); -} - - -LUALIB_API const char *luaL_checklstring (lua_State *L, int arg, size_t *len) { - const char *s = lua_tolstring(L, arg, len); - if (!s) tag_error(L, arg, LUA_TSTRING); - return s; -} - - -LUALIB_API const char *luaL_optlstring (lua_State *L, int arg, - const char *def, size_t *len) { - if (lua_isnoneornil(L, arg)) { - if (len) - *len = (def ? strlen(def) : 0); - return def; - } - else return luaL_checklstring(L, arg, len); -} - - -LUALIB_API lua_Number luaL_checknumber (lua_State *L, int arg) { - int isnum; - lua_Number d = lua_tonumberx(L, arg, &isnum); - if (!isnum) - tag_error(L, arg, LUA_TNUMBER); - return d; -} - - -LUALIB_API lua_Number luaL_optnumber (lua_State *L, int arg, lua_Number def) { - return luaL_opt(L, luaL_checknumber, arg, def); -} - - -static void interror (lua_State *L, int arg) { - if (lua_isnumber(L, arg)) - luaL_argerror(L, arg, "number has no integer representation"); - else - tag_error(L, arg, LUA_TNUMBER); -} - - -LUALIB_API lua_Integer luaL_checkinteger (lua_State *L, int arg) { - int isnum; - lua_Integer d = lua_tointegerx(L, arg, &isnum); - if (!isnum) { - interror(L, arg); - } - return d; -} - - -LUALIB_API lua_Integer luaL_optinteger (lua_State *L, int arg, - lua_Integer def) { - return luaL_opt(L, luaL_checkinteger, arg, def); -} - -/* }====================================================== */ - - -/* -** {====================================================== -** Generic Buffer manipulation -** ======================================================= -*/ - -/* userdata to box arbitrary data */ -typedef struct UBox { - void *box; - size_t bsize; -} UBox; - - -static void *resizebox (lua_State *L, int idx, size_t newsize) { - void *ud; - lua_Alloc allocf = lua_getallocf(L, &ud); - UBox *box = (UBox *)lua_touserdata(L, idx); - void *temp = allocf(ud, box->box, box->bsize, newsize); - if (temp == NULL && newsize > 0) { /* allocation error? */ - resizebox(L, idx, 0); /* free buffer */ - luaL_error(L, "not enough memory for buffer allocation"); - } - box->box = temp; - box->bsize = newsize; - return temp; -} - - -static int boxgc (lua_State *L) { - resizebox(L, 1, 0); - return 0; -} - - -static void *newbox (lua_State *L, size_t newsize) { - UBox *box = (UBox *)lua_newuserdata(L, sizeof(UBox)); - box->box = NULL; - box->bsize = 0; - if (luaL_newmetatable(L, "LUABOX")) { /* creating metatable? */ - lua_pushcfunction(L, boxgc); - lua_setfield(L, -2, "__gc"); /* metatable.__gc = boxgc */ - } - lua_setmetatable(L, -2); - return resizebox(L, -1, newsize); -} - - -/* -** check whether buffer is using a userdata on the stack as a temporary -** buffer -*/ -#define buffonstack(B) ((B)->b != (B)->initb) - - -/* -** returns a pointer to a free area with at least 'sz' bytes -*/ -LUALIB_API char *luaL_prepbuffsize (luaL_Buffer *B, size_t sz) { - lua_State *L = B->L; - if (B->size - B->n < sz) { /* not enough space? */ - char *newbuff; - size_t newsize = B->size * 2; /* double buffer size */ - if (newsize - B->n < sz) /* not big enough? */ - newsize = B->n + sz; - if (newsize < B->n || newsize - B->n < sz) - luaL_error(L, "buffer too large"); - /* create larger buffer */ - if (buffonstack(B)) - newbuff = (char *)resizebox(L, -1, newsize); - else { /* no buffer yet */ - newbuff = (char *)newbox(L, newsize); - memcpy(newbuff, B->b, B->n * sizeof(char)); /* copy original content */ - } - B->b = newbuff; - B->size = newsize; - } - return &B->b[B->n]; -} - - -LUALIB_API void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l) { - if (l > 0) { /* avoid 'memcpy' when 's' can be NULL */ - char *b = luaL_prepbuffsize(B, l); - memcpy(b, s, l * sizeof(char)); - luaL_addsize(B, l); - } -} - - -LUALIB_API void luaL_addstring (luaL_Buffer *B, const char *s) { - luaL_addlstring(B, s, strlen(s)); -} - - -LUALIB_API void luaL_pushresult (luaL_Buffer *B) { - lua_State *L = B->L; - lua_pushlstring(L, B->b, B->n); - if (buffonstack(B)) { - resizebox(L, -2, 0); /* delete old buffer */ - lua_remove(L, -2); /* remove its header from the stack */ - } -} - - -LUALIB_API void luaL_pushresultsize (luaL_Buffer *B, size_t sz) { - luaL_addsize(B, sz); - luaL_pushresult(B); -} - - -LUALIB_API void luaL_addvalue (luaL_Buffer *B) { - lua_State *L = B->L; - size_t l; - const char *s = lua_tolstring(L, -1, &l); - if (buffonstack(B)) - lua_insert(L, -2); /* put value below buffer */ - luaL_addlstring(B, s, l); - lua_remove(L, (buffonstack(B)) ? -2 : -1); /* remove value */ -} - - -LUALIB_API void luaL_buffinit (lua_State *L, luaL_Buffer *B) { - B->L = L; - B->b = B->initb; - B->n = 0; - B->size = LUAL_BUFFERSIZE; -} - - -LUALIB_API char *luaL_buffinitsize (lua_State *L, luaL_Buffer *B, size_t sz) { - luaL_buffinit(L, B); - return luaL_prepbuffsize(B, sz); -} - -/* }====================================================== */ - - -/* -** {====================================================== -** Reference system -** ======================================================= -*/ - -/* index of free-list header */ -#define freelist 0 - - -LUALIB_API int luaL_ref (lua_State *L, int t) { - int ref; - if (lua_isnil(L, -1)) { - lua_pop(L, 1); /* remove from stack */ - return LUA_REFNIL; /* 'nil' has a unique fixed reference */ - } - t = lua_absindex(L, t); - lua_rawgeti(L, t, freelist); /* get first free element */ - ref = (int)lua_tointeger(L, -1); /* ref = t[freelist] */ - lua_pop(L, 1); /* remove it from stack */ - if (ref != 0) { /* any free element? */ - lua_rawgeti(L, t, ref); /* remove it from list */ - lua_rawseti(L, t, freelist); /* (t[freelist] = t[ref]) */ - } - else /* no free elements */ - ref = (int)lua_rawlen(L, t) + 1; /* get a new reference */ - lua_rawseti(L, t, ref); - return ref; -} - - -LUALIB_API void luaL_unref (lua_State *L, int t, int ref) { - if (ref >= 0) { - t = lua_absindex(L, t); - lua_rawgeti(L, t, freelist); - lua_rawseti(L, t, ref); /* t[ref] = t[freelist] */ - lua_pushinteger(L, ref); - lua_rawseti(L, t, freelist); /* t[freelist] = ref */ - } -} - -/* }====================================================== */ - - -/* -** {====================================================== -** Load functions -** ======================================================= -*/ - -typedef struct LoadF { - int n; /* number of pre-read characters */ - FILE *f; /* file being read */ - char buff[BUFSIZ]; /* area for reading file */ -} LoadF; - - -static const char *getF (lua_State *L, void *ud, size_t *size) { - LoadF *lf = (LoadF *)ud; - (void)L; /* not used */ - if (lf->n > 0) { /* are there pre-read characters to be read? */ - *size = lf->n; /* return them (chars already in buffer) */ - lf->n = 0; /* no more pre-read characters */ - } - else { /* read a block from file */ - /* 'fread' can return > 0 *and* set the EOF flag. If next call to - 'getF' called 'fread', it might still wait for user input. - The next check avoids this problem. */ - if (feof(lf->f)) return NULL; - *size = fread(lf->buff, 1, sizeof(lf->buff), lf->f); /* read block */ - } - return lf->buff; -} - - -static int errfile (lua_State *L, const char *what, int fnameindex) { - const char *serr = strerror(errno); - const char *filename = lua_tostring(L, fnameindex) + 1; - lua_pushfstring(L, "cannot %s %s: %s", what, filename, serr); - lua_remove(L, fnameindex); - return LUA_ERRFILE; -} - - -static int skipBOM (LoadF *lf) { - const char *p = "\xEF\xBB\xBF"; /* UTF-8 BOM mark */ - int c; - lf->n = 0; - do { - c = getc(lf->f); - if (c == EOF || c != *(const unsigned char *)p++) return c; - lf->buff[lf->n++] = c; /* to be read by the parser */ - } while (*p != '\0'); - lf->n = 0; /* prefix matched; discard it */ - return getc(lf->f); /* return next character */ -} - - -/* -** reads the first character of file 'f' and skips an optional BOM mark -** in its beginning plus its first line if it starts with '#'. Returns -** true if it skipped the first line. In any case, '*cp' has the -** first "valid" character of the file (after the optional BOM and -** a first-line comment). -*/ -static int skipcomment (LoadF *lf, int *cp) { - int c = *cp = skipBOM(lf); - if (c == '#') { /* first line is a comment (Unix exec. file)? */ - do { /* skip first line */ - c = getc(lf->f); - } while (c != EOF && c != '\n'); - *cp = getc(lf->f); /* skip end-of-line, if present */ - return 1; /* there was a comment */ - } - else return 0; /* no comment */ -} - - -LUALIB_API int luaL_loadfilex (lua_State *L, const char *filename, - const char *mode) { - LoadF lf; - int status, readstatus; - int c; - int fnameindex = lua_gettop(L) + 1; /* index of filename on the stack */ - if (filename == NULL) { - lua_pushliteral(L, "=stdin"); - lf.f = stdin; - } - else { - lua_pushfstring(L, "@%s", filename); - lf.f = fopen(filename, "r"); - if (lf.f == NULL) return errfile(L, "open", fnameindex); - } - if (skipcomment(&lf, &c)) /* read initial portion */ - lf.buff[lf.n++] = '\n'; /* add line to correct line numbers */ - if (c == LUA_SIGNATURE[0] && filename) { /* binary file? */ - lf.f = freopen(filename, "rb", lf.f); /* reopen in binary mode */ - if (lf.f == NULL) return errfile(L, "reopen", fnameindex); - skipcomment(&lf, &c); /* re-read initial portion */ - } - if (c != EOF) - lf.buff[lf.n++] = c; /* 'c' is the first character of the stream */ - status = lua_load(L, getF, &lf, lua_tostring(L, -1), mode); - readstatus = ferror(lf.f); - if (filename) fclose(lf.f); /* close file (even in case of errors) */ - if (readstatus) { - lua_settop(L, fnameindex); /* ignore results from 'lua_load' */ - return errfile(L, "read", fnameindex); - } - lua_remove(L, fnameindex); - return status; -} - - -typedef struct LoadS { - const char *s; - size_t size; -} LoadS; - - -static const char *getS (lua_State *L, void *ud, size_t *size) { - LoadS *ls = (LoadS *)ud; - (void)L; /* not used */ - if (ls->size == 0) return NULL; - *size = ls->size; - ls->size = 0; - return ls->s; -} - - -LUALIB_API int luaL_loadbufferx (lua_State *L, const char *buff, size_t size, - const char *name, const char *mode) { - LoadS ls; - ls.s = buff; - ls.size = size; - return lua_load(L, getS, &ls, name, mode); -} - - -LUALIB_API int luaL_loadstring (lua_State *L, const char *s) { - return luaL_loadbuffer(L, s, strlen(s), s); -} - -/* }====================================================== */ - - - -LUALIB_API int luaL_getmetafield (lua_State *L, int obj, const char *event) { - if (!lua_getmetatable(L, obj)) /* no metatable? */ - return LUA_TNIL; - else { - int tt; - lua_pushstring(L, event); - tt = lua_rawget(L, -2); - if (tt == LUA_TNIL) /* is metafield nil? */ - lua_pop(L, 2); /* remove metatable and metafield */ - else - lua_remove(L, -2); /* remove only metatable */ - return tt; /* return metafield type */ - } -} - - -LUALIB_API int luaL_callmeta (lua_State *L, int obj, const char *event) { - obj = lua_absindex(L, obj); - if (luaL_getmetafield(L, obj, event) == LUA_TNIL) /* no metafield? */ - return 0; - lua_pushvalue(L, obj); - lua_call(L, 1, 1); - return 1; -} - - -LUALIB_API lua_Integer luaL_len (lua_State *L, int idx) { - lua_Integer l; - int isnum; - lua_len(L, idx); - l = lua_tointegerx(L, -1, &isnum); - if (!isnum) - luaL_error(L, "object length is not an integer"); - lua_pop(L, 1); /* remove object */ - return l; -} - - -LUALIB_API const char *luaL_tolstring (lua_State *L, int idx, size_t *len) { - if (luaL_callmeta(L, idx, "__tostring")) { /* metafield? */ - if (!lua_isstring(L, -1)) - luaL_error(L, "'__tostring' must return a string"); - } - else { - switch (lua_type(L, idx)) { - case LUA_TNUMBER: { - if (lua_isinteger(L, idx)) - lua_pushfstring(L, "%I", (LUAI_UACINT)lua_tointeger(L, idx)); - else - lua_pushfstring(L, "%f", (LUAI_UACNUMBER)lua_tonumber(L, idx)); - break; - } - case LUA_TSTRING: - lua_pushvalue(L, idx); - break; - case LUA_TBOOLEAN: - lua_pushstring(L, (lua_toboolean(L, idx) ? "true" : "false")); - break; - case LUA_TNIL: - lua_pushliteral(L, "nil"); - break; - default: { - int tt = luaL_getmetafield(L, idx, "__name"); /* try name */ - const char *kind = (tt == LUA_TSTRING) ? lua_tostring(L, -1) : - luaL_typename(L, idx); - lua_pushfstring(L, "%s: %p", kind, lua_topointer(L, idx)); - if (tt != LUA_TNIL) - lua_remove(L, -2); /* remove '__name' */ - break; - } - } - } - return lua_tolstring(L, -1, len); -} - - -/* -** {====================================================== -** Compatibility with 5.1 module functions -** ======================================================= -*/ -#if defined(LUA_COMPAT_MODULE) - -static const char *luaL_findtable (lua_State *L, int idx, - const char *fname, int szhint) { - const char *e; - if (idx) lua_pushvalue(L, idx); - do { - e = strchr(fname, '.'); - if (e == NULL) e = fname + strlen(fname); - lua_pushlstring(L, fname, e - fname); - if (lua_rawget(L, -2) == LUA_TNIL) { /* no such field? */ - lua_pop(L, 1); /* remove this nil */ - lua_createtable(L, 0, (*e == '.' ? 1 : szhint)); /* new table for field */ - lua_pushlstring(L, fname, e - fname); - lua_pushvalue(L, -2); - lua_settable(L, -4); /* set new table into field */ - } - else if (!lua_istable(L, -1)) { /* field has a non-table value? */ - lua_pop(L, 2); /* remove table and value */ - return fname; /* return problematic part of the name */ - } - lua_remove(L, -2); /* remove previous table */ - fname = e + 1; - } while (*e == '.'); - return NULL; -} - - -/* -** Count number of elements in a luaL_Reg list. -*/ -static int libsize (const luaL_Reg *l) { - int size = 0; - for (; l && l->name; l++) size++; - return size; -} - - -/* -** Find or create a module table with a given name. The function -** first looks at the LOADED table and, if that fails, try a -** global variable with that name. In any case, leaves on the stack -** the module table. -*/ -LUALIB_API void luaL_pushmodule (lua_State *L, const char *modname, - int sizehint) { - luaL_findtable(L, LUA_REGISTRYINDEX, LUA_LOADED_TABLE, 1); - if (lua_getfield(L, -1, modname) != LUA_TTABLE) { /* no LOADED[modname]? */ - lua_pop(L, 1); /* remove previous result */ - /* try global variable (and create one if it does not exist) */ - lua_pushglobaltable(L); - if (luaL_findtable(L, 0, modname, sizehint) != NULL) - luaL_error(L, "name conflict for module '%s'", modname); - lua_pushvalue(L, -1); - lua_setfield(L, -3, modname); /* LOADED[modname] = new table */ - } - lua_remove(L, -2); /* remove LOADED table */ -} - - -LUALIB_API void luaL_openlib (lua_State *L, const char *libname, - const luaL_Reg *l, int nup) { - luaL_checkversion(L); - if (libname) { - luaL_pushmodule(L, libname, libsize(l)); /* get/create library table */ - lua_insert(L, -(nup + 1)); /* move library table to below upvalues */ - } - if (l) - luaL_setfuncs(L, l, nup); - else - lua_pop(L, nup); /* remove upvalues */ -} - -#endif -/* }====================================================== */ - -/* -** set functions from list 'l' into table at top - 'nup'; each -** function gets the 'nup' elements at the top as upvalues. -** Returns with only the table at the stack. -*/ -LUALIB_API void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) { - luaL_checkstack(L, nup, "too many upvalues"); - for (; l->name != NULL; l++) { /* fill the table with given functions */ - int i; - for (i = 0; i < nup; i++) /* copy upvalues to the top */ - lua_pushvalue(L, -nup); - lua_pushcclosure(L, l->func, nup); /* closure with those upvalues */ - lua_setfield(L, -(nup + 2), l->name); - } - lua_pop(L, nup); /* remove upvalues */ -} - - -/* -** ensure that stack[idx][fname] has a table and push that table -** into the stack -*/ -LUALIB_API int luaL_getsubtable (lua_State *L, int idx, const char *fname) { - if (lua_getfield(L, idx, fname) == LUA_TTABLE) - return 1; /* table already there */ - else { - lua_pop(L, 1); /* remove previous result */ - idx = lua_absindex(L, idx); - lua_newtable(L); - lua_pushvalue(L, -1); /* copy to be left at top */ - lua_setfield(L, idx, fname); /* assign new table to field */ - return 0; /* false, because did not find table there */ - } -} - - -/* -** Stripped-down 'require': After checking "loaded" table, calls 'openf' -** to open a module, registers the result in 'package.loaded' table and, -** if 'glb' is true, also registers the result in the global table. -** Leaves resulting module on the top. -*/ -LUALIB_API void luaL_requiref (lua_State *L, const char *modname, - lua_CFunction openf, int glb) { - luaL_getsubtable(L, LUA_REGISTRYINDEX, LUA_LOADED_TABLE); - lua_getfield(L, -1, modname); /* LOADED[modname] */ - if (!lua_toboolean(L, -1)) { /* package not already loaded? */ - lua_pop(L, 1); /* remove field */ - lua_pushcfunction(L, openf); - lua_pushstring(L, modname); /* argument to open function */ - lua_call(L, 1, 1); /* call 'openf' to open module */ - lua_pushvalue(L, -1); /* make copy of module (call result) */ - lua_setfield(L, -3, modname); /* LOADED[modname] = module */ - } - lua_remove(L, -2); /* remove LOADED table */ - if (glb) { - lua_pushvalue(L, -1); /* copy of module */ - lua_setglobal(L, modname); /* _G[modname] = module */ - } -} - - -LUALIB_API const char *luaL_gsub (lua_State *L, const char *s, const char *p, - const char *r) { - const char *wild; - size_t l = strlen(p); - luaL_Buffer b; - luaL_buffinit(L, &b); - while ((wild = strstr(s, p)) != NULL) { - luaL_addlstring(&b, s, wild - s); /* push prefix */ - luaL_addstring(&b, r); /* push replacement in place of pattern */ - s = wild + l; /* continue after 'p' */ - } - luaL_addstring(&b, s); /* push last suffix */ - luaL_pushresult(&b); - return lua_tostring(L, -1); -} - - -static void *l_alloc (void *ud, void *ptr, size_t osize, size_t nsize) { - (void)ud; (void)osize; /* not used */ - if (nsize == 0) { - free(ptr); - return NULL; - } - else - return realloc(ptr, nsize); -} - - -static int panic (lua_State *L) { - lua_writestringerror("PANIC: unprotected error in call to Lua API (%s)\n", - lua_tostring(L, -1)); - return 0; /* return to Lua to abort */ -} - - -LUALIB_API lua_State *luaL_newstate (void) { - lua_State *L = lua_newstate(l_alloc, NULL); - if (L) lua_atpanic(L, &panic); - return L; -} - - -LUALIB_API void luaL_checkversion_ (lua_State *L, lua_Number ver, size_t sz) { - const lua_Number *v = lua_version(L); - if (sz != LUAL_NUMSIZES) /* check numeric types */ - luaL_error(L, "core and library have incompatible numeric types"); - if (v != lua_version(NULL)) - luaL_error(L, "multiple Lua VMs detected"); - else if (*v != ver) - luaL_error(L, "version mismatch: app. needs %f, Lua core provides %f", - (LUAI_UACNUMBER)ver, (LUAI_UACNUMBER)*v); -} - diff --git a/User/lua/src-bak/lauxlib.h b/User/lua/src-bak/lauxlib.h deleted file mode 100644 index 1285365..0000000 --- a/User/lua/src-bak/lauxlib.h +++ /dev/null @@ -1,264 +0,0 @@ -/* -** $Id: lauxlib.h,v 1.131.1.1 2017/04/19 17:20:42 roberto Exp $ -** Auxiliary functions for building Lua libraries -** See Copyright Notice in lua.h -*/ - - -#ifndef lauxlib_h -#define lauxlib_h - - -#include -#include - -#include "lua.h" - - - -/* extra error code for 'luaL_loadfilex' */ -#define LUA_ERRFILE (LUA_ERRERR+1) - - -/* key, in the registry, for table of loaded modules */ -#define LUA_LOADED_TABLE "_LOADED" - - -/* key, in the registry, for table of preloaded loaders */ -#define LUA_PRELOAD_TABLE "_PRELOAD" - - -typedef struct luaL_Reg { - const char *name; - lua_CFunction func; -} luaL_Reg; - - -#define LUAL_NUMSIZES (sizeof(lua_Integer)*16 + sizeof(lua_Number)) - -LUALIB_API void (luaL_checkversion_) (lua_State *L, lua_Number ver, size_t sz); -#define luaL_checkversion(L) \ - luaL_checkversion_(L, LUA_VERSION_NUM, LUAL_NUMSIZES) - -LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e); -LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e); -LUALIB_API const char *(luaL_tolstring) (lua_State *L, int idx, size_t *len); -LUALIB_API int (luaL_argerror) (lua_State *L, int arg, const char *extramsg); -LUALIB_API const char *(luaL_checklstring) (lua_State *L, int arg, - size_t *l); -LUALIB_API const char *(luaL_optlstring) (lua_State *L, int arg, - const char *def, size_t *l); -LUALIB_API lua_Number (luaL_checknumber) (lua_State *L, int arg); -LUALIB_API lua_Number (luaL_optnumber) (lua_State *L, int arg, lua_Number def); - -LUALIB_API lua_Integer (luaL_checkinteger) (lua_State *L, int arg); -LUALIB_API lua_Integer (luaL_optinteger) (lua_State *L, int arg, - lua_Integer def); - -LUALIB_API void (luaL_checkstack) (lua_State *L, int sz, const char *msg); -LUALIB_API void (luaL_checktype) (lua_State *L, int arg, int t); -LUALIB_API void (luaL_checkany) (lua_State *L, int arg); - -LUALIB_API int (luaL_newmetatable) (lua_State *L, const char *tname); -LUALIB_API void (luaL_setmetatable) (lua_State *L, const char *tname); -LUALIB_API void *(luaL_testudata) (lua_State *L, int ud, const char *tname); -LUALIB_API void *(luaL_checkudata) (lua_State *L, int ud, const char *tname); - -LUALIB_API void (luaL_where) (lua_State *L, int lvl); -LUALIB_API int (luaL_error) (lua_State *L, const char *fmt, ...); - -LUALIB_API int (luaL_checkoption) (lua_State *L, int arg, const char *def, - const char *const lst[]); - -LUALIB_API int (luaL_fileresult) (lua_State *L, int stat, const char *fname); -LUALIB_API int (luaL_execresult) (lua_State *L, int stat); - -/* predefined references */ -#define LUA_NOREF (-2) -#define LUA_REFNIL (-1) - -LUALIB_API int (luaL_ref) (lua_State *L, int t); -LUALIB_API void (luaL_unref) (lua_State *L, int t, int ref); - -LUALIB_API int (luaL_loadfilex) (lua_State *L, const char *filename, - const char *mode); - -#define luaL_loadfile(L,f) luaL_loadfilex(L,f,NULL) - -LUALIB_API int (luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz, - const char *name, const char *mode); -LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s); - -LUALIB_API lua_State *(luaL_newstate) (void); - -LUALIB_API lua_Integer (luaL_len) (lua_State *L, int idx); - -LUALIB_API const char *(luaL_gsub) (lua_State *L, const char *s, const char *p, - const char *r); - -LUALIB_API void (luaL_setfuncs) (lua_State *L, const luaL_Reg *l, int nup); - -LUALIB_API int (luaL_getsubtable) (lua_State *L, int idx, const char *fname); - -LUALIB_API void (luaL_traceback) (lua_State *L, lua_State *L1, - const char *msg, int level); - -LUALIB_API void (luaL_requiref) (lua_State *L, const char *modname, - lua_CFunction openf, int glb); - -/* -** =============================================================== -** some useful macros -** =============================================================== -*/ - - -#define luaL_newlibtable(L,l) \ - lua_createtable(L, 0, sizeof(l)/sizeof((l)[0]) - 1) - -#define luaL_newlib(L,l) \ - (luaL_checkversion(L), luaL_newlibtable(L,l), luaL_setfuncs(L,l,0)) - -#define luaL_argcheck(L, cond,arg,extramsg) \ - ((void)((cond) || luaL_argerror(L, (arg), (extramsg)))) -#define luaL_checkstring(L,n) (luaL_checklstring(L, (n), NULL)) -#define luaL_optstring(L,n,d) (luaL_optlstring(L, (n), (d), NULL)) - -#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i))) - -#define luaL_dofile(L, fn) \ - (luaL_loadfile(L, fn) || lua_pcall(L, 0, LUA_MULTRET, 0)) - -#define luaL_dostring(L, s) \ - (luaL_loadstring(L, s) || lua_pcall(L, 0, LUA_MULTRET, 0)) - -#define luaL_getmetatable(L,n) (lua_getfield(L, LUA_REGISTRYINDEX, (n))) - -#define luaL_opt(L,f,n,d) (lua_isnoneornil(L,(n)) ? (d) : f(L,(n))) - -#define luaL_loadbuffer(L,s,sz,n) luaL_loadbufferx(L,s,sz,n,NULL) - - -/* -** {====================================================== -** Generic Buffer manipulation -** ======================================================= -*/ - -typedef struct luaL_Buffer { - char *b; /* buffer address */ - size_t size; /* buffer size */ - size_t n; /* number of characters in buffer */ - lua_State *L; - char initb[LUAL_BUFFERSIZE]; /* initial buffer */ -} luaL_Buffer; - - -#define luaL_addchar(B,c) \ - ((void)((B)->n < (B)->size || luaL_prepbuffsize((B), 1)), \ - ((B)->b[(B)->n++] = (c))) - -#define luaL_addsize(B,s) ((B)->n += (s)) - -LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B); -LUALIB_API char *(luaL_prepbuffsize) (luaL_Buffer *B, size_t sz); -LUALIB_API void (luaL_addlstring) (luaL_Buffer *B, const char *s, size_t l); -LUALIB_API void (luaL_addstring) (luaL_Buffer *B, const char *s); -LUALIB_API void (luaL_addvalue) (luaL_Buffer *B); -LUALIB_API void (luaL_pushresult) (luaL_Buffer *B); -LUALIB_API void (luaL_pushresultsize) (luaL_Buffer *B, size_t sz); -LUALIB_API char *(luaL_buffinitsize) (lua_State *L, luaL_Buffer *B, size_t sz); - -#define luaL_prepbuffer(B) luaL_prepbuffsize(B, LUAL_BUFFERSIZE) - -/* }====================================================== */ - - - -/* -** {====================================================== -** File handles for IO library -** ======================================================= -*/ - -/* -** A file handle is a userdata with metatable 'LUA_FILEHANDLE' and -** initial structure 'luaL_Stream' (it may contain other fields -** after that initial structure). -*/ - -#define LUA_FILEHANDLE "FILE*" - - -typedef struct luaL_Stream { - FILE *f; /* stream (NULL for incompletely created streams) */ - lua_CFunction closef; /* to close stream (NULL for closed streams) */ -} luaL_Stream; - -/* }====================================================== */ - - - -/* compatibility with old module system */ -#if defined(LUA_COMPAT_MODULE) - -LUALIB_API void (luaL_pushmodule) (lua_State *L, const char *modname, - int sizehint); -LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname, - const luaL_Reg *l, int nup); - -#define luaL_register(L,n,l) (luaL_openlib(L,(n),(l),0)) - -#endif - - -/* -** {================================================================== -** "Abstraction Layer" for basic report of messages and errors -** =================================================================== -*/ - -/* print a string */ -#if !defined(lua_writestring) -#define lua_writestring(s,l) fwrite((s), sizeof(char), (l), stdout) -#endif - -/* print a newline and flush the output */ -#if !defined(lua_writeline) -#define lua_writeline() (lua_writestring("\n", 1), fflush(stdout)) -#endif - -/* print an error message */ -#if !defined(lua_writestringerror) -#define lua_writestringerror(s,p) \ - (fprintf(stderr, (s), (p)), fflush(stderr)) -#endif - -/* }================================================================== */ - - -/* -** {============================================================ -** Compatibility with deprecated conversions -** ============================================================= -*/ -#if defined(LUA_COMPAT_APIINTCASTS) - -#define luaL_checkunsigned(L,a) ((lua_Unsigned)luaL_checkinteger(L,a)) -#define luaL_optunsigned(L,a,d) \ - ((lua_Unsigned)luaL_optinteger(L,a,(lua_Integer)(d))) - -#define luaL_checkint(L,n) ((int)luaL_checkinteger(L, (n))) -#define luaL_optint(L,n,d) ((int)luaL_optinteger(L, (n), (d))) - -#define luaL_checklong(L,n) ((long)luaL_checkinteger(L, (n))) -#define luaL_optlong(L,n,d) ((long)luaL_optinteger(L, (n), (d))) - -#endif -/* }============================================================ */ - - - -#endif - - diff --git a/User/lua/src-bak/lbaselib.c b/User/lua/src-bak/lbaselib.c deleted file mode 100644 index 85dc880..0000000 --- a/User/lua/src-bak/lbaselib.c +++ /dev/null @@ -1,498 +0,0 @@ -/* -** $Id: lbaselib.c,v 1.314.1.1 2017/04/19 17:39:34 roberto Exp $ -** Basic library -** See Copyright Notice in lua.h -*/ - -#define lbaselib_c -#define LUA_LIB - -#include "lprefix.h" - - -#include -#include -#include -#include - -#include "lua.h" - -#include "lauxlib.h" -#include "lualib.h" - - -static int luaB_print (lua_State *L) { - int n = lua_gettop(L); /* number of arguments */ - int i; - lua_getglobal(L, "tostring"); - for (i=1; i<=n; i++) { - const char *s; - size_t l; - lua_pushvalue(L, -1); /* function to be called */ - lua_pushvalue(L, i); /* value to print */ - lua_call(L, 1, 1); - s = lua_tolstring(L, -1, &l); /* get result */ - if (s == NULL) - return luaL_error(L, "'tostring' must return a string to 'print'"); - if (i>1) lua_writestring("\t", 1); - lua_writestring(s, l); - lua_pop(L, 1); /* pop result */ - } - lua_writeline(); - return 0; -} - - -#define SPACECHARS " \f\n\r\t\v" - -static const char *b_str2int (const char *s, int base, lua_Integer *pn) { - lua_Unsigned n = 0; - int neg = 0; - s += strspn(s, SPACECHARS); /* skip initial spaces */ - if (*s == '-') { s++; neg = 1; } /* handle signal */ - else if (*s == '+') s++; - if (!isalnum((unsigned char)*s)) /* no digit? */ - return NULL; - do { - int digit = (isdigit((unsigned char)*s)) ? *s - '0' - : (toupper((unsigned char)*s) - 'A') + 10; - if (digit >= base) return NULL; /* invalid numeral */ - n = n * base + digit; - s++; - } while (isalnum((unsigned char)*s)); - s += strspn(s, SPACECHARS); /* skip trailing spaces */ - *pn = (lua_Integer)((neg) ? (0u - n) : n); - return s; -} - - -static int luaB_tonumber (lua_State *L) { - if (lua_isnoneornil(L, 2)) { /* standard conversion? */ - luaL_checkany(L, 1); - if (lua_type(L, 1) == LUA_TNUMBER) { /* already a number? */ - lua_settop(L, 1); /* yes; return it */ - return 1; - } - else { - size_t l; - const char *s = lua_tolstring(L, 1, &l); - if (s != NULL && lua_stringtonumber(L, s) == l + 1) - return 1; /* successful conversion to number */ - /* else not a number */ - } - } - else { - size_t l; - const char *s; - lua_Integer n = 0; /* to avoid warnings */ - lua_Integer base = luaL_checkinteger(L, 2); - luaL_checktype(L, 1, LUA_TSTRING); /* no numbers as strings */ - s = lua_tolstring(L, 1, &l); - luaL_argcheck(L, 2 <= base && base <= 36, 2, "base out of range"); - if (b_str2int(s, (int)base, &n) == s + l) { - lua_pushinteger(L, n); - return 1; - } /* else not a number */ - } /* else not a number */ - lua_pushnil(L); /* not a number */ - return 1; -} - - -static int luaB_error (lua_State *L) { - int level = (int)luaL_optinteger(L, 2, 1); - lua_settop(L, 1); - if (lua_type(L, 1) == LUA_TSTRING && level > 0) { - luaL_where(L, level); /* add extra information */ - lua_pushvalue(L, 1); - lua_concat(L, 2); - } - return lua_error(L); -} - - -static int luaB_getmetatable (lua_State *L) { - luaL_checkany(L, 1); - if (!lua_getmetatable(L, 1)) { - lua_pushnil(L); - return 1; /* no metatable */ - } - luaL_getmetafield(L, 1, "__metatable"); - return 1; /* returns either __metatable field (if present) or metatable */ -} - - -static int luaB_setmetatable (lua_State *L) { - int t = lua_type(L, 2); - luaL_checktype(L, 1, LUA_TTABLE); - luaL_argcheck(L, t == LUA_TNIL || t == LUA_TTABLE, 2, - "nil or table expected"); - if (luaL_getmetafield(L, 1, "__metatable") != LUA_TNIL) - return luaL_error(L, "cannot change a protected metatable"); - lua_settop(L, 2); - lua_setmetatable(L, 1); - return 1; -} - - -static int luaB_rawequal (lua_State *L) { - luaL_checkany(L, 1); - luaL_checkany(L, 2); - lua_pushboolean(L, lua_rawequal(L, 1, 2)); - return 1; -} - - -static int luaB_rawlen (lua_State *L) { - int t = lua_type(L, 1); - luaL_argcheck(L, t == LUA_TTABLE || t == LUA_TSTRING, 1, - "table or string expected"); - lua_pushinteger(L, lua_rawlen(L, 1)); - return 1; -} - - -static int luaB_rawget (lua_State *L) { - luaL_checktype(L, 1, LUA_TTABLE); - luaL_checkany(L, 2); - lua_settop(L, 2); - lua_rawget(L, 1); - return 1; -} - -static int luaB_rawset (lua_State *L) { - luaL_checktype(L, 1, LUA_TTABLE); - luaL_checkany(L, 2); - luaL_checkany(L, 3); - lua_settop(L, 3); - lua_rawset(L, 1); - return 1; -} - - -static int luaB_collectgarbage (lua_State *L) { - static const char *const opts[] = {"stop", "restart", "collect", - "count", "step", "setpause", "setstepmul", - "isrunning", NULL}; - static const int optsnum[] = {LUA_GCSTOP, LUA_GCRESTART, LUA_GCCOLLECT, - LUA_GCCOUNT, LUA_GCSTEP, LUA_GCSETPAUSE, LUA_GCSETSTEPMUL, - LUA_GCISRUNNING}; - int o = optsnum[luaL_checkoption(L, 1, "collect", opts)]; - int ex = (int)luaL_optinteger(L, 2, 0); - int res = lua_gc(L, o, ex); - switch (o) { - case LUA_GCCOUNT: { - int b = lua_gc(L, LUA_GCCOUNTB, 0); - lua_pushnumber(L, (lua_Number)res + ((lua_Number)b/1024)); - return 1; - } - case LUA_GCSTEP: case LUA_GCISRUNNING: { - lua_pushboolean(L, res); - return 1; - } - default: { - lua_pushinteger(L, res); - return 1; - } - } -} - - -static int luaB_type (lua_State *L) { - int t = lua_type(L, 1); - luaL_argcheck(L, t != LUA_TNONE, 1, "value expected"); - lua_pushstring(L, lua_typename(L, t)); - return 1; -} - - -static int pairsmeta (lua_State *L, const char *method, int iszero, - lua_CFunction iter) { - luaL_checkany(L, 1); - if (luaL_getmetafield(L, 1, method) == LUA_TNIL) { /* no metamethod? */ - lua_pushcfunction(L, iter); /* will return generator, */ - lua_pushvalue(L, 1); /* state, */ - if (iszero) lua_pushinteger(L, 0); /* and initial value */ - else lua_pushnil(L); - } - else { - lua_pushvalue(L, 1); /* argument 'self' to metamethod */ - lua_call(L, 1, 3); /* get 3 values from metamethod */ - } - return 3; -} - - -static int luaB_next (lua_State *L) { - luaL_checktype(L, 1, LUA_TTABLE); - lua_settop(L, 2); /* create a 2nd argument if there isn't one */ - if (lua_next(L, 1)) - return 2; - else { - lua_pushnil(L); - return 1; - } -} - - -static int luaB_pairs (lua_State *L) { - return pairsmeta(L, "__pairs", 0, luaB_next); -} - - -/* -** Traversal function for 'ipairs' -*/ -static int ipairsaux (lua_State *L) { - lua_Integer i = luaL_checkinteger(L, 2) + 1; - lua_pushinteger(L, i); - return (lua_geti(L, 1, i) == LUA_TNIL) ? 1 : 2; -} - - -/* -** 'ipairs' function. Returns 'ipairsaux', given "table", 0. -** (The given "table" may not be a table.) -*/ -static int luaB_ipairs (lua_State *L) { -#if defined(LUA_COMPAT_IPAIRS) - return pairsmeta(L, "__ipairs", 1, ipairsaux); -#else - luaL_checkany(L, 1); - lua_pushcfunction(L, ipairsaux); /* iteration function */ - lua_pushvalue(L, 1); /* state */ - lua_pushinteger(L, 0); /* initial value */ - return 3; -#endif -} - - -static int load_aux (lua_State *L, int status, int envidx) { - if (status == LUA_OK) { - if (envidx != 0) { /* 'env' parameter? */ - lua_pushvalue(L, envidx); /* environment for loaded function */ - if (!lua_setupvalue(L, -2, 1)) /* set it as 1st upvalue */ - lua_pop(L, 1); /* remove 'env' if not used by previous call */ - } - return 1; - } - else { /* error (message is on top of the stack) */ - lua_pushnil(L); - lua_insert(L, -2); /* put before error message */ - return 2; /* return nil plus error message */ - } -} - - -static int luaB_loadfile (lua_State *L) { - const char *fname = luaL_optstring(L, 1, NULL); - const char *mode = luaL_optstring(L, 2, NULL); - int env = (!lua_isnone(L, 3) ? 3 : 0); /* 'env' index or 0 if no 'env' */ - int status = luaL_loadfilex(L, fname, mode); - return load_aux(L, status, env); -} - - -/* -** {====================================================== -** Generic Read function -** ======================================================= -*/ - - -/* -** reserved slot, above all arguments, to hold a copy of the returned -** string to avoid it being collected while parsed. 'load' has four -** optional arguments (chunk, source name, mode, and environment). -*/ -#define RESERVEDSLOT 5 - - -/* -** Reader for generic 'load' function: 'lua_load' uses the -** stack for internal stuff, so the reader cannot change the -** stack top. Instead, it keeps its resulting string in a -** reserved slot inside the stack. -*/ -static const char *generic_reader (lua_State *L, void *ud, size_t *size) { - (void)(ud); /* not used */ - luaL_checkstack(L, 2, "too many nested functions"); - lua_pushvalue(L, 1); /* get function */ - lua_call(L, 0, 1); /* call it */ - if (lua_isnil(L, -1)) { - lua_pop(L, 1); /* pop result */ - *size = 0; - return NULL; - } - else if (!lua_isstring(L, -1)) - luaL_error(L, "reader function must return a string"); - lua_replace(L, RESERVEDSLOT); /* save string in reserved slot */ - return lua_tolstring(L, RESERVEDSLOT, size); -} - - -static int luaB_load (lua_State *L) { - int status; - size_t l; - const char *s = lua_tolstring(L, 1, &l); - const char *mode = luaL_optstring(L, 3, "bt"); - int env = (!lua_isnone(L, 4) ? 4 : 0); /* 'env' index or 0 if no 'env' */ - if (s != NULL) { /* loading a string? */ - const char *chunkname = luaL_optstring(L, 2, s); - status = luaL_loadbufferx(L, s, l, chunkname, mode); - } - else { /* loading from a reader function */ - const char *chunkname = luaL_optstring(L, 2, "=(load)"); - luaL_checktype(L, 1, LUA_TFUNCTION); - lua_settop(L, RESERVEDSLOT); /* create reserved slot */ - status = lua_load(L, generic_reader, NULL, chunkname, mode); - } - return load_aux(L, status, env); -} - -/* }====================================================== */ - - -static int dofilecont (lua_State *L, int d1, lua_KContext d2) { - (void)d1; (void)d2; /* only to match 'lua_Kfunction' prototype */ - return lua_gettop(L) - 1; -} - - -static int luaB_dofile (lua_State *L) { - const char *fname = luaL_optstring(L, 1, NULL); - lua_settop(L, 1); - if (luaL_loadfile(L, fname) != LUA_OK) - return lua_error(L); - lua_callk(L, 0, LUA_MULTRET, 0, dofilecont); - return dofilecont(L, 0, 0); -} - - -static int luaB_assert (lua_State *L) { - if (lua_toboolean(L, 1)) /* condition is true? */ - return lua_gettop(L); /* return all arguments */ - else { /* error */ - luaL_checkany(L, 1); /* there must be a condition */ - lua_remove(L, 1); /* remove it */ - lua_pushliteral(L, "assertion failed!"); /* default message */ - lua_settop(L, 1); /* leave only message (default if no other one) */ - return luaB_error(L); /* call 'error' */ - } -} - - -static int luaB_select (lua_State *L) { - int n = lua_gettop(L); - if (lua_type(L, 1) == LUA_TSTRING && *lua_tostring(L, 1) == '#') { - lua_pushinteger(L, n-1); - return 1; - } - else { - lua_Integer i = luaL_checkinteger(L, 1); - if (i < 0) i = n + i; - else if (i > n) i = n; - luaL_argcheck(L, 1 <= i, 1, "index out of range"); - return n - (int)i; - } -} - - -/* -** Continuation function for 'pcall' and 'xpcall'. Both functions -** already pushed a 'true' before doing the call, so in case of success -** 'finishpcall' only has to return everything in the stack minus -** 'extra' values (where 'extra' is exactly the number of items to be -** ignored). -*/ -static int finishpcall (lua_State *L, int status, lua_KContext extra) { - if (status != LUA_OK && status != LUA_YIELD) { /* error? */ - lua_pushboolean(L, 0); /* first result (false) */ - lua_pushvalue(L, -2); /* error message */ - return 2; /* return false, msg */ - } - else - return lua_gettop(L) - (int)extra; /* return all results */ -} - - -static int luaB_pcall (lua_State *L) { - int status; - luaL_checkany(L, 1); - lua_pushboolean(L, 1); /* first result if no errors */ - lua_insert(L, 1); /* put it in place */ - status = lua_pcallk(L, lua_gettop(L) - 2, LUA_MULTRET, 0, 0, finishpcall); - return finishpcall(L, status, 0); -} - - -/* -** Do a protected call with error handling. After 'lua_rotate', the -** stack will have ; so, the function passes -** 2 to 'finishpcall' to skip the 2 first values when returning results. -*/ -static int luaB_xpcall (lua_State *L) { - int status; - int n = lua_gettop(L); - luaL_checktype(L, 2, LUA_TFUNCTION); /* check error function */ - lua_pushboolean(L, 1); /* first result */ - lua_pushvalue(L, 1); /* function */ - lua_rotate(L, 3, 2); /* move them below function's arguments */ - status = lua_pcallk(L, n - 2, LUA_MULTRET, 2, 2, finishpcall); - return finishpcall(L, status, 2); -} - - -static int luaB_tostring (lua_State *L) { - luaL_checkany(L, 1); - luaL_tolstring(L, 1, NULL); - return 1; -} - - -static const luaL_Reg base_funcs[] = { - {"assert", luaB_assert}, - {"collectgarbage", luaB_collectgarbage}, - {"dofile", luaB_dofile}, - {"error", luaB_error}, - {"getmetatable", luaB_getmetatable}, - {"ipairs", luaB_ipairs}, - {"loadfile", luaB_loadfile}, - {"load", luaB_load}, -#if defined(LUA_COMPAT_LOADSTRING) - {"loadstring", luaB_load}, -#endif - {"next", luaB_next}, - {"pairs", luaB_pairs}, - {"pcall", luaB_pcall}, - {"print", luaB_print}, - {"rawequal", luaB_rawequal}, - {"rawlen", luaB_rawlen}, - {"rawget", luaB_rawget}, - {"rawset", luaB_rawset}, - {"select", luaB_select}, - {"setmetatable", luaB_setmetatable}, - {"tonumber", luaB_tonumber}, - {"tostring", luaB_tostring}, - {"type", luaB_type}, - {"xpcall", luaB_xpcall}, - /* placeholders */ - {"_G", NULL}, - {"_VERSION", NULL}, - {NULL, NULL} -}; - - -LUAMOD_API int luaopen_base (lua_State *L) { - /* open lib into global table */ - lua_pushglobaltable(L); - luaL_setfuncs(L, base_funcs, 0); - /* set global _G */ - lua_pushvalue(L, -1); - lua_setfield(L, -2, "_G"); - /* set global _VERSION */ - lua_pushliteral(L, LUA_VERSION); - lua_setfield(L, -2, "_VERSION"); - return 1; -} - diff --git a/User/lua/src-bak/lbitlib.c b/User/lua/src-bak/lbitlib.c deleted file mode 100644 index e0f1d78..0000000 --- a/User/lua/src-bak/lbitlib.c +++ /dev/null @@ -1,233 +0,0 @@ -/* -** $Id: lbitlib.c,v 1.30.1.1 2017/04/19 17:20:42 roberto Exp $ -** Standard library for bitwise operations -** See Copyright Notice in lua.h -*/ - -#define lbitlib_c -#define LUA_LIB - -#include "lprefix.h" - - -#include "lua.h" - -#include "lauxlib.h" -#include "lualib.h" - - -#if defined(LUA_COMPAT_BITLIB) /* { */ - - -#define pushunsigned(L,n) lua_pushinteger(L, (lua_Integer)(n)) -#define checkunsigned(L,i) ((lua_Unsigned)luaL_checkinteger(L,i)) - - -/* number of bits to consider in a number */ -#if !defined(LUA_NBITS) -#define LUA_NBITS 32 -#endif - - -/* -** a lua_Unsigned with its first LUA_NBITS bits equal to 1. (Shift must -** be made in two parts to avoid problems when LUA_NBITS is equal to the -** number of bits in a lua_Unsigned.) -*/ -#define ALLONES (~(((~(lua_Unsigned)0) << (LUA_NBITS - 1)) << 1)) - - -/* macro to trim extra bits */ -#define trim(x) ((x) & ALLONES) - - -/* builds a number with 'n' ones (1 <= n <= LUA_NBITS) */ -#define mask(n) (~((ALLONES << 1) << ((n) - 1))) - - - -static lua_Unsigned andaux (lua_State *L) { - int i, n = lua_gettop(L); - lua_Unsigned r = ~(lua_Unsigned)0; - for (i = 1; i <= n; i++) - r &= checkunsigned(L, i); - return trim(r); -} - - -static int b_and (lua_State *L) { - lua_Unsigned r = andaux(L); - pushunsigned(L, r); - return 1; -} - - -static int b_test (lua_State *L) { - lua_Unsigned r = andaux(L); - lua_pushboolean(L, r != 0); - return 1; -} - - -static int b_or (lua_State *L) { - int i, n = lua_gettop(L); - lua_Unsigned r = 0; - for (i = 1; i <= n; i++) - r |= checkunsigned(L, i); - pushunsigned(L, trim(r)); - return 1; -} - - -static int b_xor (lua_State *L) { - int i, n = lua_gettop(L); - lua_Unsigned r = 0; - for (i = 1; i <= n; i++) - r ^= checkunsigned(L, i); - pushunsigned(L, trim(r)); - return 1; -} - - -static int b_not (lua_State *L) { - lua_Unsigned r = ~checkunsigned(L, 1); - pushunsigned(L, trim(r)); - return 1; -} - - -static int b_shift (lua_State *L, lua_Unsigned r, lua_Integer i) { - if (i < 0) { /* shift right? */ - i = -i; - r = trim(r); - if (i >= LUA_NBITS) r = 0; - else r >>= i; - } - else { /* shift left */ - if (i >= LUA_NBITS) r = 0; - else r <<= i; - r = trim(r); - } - pushunsigned(L, r); - return 1; -} - - -static int b_lshift (lua_State *L) { - return b_shift(L, checkunsigned(L, 1), luaL_checkinteger(L, 2)); -} - - -static int b_rshift (lua_State *L) { - return b_shift(L, checkunsigned(L, 1), -luaL_checkinteger(L, 2)); -} - - -static int b_arshift (lua_State *L) { - lua_Unsigned r = checkunsigned(L, 1); - lua_Integer i = luaL_checkinteger(L, 2); - if (i < 0 || !(r & ((lua_Unsigned)1 << (LUA_NBITS - 1)))) - return b_shift(L, r, -i); - else { /* arithmetic shift for 'negative' number */ - if (i >= LUA_NBITS) r = ALLONES; - else - r = trim((r >> i) | ~(trim(~(lua_Unsigned)0) >> i)); /* add signal bit */ - pushunsigned(L, r); - return 1; - } -} - - -static int b_rot (lua_State *L, lua_Integer d) { - lua_Unsigned r = checkunsigned(L, 1); - int i = d & (LUA_NBITS - 1); /* i = d % NBITS */ - r = trim(r); - if (i != 0) /* avoid undefined shift of LUA_NBITS when i == 0 */ - r = (r << i) | (r >> (LUA_NBITS - i)); - pushunsigned(L, trim(r)); - return 1; -} - - -static int b_lrot (lua_State *L) { - return b_rot(L, luaL_checkinteger(L, 2)); -} - - -static int b_rrot (lua_State *L) { - return b_rot(L, -luaL_checkinteger(L, 2)); -} - - -/* -** get field and width arguments for field-manipulation functions, -** checking whether they are valid. -** ('luaL_error' called without 'return' to avoid later warnings about -** 'width' being used uninitialized.) -*/ -static int fieldargs (lua_State *L, int farg, int *width) { - lua_Integer f = luaL_checkinteger(L, farg); - lua_Integer w = luaL_optinteger(L, farg + 1, 1); - luaL_argcheck(L, 0 <= f, farg, "field cannot be negative"); - luaL_argcheck(L, 0 < w, farg + 1, "width must be positive"); - if (f + w > LUA_NBITS) - luaL_error(L, "trying to access non-existent bits"); - *width = (int)w; - return (int)f; -} - - -static int b_extract (lua_State *L) { - int w; - lua_Unsigned r = trim(checkunsigned(L, 1)); - int f = fieldargs(L, 2, &w); - r = (r >> f) & mask(w); - pushunsigned(L, r); - return 1; -} - - -static int b_replace (lua_State *L) { - int w; - lua_Unsigned r = trim(checkunsigned(L, 1)); - lua_Unsigned v = trim(checkunsigned(L, 2)); - int f = fieldargs(L, 3, &w); - lua_Unsigned m = mask(w); - r = (r & ~(m << f)) | ((v & m) << f); - pushunsigned(L, r); - return 1; -} - - -static const luaL_Reg bitlib[] = { - {"arshift", b_arshift}, - {"band", b_and}, - {"bnot", b_not}, - {"bor", b_or}, - {"bxor", b_xor}, - {"btest", b_test}, - {"extract", b_extract}, - {"lrotate", b_lrot}, - {"lshift", b_lshift}, - {"replace", b_replace}, - {"rrotate", b_rrot}, - {"rshift", b_rshift}, - {NULL, NULL} -}; - - - -LUAMOD_API int luaopen_bit32 (lua_State *L) { - luaL_newlib(L, bitlib); - return 1; -} - - -#else /* }{ */ - - -LUAMOD_API int luaopen_bit32 (lua_State *L) { - return luaL_error(L, "library 'bit32' has been deprecated"); -} - -#endif /* } */ diff --git a/User/lua/src-bak/lcode.c b/User/lua/src-bak/lcode.c deleted file mode 100644 index 17c4fe9..0000000 --- a/User/lua/src-bak/lcode.c +++ /dev/null @@ -1,1203 +0,0 @@ -/* -** $Id: lcode.c,v 2.112.1.1 2017/04/19 17:20:42 roberto Exp $ -** Code generator for Lua -** See Copyright Notice in lua.h -*/ - -#define lcode_c -#define LUA_CORE - -#include "lprefix.h" - - -#include -#include - -#include "lua.h" - -#include "lcode.h" -#include "ldebug.h" -#include "ldo.h" -#include "lgc.h" -#include "llex.h" -#include "lmem.h" -#include "lobject.h" -#include "lopcodes.h" -#include "lparser.h" -#include "lstring.h" -#include "ltable.h" -#include "lvm.h" - - -/* Maximum number of registers in a Lua function (must fit in 8 bits) */ -#define MAXREGS 255 - - -#define hasjumps(e) ((e)->t != (e)->f) - - -/* -** If expression is a numeric constant, fills 'v' with its value -** and returns 1. Otherwise, returns 0. -*/ -static int tonumeral(const expdesc *e, TValue *v) { - if (hasjumps(e)) - return 0; /* not a numeral */ - switch (e->k) { - case VKINT: - if (v) setivalue(v, e->u.ival); - return 1; - case VKFLT: - if (v) setfltvalue(v, e->u.nval); - return 1; - default: return 0; - } -} - - -/* -** Create a OP_LOADNIL instruction, but try to optimize: if the previous -** instruction is also OP_LOADNIL and ranges are compatible, adjust -** range of previous instruction instead of emitting a new one. (For -** instance, 'local a; local b' will generate a single opcode.) -*/ -void luaK_nil (FuncState *fs, int from, int n) { - Instruction *previous; - int l = from + n - 1; /* last register to set nil */ - if (fs->pc > fs->lasttarget) { /* no jumps to current position? */ - previous = &fs->f->code[fs->pc-1]; - if (GET_OPCODE(*previous) == OP_LOADNIL) { /* previous is LOADNIL? */ - int pfrom = GETARG_A(*previous); /* get previous range */ - int pl = pfrom + GETARG_B(*previous); - if ((pfrom <= from && from <= pl + 1) || - (from <= pfrom && pfrom <= l + 1)) { /* can connect both? */ - if (pfrom < from) from = pfrom; /* from = min(from, pfrom) */ - if (pl > l) l = pl; /* l = max(l, pl) */ - SETARG_A(*previous, from); - SETARG_B(*previous, l - from); - return; - } - } /* else go through */ - } - luaK_codeABC(fs, OP_LOADNIL, from, n - 1, 0); /* else no optimization */ -} - - -/* -** Gets the destination address of a jump instruction. Used to traverse -** a list of jumps. -*/ -static int getjump (FuncState *fs, int pc) { - int offset = GETARG_sBx(fs->f->code[pc]); - if (offset == NO_JUMP) /* point to itself represents end of list */ - return NO_JUMP; /* end of list */ - else - return (pc+1)+offset; /* turn offset into absolute position */ -} - - -/* -** Fix jump instruction at position 'pc' to jump to 'dest'. -** (Jump addresses are relative in Lua) -*/ -static void fixjump (FuncState *fs, int pc, int dest) { - Instruction *jmp = &fs->f->code[pc]; - int offset = dest - (pc + 1); - lua_assert(dest != NO_JUMP); - if (abs(offset) > MAXARG_sBx) - luaX_syntaxerror(fs->ls, "control structure too long"); - SETARG_sBx(*jmp, offset); -} - - -/* -** Concatenate jump-list 'l2' into jump-list 'l1' -*/ -void luaK_concat (FuncState *fs, int *l1, int l2) { - if (l2 == NO_JUMP) return; /* nothing to concatenate? */ - else if (*l1 == NO_JUMP) /* no original list? */ - *l1 = l2; /* 'l1' points to 'l2' */ - else { - int list = *l1; - int next; - while ((next = getjump(fs, list)) != NO_JUMP) /* find last element */ - list = next; - fixjump(fs, list, l2); /* last element links to 'l2' */ - } -} - - -/* -** Create a jump instruction and return its position, so its destination -** can be fixed later (with 'fixjump'). If there are jumps to -** this position (kept in 'jpc'), link them all together so that -** 'patchlistaux' will fix all them directly to the final destination. -*/ -int luaK_jump (FuncState *fs) { - int jpc = fs->jpc; /* save list of jumps to here */ - int j; - fs->jpc = NO_JUMP; /* no more jumps to here */ - j = luaK_codeAsBx(fs, OP_JMP, 0, NO_JUMP); - luaK_concat(fs, &j, jpc); /* keep them on hold */ - return j; -} - - -/* -** Code a 'return' instruction -*/ -void luaK_ret (FuncState *fs, int first, int nret) { - luaK_codeABC(fs, OP_RETURN, first, nret+1, 0); -} - - -/* -** Code a "conditional jump", that is, a test or comparison opcode -** followed by a jump. Return jump position. -*/ -static int condjump (FuncState *fs, OpCode op, int A, int B, int C) { - luaK_codeABC(fs, op, A, B, C); - return luaK_jump(fs); -} - - -/* -** returns current 'pc' and marks it as a jump target (to avoid wrong -** optimizations with consecutive instructions not in the same basic block). -*/ -int luaK_getlabel (FuncState *fs) { - fs->lasttarget = fs->pc; - return fs->pc; -} - - -/* -** Returns the position of the instruction "controlling" a given -** jump (that is, its condition), or the jump itself if it is -** unconditional. -*/ -static Instruction *getjumpcontrol (FuncState *fs, int pc) { - Instruction *pi = &fs->f->code[pc]; - if (pc >= 1 && testTMode(GET_OPCODE(*(pi-1)))) - return pi-1; - else - return pi; -} - - -/* -** Patch destination register for a TESTSET instruction. -** If instruction in position 'node' is not a TESTSET, return 0 ("fails"). -** Otherwise, if 'reg' is not 'NO_REG', set it as the destination -** register. Otherwise, change instruction to a simple 'TEST' (produces -** no register value) -*/ -static int patchtestreg (FuncState *fs, int node, int reg) { - Instruction *i = getjumpcontrol(fs, node); - if (GET_OPCODE(*i) != OP_TESTSET) - return 0; /* cannot patch other instructions */ - if (reg != NO_REG && reg != GETARG_B(*i)) - SETARG_A(*i, reg); - else { - /* no register to put value or register already has the value; - change instruction to simple test */ - *i = CREATE_ABC(OP_TEST, GETARG_B(*i), 0, GETARG_C(*i)); - } - return 1; -} - - -/* -** Traverse a list of tests ensuring no one produces a value -*/ -static void removevalues (FuncState *fs, int list) { - for (; list != NO_JUMP; list = getjump(fs, list)) - patchtestreg(fs, list, NO_REG); -} - - -/* -** Traverse a list of tests, patching their destination address and -** registers: tests producing values jump to 'vtarget' (and put their -** values in 'reg'), other tests jump to 'dtarget'. -*/ -static void patchlistaux (FuncState *fs, int list, int vtarget, int reg, - int dtarget) { - while (list != NO_JUMP) { - int next = getjump(fs, list); - if (patchtestreg(fs, list, reg)) - fixjump(fs, list, vtarget); - else - fixjump(fs, list, dtarget); /* jump to default target */ - list = next; - } -} - - -/* -** Ensure all pending jumps to current position are fixed (jumping -** to current position with no values) and reset list of pending -** jumps -*/ -static void dischargejpc (FuncState *fs) { - patchlistaux(fs, fs->jpc, fs->pc, NO_REG, fs->pc); - fs->jpc = NO_JUMP; -} - - -/* -** Add elements in 'list' to list of pending jumps to "here" -** (current position) -*/ -void luaK_patchtohere (FuncState *fs, int list) { - luaK_getlabel(fs); /* mark "here" as a jump target */ - luaK_concat(fs, &fs->jpc, list); -} - - -/* -** Path all jumps in 'list' to jump to 'target'. -** (The assert means that we cannot fix a jump to a forward address -** because we only know addresses once code is generated.) -*/ -void luaK_patchlist (FuncState *fs, int list, int target) { - if (target == fs->pc) /* 'target' is current position? */ - luaK_patchtohere(fs, list); /* add list to pending jumps */ - else { - lua_assert(target < fs->pc); - patchlistaux(fs, list, target, NO_REG, target); - } -} - - -/* -** Path all jumps in 'list' to close upvalues up to given 'level' -** (The assertion checks that jumps either were closing nothing -** or were closing higher levels, from inner blocks.) -*/ -void luaK_patchclose (FuncState *fs, int list, int level) { - level++; /* argument is +1 to reserve 0 as non-op */ - for (; list != NO_JUMP; list = getjump(fs, list)) { - lua_assert(GET_OPCODE(fs->f->code[list]) == OP_JMP && - (GETARG_A(fs->f->code[list]) == 0 || - GETARG_A(fs->f->code[list]) >= level)); - SETARG_A(fs->f->code[list], level); - } -} - - -/* -** Emit instruction 'i', checking for array sizes and saving also its -** line information. Return 'i' position. -*/ -static int luaK_code (FuncState *fs, Instruction i) { - Proto *f = fs->f; - dischargejpc(fs); /* 'pc' will change */ - /* put new instruction in code array */ - luaM_growvector(fs->ls->L, f->code, fs->pc, f->sizecode, Instruction, - MAX_INT, "opcodes"); - f->code[fs->pc] = i; - /* save corresponding line information */ - luaM_growvector(fs->ls->L, f->lineinfo, fs->pc, f->sizelineinfo, int, - MAX_INT, "opcodes"); - f->lineinfo[fs->pc] = fs->ls->lastline; - return fs->pc++; -} - - -/* -** Format and emit an 'iABC' instruction. (Assertions check consistency -** of parameters versus opcode.) -*/ -int luaK_codeABC (FuncState *fs, OpCode o, int a, int b, int c) { - lua_assert(getOpMode(o) == iABC); - lua_assert(getBMode(o) != OpArgN || b == 0); - lua_assert(getCMode(o) != OpArgN || c == 0); - lua_assert(a <= MAXARG_A && b <= MAXARG_B && c <= MAXARG_C); - return luaK_code(fs, CREATE_ABC(o, a, b, c)); -} - - -/* -** Format and emit an 'iABx' instruction. -*/ -int luaK_codeABx (FuncState *fs, OpCode o, int a, unsigned int bc) { - lua_assert(getOpMode(o) == iABx || getOpMode(o) == iAsBx); - lua_assert(getCMode(o) == OpArgN); - lua_assert(a <= MAXARG_A && bc <= MAXARG_Bx); - return luaK_code(fs, CREATE_ABx(o, a, bc)); -} - - -/* -** Emit an "extra argument" instruction (format 'iAx') -*/ -static int codeextraarg (FuncState *fs, int a) { - lua_assert(a <= MAXARG_Ax); - return luaK_code(fs, CREATE_Ax(OP_EXTRAARG, a)); -} - - -/* -** Emit a "load constant" instruction, using either 'OP_LOADK' -** (if constant index 'k' fits in 18 bits) or an 'OP_LOADKX' -** instruction with "extra argument". -*/ -int luaK_codek (FuncState *fs, int reg, int k) { - if (k <= MAXARG_Bx) - return luaK_codeABx(fs, OP_LOADK, reg, k); - else { - int p = luaK_codeABx(fs, OP_LOADKX, reg, 0); - codeextraarg(fs, k); - return p; - } -} - - -/* -** Check register-stack level, keeping track of its maximum size -** in field 'maxstacksize' -*/ -void luaK_checkstack (FuncState *fs, int n) { - int newstack = fs->freereg + n; - if (newstack > fs->f->maxstacksize) { - if (newstack >= MAXREGS) - luaX_syntaxerror(fs->ls, - "function or expression needs too many registers"); - fs->f->maxstacksize = cast_byte(newstack); - } -} - - -/* -** Reserve 'n' registers in register stack -*/ -void luaK_reserveregs (FuncState *fs, int n) { - luaK_checkstack(fs, n); - fs->freereg += n; -} - - -/* -** Free register 'reg', if it is neither a constant index nor -** a local variable. -) -*/ -static void freereg (FuncState *fs, int reg) { - if (!ISK(reg) && reg >= fs->nactvar) { - fs->freereg--; - lua_assert(reg == fs->freereg); - } -} - - -/* -** Free register used by expression 'e' (if any) -*/ -static void freeexp (FuncState *fs, expdesc *e) { - if (e->k == VNONRELOC) - freereg(fs, e->u.info); -} - - -/* -** Free registers used by expressions 'e1' and 'e2' (if any) in proper -** order. -*/ -static void freeexps (FuncState *fs, expdesc *e1, expdesc *e2) { - int r1 = (e1->k == VNONRELOC) ? e1->u.info : -1; - int r2 = (e2->k == VNONRELOC) ? e2->u.info : -1; - if (r1 > r2) { - freereg(fs, r1); - freereg(fs, r2); - } - else { - freereg(fs, r2); - freereg(fs, r1); - } -} - - -/* -** Add constant 'v' to prototype's list of constants (field 'k'). -** Use scanner's table to cache position of constants in constant list -** and try to reuse constants. Because some values should not be used -** as keys (nil cannot be a key, integer keys can collapse with float -** keys), the caller must provide a useful 'key' for indexing the cache. -*/ -static int addk (FuncState *fs, TValue *key, TValue *v) { - lua_State *L = fs->ls->L; - Proto *f = fs->f; - TValue *idx = luaH_set(L, fs->ls->h, key); /* index scanner table */ - int k, oldsize; - if (ttisinteger(idx)) { /* is there an index there? */ - k = cast_int(ivalue(idx)); - /* correct value? (warning: must distinguish floats from integers!) */ - if (k < fs->nk && ttype(&f->k[k]) == ttype(v) && - luaV_rawequalobj(&f->k[k], v)) - return k; /* reuse index */ - } - /* constant not found; create a new entry */ - oldsize = f->sizek; - k = fs->nk; - /* numerical value does not need GC barrier; - table has no metatable, so it does not need to invalidate cache */ - setivalue(idx, k); - luaM_growvector(L, f->k, k, f->sizek, TValue, MAXARG_Ax, "constants"); - while (oldsize < f->sizek) setnilvalue(&f->k[oldsize++]); - setobj(L, &f->k[k], v); - fs->nk++; - luaC_barrier(L, f, v); - return k; -} - - -/* -** Add a string to list of constants and return its index. -*/ -int luaK_stringK (FuncState *fs, TString *s) { - TValue o; - setsvalue(fs->ls->L, &o, s); - return addk(fs, &o, &o); /* use string itself as key */ -} - - -/* -** Add an integer to list of constants and return its index. -** Integers use userdata as keys to avoid collision with floats with -** same value; conversion to 'void*' is used only for hashing, so there -** are no "precision" problems. -*/ -int luaK_intK (FuncState *fs, lua_Integer n) { - TValue k, o; - setpvalue(&k, cast(void*, cast(size_t, n))); - setivalue(&o, n); - return addk(fs, &k, &o); -} - -/* -** Add a float to list of constants and return its index. -*/ -static int luaK_numberK (FuncState *fs, lua_Number r) { - TValue o; - setfltvalue(&o, r); - return addk(fs, &o, &o); /* use number itself as key */ -} - - -/* -** Add a boolean to list of constants and return its index. -*/ -static int boolK (FuncState *fs, int b) { - TValue o; - setbvalue(&o, b); - return addk(fs, &o, &o); /* use boolean itself as key */ -} - - -/* -** Add nil to list of constants and return its index. -*/ -static int nilK (FuncState *fs) { - TValue k, v; - setnilvalue(&v); - /* cannot use nil as key; instead use table itself to represent nil */ - sethvalue(fs->ls->L, &k, fs->ls->h); - return addk(fs, &k, &v); -} - - -/* -** Fix an expression to return the number of results 'nresults'. -** Either 'e' is a multi-ret expression (function call or vararg) -** or 'nresults' is LUA_MULTRET (as any expression can satisfy that). -*/ -void luaK_setreturns (FuncState *fs, expdesc *e, int nresults) { - if (e->k == VCALL) { /* expression is an open function call? */ - SETARG_C(getinstruction(fs, e), nresults + 1); - } - else if (e->k == VVARARG) { - Instruction *pc = &getinstruction(fs, e); - SETARG_B(*pc, nresults + 1); - SETARG_A(*pc, fs->freereg); - luaK_reserveregs(fs, 1); - } - else lua_assert(nresults == LUA_MULTRET); -} - - -/* -** Fix an expression to return one result. -** If expression is not a multi-ret expression (function call or -** vararg), it already returns one result, so nothing needs to be done. -** Function calls become VNONRELOC expressions (as its result comes -** fixed in the base register of the call), while vararg expressions -** become VRELOCABLE (as OP_VARARG puts its results where it wants). -** (Calls are created returning one result, so that does not need -** to be fixed.) -*/ -void luaK_setoneret (FuncState *fs, expdesc *e) { - if (e->k == VCALL) { /* expression is an open function call? */ - /* already returns 1 value */ - lua_assert(GETARG_C(getinstruction(fs, e)) == 2); - e->k = VNONRELOC; /* result has fixed position */ - e->u.info = GETARG_A(getinstruction(fs, e)); - } - else if (e->k == VVARARG) { - SETARG_B(getinstruction(fs, e), 2); - e->k = VRELOCABLE; /* can relocate its simple result */ - } -} - - -/* -** Ensure that expression 'e' is not a variable. -*/ -void luaK_dischargevars (FuncState *fs, expdesc *e) { - switch (e->k) { - case VLOCAL: { /* already in a register */ - e->k = VNONRELOC; /* becomes a non-relocatable value */ - break; - } - case VUPVAL: { /* move value to some (pending) register */ - e->u.info = luaK_codeABC(fs, OP_GETUPVAL, 0, e->u.info, 0); - e->k = VRELOCABLE; - break; - } - case VINDEXED: { - OpCode op; - freereg(fs, e->u.ind.idx); - if (e->u.ind.vt == VLOCAL) { /* is 't' in a register? */ - freereg(fs, e->u.ind.t); - op = OP_GETTABLE; - } - else { - lua_assert(e->u.ind.vt == VUPVAL); - op = OP_GETTABUP; /* 't' is in an upvalue */ - } - e->u.info = luaK_codeABC(fs, op, 0, e->u.ind.t, e->u.ind.idx); - e->k = VRELOCABLE; - break; - } - case VVARARG: case VCALL: { - luaK_setoneret(fs, e); - break; - } - default: break; /* there is one value available (somewhere) */ - } -} - - -/* -** Ensures expression value is in register 'reg' (and therefore -** 'e' will become a non-relocatable expression). -*/ -static void discharge2reg (FuncState *fs, expdesc *e, int reg) { - luaK_dischargevars(fs, e); - switch (e->k) { - case VNIL: { - luaK_nil(fs, reg, 1); - break; - } - case VFALSE: case VTRUE: { - luaK_codeABC(fs, OP_LOADBOOL, reg, e->k == VTRUE, 0); - break; - } - case VK: { - luaK_codek(fs, reg, e->u.info); - break; - } - case VKFLT: { - luaK_codek(fs, reg, luaK_numberK(fs, e->u.nval)); - break; - } - case VKINT: { - luaK_codek(fs, reg, luaK_intK(fs, e->u.ival)); - break; - } - case VRELOCABLE: { - Instruction *pc = &getinstruction(fs, e); - SETARG_A(*pc, reg); /* instruction will put result in 'reg' */ - break; - } - case VNONRELOC: { - if (reg != e->u.info) - luaK_codeABC(fs, OP_MOVE, reg, e->u.info, 0); - break; - } - default: { - lua_assert(e->k == VJMP); - return; /* nothing to do... */ - } - } - e->u.info = reg; - e->k = VNONRELOC; -} - - -/* -** Ensures expression value is in any register. -*/ -static void discharge2anyreg (FuncState *fs, expdesc *e) { - if (e->k != VNONRELOC) { /* no fixed register yet? */ - luaK_reserveregs(fs, 1); /* get a register */ - discharge2reg(fs, e, fs->freereg-1); /* put value there */ - } -} - - -static int code_loadbool (FuncState *fs, int A, int b, int jump) { - luaK_getlabel(fs); /* those instructions may be jump targets */ - return luaK_codeABC(fs, OP_LOADBOOL, A, b, jump); -} - - -/* -** check whether list has any jump that do not produce a value -** or produce an inverted value -*/ -static int need_value (FuncState *fs, int list) { - for (; list != NO_JUMP; list = getjump(fs, list)) { - Instruction i = *getjumpcontrol(fs, list); - if (GET_OPCODE(i) != OP_TESTSET) return 1; - } - return 0; /* not found */ -} - - -/* -** Ensures final expression result (including results from its jump -** lists) is in register 'reg'. -** If expression has jumps, need to patch these jumps either to -** its final position or to "load" instructions (for those tests -** that do not produce values). -*/ -static void exp2reg (FuncState *fs, expdesc *e, int reg) { - discharge2reg(fs, e, reg); - if (e->k == VJMP) /* expression itself is a test? */ - luaK_concat(fs, &e->t, e->u.info); /* put this jump in 't' list */ - if (hasjumps(e)) { - int final; /* position after whole expression */ - int p_f = NO_JUMP; /* position of an eventual LOAD false */ - int p_t = NO_JUMP; /* position of an eventual LOAD true */ - if (need_value(fs, e->t) || need_value(fs, e->f)) { - int fj = (e->k == VJMP) ? NO_JUMP : luaK_jump(fs); - p_f = code_loadbool(fs, reg, 0, 1); - p_t = code_loadbool(fs, reg, 1, 0); - luaK_patchtohere(fs, fj); - } - final = luaK_getlabel(fs); - patchlistaux(fs, e->f, final, reg, p_f); - patchlistaux(fs, e->t, final, reg, p_t); - } - e->f = e->t = NO_JUMP; - e->u.info = reg; - e->k = VNONRELOC; -} - - -/* -** Ensures final expression result (including results from its jump -** lists) is in next available register. -*/ -void luaK_exp2nextreg (FuncState *fs, expdesc *e) { - luaK_dischargevars(fs, e); - freeexp(fs, e); - luaK_reserveregs(fs, 1); - exp2reg(fs, e, fs->freereg - 1); -} - - -/* -** Ensures final expression result (including results from its jump -** lists) is in some (any) register and return that register. -*/ -int luaK_exp2anyreg (FuncState *fs, expdesc *e) { - luaK_dischargevars(fs, e); - if (e->k == VNONRELOC) { /* expression already has a register? */ - if (!hasjumps(e)) /* no jumps? */ - return e->u.info; /* result is already in a register */ - if (e->u.info >= fs->nactvar) { /* reg. is not a local? */ - exp2reg(fs, e, e->u.info); /* put final result in it */ - return e->u.info; - } - } - luaK_exp2nextreg(fs, e); /* otherwise, use next available register */ - return e->u.info; -} - - -/* -** Ensures final expression result is either in a register or in an -** upvalue. -*/ -void luaK_exp2anyregup (FuncState *fs, expdesc *e) { - if (e->k != VUPVAL || hasjumps(e)) - luaK_exp2anyreg(fs, e); -} - - -/* -** Ensures final expression result is either in a register or it is -** a constant. -*/ -void luaK_exp2val (FuncState *fs, expdesc *e) { - if (hasjumps(e)) - luaK_exp2anyreg(fs, e); - else - luaK_dischargevars(fs, e); -} - - -/* -** Ensures final expression result is in a valid R/K index -** (that is, it is either in a register or in 'k' with an index -** in the range of R/K indices). -** Returns R/K index. -*/ -int luaK_exp2RK (FuncState *fs, expdesc *e) { - luaK_exp2val(fs, e); - switch (e->k) { /* move constants to 'k' */ - case VTRUE: e->u.info = boolK(fs, 1); goto vk; - case VFALSE: e->u.info = boolK(fs, 0); goto vk; - case VNIL: e->u.info = nilK(fs); goto vk; - case VKINT: e->u.info = luaK_intK(fs, e->u.ival); goto vk; - case VKFLT: e->u.info = luaK_numberK(fs, e->u.nval); goto vk; - case VK: - vk: - e->k = VK; - if (e->u.info <= MAXINDEXRK) /* constant fits in 'argC'? */ - return RKASK(e->u.info); - else break; - default: break; - } - /* not a constant in the right range: put it in a register */ - return luaK_exp2anyreg(fs, e); -} - - -/* -** Generate code to store result of expression 'ex' into variable 'var'. -*/ -void luaK_storevar (FuncState *fs, expdesc *var, expdesc *ex) { - switch (var->k) { - case VLOCAL: { - freeexp(fs, ex); - exp2reg(fs, ex, var->u.info); /* compute 'ex' into proper place */ - return; - } - case VUPVAL: { - int e = luaK_exp2anyreg(fs, ex); - luaK_codeABC(fs, OP_SETUPVAL, e, var->u.info, 0); - break; - } - case VINDEXED: { - OpCode op = (var->u.ind.vt == VLOCAL) ? OP_SETTABLE : OP_SETTABUP; - int e = luaK_exp2RK(fs, ex); - luaK_codeABC(fs, op, var->u.ind.t, var->u.ind.idx, e); - break; - } - default: lua_assert(0); /* invalid var kind to store */ - } - freeexp(fs, ex); -} - - -/* -** Emit SELF instruction (convert expression 'e' into 'e:key(e,'). -*/ -void luaK_self (FuncState *fs, expdesc *e, expdesc *key) { - int ereg; - luaK_exp2anyreg(fs, e); - ereg = e->u.info; /* register where 'e' was placed */ - freeexp(fs, e); - e->u.info = fs->freereg; /* base register for op_self */ - e->k = VNONRELOC; /* self expression has a fixed register */ - luaK_reserveregs(fs, 2); /* function and 'self' produced by op_self */ - luaK_codeABC(fs, OP_SELF, e->u.info, ereg, luaK_exp2RK(fs, key)); - freeexp(fs, key); -} - - -/* -** Negate condition 'e' (where 'e' is a comparison). -*/ -static void negatecondition (FuncState *fs, expdesc *e) { - Instruction *pc = getjumpcontrol(fs, e->u.info); - lua_assert(testTMode(GET_OPCODE(*pc)) && GET_OPCODE(*pc) != OP_TESTSET && - GET_OPCODE(*pc) != OP_TEST); - SETARG_A(*pc, !(GETARG_A(*pc))); -} - - -/* -** Emit instruction to jump if 'e' is 'cond' (that is, if 'cond' -** is true, code will jump if 'e' is true.) Return jump position. -** Optimize when 'e' is 'not' something, inverting the condition -** and removing the 'not'. -*/ -static int jumponcond (FuncState *fs, expdesc *e, int cond) { - if (e->k == VRELOCABLE) { - Instruction ie = getinstruction(fs, e); - if (GET_OPCODE(ie) == OP_NOT) { - fs->pc--; /* remove previous OP_NOT */ - return condjump(fs, OP_TEST, GETARG_B(ie), 0, !cond); - } - /* else go through */ - } - discharge2anyreg(fs, e); - freeexp(fs, e); - return condjump(fs, OP_TESTSET, NO_REG, e->u.info, cond); -} - - -/* -** Emit code to go through if 'e' is true, jump otherwise. -*/ -void luaK_goiftrue (FuncState *fs, expdesc *e) { - int pc; /* pc of new jump */ - luaK_dischargevars(fs, e); - switch (e->k) { - case VJMP: { /* condition? */ - negatecondition(fs, e); /* jump when it is false */ - pc = e->u.info; /* save jump position */ - break; - } - case VK: case VKFLT: case VKINT: case VTRUE: { - pc = NO_JUMP; /* always true; do nothing */ - break; - } - default: { - pc = jumponcond(fs, e, 0); /* jump when false */ - break; - } - } - luaK_concat(fs, &e->f, pc); /* insert new jump in false list */ - luaK_patchtohere(fs, e->t); /* true list jumps to here (to go through) */ - e->t = NO_JUMP; -} - - -/* -** Emit code to go through if 'e' is false, jump otherwise. -*/ -void luaK_goiffalse (FuncState *fs, expdesc *e) { - int pc; /* pc of new jump */ - luaK_dischargevars(fs, e); - switch (e->k) { - case VJMP: { - pc = e->u.info; /* already jump if true */ - break; - } - case VNIL: case VFALSE: { - pc = NO_JUMP; /* always false; do nothing */ - break; - } - default: { - pc = jumponcond(fs, e, 1); /* jump if true */ - break; - } - } - luaK_concat(fs, &e->t, pc); /* insert new jump in 't' list */ - luaK_patchtohere(fs, e->f); /* false list jumps to here (to go through) */ - e->f = NO_JUMP; -} - - -/* -** Code 'not e', doing constant folding. -*/ -static void codenot (FuncState *fs, expdesc *e) { - luaK_dischargevars(fs, e); - switch (e->k) { - case VNIL: case VFALSE: { - e->k = VTRUE; /* true == not nil == not false */ - break; - } - case VK: case VKFLT: case VKINT: case VTRUE: { - e->k = VFALSE; /* false == not "x" == not 0.5 == not 1 == not true */ - break; - } - case VJMP: { - negatecondition(fs, e); - break; - } - case VRELOCABLE: - case VNONRELOC: { - discharge2anyreg(fs, e); - freeexp(fs, e); - e->u.info = luaK_codeABC(fs, OP_NOT, 0, e->u.info, 0); - e->k = VRELOCABLE; - break; - } - default: lua_assert(0); /* cannot happen */ - } - /* interchange true and false lists */ - { int temp = e->f; e->f = e->t; e->t = temp; } - removevalues(fs, e->f); /* values are useless when negated */ - removevalues(fs, e->t); -} - - -/* -** Create expression 't[k]'. 't' must have its final result already in a -** register or upvalue. -*/ -void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k) { - lua_assert(!hasjumps(t) && (vkisinreg(t->k) || t->k == VUPVAL)); - t->u.ind.t = t->u.info; /* register or upvalue index */ - t->u.ind.idx = luaK_exp2RK(fs, k); /* R/K index for key */ - t->u.ind.vt = (t->k == VUPVAL) ? VUPVAL : VLOCAL; - t->k = VINDEXED; -} - - -/* -** Return false if folding can raise an error. -** Bitwise operations need operands convertible to integers; division -** operations cannot have 0 as divisor. -*/ -static int validop (int op, TValue *v1, TValue *v2) { - switch (op) { - case LUA_OPBAND: case LUA_OPBOR: case LUA_OPBXOR: - case LUA_OPSHL: case LUA_OPSHR: case LUA_OPBNOT: { /* conversion errors */ - lua_Integer i; - return (tointeger(v1, &i) && tointeger(v2, &i)); - } - case LUA_OPDIV: case LUA_OPIDIV: case LUA_OPMOD: /* division by 0 */ - return (nvalue(v2) != 0); - default: return 1; /* everything else is valid */ - } -} - - -/* -** Try to "constant-fold" an operation; return 1 iff successful. -** (In this case, 'e1' has the final result.) -*/ -static int constfolding (FuncState *fs, int op, expdesc *e1, - const expdesc *e2) { - TValue v1, v2, res; - if (!tonumeral(e1, &v1) || !tonumeral(e2, &v2) || !validop(op, &v1, &v2)) - return 0; /* non-numeric operands or not safe to fold */ - luaO_arith(fs->ls->L, op, &v1, &v2, &res); /* does operation */ - if (ttisinteger(&res)) { - e1->k = VKINT; - e1->u.ival = ivalue(&res); - } - else { /* folds neither NaN nor 0.0 (to avoid problems with -0.0) */ - lua_Number n = fltvalue(&res); - if (luai_numisnan(n) || n == 0) - return 0; - e1->k = VKFLT; - e1->u.nval = n; - } - return 1; -} - - -/* -** Emit code for unary expressions that "produce values" -** (everything but 'not'). -** Expression to produce final result will be encoded in 'e'. -*/ -static void codeunexpval (FuncState *fs, OpCode op, expdesc *e, int line) { - int r = luaK_exp2anyreg(fs, e); /* opcodes operate only on registers */ - freeexp(fs, e); - e->u.info = luaK_codeABC(fs, op, 0, r, 0); /* generate opcode */ - e->k = VRELOCABLE; /* all those operations are relocatable */ - luaK_fixline(fs, line); -} - - -/* -** Emit code for binary expressions that "produce values" -** (everything but logical operators 'and'/'or' and comparison -** operators). -** Expression to produce final result will be encoded in 'e1'. -** Because 'luaK_exp2RK' can free registers, its calls must be -** in "stack order" (that is, first on 'e2', which may have more -** recent registers to be released). -*/ -static void codebinexpval (FuncState *fs, OpCode op, - expdesc *e1, expdesc *e2, int line) { - int rk2 = luaK_exp2RK(fs, e2); /* both operands are "RK" */ - int rk1 = luaK_exp2RK(fs, e1); - freeexps(fs, e1, e2); - e1->u.info = luaK_codeABC(fs, op, 0, rk1, rk2); /* generate opcode */ - e1->k = VRELOCABLE; /* all those operations are relocatable */ - luaK_fixline(fs, line); -} - - -/* -** Emit code for comparisons. -** 'e1' was already put in R/K form by 'luaK_infix'. -*/ -static void codecomp (FuncState *fs, BinOpr opr, expdesc *e1, expdesc *e2) { - int rk1 = (e1->k == VK) ? RKASK(e1->u.info) - : check_exp(e1->k == VNONRELOC, e1->u.info); - int rk2 = luaK_exp2RK(fs, e2); - freeexps(fs, e1, e2); - switch (opr) { - case OPR_NE: { /* '(a ~= b)' ==> 'not (a == b)' */ - e1->u.info = condjump(fs, OP_EQ, 0, rk1, rk2); - break; - } - case OPR_GT: case OPR_GE: { - /* '(a > b)' ==> '(b < a)'; '(a >= b)' ==> '(b <= a)' */ - OpCode op = cast(OpCode, (opr - OPR_NE) + OP_EQ); - e1->u.info = condjump(fs, op, 1, rk2, rk1); /* invert operands */ - break; - } - default: { /* '==', '<', '<=' use their own opcodes */ - OpCode op = cast(OpCode, (opr - OPR_EQ) + OP_EQ); - e1->u.info = condjump(fs, op, 1, rk1, rk2); - break; - } - } - e1->k = VJMP; -} - - -/* -** Aplly prefix operation 'op' to expression 'e'. -*/ -void luaK_prefix (FuncState *fs, UnOpr op, expdesc *e, int line) { - static const expdesc ef = {VKINT, {0}, NO_JUMP, NO_JUMP}; - switch (op) { - case OPR_MINUS: case OPR_BNOT: /* use 'ef' as fake 2nd operand */ - if (constfolding(fs, op + LUA_OPUNM, e, &ef)) - break; - /* FALLTHROUGH */ - case OPR_LEN: - codeunexpval(fs, cast(OpCode, op + OP_UNM), e, line); - break; - case OPR_NOT: codenot(fs, e); break; - default: lua_assert(0); - } -} - - -/* -** Process 1st operand 'v' of binary operation 'op' before reading -** 2nd operand. -*/ -void luaK_infix (FuncState *fs, BinOpr op, expdesc *v) { - switch (op) { - case OPR_AND: { - luaK_goiftrue(fs, v); /* go ahead only if 'v' is true */ - break; - } - case OPR_OR: { - luaK_goiffalse(fs, v); /* go ahead only if 'v' is false */ - break; - } - case OPR_CONCAT: { - luaK_exp2nextreg(fs, v); /* operand must be on the 'stack' */ - break; - } - case OPR_ADD: case OPR_SUB: - case OPR_MUL: case OPR_DIV: case OPR_IDIV: - case OPR_MOD: case OPR_POW: - case OPR_BAND: case OPR_BOR: case OPR_BXOR: - case OPR_SHL: case OPR_SHR: { - if (!tonumeral(v, NULL)) - luaK_exp2RK(fs, v); - /* else keep numeral, which may be folded with 2nd operand */ - break; - } - default: { - luaK_exp2RK(fs, v); - break; - } - } -} - - -/* -** Finalize code for binary operation, after reading 2nd operand. -** For '(a .. b .. c)' (which is '(a .. (b .. c))', because -** concatenation is right associative), merge second CONCAT into first -** one. -*/ -void luaK_posfix (FuncState *fs, BinOpr op, - expdesc *e1, expdesc *e2, int line) { - switch (op) { - case OPR_AND: { - lua_assert(e1->t == NO_JUMP); /* list closed by 'luK_infix' */ - luaK_dischargevars(fs, e2); - luaK_concat(fs, &e2->f, e1->f); - *e1 = *e2; - break; - } - case OPR_OR: { - lua_assert(e1->f == NO_JUMP); /* list closed by 'luK_infix' */ - luaK_dischargevars(fs, e2); - luaK_concat(fs, &e2->t, e1->t); - *e1 = *e2; - break; - } - case OPR_CONCAT: { - luaK_exp2val(fs, e2); - if (e2->k == VRELOCABLE && - GET_OPCODE(getinstruction(fs, e2)) == OP_CONCAT) { - lua_assert(e1->u.info == GETARG_B(getinstruction(fs, e2))-1); - freeexp(fs, e1); - SETARG_B(getinstruction(fs, e2), e1->u.info); - e1->k = VRELOCABLE; e1->u.info = e2->u.info; - } - else { - luaK_exp2nextreg(fs, e2); /* operand must be on the 'stack' */ - codebinexpval(fs, OP_CONCAT, e1, e2, line); - } - break; - } - case OPR_ADD: case OPR_SUB: case OPR_MUL: case OPR_DIV: - case OPR_IDIV: case OPR_MOD: case OPR_POW: - case OPR_BAND: case OPR_BOR: case OPR_BXOR: - case OPR_SHL: case OPR_SHR: { - if (!constfolding(fs, op + LUA_OPADD, e1, e2)) - codebinexpval(fs, cast(OpCode, op + OP_ADD), e1, e2, line); - break; - } - case OPR_EQ: case OPR_LT: case OPR_LE: - case OPR_NE: case OPR_GT: case OPR_GE: { - codecomp(fs, op, e1, e2); - break; - } - default: lua_assert(0); - } -} - - -/* -** Change line information associated with current position. -*/ -void luaK_fixline (FuncState *fs, int line) { - fs->f->lineinfo[fs->pc - 1] = line; -} - - -/* -** Emit a SETLIST instruction. -** 'base' is register that keeps table; -** 'nelems' is #table plus those to be stored now; -** 'tostore' is number of values (in registers 'base + 1',...) to add to -** table (or LUA_MULTRET to add up to stack top). -*/ -void luaK_setlist (FuncState *fs, int base, int nelems, int tostore) { - int c = (nelems - 1)/LFIELDS_PER_FLUSH + 1; - int b = (tostore == LUA_MULTRET) ? 0 : tostore; - lua_assert(tostore != 0 && tostore <= LFIELDS_PER_FLUSH); - if (c <= MAXARG_C) - luaK_codeABC(fs, OP_SETLIST, base, b, c); - else if (c <= MAXARG_Ax) { - luaK_codeABC(fs, OP_SETLIST, base, b, 0); - codeextraarg(fs, c); - } - else - luaX_syntaxerror(fs->ls, "constructor too long"); - fs->freereg = base + 1; /* free registers with list values */ -} - diff --git a/User/lua/src-bak/lcode.h b/User/lua/src-bak/lcode.h deleted file mode 100644 index caac9bd..0000000 --- a/User/lua/src-bak/lcode.h +++ /dev/null @@ -1,88 +0,0 @@ -/* -** $Id: lcode.h,v 1.64.1.1 2017/04/19 17:20:42 roberto Exp $ -** Code generator for Lua -** See Copyright Notice in lua.h -*/ - -#ifndef lcode_h -#define lcode_h - -#include "llex.h" -#include "lobject.h" -#include "lopcodes.h" -#include "lparser.h" - - -/* -** Marks the end of a patch list. It is an invalid value both as an absolute -** address, and as a list link (would link an element to itself). -*/ -#define NO_JUMP (-1) - - -/* -** grep "ORDER OPR" if you change these enums (ORDER OP) -*/ -typedef enum BinOpr { - OPR_ADD, OPR_SUB, OPR_MUL, OPR_MOD, OPR_POW, - OPR_DIV, - OPR_IDIV, - OPR_BAND, OPR_BOR, OPR_BXOR, - OPR_SHL, OPR_SHR, - OPR_CONCAT, - OPR_EQ, OPR_LT, OPR_LE, - OPR_NE, OPR_GT, OPR_GE, - OPR_AND, OPR_OR, - OPR_NOBINOPR -} BinOpr; - - -typedef enum UnOpr { OPR_MINUS, OPR_BNOT, OPR_NOT, OPR_LEN, OPR_NOUNOPR } UnOpr; - - -/* get (pointer to) instruction of given 'expdesc' */ -#define getinstruction(fs,e) ((fs)->f->code[(e)->u.info]) - -#define luaK_codeAsBx(fs,o,A,sBx) luaK_codeABx(fs,o,A,(sBx)+MAXARG_sBx) - -#define luaK_setmultret(fs,e) luaK_setreturns(fs, e, LUA_MULTRET) - -#define luaK_jumpto(fs,t) luaK_patchlist(fs, luaK_jump(fs), t) - -LUAI_FUNC int luaK_codeABx (FuncState *fs, OpCode o, int A, unsigned int Bx); -LUAI_FUNC int luaK_codeABC (FuncState *fs, OpCode o, int A, int B, int C); -LUAI_FUNC int luaK_codek (FuncState *fs, int reg, int k); -LUAI_FUNC void luaK_fixline (FuncState *fs, int line); -LUAI_FUNC void luaK_nil (FuncState *fs, int from, int n); -LUAI_FUNC void luaK_reserveregs (FuncState *fs, int n); -LUAI_FUNC void luaK_checkstack (FuncState *fs, int n); -LUAI_FUNC int luaK_stringK (FuncState *fs, TString *s); -LUAI_FUNC int luaK_intK (FuncState *fs, lua_Integer n); -LUAI_FUNC void luaK_dischargevars (FuncState *fs, expdesc *e); -LUAI_FUNC int luaK_exp2anyreg (FuncState *fs, expdesc *e); -LUAI_FUNC void luaK_exp2anyregup (FuncState *fs, expdesc *e); -LUAI_FUNC void luaK_exp2nextreg (FuncState *fs, expdesc *e); -LUAI_FUNC void luaK_exp2val (FuncState *fs, expdesc *e); -LUAI_FUNC int luaK_exp2RK (FuncState *fs, expdesc *e); -LUAI_FUNC void luaK_self (FuncState *fs, expdesc *e, expdesc *key); -LUAI_FUNC void luaK_indexed (FuncState *fs, expdesc *t, expdesc *k); -LUAI_FUNC void luaK_goiftrue (FuncState *fs, expdesc *e); -LUAI_FUNC void luaK_goiffalse (FuncState *fs, expdesc *e); -LUAI_FUNC void luaK_storevar (FuncState *fs, expdesc *var, expdesc *e); -LUAI_FUNC void luaK_setreturns (FuncState *fs, expdesc *e, int nresults); -LUAI_FUNC void luaK_setoneret (FuncState *fs, expdesc *e); -LUAI_FUNC int luaK_jump (FuncState *fs); -LUAI_FUNC void luaK_ret (FuncState *fs, int first, int nret); -LUAI_FUNC void luaK_patchlist (FuncState *fs, int list, int target); -LUAI_FUNC void luaK_patchtohere (FuncState *fs, int list); -LUAI_FUNC void luaK_patchclose (FuncState *fs, int list, int level); -LUAI_FUNC void luaK_concat (FuncState *fs, int *l1, int l2); -LUAI_FUNC int luaK_getlabel (FuncState *fs); -LUAI_FUNC void luaK_prefix (FuncState *fs, UnOpr op, expdesc *v, int line); -LUAI_FUNC void luaK_infix (FuncState *fs, BinOpr op, expdesc *v); -LUAI_FUNC void luaK_posfix (FuncState *fs, BinOpr op, expdesc *v1, - expdesc *v2, int line); -LUAI_FUNC void luaK_setlist (FuncState *fs, int base, int nelems, int tostore); - - -#endif diff --git a/User/lua/src-bak/lcorolib.c b/User/lua/src-bak/lcorolib.c deleted file mode 100644 index 0b17af9..0000000 --- a/User/lua/src-bak/lcorolib.c +++ /dev/null @@ -1,168 +0,0 @@ -/* -** $Id: lcorolib.c,v 1.10.1.1 2017/04/19 17:20:42 roberto Exp $ -** Coroutine Library -** See Copyright Notice in lua.h -*/ - -#define lcorolib_c -#define LUA_LIB - -#include "lprefix.h" - - -#include - -#include "lua.h" - -#include "lauxlib.h" -#include "lualib.h" - - -static lua_State *getco (lua_State *L) { - lua_State *co = lua_tothread(L, 1); - luaL_argcheck(L, co, 1, "thread expected"); - return co; -} - - -static int auxresume (lua_State *L, lua_State *co, int narg) { - int status; - if (!lua_checkstack(co, narg)) { - lua_pushliteral(L, "too many arguments to resume"); - return -1; /* error flag */ - } - if (lua_status(co) == LUA_OK && lua_gettop(co) == 0) { - lua_pushliteral(L, "cannot resume dead coroutine"); - return -1; /* error flag */ - } - lua_xmove(L, co, narg); - status = lua_resume(co, L, narg); - if (status == LUA_OK || status == LUA_YIELD) { - int nres = lua_gettop(co); - if (!lua_checkstack(L, nres + 1)) { - lua_pop(co, nres); /* remove results anyway */ - lua_pushliteral(L, "too many results to resume"); - return -1; /* error flag */ - } - lua_xmove(co, L, nres); /* move yielded values */ - return nres; - } - else { - lua_xmove(co, L, 1); /* move error message */ - return -1; /* error flag */ - } -} - - -static int luaB_coresume (lua_State *L) { - lua_State *co = getco(L); - int r; - r = auxresume(L, co, lua_gettop(L) - 1); - if (r < 0) { - lua_pushboolean(L, 0); - lua_insert(L, -2); - return 2; /* return false + error message */ - } - else { - lua_pushboolean(L, 1); - lua_insert(L, -(r + 1)); - return r + 1; /* return true + 'resume' returns */ - } -} - - -static int luaB_auxwrap (lua_State *L) { - lua_State *co = lua_tothread(L, lua_upvalueindex(1)); - int r = auxresume(L, co, lua_gettop(L)); - if (r < 0) { - if (lua_type(L, -1) == LUA_TSTRING) { /* error object is a string? */ - luaL_where(L, 1); /* add extra info */ - lua_insert(L, -2); - lua_concat(L, 2); - } - return lua_error(L); /* propagate error */ - } - return r; -} - - -static int luaB_cocreate (lua_State *L) { - lua_State *NL; - luaL_checktype(L, 1, LUA_TFUNCTION); - NL = lua_newthread(L); - lua_pushvalue(L, 1); /* move function to top */ - lua_xmove(L, NL, 1); /* move function from L to NL */ - return 1; -} - - -static int luaB_cowrap (lua_State *L) { - luaB_cocreate(L); - lua_pushcclosure(L, luaB_auxwrap, 1); - return 1; -} - - -static int luaB_yield (lua_State *L) { - return lua_yield(L, lua_gettop(L)); -} - - -static int luaB_costatus (lua_State *L) { - lua_State *co = getco(L); - if (L == co) lua_pushliteral(L, "running"); - else { - switch (lua_status(co)) { - case LUA_YIELD: - lua_pushliteral(L, "suspended"); - break; - case LUA_OK: { - lua_Debug ar; - if (lua_getstack(co, 0, &ar) > 0) /* does it have frames? */ - lua_pushliteral(L, "normal"); /* it is running */ - else if (lua_gettop(co) == 0) - lua_pushliteral(L, "dead"); - else - lua_pushliteral(L, "suspended"); /* initial state */ - break; - } - default: /* some error occurred */ - lua_pushliteral(L, "dead"); - break; - } - } - return 1; -} - - -static int luaB_yieldable (lua_State *L) { - lua_pushboolean(L, lua_isyieldable(L)); - return 1; -} - - -static int luaB_corunning (lua_State *L) { - int ismain = lua_pushthread(L); - lua_pushboolean(L, ismain); - return 2; -} - - -static const luaL_Reg co_funcs[] = { - {"create", luaB_cocreate}, - {"resume", luaB_coresume}, - {"running", luaB_corunning}, - {"status", luaB_costatus}, - {"wrap", luaB_cowrap}, - {"yield", luaB_yield}, - {"isyieldable", luaB_yieldable}, - {NULL, NULL} -}; - - - -LUAMOD_API int luaopen_coroutine (lua_State *L) { - luaL_newlib(L, co_funcs); - return 1; -} - diff --git a/User/lua/src-bak/lctype.c b/User/lua/src-bak/lctype.c deleted file mode 100644 index be6f44e..0000000 --- a/User/lua/src-bak/lctype.c +++ /dev/null @@ -1,55 +0,0 @@ -/* -** $Id: lctype.c,v 1.12.1.1 2017/04/19 17:20:42 roberto Exp $ -** 'ctype' functions for Lua -** See Copyright Notice in lua.h -*/ - -#define lctype_c -#define LUA_CORE - -#include "lprefix.h" - - -#include "lctype.h" - -#if !LUA_USE_CTYPE /* { */ - -#include - -LUAI_DDEF const lu_byte luai_ctype_[UCHAR_MAX + 2] = { - 0x00, /* EOZ */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0. */ - 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 1. */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0c, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, /* 2. */ - 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, - 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, /* 3. */ - 0x16, 0x16, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, - 0x04, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x05, /* 4. */ - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, /* 5. */ - 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x05, - 0x04, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x05, /* 6. */ - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, - 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, /* 7. */ - 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 8. */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 9. */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* a. */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* b. */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* c. */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* d. */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* e. */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* f. */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -#endif /* } */ diff --git a/User/lua/src-bak/lctype.h b/User/lua/src-bak/lctype.h deleted file mode 100644 index 793e794..0000000 --- a/User/lua/src-bak/lctype.h +++ /dev/null @@ -1,95 +0,0 @@ -/* -** $Id: lctype.h,v 1.12.1.1 2013/04/12 18:48:47 roberto Exp $ -** 'ctype' functions for Lua -** See Copyright Notice in lua.h -*/ - -#ifndef lctype_h -#define lctype_h - -#include "lua.h" - - -/* -** WARNING: the functions defined here do not necessarily correspond -** to the similar functions in the standard C ctype.h. They are -** optimized for the specific needs of Lua -*/ - -#if !defined(LUA_USE_CTYPE) - -#if 'A' == 65 && '0' == 48 -/* ASCII case: can use its own tables; faster and fixed */ -#define LUA_USE_CTYPE 0 -#else -/* must use standard C ctype */ -#define LUA_USE_CTYPE 1 -#endif - -#endif - - -#if !LUA_USE_CTYPE /* { */ - -#include - -#include "llimits.h" - - -#define ALPHABIT 0 -#define DIGITBIT 1 -#define PRINTBIT 2 -#define SPACEBIT 3 -#define XDIGITBIT 4 - - -#define MASK(B) (1 << (B)) - - -/* -** add 1 to char to allow index -1 (EOZ) -*/ -#define testprop(c,p) (luai_ctype_[(c)+1] & (p)) - -/* -** 'lalpha' (Lua alphabetic) and 'lalnum' (Lua alphanumeric) both include '_' -*/ -#define lislalpha(c) testprop(c, MASK(ALPHABIT)) -#define lislalnum(c) testprop(c, (MASK(ALPHABIT) | MASK(DIGITBIT))) -#define lisdigit(c) testprop(c, MASK(DIGITBIT)) -#define lisspace(c) testprop(c, MASK(SPACEBIT)) -#define lisprint(c) testprop(c, MASK(PRINTBIT)) -#define lisxdigit(c) testprop(c, MASK(XDIGITBIT)) - -/* -** this 'ltolower' only works for alphabetic characters -*/ -#define ltolower(c) ((c) | ('A' ^ 'a')) - - -/* two more entries for 0 and -1 (EOZ) */ -LUAI_DDEC const lu_byte luai_ctype_[UCHAR_MAX + 2]; - - -#else /* }{ */ - -/* -** use standard C ctypes -*/ - -#include - - -#define lislalpha(c) (isalpha(c) || (c) == '_') -#define lislalnum(c) (isalnum(c) || (c) == '_') -#define lisdigit(c) (isdigit(c)) -#define lisspace(c) (isspace(c)) -#define lisprint(c) (isprint(c)) -#define lisxdigit(c) (isxdigit(c)) - -#define ltolower(c) (tolower(c)) - -#endif /* } */ - -#endif - diff --git a/User/lua/src-bak/ldblib.c b/User/lua/src-bak/ldblib.c deleted file mode 100644 index 9d29afb..0000000 --- a/User/lua/src-bak/ldblib.c +++ /dev/null @@ -1,456 +0,0 @@ -/* -** $Id: ldblib.c,v 1.151.1.1 2017/04/19 17:20:42 roberto Exp $ -** Interface from Lua to its debug API -** See Copyright Notice in lua.h -*/ - -#define ldblib_c -#define LUA_LIB - -#include "lprefix.h" - - -#include -#include -#include - -#include "lua.h" - -#include "lauxlib.h" -#include "lualib.h" - - -/* -** The hook table at registry[&HOOKKEY] maps threads to their current -** hook function. (We only need the unique address of 'HOOKKEY'.) -*/ -static const int HOOKKEY = 0; - - -/* -** If L1 != L, L1 can be in any state, and therefore there are no -** guarantees about its stack space; any push in L1 must be -** checked. -*/ -static void checkstack (lua_State *L, lua_State *L1, int n) { - if (L != L1 && !lua_checkstack(L1, n)) - luaL_error(L, "stack overflow"); -} - - -static int db_getregistry (lua_State *L) { - lua_pushvalue(L, LUA_REGISTRYINDEX); - return 1; -} - - -static int db_getmetatable (lua_State *L) { - luaL_checkany(L, 1); - if (!lua_getmetatable(L, 1)) { - lua_pushnil(L); /* no metatable */ - } - return 1; -} - - -static int db_setmetatable (lua_State *L) { - int t = lua_type(L, 2); - luaL_argcheck(L, t == LUA_TNIL || t == LUA_TTABLE, 2, - "nil or table expected"); - lua_settop(L, 2); - lua_setmetatable(L, 1); - return 1; /* return 1st argument */ -} - - -static int db_getuservalue (lua_State *L) { - if (lua_type(L, 1) != LUA_TUSERDATA) - lua_pushnil(L); - else - lua_getuservalue(L, 1); - return 1; -} - - -static int db_setuservalue (lua_State *L) { - luaL_checktype(L, 1, LUA_TUSERDATA); - luaL_checkany(L, 2); - lua_settop(L, 2); - lua_setuservalue(L, 1); - return 1; -} - - -/* -** Auxiliary function used by several library functions: check for -** an optional thread as function's first argument and set 'arg' with -** 1 if this argument is present (so that functions can skip it to -** access their other arguments) -*/ -static lua_State *getthread (lua_State *L, int *arg) { - if (lua_isthread(L, 1)) { - *arg = 1; - return lua_tothread(L, 1); - } - else { - *arg = 0; - return L; /* function will operate over current thread */ - } -} - - -/* -** Variations of 'lua_settable', used by 'db_getinfo' to put results -** from 'lua_getinfo' into result table. Key is always a string; -** value can be a string, an int, or a boolean. -*/ -static void settabss (lua_State *L, const char *k, const char *v) { - lua_pushstring(L, v); - lua_setfield(L, -2, k); -} - -static void settabsi (lua_State *L, const char *k, int v) { - lua_pushinteger(L, v); - lua_setfield(L, -2, k); -} - -static void settabsb (lua_State *L, const char *k, int v) { - lua_pushboolean(L, v); - lua_setfield(L, -2, k); -} - - -/* -** In function 'db_getinfo', the call to 'lua_getinfo' may push -** results on the stack; later it creates the result table to put -** these objects. Function 'treatstackoption' puts the result from -** 'lua_getinfo' on top of the result table so that it can call -** 'lua_setfield'. -*/ -static void treatstackoption (lua_State *L, lua_State *L1, const char *fname) { - if (L == L1) - lua_rotate(L, -2, 1); /* exchange object and table */ - else - lua_xmove(L1, L, 1); /* move object to the "main" stack */ - lua_setfield(L, -2, fname); /* put object into table */ -} - - -/* -** Calls 'lua_getinfo' and collects all results in a new table. -** L1 needs stack space for an optional input (function) plus -** two optional outputs (function and line table) from function -** 'lua_getinfo'. -*/ -static int db_getinfo (lua_State *L) { - lua_Debug ar; - int arg; - lua_State *L1 = getthread(L, &arg); - const char *options = luaL_optstring(L, arg+2, "flnStu"); - checkstack(L, L1, 3); - if (lua_isfunction(L, arg + 1)) { /* info about a function? */ - options = lua_pushfstring(L, ">%s", options); /* add '>' to 'options' */ - lua_pushvalue(L, arg + 1); /* move function to 'L1' stack */ - lua_xmove(L, L1, 1); - } - else { /* stack level */ - if (!lua_getstack(L1, (int)luaL_checkinteger(L, arg + 1), &ar)) { - lua_pushnil(L); /* level out of range */ - return 1; - } - } - if (!lua_getinfo(L1, options, &ar)) - return luaL_argerror(L, arg+2, "invalid option"); - lua_newtable(L); /* table to collect results */ - if (strchr(options, 'S')) { - settabss(L, "source", ar.source); - settabss(L, "short_src", ar.short_src); - settabsi(L, "linedefined", ar.linedefined); - settabsi(L, "lastlinedefined", ar.lastlinedefined); - settabss(L, "what", ar.what); - } - if (strchr(options, 'l')) - settabsi(L, "currentline", ar.currentline); - if (strchr(options, 'u')) { - settabsi(L, "nups", ar.nups); - settabsi(L, "nparams", ar.nparams); - settabsb(L, "isvararg", ar.isvararg); - } - if (strchr(options, 'n')) { - settabss(L, "name", ar.name); - settabss(L, "namewhat", ar.namewhat); - } - if (strchr(options, 't')) - settabsb(L, "istailcall", ar.istailcall); - if (strchr(options, 'L')) - treatstackoption(L, L1, "activelines"); - if (strchr(options, 'f')) - treatstackoption(L, L1, "func"); - return 1; /* return table */ -} - - -static int db_getlocal (lua_State *L) { - int arg; - lua_State *L1 = getthread(L, &arg); - lua_Debug ar; - const char *name; - int nvar = (int)luaL_checkinteger(L, arg + 2); /* local-variable index */ - if (lua_isfunction(L, arg + 1)) { /* function argument? */ - lua_pushvalue(L, arg + 1); /* push function */ - lua_pushstring(L, lua_getlocal(L, NULL, nvar)); /* push local name */ - return 1; /* return only name (there is no value) */ - } - else { /* stack-level argument */ - int level = (int)luaL_checkinteger(L, arg + 1); - if (!lua_getstack(L1, level, &ar)) /* out of range? */ - return luaL_argerror(L, arg+1, "level out of range"); - checkstack(L, L1, 1); - name = lua_getlocal(L1, &ar, nvar); - if (name) { - lua_xmove(L1, L, 1); /* move local value */ - lua_pushstring(L, name); /* push name */ - lua_rotate(L, -2, 1); /* re-order */ - return 2; - } - else { - lua_pushnil(L); /* no name (nor value) */ - return 1; - } - } -} - - -static int db_setlocal (lua_State *L) { - int arg; - const char *name; - lua_State *L1 = getthread(L, &arg); - lua_Debug ar; - int level = (int)luaL_checkinteger(L, arg + 1); - int nvar = (int)luaL_checkinteger(L, arg + 2); - if (!lua_getstack(L1, level, &ar)) /* out of range? */ - return luaL_argerror(L, arg+1, "level out of range"); - luaL_checkany(L, arg+3); - lua_settop(L, arg+3); - checkstack(L, L1, 1); - lua_xmove(L, L1, 1); - name = lua_setlocal(L1, &ar, nvar); - if (name == NULL) - lua_pop(L1, 1); /* pop value (if not popped by 'lua_setlocal') */ - lua_pushstring(L, name); - return 1; -} - - -/* -** get (if 'get' is true) or set an upvalue from a closure -*/ -static int auxupvalue (lua_State *L, int get) { - const char *name; - int n = (int)luaL_checkinteger(L, 2); /* upvalue index */ - luaL_checktype(L, 1, LUA_TFUNCTION); /* closure */ - name = get ? lua_getupvalue(L, 1, n) : lua_setupvalue(L, 1, n); - if (name == NULL) return 0; - lua_pushstring(L, name); - lua_insert(L, -(get+1)); /* no-op if get is false */ - return get + 1; -} - - -static int db_getupvalue (lua_State *L) { - return auxupvalue(L, 1); -} - - -static int db_setupvalue (lua_State *L) { - luaL_checkany(L, 3); - return auxupvalue(L, 0); -} - - -/* -** Check whether a given upvalue from a given closure exists and -** returns its index -*/ -static int checkupval (lua_State *L, int argf, int argnup) { - int nup = (int)luaL_checkinteger(L, argnup); /* upvalue index */ - luaL_checktype(L, argf, LUA_TFUNCTION); /* closure */ - luaL_argcheck(L, (lua_getupvalue(L, argf, nup) != NULL), argnup, - "invalid upvalue index"); - return nup; -} - - -static int db_upvalueid (lua_State *L) { - int n = checkupval(L, 1, 2); - lua_pushlightuserdata(L, lua_upvalueid(L, 1, n)); - return 1; -} - - -static int db_upvaluejoin (lua_State *L) { - int n1 = checkupval(L, 1, 2); - int n2 = checkupval(L, 3, 4); - luaL_argcheck(L, !lua_iscfunction(L, 1), 1, "Lua function expected"); - luaL_argcheck(L, !lua_iscfunction(L, 3), 3, "Lua function expected"); - lua_upvaluejoin(L, 1, n1, 3, n2); - return 0; -} - - -/* -** Call hook function registered at hook table for the current -** thread (if there is one) -*/ -static void hookf (lua_State *L, lua_Debug *ar) { - static const char *const hooknames[] = - {"call", "return", "line", "count", "tail call"}; - lua_rawgetp(L, LUA_REGISTRYINDEX, &HOOKKEY); - lua_pushthread(L); - if (lua_rawget(L, -2) == LUA_TFUNCTION) { /* is there a hook function? */ - lua_pushstring(L, hooknames[(int)ar->event]); /* push event name */ - if (ar->currentline >= 0) - lua_pushinteger(L, ar->currentline); /* push current line */ - else lua_pushnil(L); - lua_assert(lua_getinfo(L, "lS", ar)); - lua_call(L, 2, 0); /* call hook function */ - } -} - - -/* -** Convert a string mask (for 'sethook') into a bit mask -*/ -static int makemask (const char *smask, int count) { - int mask = 0; - if (strchr(smask, 'c')) mask |= LUA_MASKCALL; - if (strchr(smask, 'r')) mask |= LUA_MASKRET; - if (strchr(smask, 'l')) mask |= LUA_MASKLINE; - if (count > 0) mask |= LUA_MASKCOUNT; - return mask; -} - - -/* -** Convert a bit mask (for 'gethook') into a string mask -*/ -static char *unmakemask (int mask, char *smask) { - int i = 0; - if (mask & LUA_MASKCALL) smask[i++] = 'c'; - if (mask & LUA_MASKRET) smask[i++] = 'r'; - if (mask & LUA_MASKLINE) smask[i++] = 'l'; - smask[i] = '\0'; - return smask; -} - - -static int db_sethook (lua_State *L) { - int arg, mask, count; - lua_Hook func; - lua_State *L1 = getthread(L, &arg); - if (lua_isnoneornil(L, arg+1)) { /* no hook? */ - lua_settop(L, arg+1); - func = NULL; mask = 0; count = 0; /* turn off hooks */ - } - else { - const char *smask = luaL_checkstring(L, arg+2); - luaL_checktype(L, arg+1, LUA_TFUNCTION); - count = (int)luaL_optinteger(L, arg + 3, 0); - func = hookf; mask = makemask(smask, count); - } - if (lua_rawgetp(L, LUA_REGISTRYINDEX, &HOOKKEY) == LUA_TNIL) { - lua_createtable(L, 0, 2); /* create a hook table */ - lua_pushvalue(L, -1); - lua_rawsetp(L, LUA_REGISTRYINDEX, &HOOKKEY); /* set it in position */ - lua_pushstring(L, "k"); - lua_setfield(L, -2, "__mode"); /** hooktable.__mode = "k" */ - lua_pushvalue(L, -1); - lua_setmetatable(L, -2); /* setmetatable(hooktable) = hooktable */ - } - checkstack(L, L1, 1); - lua_pushthread(L1); lua_xmove(L1, L, 1); /* key (thread) */ - lua_pushvalue(L, arg + 1); /* value (hook function) */ - lua_rawset(L, -3); /* hooktable[L1] = new Lua hook */ - lua_sethook(L1, func, mask, count); - return 0; -} - - -static int db_gethook (lua_State *L) { - int arg; - lua_State *L1 = getthread(L, &arg); - char buff[5]; - int mask = lua_gethookmask(L1); - lua_Hook hook = lua_gethook(L1); - if (hook == NULL) /* no hook? */ - lua_pushnil(L); - else if (hook != hookf) /* external hook? */ - lua_pushliteral(L, "external hook"); - else { /* hook table must exist */ - lua_rawgetp(L, LUA_REGISTRYINDEX, &HOOKKEY); - checkstack(L, L1, 1); - lua_pushthread(L1); lua_xmove(L1, L, 1); - lua_rawget(L, -2); /* 1st result = hooktable[L1] */ - lua_remove(L, -2); /* remove hook table */ - } - lua_pushstring(L, unmakemask(mask, buff)); /* 2nd result = mask */ - lua_pushinteger(L, lua_gethookcount(L1)); /* 3rd result = count */ - return 3; -} - - -static int db_debug (lua_State *L) { - for (;;) { - char buffer[250]; - lua_writestringerror("%s", "lua_debug> "); - if (fgets(buffer, sizeof(buffer), stdin) == 0 || - strcmp(buffer, "cont\n") == 0) - return 0; - if (luaL_loadbuffer(L, buffer, strlen(buffer), "=(debug command)") || - lua_pcall(L, 0, 0, 0)) - lua_writestringerror("%s\n", lua_tostring(L, -1)); - lua_settop(L, 0); /* remove eventual returns */ - } -} - - -static int db_traceback (lua_State *L) { - int arg; - lua_State *L1 = getthread(L, &arg); - const char *msg = lua_tostring(L, arg + 1); - if (msg == NULL && !lua_isnoneornil(L, arg + 1)) /* non-string 'msg'? */ - lua_pushvalue(L, arg + 1); /* return it untouched */ - else { - int level = (int)luaL_optinteger(L, arg + 2, (L == L1) ? 1 : 0); - luaL_traceback(L, L1, msg, level); - } - return 1; -} - - -static const luaL_Reg dblib[] = { - {"debug", db_debug}, - {"getuservalue", db_getuservalue}, - {"gethook", db_gethook}, - {"getinfo", db_getinfo}, - {"getlocal", db_getlocal}, - {"getregistry", db_getregistry}, - {"getmetatable", db_getmetatable}, - {"getupvalue", db_getupvalue}, - {"upvaluejoin", db_upvaluejoin}, - {"upvalueid", db_upvalueid}, - {"setuservalue", db_setuservalue}, - {"sethook", db_sethook}, - {"setlocal", db_setlocal}, - {"setmetatable", db_setmetatable}, - {"setupvalue", db_setupvalue}, - {"traceback", db_traceback}, - {NULL, NULL} -}; - - -LUAMOD_API int luaopen_debug (lua_State *L) { - luaL_newlib(L, dblib); - return 1; -} - diff --git a/User/lua/src-bak/ldebug.c b/User/lua/src-bak/ldebug.c deleted file mode 100644 index b18d658..0000000 --- a/User/lua/src-bak/ldebug.c +++ /dev/null @@ -1,702 +0,0 @@ -/* -** $Id: ldebug.c,v 2.121.1.2 2017/07/10 17:21:50 roberto Exp $ -** Debug Interface -** See Copyright Notice in lua.h -*/ - -#define ldebug_c -#define LUA_CORE - -#include "lprefix.h" - - -#include -#include -#include - -#include "lua.h" - -#include "lapi.h" -#include "lcode.h" -#include "ldebug.h" -#include "ldo.h" -#include "lfunc.h" -#include "lobject.h" -#include "lopcodes.h" -#include "lstate.h" -#include "lstring.h" -#include "ltable.h" -#include "ltm.h" -#include "lvm.h" - - - -#define noLuaClosure(f) ((f) == NULL || (f)->c.tt == LUA_TCCL) - - -/* Active Lua function (given call info) */ -#define ci_func(ci) (clLvalue((ci)->func)) - - -static const char *funcnamefromcode (lua_State *L, CallInfo *ci, - const char **name); - - -static int currentpc (CallInfo *ci) { - lua_assert(isLua(ci)); - return pcRel(ci->u.l.savedpc, ci_func(ci)->p); -} - - -static int currentline (CallInfo *ci) { - return getfuncline(ci_func(ci)->p, currentpc(ci)); -} - - -/* -** If function yielded, its 'func' can be in the 'extra' field. The -** next function restores 'func' to its correct value for debugging -** purposes. (It exchanges 'func' and 'extra'; so, when called again, -** after debugging, it also "re-restores" ** 'func' to its altered value. -*/ -static void swapextra (lua_State *L) { - if (L->status == LUA_YIELD) { - CallInfo *ci = L->ci; /* get function that yielded */ - StkId temp = ci->func; /* exchange its 'func' and 'extra' values */ - ci->func = restorestack(L, ci->extra); - ci->extra = savestack(L, temp); - } -} - - -/* -** This function can be called asynchronously (e.g. during a signal). -** Fields 'oldpc', 'basehookcount', and 'hookcount' (set by -** 'resethookcount') are for debug only, and it is no problem if they -** get arbitrary values (causes at most one wrong hook call). 'hookmask' -** is an atomic value. We assume that pointers are atomic too (e.g., gcc -** ensures that for all platforms where it runs). Moreover, 'hook' is -** always checked before being called (see 'luaD_hook'). -*/ -LUA_API void lua_sethook (lua_State *L, lua_Hook func, int mask, int count) { - if (func == NULL || mask == 0) { /* turn off hooks? */ - mask = 0; - func = NULL; - } - if (isLua(L->ci)) - L->oldpc = L->ci->u.l.savedpc; - L->hook = func; - L->basehookcount = count; - resethookcount(L); - L->hookmask = cast_byte(mask); -} - - -LUA_API lua_Hook lua_gethook (lua_State *L) { - return L->hook; -} - - -LUA_API int lua_gethookmask (lua_State *L) { - return L->hookmask; -} - - -LUA_API int lua_gethookcount (lua_State *L) { - return L->basehookcount; -} - - -LUA_API int lua_getstack (lua_State *L, int level, lua_Debug *ar) { - int status; - CallInfo *ci; - if (level < 0) return 0; /* invalid (negative) level */ - lua_lock(L); - for (ci = L->ci; level > 0 && ci != &L->base_ci; ci = ci->previous) - level--; - if (level == 0 && ci != &L->base_ci) { /* level found? */ - status = 1; - ar->i_ci = ci; - } - else status = 0; /* no such level */ - lua_unlock(L); - return status; -} - - -static const char *upvalname (Proto *p, int uv) { - TString *s = check_exp(uv < p->sizeupvalues, p->upvalues[uv].name); - if (s == NULL) return "?"; - else return getstr(s); -} - - -static const char *findvararg (CallInfo *ci, int n, StkId *pos) { - int nparams = clLvalue(ci->func)->p->numparams; - if (n >= cast_int(ci->u.l.base - ci->func) - nparams) - return NULL; /* no such vararg */ - else { - *pos = ci->func + nparams + n; - return "(*vararg)"; /* generic name for any vararg */ - } -} - - -static const char *findlocal (lua_State *L, CallInfo *ci, int n, - StkId *pos) { - const char *name = NULL; - StkId base; - if (isLua(ci)) { - if (n < 0) /* access to vararg values? */ - return findvararg(ci, -n, pos); - else { - base = ci->u.l.base; - name = luaF_getlocalname(ci_func(ci)->p, n, currentpc(ci)); - } - } - else - base = ci->func + 1; - if (name == NULL) { /* no 'standard' name? */ - StkId limit = (ci == L->ci) ? L->top : ci->next->func; - if (limit - base >= n && n > 0) /* is 'n' inside 'ci' stack? */ - name = "(*temporary)"; /* generic name for any valid slot */ - else - return NULL; /* no name */ - } - *pos = base + (n - 1); - return name; -} - - -LUA_API const char *lua_getlocal (lua_State *L, const lua_Debug *ar, int n) { - const char *name; - lua_lock(L); - swapextra(L); - if (ar == NULL) { /* information about non-active function? */ - if (!isLfunction(L->top - 1)) /* not a Lua function? */ - name = NULL; - else /* consider live variables at function start (parameters) */ - name = luaF_getlocalname(clLvalue(L->top - 1)->p, n, 0); - } - else { /* active function; get information through 'ar' */ - StkId pos = NULL; /* to avoid warnings */ - name = findlocal(L, ar->i_ci, n, &pos); - if (name) { - setobj2s(L, L->top, pos); - api_incr_top(L); - } - } - swapextra(L); - lua_unlock(L); - return name; -} - - -LUA_API const char *lua_setlocal (lua_State *L, const lua_Debug *ar, int n) { - StkId pos = NULL; /* to avoid warnings */ - const char *name; - lua_lock(L); - swapextra(L); - name = findlocal(L, ar->i_ci, n, &pos); - if (name) { - setobjs2s(L, pos, L->top - 1); - L->top--; /* pop value */ - } - swapextra(L); - lua_unlock(L); - return name; -} - - -static void funcinfo (lua_Debug *ar, Closure *cl) { - if (noLuaClosure(cl)) { - ar->source = "=[C]"; - ar->linedefined = -1; - ar->lastlinedefined = -1; - ar->what = "C"; - } - else { - Proto *p = cl->l.p; - ar->source = p->source ? getstr(p->source) : "=?"; - ar->linedefined = p->linedefined; - ar->lastlinedefined = p->lastlinedefined; - ar->what = (ar->linedefined == 0) ? "main" : "Lua"; - } - luaO_chunkid(ar->short_src, ar->source, LUA_IDSIZE); -} - - -static void collectvalidlines (lua_State *L, Closure *f) { - if (noLuaClosure(f)) { - setnilvalue(L->top); - api_incr_top(L); - } - else { - int i; - TValue v; - int *lineinfo = f->l.p->lineinfo; - Table *t = luaH_new(L); /* new table to store active lines */ - sethvalue(L, L->top, t); /* push it on stack */ - api_incr_top(L); - setbvalue(&v, 1); /* boolean 'true' to be the value of all indices */ - for (i = 0; i < f->l.p->sizelineinfo; i++) /* for all lines with code */ - luaH_setint(L, t, lineinfo[i], &v); /* table[line] = true */ - } -} - - -static const char *getfuncname (lua_State *L, CallInfo *ci, const char **name) { - if (ci == NULL) /* no 'ci'? */ - return NULL; /* no info */ - else if (ci->callstatus & CIST_FIN) { /* is this a finalizer? */ - *name = "__gc"; - return "metamethod"; /* report it as such */ - } - /* calling function is a known Lua function? */ - else if (!(ci->callstatus & CIST_TAIL) && isLua(ci->previous)) - return funcnamefromcode(L, ci->previous, name); - else return NULL; /* no way to find a name */ -} - - -static int auxgetinfo (lua_State *L, const char *what, lua_Debug *ar, - Closure *f, CallInfo *ci) { - int status = 1; - for (; *what; what++) { - switch (*what) { - case 'S': { - funcinfo(ar, f); - break; - } - case 'l': { - ar->currentline = (ci && isLua(ci)) ? currentline(ci) : -1; - break; - } - case 'u': { - ar->nups = (f == NULL) ? 0 : f->c.nupvalues; - if (noLuaClosure(f)) { - ar->isvararg = 1; - ar->nparams = 0; - } - else { - ar->isvararg = f->l.p->is_vararg; - ar->nparams = f->l.p->numparams; - } - break; - } - case 't': { - ar->istailcall = (ci) ? ci->callstatus & CIST_TAIL : 0; - break; - } - case 'n': { - ar->namewhat = getfuncname(L, ci, &ar->name); - if (ar->namewhat == NULL) { - ar->namewhat = ""; /* not found */ - ar->name = NULL; - } - break; - } - case 'L': - case 'f': /* handled by lua_getinfo */ - break; - default: status = 0; /* invalid option */ - } - } - return status; -} - - -LUA_API int lua_getinfo (lua_State *L, const char *what, lua_Debug *ar) { - int status; - Closure *cl; - CallInfo *ci; - StkId func; - lua_lock(L); - swapextra(L); - if (*what == '>') { - ci = NULL; - func = L->top - 1; - api_check(L, ttisfunction(func), "function expected"); - what++; /* skip the '>' */ - L->top--; /* pop function */ - } - else { - ci = ar->i_ci; - func = ci->func; - lua_assert(ttisfunction(ci->func)); - } - cl = ttisclosure(func) ? clvalue(func) : NULL; - status = auxgetinfo(L, what, ar, cl, ci); - if (strchr(what, 'f')) { - setobjs2s(L, L->top, func); - api_incr_top(L); - } - swapextra(L); /* correct before option 'L', which can raise a mem. error */ - if (strchr(what, 'L')) - collectvalidlines(L, cl); - lua_unlock(L); - return status; -} - - -/* -** {====================================================== -** Symbolic Execution -** ======================================================= -*/ - -static const char *getobjname (Proto *p, int lastpc, int reg, - const char **name); - - -/* -** find a "name" for the RK value 'c' -*/ -static void kname (Proto *p, int pc, int c, const char **name) { - if (ISK(c)) { /* is 'c' a constant? */ - TValue *kvalue = &p->k[INDEXK(c)]; - if (ttisstring(kvalue)) { /* literal constant? */ - *name = svalue(kvalue); /* it is its own name */ - return; - } - /* else no reasonable name found */ - } - else { /* 'c' is a register */ - const char *what = getobjname(p, pc, c, name); /* search for 'c' */ - if (what && *what == 'c') { /* found a constant name? */ - return; /* 'name' already filled */ - } - /* else no reasonable name found */ - } - *name = "?"; /* no reasonable name found */ -} - - -static int filterpc (int pc, int jmptarget) { - if (pc < jmptarget) /* is code conditional (inside a jump)? */ - return -1; /* cannot know who sets that register */ - else return pc; /* current position sets that register */ -} - - -/* -** try to find last instruction before 'lastpc' that modified register 'reg' -*/ -static int findsetreg (Proto *p, int lastpc, int reg) { - int pc; - int setreg = -1; /* keep last instruction that changed 'reg' */ - int jmptarget = 0; /* any code before this address is conditional */ - for (pc = 0; pc < lastpc; pc++) { - Instruction i = p->code[pc]; - OpCode op = GET_OPCODE(i); - int a = GETARG_A(i); - switch (op) { - case OP_LOADNIL: { - int b = GETARG_B(i); - if (a <= reg && reg <= a + b) /* set registers from 'a' to 'a+b' */ - setreg = filterpc(pc, jmptarget); - break; - } - case OP_TFORCALL: { - if (reg >= a + 2) /* affect all regs above its base */ - setreg = filterpc(pc, jmptarget); - break; - } - case OP_CALL: - case OP_TAILCALL: { - if (reg >= a) /* affect all registers above base */ - setreg = filterpc(pc, jmptarget); - break; - } - case OP_JMP: { - int b = GETARG_sBx(i); - int dest = pc + 1 + b; - /* jump is forward and do not skip 'lastpc'? */ - if (pc < dest && dest <= lastpc) { - if (dest > jmptarget) - jmptarget = dest; /* update 'jmptarget' */ - } - break; - } - default: - if (testAMode(op) && reg == a) /* any instruction that set A */ - setreg = filterpc(pc, jmptarget); - break; - } - } - return setreg; -} - - -static const char *getobjname (Proto *p, int lastpc, int reg, - const char **name) { - int pc; - *name = luaF_getlocalname(p, reg + 1, lastpc); - if (*name) /* is a local? */ - return "local"; - /* else try symbolic execution */ - pc = findsetreg(p, lastpc, reg); - if (pc != -1) { /* could find instruction? */ - Instruction i = p->code[pc]; - OpCode op = GET_OPCODE(i); - switch (op) { - case OP_MOVE: { - int b = GETARG_B(i); /* move from 'b' to 'a' */ - if (b < GETARG_A(i)) - return getobjname(p, pc, b, name); /* get name for 'b' */ - break; - } - case OP_GETTABUP: - case OP_GETTABLE: { - int k = GETARG_C(i); /* key index */ - int t = GETARG_B(i); /* table index */ - const char *vn = (op == OP_GETTABLE) /* name of indexed variable */ - ? luaF_getlocalname(p, t + 1, pc) - : upvalname(p, t); - kname(p, pc, k, name); - return (vn && strcmp(vn, LUA_ENV) == 0) ? "global" : "field"; - } - case OP_GETUPVAL: { - *name = upvalname(p, GETARG_B(i)); - return "upvalue"; - } - case OP_LOADK: - case OP_LOADKX: { - int b = (op == OP_LOADK) ? GETARG_Bx(i) - : GETARG_Ax(p->code[pc + 1]); - if (ttisstring(&p->k[b])) { - *name = svalue(&p->k[b]); - return "constant"; - } - break; - } - case OP_SELF: { - int k = GETARG_C(i); /* key index */ - kname(p, pc, k, name); - return "method"; - } - default: break; /* go through to return NULL */ - } - } - return NULL; /* could not find reasonable name */ -} - - -/* -** Try to find a name for a function based on the code that called it. -** (Only works when function was called by a Lua function.) -** Returns what the name is (e.g., "for iterator", "method", -** "metamethod") and sets '*name' to point to the name. -*/ -static const char *funcnamefromcode (lua_State *L, CallInfo *ci, - const char **name) { - TMS tm = (TMS)0; /* (initial value avoids warnings) */ - Proto *p = ci_func(ci)->p; /* calling function */ - int pc = currentpc(ci); /* calling instruction index */ - Instruction i = p->code[pc]; /* calling instruction */ - if (ci->callstatus & CIST_HOOKED) { /* was it called inside a hook? */ - *name = "?"; - return "hook"; - } - switch (GET_OPCODE(i)) { - case OP_CALL: - case OP_TAILCALL: - return getobjname(p, pc, GETARG_A(i), name); /* get function name */ - case OP_TFORCALL: { /* for iterator */ - *name = "for iterator"; - return "for iterator"; - } - /* other instructions can do calls through metamethods */ - case OP_SELF: case OP_GETTABUP: case OP_GETTABLE: - tm = TM_INDEX; - break; - case OP_SETTABUP: case OP_SETTABLE: - tm = TM_NEWINDEX; - break; - case OP_ADD: case OP_SUB: case OP_MUL: case OP_MOD: - case OP_POW: case OP_DIV: case OP_IDIV: case OP_BAND: - case OP_BOR: case OP_BXOR: case OP_SHL: case OP_SHR: { - int offset = cast_int(GET_OPCODE(i)) - cast_int(OP_ADD); /* ORDER OP */ - tm = cast(TMS, offset + cast_int(TM_ADD)); /* ORDER TM */ - break; - } - case OP_UNM: tm = TM_UNM; break; - case OP_BNOT: tm = TM_BNOT; break; - case OP_LEN: tm = TM_LEN; break; - case OP_CONCAT: tm = TM_CONCAT; break; - case OP_EQ: tm = TM_EQ; break; - case OP_LT: tm = TM_LT; break; - case OP_LE: tm = TM_LE; break; - default: - return NULL; /* cannot find a reasonable name */ - } - *name = getstr(G(L)->tmname[tm]); - return "metamethod"; -} - -/* }====================================================== */ - - - -/* -** The subtraction of two potentially unrelated pointers is -** not ISO C, but it should not crash a program; the subsequent -** checks are ISO C and ensure a correct result. -*/ -static int isinstack (CallInfo *ci, const TValue *o) { - ptrdiff_t i = o - ci->u.l.base; - return (0 <= i && i < (ci->top - ci->u.l.base) && ci->u.l.base + i == o); -} - - -/* -** Checks whether value 'o' came from an upvalue. (That can only happen -** with instructions OP_GETTABUP/OP_SETTABUP, which operate directly on -** upvalues.) -*/ -static const char *getupvalname (CallInfo *ci, const TValue *o, - const char **name) { - LClosure *c = ci_func(ci); - int i; - for (i = 0; i < c->nupvalues; i++) { - if (c->upvals[i]->v == o) { - *name = upvalname(c->p, i); - return "upvalue"; - } - } - return NULL; -} - - -static const char *varinfo (lua_State *L, const TValue *o) { - const char *name = NULL; /* to avoid warnings */ - CallInfo *ci = L->ci; - const char *kind = NULL; - if (isLua(ci)) { - kind = getupvalname(ci, o, &name); /* check whether 'o' is an upvalue */ - if (!kind && isinstack(ci, o)) /* no? try a register */ - kind = getobjname(ci_func(ci)->p, currentpc(ci), - cast_int(o - ci->u.l.base), &name); - } - return (kind) ? luaO_pushfstring(L, " (%s '%s')", kind, name) : ""; -} - - -l_noret luaG_typeerror (lua_State *L, const TValue *o, const char *op) { - const char *t = luaT_objtypename(L, o); - luaG_runerror(L, "attempt to %s a %s value%s", op, t, varinfo(L, o)); -} - - -l_noret luaG_concaterror (lua_State *L, const TValue *p1, const TValue *p2) { - if (ttisstring(p1) || cvt2str(p1)) p1 = p2; - luaG_typeerror(L, p1, "concatenate"); -} - - -l_noret luaG_opinterror (lua_State *L, const TValue *p1, - const TValue *p2, const char *msg) { - lua_Number temp; - if (!tonumber(p1, &temp)) /* first operand is wrong? */ - p2 = p1; /* now second is wrong */ - luaG_typeerror(L, p2, msg); -} - - -/* -** Error when both values are convertible to numbers, but not to integers -*/ -l_noret luaG_tointerror (lua_State *L, const TValue *p1, const TValue *p2) { - lua_Integer temp; - if (!tointeger(p1, &temp)) - p2 = p1; - luaG_runerror(L, "number%s has no integer representation", varinfo(L, p2)); -} - - -l_noret luaG_ordererror (lua_State *L, const TValue *p1, const TValue *p2) { - const char *t1 = luaT_objtypename(L, p1); - const char *t2 = luaT_objtypename(L, p2); - if (strcmp(t1, t2) == 0) - luaG_runerror(L, "attempt to compare two %s values", t1); - else - luaG_runerror(L, "attempt to compare %s with %s", t1, t2); -} - - -/* add src:line information to 'msg' */ -const char *luaG_addinfo (lua_State *L, const char *msg, TString *src, - int line) { - char buff[LUA_IDSIZE]; - if (src) - luaO_chunkid(buff, getstr(src), LUA_IDSIZE); - else { /* no source available; use "?" instead */ - buff[0] = '?'; buff[1] = '\0'; - } - return luaO_pushfstring(L, "%s:%d: %s", buff, line, msg); -} - - -l_noret luaG_errormsg (lua_State *L) { - if (L->errfunc != 0) { /* is there an error handling function? */ - StkId errfunc = restorestack(L, L->errfunc); - setobjs2s(L, L->top, L->top - 1); /* move argument */ - setobjs2s(L, L->top - 1, errfunc); /* push function */ - L->top++; /* assume EXTRA_STACK */ - luaD_callnoyield(L, L->top - 2, 1); /* call it */ - } - luaD_throw(L, LUA_ERRRUN); -} - - -l_noret luaG_runerror (lua_State *L, const char *fmt, ...) { - CallInfo *ci = L->ci; - const char *msg; - va_list argp; - luaC_checkGC(L); /* error message uses memory */ - va_start(argp, fmt); - msg = luaO_pushvfstring(L, fmt, argp); /* format message */ - va_end(argp); - if (isLua(ci)) /* if Lua function, add source:line information */ - luaG_addinfo(L, msg, ci_func(ci)->p->source, currentline(ci)); - - //printf("%s", msg); - - luaG_errormsg(L); -} - - -void luaG_traceexec (lua_State *L) { - CallInfo *ci = L->ci; - lu_byte mask = L->hookmask; - int counthook = (--L->hookcount == 0 && (mask & LUA_MASKCOUNT)); - if (counthook) - resethookcount(L); /* reset count */ - else if (!(mask & LUA_MASKLINE)) - return; /* no line hook and count != 0; nothing to be done */ - if (ci->callstatus & CIST_HOOKYIELD) { /* called hook last time? */ - ci->callstatus &= ~CIST_HOOKYIELD; /* erase mark */ - return; /* do not call hook again (VM yielded, so it did not move) */ - } - if (counthook) - luaD_hook(L, LUA_HOOKCOUNT, -1); /* call count hook */ - if (mask & LUA_MASKLINE) { - Proto *p = ci_func(ci)->p; - int npc = pcRel(ci->u.l.savedpc, p); - int newline = getfuncline(p, npc); - if (npc == 0 || /* call linehook when enter a new function, */ - ci->u.l.savedpc <= L->oldpc || /* when jump back (loop), or when */ - newline != getfuncline(p, pcRel(L->oldpc, p))) /* enter a new line */ - luaD_hook(L, LUA_HOOKLINE, newline); /* call line hook */ - } - L->oldpc = ci->u.l.savedpc; - if (L->status == LUA_YIELD) { /* did hook yield? */ - if (counthook) - L->hookcount = 1; /* undo decrement to zero */ - ci->u.l.savedpc--; /* undo increment (resume will increment it again) */ - ci->callstatus |= CIST_HOOKYIELD; /* mark that it yielded */ - ci->func = L->top - 1; /* protect stack below results */ - luaD_throw(L, LUA_YIELD); - } -} - diff --git a/User/lua/src-bak/ldebug.h b/User/lua/src-bak/ldebug.h deleted file mode 100644 index a642165..0000000 --- a/User/lua/src-bak/ldebug.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -** $Id: ldebug.h,v 2.14.1.1 2017/04/19 17:20:42 roberto Exp $ -** Auxiliary functions from Debug Interface module -** See Copyright Notice in lua.h -*/ - -#ifndef ldebug_h -#define ldebug_h - - -#include "lstate.h" - - -#define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1) - -#define getfuncline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : -1) - -#define resethookcount(L) (L->hookcount = L->basehookcount) - - -LUAI_FUNC l_noret luaG_typeerror (lua_State *L, const TValue *o, - const char *opname); -LUAI_FUNC l_noret luaG_concaterror (lua_State *L, const TValue *p1, - const TValue *p2); -LUAI_FUNC l_noret luaG_opinterror (lua_State *L, const TValue *p1, - const TValue *p2, - const char *msg); -LUAI_FUNC l_noret luaG_tointerror (lua_State *L, const TValue *p1, - const TValue *p2); -LUAI_FUNC l_noret luaG_ordererror (lua_State *L, const TValue *p1, - const TValue *p2); -LUAI_FUNC l_noret luaG_runerror (lua_State *L, const char *fmt, ...); -LUAI_FUNC const char *luaG_addinfo (lua_State *L, const char *msg, - TString *src, int line); -LUAI_FUNC l_noret luaG_errormsg (lua_State *L); -LUAI_FUNC void luaG_traceexec (lua_State *L); - - -#endif diff --git a/User/lua/src-bak/ldo.c b/User/lua/src-bak/ldo.c deleted file mode 100644 index 71324ef..0000000 --- a/User/lua/src-bak/ldo.c +++ /dev/null @@ -1,807 +0,0 @@ -/* -** $Id: ldo.c,v 2.157.1.1 2017/04/19 17:20:42 roberto Exp $ -** Stack and Call structure of Lua -** See Copyright Notice in lua.h -*/ - -#define ldo_c -#define LUA_CORE - -#include "lprefix.h" - - -#include -#include -#include -#include - -#include "lua.h" - -#include "lapi.h" -#include "ldebug.h" -#include "ldo.h" -#include "lfunc.h" -#include "lgc.h" -#include "lmem.h" -#include "lobject.h" -#include "lopcodes.h" -#include "lparser.h" -#include "lstate.h" -#include "lstring.h" -#include "ltable.h" -#include "ltm.h" -#include "lundump.h" -#include "lvm.h" -#include "lzio.h" - - - -#define errorstatus(s) ((s) > LUA_YIELD) - - -/* -** {====================================================== -** Error-recovery functions -** ======================================================= -*/ - -/* -** LUAI_THROW/LUAI_TRY define how Lua does exception handling. By -** default, Lua handles errors with exceptions when compiling as -** C++ code, with _longjmp/_setjmp when asked to use them, and with -** longjmp/setjmp otherwise. -*/ -#if !defined(LUAI_THROW) /* { */ - -#if defined(__cplusplus) && !defined(LUA_USE_LONGJMP) /* { */ - -/* C++ exceptions */ -#define LUAI_THROW(L,c) throw(c) -#define LUAI_TRY(L,c,a) \ - try { a } catch(...) { if ((c)->status == 0) (c)->status = -1; } -#define luai_jmpbuf int /* dummy variable */ - -#elif defined(LUA_USE_POSIX) /* }{ */ - -/* in POSIX, try _longjmp/_setjmp (more efficient) */ -#define LUAI_THROW(L,c) _longjmp((c)->b, 1) -#define LUAI_TRY(L,c,a) if (_setjmp((c)->b) == 0) { a } -#define luai_jmpbuf jmp_buf - -#else /* }{ */ - -/* ISO C handling with long jumps */ -#define LUAI_THROW(L,c) longjmp((c)->b, 1) -#define LUAI_TRY(L,c,a) if (setjmp((c)->b) == 0) { a } -#define luai_jmpbuf jmp_buf - -#endif /* } */ - -#endif /* } */ - - - -/* chain list of long jump buffers */ -struct lua_longjmp { - struct lua_longjmp *previous; - luai_jmpbuf b; - volatile int status; /* error code */ -}; - - -static void seterrorobj (lua_State *L, int errcode, StkId oldtop) { - switch (errcode) { - case LUA_ERRMEM: { /* memory error? */ - setsvalue2s(L, oldtop, G(L)->memerrmsg); /* reuse preregistered msg. */ - break; - } - case LUA_ERRERR: { - setsvalue2s(L, oldtop, luaS_newliteral(L, "error in error handling")); - break; - } - default: { - setobjs2s(L, oldtop, L->top - 1); /* error message on current top */ - break; - } - } - L->top = oldtop + 1; -} - - -l_noret luaD_throw (lua_State *L, int errcode) { - if (L->errorJmp) { /* thread has an error handler? */ - L->errorJmp->status = errcode; /* set status */ - - /* armfly 2019-04-17 print debug */ - printf("throw errcode=%d\r\n", errcode); - - LUAI_THROW(L, L->errorJmp); /* jump to it */ - } - else { /* thread has no error handler */ - global_State *g = G(L); - L->status = cast_byte(errcode); /* mark it as dead */ - if (g->mainthread->errorJmp) { /* main thread has a handler? */ - setobjs2s(L, g->mainthread->top++, L->top - 1); /* copy error obj. */ - luaD_throw(g->mainthread, errcode); /* re-throw in main thread */ - } - else { /* no handler at all; abort */ - if (g->panic) { /* panic function? */ - seterrorobj(L, errcode, L->top); /* assume EXTRA_STACK */ - if (L->ci->top < L->top) - L->ci->top = L->top; /* pushing msg. can break this invariant */ - lua_unlock(L); - g->panic(L); /* call panic function (last chance to jump out) */ - } - abort(); - } - } -} - - -int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) { - unsigned short oldnCcalls = L->nCcalls; - struct lua_longjmp lj; - lj.status = LUA_OK; - lj.previous = L->errorJmp; /* chain new error handler */ - L->errorJmp = &lj; - LUAI_TRY(L, &lj, - (*f)(L, ud); - ); - L->errorJmp = lj.previous; /* restore old error handler */ - L->nCcalls = oldnCcalls; - return lj.status; -} - -/* }====================================================== */ - - -/* -** {================================================================== -** Stack reallocation -** =================================================================== -*/ -static void correctstack (lua_State *L, TValue *oldstack) { - CallInfo *ci; - UpVal *up; - L->top = (L->top - oldstack) + L->stack; - for (up = L->openupval; up != NULL; up = up->u.open.next) - up->v = (up->v - oldstack) + L->stack; - for (ci = L->ci; ci != NULL; ci = ci->previous) { - ci->top = (ci->top - oldstack) + L->stack; - ci->func = (ci->func - oldstack) + L->stack; - if (isLua(ci)) - ci->u.l.base = (ci->u.l.base - oldstack) + L->stack; - } -} - - -/* some space for error handling */ -#define ERRORSTACKSIZE (LUAI_MAXSTACK + 200) - - -void luaD_reallocstack (lua_State *L, int newsize) { - TValue *oldstack = L->stack; - int lim = L->stacksize; - lua_assert(newsize <= LUAI_MAXSTACK || newsize == ERRORSTACKSIZE); - lua_assert(L->stack_last - L->stack == L->stacksize - EXTRA_STACK); - luaM_reallocvector(L, L->stack, L->stacksize, newsize, TValue); - for (; lim < newsize; lim++) - setnilvalue(L->stack + lim); /* erase new segment */ - L->stacksize = newsize; - L->stack_last = L->stack + newsize - EXTRA_STACK; - correctstack(L, oldstack); -} - - -void luaD_growstack (lua_State *L, int n) { - int size = L->stacksize; - if (size > LUAI_MAXSTACK) /* error after extra size? */ - luaD_throw(L, LUA_ERRERR); - else { - int needed = cast_int(L->top - L->stack) + n + EXTRA_STACK; - int newsize = 2 * size; - if (newsize > LUAI_MAXSTACK) newsize = LUAI_MAXSTACK; - if (newsize < needed) newsize = needed; - if (newsize > LUAI_MAXSTACK) { /* stack overflow? */ - luaD_reallocstack(L, ERRORSTACKSIZE); - luaG_runerror(L, "stack overflow"); - } - else - luaD_reallocstack(L, newsize); - } -} - - -static int stackinuse (lua_State *L) { - CallInfo *ci; - StkId lim = L->top; - for (ci = L->ci; ci != NULL; ci = ci->previous) { - if (lim < ci->top) lim = ci->top; - } - lua_assert(lim <= L->stack_last); - return cast_int(lim - L->stack) + 1; /* part of stack in use */ -} - - -void luaD_shrinkstack (lua_State *L) { - int inuse = stackinuse(L); - int goodsize = inuse + (inuse / 8) + 2*EXTRA_STACK; - if (goodsize > LUAI_MAXSTACK) - goodsize = LUAI_MAXSTACK; /* respect stack limit */ - if (L->stacksize > LUAI_MAXSTACK) /* had been handling stack overflow? */ - luaE_freeCI(L); /* free all CIs (list grew because of an error) */ - else - luaE_shrinkCI(L); /* shrink list */ - /* if thread is currently not handling a stack overflow and its - good size is smaller than current size, shrink its stack */ - if (inuse <= (LUAI_MAXSTACK - EXTRA_STACK) && - goodsize < L->stacksize) - luaD_reallocstack(L, goodsize); - else /* don't change stack */ - condmovestack(L,{},{}); /* (change only for debugging) */ -} - - -void luaD_inctop (lua_State *L) { - luaD_checkstack(L, 1); - L->top++; -} - -/* }================================================================== */ - - -/* -** Call a hook for the given event. Make sure there is a hook to be -** called. (Both 'L->hook' and 'L->hookmask', which triggers this -** function, can be changed asynchronously by signals.) -*/ -void luaD_hook (lua_State *L, int event, int line) { - lua_Hook hook = L->hook; - if (hook && L->allowhook) { /* make sure there is a hook */ - CallInfo *ci = L->ci; - ptrdiff_t top = savestack(L, L->top); - ptrdiff_t ci_top = savestack(L, ci->top); - lua_Debug ar; - ar.event = event; - ar.currentline = line; - ar.i_ci = ci; - luaD_checkstack(L, LUA_MINSTACK); /* ensure minimum stack size */ - ci->top = L->top + LUA_MINSTACK; - lua_assert(ci->top <= L->stack_last); - L->allowhook = 0; /* cannot call hooks inside a hook */ - ci->callstatus |= CIST_HOOKED; - lua_unlock(L); - (*hook)(L, &ar); - lua_lock(L); - lua_assert(!L->allowhook); - L->allowhook = 1; - ci->top = restorestack(L, ci_top); - L->top = restorestack(L, top); - ci->callstatus &= ~CIST_HOOKED; - } -} - - -static void callhook (lua_State *L, CallInfo *ci) { - int hook = LUA_HOOKCALL; - ci->u.l.savedpc++; /* hooks assume 'pc' is already incremented */ - if (isLua(ci->previous) && - GET_OPCODE(*(ci->previous->u.l.savedpc - 1)) == OP_TAILCALL) { - ci->callstatus |= CIST_TAIL; - hook = LUA_HOOKTAILCALL; - } - luaD_hook(L, hook, -1); - ci->u.l.savedpc--; /* correct 'pc' */ -} - - -static StkId adjust_varargs (lua_State *L, Proto *p, int actual) { - int i; - int nfixargs = p->numparams; - StkId base, fixed; - /* move fixed parameters to final position */ - fixed = L->top - actual; /* first fixed argument */ - base = L->top; /* final position of first argument */ - for (i = 0; i < nfixargs && i < actual; i++) { - setobjs2s(L, L->top++, fixed + i); - setnilvalue(fixed + i); /* erase original copy (for GC) */ - } - for (; i < nfixargs; i++) - setnilvalue(L->top++); /* complete missing arguments */ - return base; -} - - -/* -** Check whether __call metafield of 'func' is a function. If so, put -** it in stack below original 'func' so that 'luaD_precall' can call -** it. Raise an error if __call metafield is not a function. -*/ -static void tryfuncTM (lua_State *L, StkId func) { - const TValue *tm = luaT_gettmbyobj(L, func, TM_CALL); - StkId p; - if (!ttisfunction(tm)) - luaG_typeerror(L, func, "call"); - /* Open a hole inside the stack at 'func' */ - for (p = L->top; p > func; p--) - setobjs2s(L, p, p-1); - L->top++; /* slot ensured by caller */ - setobj2s(L, func, tm); /* tag method is the new function to be called */ -} - - -/* -** Given 'nres' results at 'firstResult', move 'wanted' of them to 'res'. -** Handle most typical cases (zero results for commands, one result for -** expressions, multiple results for tail calls/single parameters) -** separated. -*/ -static int moveresults (lua_State *L, const TValue *firstResult, StkId res, - int nres, int wanted) { - switch (wanted) { /* handle typical cases separately */ - case 0: break; /* nothing to move */ - case 1: { /* one result needed */ - if (nres == 0) /* no results? */ - firstResult = luaO_nilobject; /* adjust with nil */ - setobjs2s(L, res, firstResult); /* move it to proper place */ - break; - } - case LUA_MULTRET: { - int i; - for (i = 0; i < nres; i++) /* move all results to correct place */ - setobjs2s(L, res + i, firstResult + i); - L->top = res + nres; - return 0; /* wanted == LUA_MULTRET */ - } - default: { - int i; - if (wanted <= nres) { /* enough results? */ - for (i = 0; i < wanted; i++) /* move wanted results to correct place */ - setobjs2s(L, res + i, firstResult + i); - } - else { /* not enough results; use all of them plus nils */ - for (i = 0; i < nres; i++) /* move all results to correct place */ - setobjs2s(L, res + i, firstResult + i); - for (; i < wanted; i++) /* complete wanted number of results */ - setnilvalue(res + i); - } - break; - } - } - L->top = res + wanted; /* top points after the last result */ - return 1; -} - - -/* -** Finishes a function call: calls hook if necessary, removes CallInfo, -** moves current number of results to proper place; returns 0 iff call -** wanted multiple (variable number of) results. -*/ -int luaD_poscall (lua_State *L, CallInfo *ci, StkId firstResult, int nres) { - StkId res; - int wanted = ci->nresults; - if (L->hookmask & (LUA_MASKRET | LUA_MASKLINE)) { - if (L->hookmask & LUA_MASKRET) { - ptrdiff_t fr = savestack(L, firstResult); /* hook may change stack */ - luaD_hook(L, LUA_HOOKRET, -1); - firstResult = restorestack(L, fr); - } - L->oldpc = ci->previous->u.l.savedpc; /* 'oldpc' for caller function */ - } - res = ci->func; /* res == final position of 1st result */ - L->ci = ci->previous; /* back to caller */ - /* move results to proper place */ - return moveresults(L, firstResult, res, nres, wanted); -} - - - -#define next_ci(L) (L->ci = (L->ci->next ? L->ci->next : luaE_extendCI(L))) - - -/* macro to check stack size, preserving 'p' */ -#define checkstackp(L,n,p) \ - luaD_checkstackaux(L, n, \ - ptrdiff_t t__ = savestack(L, p); /* save 'p' */ \ - luaC_checkGC(L), /* stack grow uses memory */ \ - p = restorestack(L, t__)) /* 'pos' part: restore 'p' */ - - -/* -** Prepares a function call: checks the stack, creates a new CallInfo -** entry, fills in the relevant information, calls hook if needed. -** If function is a C function, does the call, too. (Otherwise, leave -** the execution ('luaV_execute') to the caller, to allow stackless -** calls.) Returns true iff function has been executed (C function). -*/ -int luaD_precall (lua_State *L, StkId func, int nresults) { - lua_CFunction f; - CallInfo *ci; - switch (ttype(func)) { - case LUA_TCCL: /* C closure */ - f = clCvalue(func)->f; - goto Cfunc; - case LUA_TLCF: /* light C function */ - f = fvalue(func); - Cfunc: { - int n; /* number of returns */ - checkstackp(L, LUA_MINSTACK, func); /* ensure minimum stack size */ - ci = next_ci(L); /* now 'enter' new function */ - ci->nresults = nresults; - ci->func = func; - ci->top = L->top + LUA_MINSTACK; - lua_assert(ci->top <= L->stack_last); - ci->callstatus = 0; - if (L->hookmask & LUA_MASKCALL) - luaD_hook(L, LUA_HOOKCALL, -1); - lua_unlock(L); - n = (*f)(L); /* do the actual call */ - lua_lock(L); - api_checknelems(L, n); - luaD_poscall(L, ci, L->top - n, n); - return 1; - } - case LUA_TLCL: { /* Lua function: prepare its call */ - StkId base; - Proto *p = clLvalue(func)->p; - int n = cast_int(L->top - func) - 1; /* number of real arguments */ - int fsize = p->maxstacksize; /* frame size */ - checkstackp(L, fsize, func); - if (p->is_vararg) - base = adjust_varargs(L, p, n); - else { /* non vararg function */ - for (; n < p->numparams; n++) - setnilvalue(L->top++); /* complete missing arguments */ - base = func + 1; - } - ci = next_ci(L); /* now 'enter' new function */ - ci->nresults = nresults; - ci->func = func; - ci->u.l.base = base; - L->top = ci->top = base + fsize; - lua_assert(ci->top <= L->stack_last); - ci->u.l.savedpc = p->code; /* starting point */ - ci->callstatus = CIST_LUA; - if (L->hookmask & LUA_MASKCALL) - callhook(L, ci); - return 0; - } - default: { /* not a function */ - checkstackp(L, 1, func); /* ensure space for metamethod */ - tryfuncTM(L, func); /* try to get '__call' metamethod */ - return luaD_precall(L, func, nresults); /* now it must be a function */ - } - } -} - - -/* -** Check appropriate error for stack overflow ("regular" overflow or -** overflow while handling stack overflow). If 'nCalls' is larger than -** LUAI_MAXCCALLS (which means it is handling a "regular" overflow) but -** smaller than 9/8 of LUAI_MAXCCALLS, does not report an error (to -** allow overflow handling to work) -*/ -static void stackerror (lua_State *L) { - if (L->nCcalls == LUAI_MAXCCALLS) - luaG_runerror(L, "C stack overflow"); - else if (L->nCcalls >= (LUAI_MAXCCALLS + (LUAI_MAXCCALLS>>3))) - luaD_throw(L, LUA_ERRERR); /* error while handing stack error */ -} - - -/* -** Call a function (C or Lua). The function to be called is at *func. -** The arguments are on the stack, right after the function. -** When returns, all the results are on the stack, starting at the original -** function position. -*/ -void luaD_call (lua_State *L, StkId func, int nResults) { - if (++L->nCcalls >= LUAI_MAXCCALLS) - stackerror(L); - if (!luaD_precall(L, func, nResults)) /* is a Lua function? */ - luaV_execute(L); /* call it */ - L->nCcalls--; -} - - -/* -** Similar to 'luaD_call', but does not allow yields during the call -*/ -void luaD_callnoyield (lua_State *L, StkId func, int nResults) { - L->nny++; - luaD_call(L, func, nResults); - L->nny--; -} - - -/* -** Completes the execution of an interrupted C function, calling its -** continuation function. -*/ -static void finishCcall (lua_State *L, int status) { - CallInfo *ci = L->ci; - int n; - /* must have a continuation and must be able to call it */ - lua_assert(ci->u.c.k != NULL && L->nny == 0); - /* error status can only happen in a protected call */ - lua_assert((ci->callstatus & CIST_YPCALL) || status == LUA_YIELD); - if (ci->callstatus & CIST_YPCALL) { /* was inside a pcall? */ - ci->callstatus &= ~CIST_YPCALL; /* continuation is also inside it */ - L->errfunc = ci->u.c.old_errfunc; /* with the same error function */ - } - /* finish 'lua_callk'/'lua_pcall'; CIST_YPCALL and 'errfunc' already - handled */ - adjustresults(L, ci->nresults); - lua_unlock(L); - n = (*ci->u.c.k)(L, status, ci->u.c.ctx); /* call continuation function */ - lua_lock(L); - api_checknelems(L, n); - luaD_poscall(L, ci, L->top - n, n); /* finish 'luaD_precall' */ -} - - -/* -** Executes "full continuation" (everything in the stack) of a -** previously interrupted coroutine until the stack is empty (or another -** interruption long-jumps out of the loop). If the coroutine is -** recovering from an error, 'ud' points to the error status, which must -** be passed to the first continuation function (otherwise the default -** status is LUA_YIELD). -*/ -static void unroll (lua_State *L, void *ud) { - if (ud != NULL) /* error status? */ - finishCcall(L, *(int *)ud); /* finish 'lua_pcallk' callee */ - while (L->ci != &L->base_ci) { /* something in the stack */ - if (!isLua(L->ci)) /* C function? */ - finishCcall(L, LUA_YIELD); /* complete its execution */ - else { /* Lua function */ - luaV_finishOp(L); /* finish interrupted instruction */ - luaV_execute(L); /* execute down to higher C 'boundary' */ - } - } -} - - -/* -** Try to find a suspended protected call (a "recover point") for the -** given thread. -*/ -static CallInfo *findpcall (lua_State *L) { - CallInfo *ci; - for (ci = L->ci; ci != NULL; ci = ci->previous) { /* search for a pcall */ - if (ci->callstatus & CIST_YPCALL) - return ci; - } - return NULL; /* no pending pcall */ -} - - -/* -** Recovers from an error in a coroutine. Finds a recover point (if -** there is one) and completes the execution of the interrupted -** 'luaD_pcall'. If there is no recover point, returns zero. -*/ -static int recover (lua_State *L, int status) { - StkId oldtop; - CallInfo *ci = findpcall(L); - if (ci == NULL) return 0; /* no recovery point */ - /* "finish" luaD_pcall */ - oldtop = restorestack(L, ci->extra); - luaF_close(L, oldtop); - seterrorobj(L, status, oldtop); - L->ci = ci; - L->allowhook = getoah(ci->callstatus); /* restore original 'allowhook' */ - L->nny = 0; /* should be zero to be yieldable */ - luaD_shrinkstack(L); - L->errfunc = ci->u.c.old_errfunc; - return 1; /* continue running the coroutine */ -} - - -/* -** Signal an error in the call to 'lua_resume', not in the execution -** of the coroutine itself. (Such errors should not be handled by any -** coroutine error handler and should not kill the coroutine.) -*/ -static int resume_error (lua_State *L, const char *msg, int narg) { - L->top -= narg; /* remove args from the stack */ - setsvalue2s(L, L->top, luaS_new(L, msg)); /* push error message */ - api_incr_top(L); - lua_unlock(L); - return LUA_ERRRUN; -} - - -/* -** Do the work for 'lua_resume' in protected mode. Most of the work -** depends on the status of the coroutine: initial state, suspended -** inside a hook, or regularly suspended (optionally with a continuation -** function), plus erroneous cases: non-suspended coroutine or dead -** coroutine. -*/ -static void resume (lua_State *L, void *ud) { - int n = *(cast(int*, ud)); /* number of arguments */ - StkId firstArg = L->top - n; /* first argument */ - CallInfo *ci = L->ci; - if (L->status == LUA_OK) { /* starting a coroutine? */ - if (!luaD_precall(L, firstArg - 1, LUA_MULTRET)) /* Lua function? */ - luaV_execute(L); /* call it */ - } - else { /* resuming from previous yield */ - lua_assert(L->status == LUA_YIELD); - L->status = LUA_OK; /* mark that it is running (again) */ - ci->func = restorestack(L, ci->extra); - if (isLua(ci)) /* yielded inside a hook? */ - luaV_execute(L); /* just continue running Lua code */ - else { /* 'common' yield */ - if (ci->u.c.k != NULL) { /* does it have a continuation function? */ - lua_unlock(L); - n = (*ci->u.c.k)(L, LUA_YIELD, ci->u.c.ctx); /* call continuation */ - lua_lock(L); - api_checknelems(L, n); - firstArg = L->top - n; /* yield results come from continuation */ - } - luaD_poscall(L, ci, firstArg, n); /* finish 'luaD_precall' */ - } - unroll(L, NULL); /* run continuation */ - } -} - - -LUA_API int lua_resume (lua_State *L, lua_State *from, int nargs) { - int status; - unsigned short oldnny = L->nny; /* save "number of non-yieldable" calls */ - lua_lock(L); - if (L->status == LUA_OK) { /* may be starting a coroutine */ - if (L->ci != &L->base_ci) /* not in base level? */ - return resume_error(L, "cannot resume non-suspended coroutine", nargs); - } - else if (L->status != LUA_YIELD) - return resume_error(L, "cannot resume dead coroutine", nargs); - L->nCcalls = (from) ? from->nCcalls + 1 : 1; - if (L->nCcalls >= LUAI_MAXCCALLS) - return resume_error(L, "C stack overflow", nargs); - luai_userstateresume(L, nargs); - L->nny = 0; /* allow yields */ - api_checknelems(L, (L->status == LUA_OK) ? nargs + 1 : nargs); - status = luaD_rawrunprotected(L, resume, &nargs); - if (status == -1) /* error calling 'lua_resume'? */ - status = LUA_ERRRUN; - else { /* continue running after recoverable errors */ - while (errorstatus(status) && recover(L, status)) { - /* unroll continuation */ - status = luaD_rawrunprotected(L, unroll, &status); - } - if (errorstatus(status)) { /* unrecoverable error? */ - L->status = cast_byte(status); /* mark thread as 'dead' */ - seterrorobj(L, status, L->top); /* push error message */ - L->ci->top = L->top; - } - else lua_assert(status == L->status); /* normal end or yield */ - } - L->nny = oldnny; /* restore 'nny' */ - L->nCcalls--; - lua_assert(L->nCcalls == ((from) ? from->nCcalls : 0)); - lua_unlock(L); - return status; -} - - -LUA_API int lua_isyieldable (lua_State *L) { - return (L->nny == 0); -} - - -LUA_API int lua_yieldk (lua_State *L, int nresults, lua_KContext ctx, - lua_KFunction k) { - CallInfo *ci = L->ci; - luai_userstateyield(L, nresults); - lua_lock(L); - api_checknelems(L, nresults); - if (L->nny > 0) { - if (L != G(L)->mainthread) - luaG_runerror(L, "attempt to yield across a C-call boundary"); - else - luaG_runerror(L, "attempt to yield from outside a coroutine"); - } - L->status = LUA_YIELD; - ci->extra = savestack(L, ci->func); /* save current 'func' */ - if (isLua(ci)) { /* inside a hook? */ - api_check(L, k == NULL, "hooks cannot continue after yielding"); - } - else { - if ((ci->u.c.k = k) != NULL) /* is there a continuation? */ - ci->u.c.ctx = ctx; /* save context */ - ci->func = L->top - nresults - 1; /* protect stack below results */ - luaD_throw(L, LUA_YIELD); - } - lua_assert(ci->callstatus & CIST_HOOKED); /* must be inside a hook */ - lua_unlock(L); - return 0; /* return to 'luaD_hook' */ -} - - -int luaD_pcall (lua_State *L, Pfunc func, void *u, - ptrdiff_t old_top, ptrdiff_t ef) { - int status; - CallInfo *old_ci = L->ci; - lu_byte old_allowhooks = L->allowhook; - unsigned short old_nny = L->nny; - ptrdiff_t old_errfunc = L->errfunc; - L->errfunc = ef; - status = luaD_rawrunprotected(L, func, u); - if (status != LUA_OK) { /* an error occurred? */ - StkId oldtop = restorestack(L, old_top); - luaF_close(L, oldtop); /* close possible pending closures */ - seterrorobj(L, status, oldtop); - L->ci = old_ci; - L->allowhook = old_allowhooks; - L->nny = old_nny; - luaD_shrinkstack(L); - } - L->errfunc = old_errfunc; - return status; -} - - - -/* -** Execute a protected parser. -*/ -struct SParser { /* data to 'f_parser' */ - ZIO *z; - Mbuffer buff; /* dynamic structure used by the scanner */ - Dyndata dyd; /* dynamic structures used by the parser */ - const char *mode; - const char *name; -}; - - -static void checkmode (lua_State *L, const char *mode, const char *x) { - if (mode && strchr(mode, x[0]) == NULL) { - luaO_pushfstring(L, - "attempt to load a %s chunk (mode is '%s')", x, mode); - luaD_throw(L, LUA_ERRSYNTAX); - } -} - - -static void f_parser (lua_State *L, void *ud) { - LClosure *cl; - struct SParser *p = cast(struct SParser *, ud); - int c = zgetc(p->z); /* read first character */ - if (c == LUA_SIGNATURE[0]) { - checkmode(L, p->mode, "binary"); - cl = luaU_undump(L, p->z, p->name); - } - else { - checkmode(L, p->mode, "text"); - cl = luaY_parser(L, p->z, &p->buff, &p->dyd, p->name, c); - } - lua_assert(cl->nupvalues == cl->p->sizeupvalues); - luaF_initupvals(L, cl); -} - - -int luaD_protectedparser (lua_State *L, ZIO *z, const char *name, - const char *mode) { - struct SParser p; - int status; - L->nny++; /* cannot yield during parsing */ - p.z = z; p.name = name; p.mode = mode; - p.dyd.actvar.arr = NULL; p.dyd.actvar.size = 0; - p.dyd.gt.arr = NULL; p.dyd.gt.size = 0; - p.dyd.label.arr = NULL; p.dyd.label.size = 0; - luaZ_initbuffer(L, &p.buff); - status = luaD_pcall(L, f_parser, &p, savestack(L, L->top), L->errfunc); - luaZ_freebuffer(L, &p.buff); - luaM_freearray(L, p.dyd.actvar.arr, p.dyd.actvar.size); - luaM_freearray(L, p.dyd.gt.arr, p.dyd.gt.size); - luaM_freearray(L, p.dyd.label.arr, p.dyd.label.size); - L->nny--; - return status; -} - - diff --git a/User/lua/src-bak/ldo.h b/User/lua/src-bak/ldo.h deleted file mode 100644 index 2f8cf75..0000000 --- a/User/lua/src-bak/ldo.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -** $Id: ldo.h,v 2.29.1.1 2017/04/19 17:20:42 roberto Exp $ -** Stack and Call structure of Lua -** See Copyright Notice in lua.h -*/ - -#ifndef ldo_h -#define ldo_h - - -#include "lobject.h" -#include "lstate.h" -#include "lzio.h" - - -/* -** Macro to check stack size and grow stack if needed. Parameters -** 'pre'/'pos' allow the macro to preserve a pointer into the -** stack across reallocations, doing the work only when needed. -** 'condmovestack' is used in heavy tests to force a stack reallocation -** at every check. -*/ -#define luaD_checkstackaux(L,n,pre,pos) \ - if (L->stack_last - L->top <= (n)) \ - { pre; luaD_growstack(L, n); pos; } else { condmovestack(L,pre,pos); } - -/* In general, 'pre'/'pos' are empty (nothing to save) */ -#define luaD_checkstack(L,n) luaD_checkstackaux(L,n,(void)0,(void)0) - - - -#define savestack(L,p) ((char *)(p) - (char *)L->stack) -#define restorestack(L,n) ((TValue *)((char *)L->stack + (n))) - - -/* type of protected functions, to be ran by 'runprotected' */ -typedef void (*Pfunc) (lua_State *L, void *ud); - -LUAI_FUNC int luaD_protectedparser (lua_State *L, ZIO *z, const char *name, - const char *mode); -LUAI_FUNC void luaD_hook (lua_State *L, int event, int line); -LUAI_FUNC int luaD_precall (lua_State *L, StkId func, int nresults); -LUAI_FUNC void luaD_call (lua_State *L, StkId func, int nResults); -LUAI_FUNC void luaD_callnoyield (lua_State *L, StkId func, int nResults); -LUAI_FUNC int luaD_pcall (lua_State *L, Pfunc func, void *u, - ptrdiff_t oldtop, ptrdiff_t ef); -LUAI_FUNC int luaD_poscall (lua_State *L, CallInfo *ci, StkId firstResult, - int nres); -LUAI_FUNC void luaD_reallocstack (lua_State *L, int newsize); -LUAI_FUNC void luaD_growstack (lua_State *L, int n); -LUAI_FUNC void luaD_shrinkstack (lua_State *L); -LUAI_FUNC void luaD_inctop (lua_State *L); - -LUAI_FUNC l_noret luaD_throw (lua_State *L, int errcode); -LUAI_FUNC int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud); - -#endif - diff --git a/User/lua/src-bak/ldump.c b/User/lua/src-bak/ldump.c deleted file mode 100644 index 4715f5a..0000000 --- a/User/lua/src-bak/ldump.c +++ /dev/null @@ -1,215 +0,0 @@ -/* -** $Id: ldump.c,v 2.37.1.1 2017/04/19 17:20:42 roberto Exp $ -** save precompiled Lua chunks -** See Copyright Notice in lua.h -*/ - -#define ldump_c -#define LUA_CORE - -#include "lprefix.h" - - -#include - -#include "lua.h" - -#include "lobject.h" -#include "lstate.h" -#include "lundump.h" - - -typedef struct { - lua_State *L; - lua_Writer writer; - void *data; - int strip; - int status; -} DumpState; - - -/* -** All high-level dumps go through DumpVector; you can change it to -** change the endianness of the result -*/ -#define DumpVector(v,n,D) DumpBlock(v,(n)*sizeof((v)[0]),D) - -#define DumpLiteral(s,D) DumpBlock(s, sizeof(s) - sizeof(char), D) - - -static void DumpBlock (const void *b, size_t size, DumpState *D) { - if (D->status == 0 && size > 0) { - lua_unlock(D->L); - D->status = (*D->writer)(D->L, b, size, D->data); - lua_lock(D->L); - } -} - - -#define DumpVar(x,D) DumpVector(&x,1,D) - - -static void DumpByte (int y, DumpState *D) { - lu_byte x = (lu_byte)y; - DumpVar(x, D); -} - - -static void DumpInt (int x, DumpState *D) { - DumpVar(x, D); -} - - -static void DumpNumber (lua_Number x, DumpState *D) { - DumpVar(x, D); -} - - -static void DumpInteger (lua_Integer x, DumpState *D) { - DumpVar(x, D); -} - - -static void DumpString (const TString *s, DumpState *D) { - if (s == NULL) - DumpByte(0, D); - else { - size_t size = tsslen(s) + 1; /* include trailing '\0' */ - const char *str = getstr(s); - if (size < 0xFF) - DumpByte(cast_int(size), D); - else { - DumpByte(0xFF, D); - DumpVar(size, D); - } - DumpVector(str, size - 1, D); /* no need to save '\0' */ - } -} - - -static void DumpCode (const Proto *f, DumpState *D) { - DumpInt(f->sizecode, D); - DumpVector(f->code, f->sizecode, D); -} - - -static void DumpFunction(const Proto *f, TString *psource, DumpState *D); - -static void DumpConstants (const Proto *f, DumpState *D) { - int i; - int n = f->sizek; - DumpInt(n, D); - for (i = 0; i < n; i++) { - const TValue *o = &f->k[i]; - DumpByte(ttype(o), D); - switch (ttype(o)) { - case LUA_TNIL: - break; - case LUA_TBOOLEAN: - DumpByte(bvalue(o), D); - break; - case LUA_TNUMFLT: - DumpNumber(fltvalue(o), D); - break; - case LUA_TNUMINT: - DumpInteger(ivalue(o), D); - break; - case LUA_TSHRSTR: - case LUA_TLNGSTR: - DumpString(tsvalue(o), D); - break; - default: - lua_assert(0); - } - } -} - - -static void DumpProtos (const Proto *f, DumpState *D) { - int i; - int n = f->sizep; - DumpInt(n, D); - for (i = 0; i < n; i++) - DumpFunction(f->p[i], f->source, D); -} - - -static void DumpUpvalues (const Proto *f, DumpState *D) { - int i, n = f->sizeupvalues; - DumpInt(n, D); - for (i = 0; i < n; i++) { - DumpByte(f->upvalues[i].instack, D); - DumpByte(f->upvalues[i].idx, D); - } -} - - -static void DumpDebug (const Proto *f, DumpState *D) { - int i, n; - n = (D->strip) ? 0 : f->sizelineinfo; - DumpInt(n, D); - DumpVector(f->lineinfo, n, D); - n = (D->strip) ? 0 : f->sizelocvars; - DumpInt(n, D); - for (i = 0; i < n; i++) { - DumpString(f->locvars[i].varname, D); - DumpInt(f->locvars[i].startpc, D); - DumpInt(f->locvars[i].endpc, D); - } - n = (D->strip) ? 0 : f->sizeupvalues; - DumpInt(n, D); - for (i = 0; i < n; i++) - DumpString(f->upvalues[i].name, D); -} - - -static void DumpFunction (const Proto *f, TString *psource, DumpState *D) { - if (D->strip || f->source == psource) - DumpString(NULL, D); /* no debug info or same source as its parent */ - else - DumpString(f->source, D); - DumpInt(f->linedefined, D); - DumpInt(f->lastlinedefined, D); - DumpByte(f->numparams, D); - DumpByte(f->is_vararg, D); - DumpByte(f->maxstacksize, D); - DumpCode(f, D); - DumpConstants(f, D); - DumpUpvalues(f, D); - DumpProtos(f, D); - DumpDebug(f, D); -} - - -static void DumpHeader (DumpState *D) { - DumpLiteral(LUA_SIGNATURE, D); - DumpByte(LUAC_VERSION, D); - DumpByte(LUAC_FORMAT, D); - DumpLiteral(LUAC_DATA, D); - DumpByte(sizeof(int), D); - DumpByte(sizeof(size_t), D); - DumpByte(sizeof(Instruction), D); - DumpByte(sizeof(lua_Integer), D); - DumpByte(sizeof(lua_Number), D); - DumpInteger(LUAC_INT, D); - DumpNumber(LUAC_NUM, D); -} - - -/* -** dump Lua function as precompiled chunk -*/ -int luaU_dump(lua_State *L, const Proto *f, lua_Writer w, void *data, - int strip) { - DumpState D; - D.L = L; - D.writer = w; - D.data = data; - D.strip = strip; - D.status = 0; - DumpHeader(&D); - DumpByte(f->sizeupvalues, &D); - DumpFunction(f, NULL, &D); - return D.status; -} - diff --git a/User/lua/src-bak/lfunc.c b/User/lua/src-bak/lfunc.c deleted file mode 100644 index ccafbb8..0000000 --- a/User/lua/src-bak/lfunc.c +++ /dev/null @@ -1,151 +0,0 @@ -/* -** $Id: lfunc.c,v 2.45.1.1 2017/04/19 17:39:34 roberto Exp $ -** Auxiliary functions to manipulate prototypes and closures -** See Copyright Notice in lua.h -*/ - -#define lfunc_c -#define LUA_CORE - -#include "lprefix.h" - - -#include - -#include "lua.h" - -#include "lfunc.h" -#include "lgc.h" -#include "lmem.h" -#include "lobject.h" -#include "lstate.h" - - - -CClosure *luaF_newCclosure (lua_State *L, int n) { - GCObject *o = luaC_newobj(L, LUA_TCCL, sizeCclosure(n)); - CClosure *c = gco2ccl(o); - c->nupvalues = cast_byte(n); - return c; -} - - -LClosure *luaF_newLclosure (lua_State *L, int n) { - GCObject *o = luaC_newobj(L, LUA_TLCL, sizeLclosure(n)); - LClosure *c = gco2lcl(o); - c->p = NULL; - c->nupvalues = cast_byte(n); - while (n--) c->upvals[n] = NULL; - return c; -} - -/* -** fill a closure with new closed upvalues -*/ -void luaF_initupvals (lua_State *L, LClosure *cl) { - int i; - for (i = 0; i < cl->nupvalues; i++) { - UpVal *uv = luaM_new(L, UpVal); - uv->refcount = 1; - uv->v = &uv->u.value; /* make it closed */ - setnilvalue(uv->v); - cl->upvals[i] = uv; - } -} - - -UpVal *luaF_findupval (lua_State *L, StkId level) { - UpVal **pp = &L->openupval; - UpVal *p; - UpVal *uv; - lua_assert(isintwups(L) || L->openupval == NULL); - while (*pp != NULL && (p = *pp)->v >= level) { - lua_assert(upisopen(p)); - if (p->v == level) /* found a corresponding upvalue? */ - return p; /* return it */ - pp = &p->u.open.next; - } - /* not found: create a new upvalue */ - uv = luaM_new(L, UpVal); - uv->refcount = 0; - uv->u.open.next = *pp; /* link it to list of open upvalues */ - uv->u.open.touched = 1; - *pp = uv; - uv->v = level; /* current value lives in the stack */ - if (!isintwups(L)) { /* thread not in list of threads with upvalues? */ - L->twups = G(L)->twups; /* link it to the list */ - G(L)->twups = L; - } - return uv; -} - - -void luaF_close (lua_State *L, StkId level) { - UpVal *uv; - while (L->openupval != NULL && (uv = L->openupval)->v >= level) { - lua_assert(upisopen(uv)); - L->openupval = uv->u.open.next; /* remove from 'open' list */ - if (uv->refcount == 0) /* no references? */ - luaM_free(L, uv); /* free upvalue */ - else { - setobj(L, &uv->u.value, uv->v); /* move value to upvalue slot */ - uv->v = &uv->u.value; /* now current value lives here */ - luaC_upvalbarrier(L, uv); - } - } -} - - -Proto *luaF_newproto (lua_State *L) { - GCObject *o = luaC_newobj(L, LUA_TPROTO, sizeof(Proto)); - Proto *f = gco2p(o); - f->k = NULL; - f->sizek = 0; - f->p = NULL; - f->sizep = 0; - f->code = NULL; - f->cache = NULL; - f->sizecode = 0; - f->lineinfo = NULL; - f->sizelineinfo = 0; - f->upvalues = NULL; - f->sizeupvalues = 0; - f->numparams = 0; - f->is_vararg = 0; - f->maxstacksize = 0; - f->locvars = NULL; - f->sizelocvars = 0; - f->linedefined = 0; - f->lastlinedefined = 0; - f->source = NULL; - return f; -} - - -void luaF_freeproto (lua_State *L, Proto *f) { - luaM_freearray(L, f->code, f->sizecode); - luaM_freearray(L, f->p, f->sizep); - luaM_freearray(L, f->k, f->sizek); - luaM_freearray(L, f->lineinfo, f->sizelineinfo); - luaM_freearray(L, f->locvars, f->sizelocvars); - luaM_freearray(L, f->upvalues, f->sizeupvalues); - luaM_free(L, f); -} - - -/* -** Look for n-th local variable at line 'line' in function 'func'. -** Returns NULL if not found. -*/ -const char *luaF_getlocalname (const Proto *f, int local_number, int pc) { - int i; - for (i = 0; isizelocvars && f->locvars[i].startpc <= pc; i++) { - if (pc < f->locvars[i].endpc) { /* is variable active? */ - local_number--; - if (local_number == 0) - return getstr(f->locvars[i].varname); - } - } - return NULL; /* not found */ -} - diff --git a/User/lua/src-bak/lfunc.h b/User/lua/src-bak/lfunc.h deleted file mode 100644 index d7a52e3..0000000 --- a/User/lua/src-bak/lfunc.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -** $Id: lfunc.h,v 2.15.1.1 2017/04/19 17:39:34 roberto Exp $ -** Auxiliary functions to manipulate prototypes and closures -** See Copyright Notice in lua.h -*/ - -#ifndef lfunc_h -#define lfunc_h - - -#include "lobject.h" - - -#define sizeCclosure(n) (cast(int, sizeof(CClosure)) + \ - cast(int, sizeof(TValue)*((n)-1))) - -#define sizeLclosure(n) (cast(int, sizeof(LClosure)) + \ - cast(int, sizeof(TValue *)*((n)-1))) - - -/* test whether thread is in 'twups' list */ -#define isintwups(L) (L->twups != L) - - -/* -** maximum number of upvalues in a closure (both C and Lua). (Value -** must fit in a VM register.) -*/ -#define MAXUPVAL 255 - - -/* -** Upvalues for Lua closures -*/ -struct UpVal { - TValue *v; /* points to stack or to its own value */ - lu_mem refcount; /* reference counter */ - union { - struct { /* (when open) */ - UpVal *next; /* linked list */ - int touched; /* mark to avoid cycles with dead threads */ - } open; - TValue value; /* the value (when closed) */ - } u; -}; - -#define upisopen(up) ((up)->v != &(up)->u.value) - - -LUAI_FUNC Proto *luaF_newproto (lua_State *L); -LUAI_FUNC CClosure *luaF_newCclosure (lua_State *L, int nelems); -LUAI_FUNC LClosure *luaF_newLclosure (lua_State *L, int nelems); -LUAI_FUNC void luaF_initupvals (lua_State *L, LClosure *cl); -LUAI_FUNC UpVal *luaF_findupval (lua_State *L, StkId level); -LUAI_FUNC void luaF_close (lua_State *L, StkId level); -LUAI_FUNC void luaF_freeproto (lua_State *L, Proto *f); -LUAI_FUNC const char *luaF_getlocalname (const Proto *func, int local_number, - int pc); - - -#endif diff --git a/User/lua/src-bak/lgc.c b/User/lua/src-bak/lgc.c deleted file mode 100644 index 4a4ec7d..0000000 --- a/User/lua/src-bak/lgc.c +++ /dev/null @@ -1,1179 +0,0 @@ -/* -** $Id: lgc.c,v 2.215.1.2 2017/08/31 16:15:27 roberto Exp $ -** Garbage Collector -** See Copyright Notice in lua.h -*/ - -#define lgc_c -#define LUA_CORE - -#include "lprefix.h" - - -#include - -#include "lua.h" - -#include "ldebug.h" -#include "ldo.h" -#include "lfunc.h" -#include "lgc.h" -#include "lmem.h" -#include "lobject.h" -#include "lstate.h" -#include "lstring.h" -#include "ltable.h" -#include "ltm.h" - - -/* -** internal state for collector while inside the atomic phase. The -** collector should never be in this state while running regular code. -*/ -#define GCSinsideatomic (GCSpause + 1) - -/* -** cost of sweeping one element (the size of a small object divided -** by some adjust for the sweep speed) -*/ -#define GCSWEEPCOST ((sizeof(TString) + 4) / 4) - -/* maximum number of elements to sweep in each single step */ -#define GCSWEEPMAX (cast_int((GCSTEPSIZE / GCSWEEPCOST) / 4)) - -/* cost of calling one finalizer */ -#define GCFINALIZECOST GCSWEEPCOST - - -/* -** macro to adjust 'stepmul': 'stepmul' is actually used like -** 'stepmul / STEPMULADJ' (value chosen by tests) -*/ -#define STEPMULADJ 200 - - -/* -** macro to adjust 'pause': 'pause' is actually used like -** 'pause / PAUSEADJ' (value chosen by tests) -*/ -#define PAUSEADJ 100 - - -/* -** 'makewhite' erases all color bits then sets only the current white -** bit -*/ -#define maskcolors (~(bitmask(BLACKBIT) | WHITEBITS)) -#define makewhite(g,x) \ - (x->marked = cast_byte((x->marked & maskcolors) | luaC_white(g))) - -#define white2gray(x) resetbits(x->marked, WHITEBITS) -#define black2gray(x) resetbit(x->marked, BLACKBIT) - - -#define valiswhite(x) (iscollectable(x) && iswhite(gcvalue(x))) - -#define checkdeadkey(n) lua_assert(!ttisdeadkey(gkey(n)) || ttisnil(gval(n))) - - -#define checkconsistency(obj) \ - lua_longassert(!iscollectable(obj) || righttt(obj)) - - -#define markvalue(g,o) { checkconsistency(o); \ - if (valiswhite(o)) reallymarkobject(g,gcvalue(o)); } - -#define markobject(g,t) { if (iswhite(t)) reallymarkobject(g, obj2gco(t)); } - -/* -** mark an object that can be NULL (either because it is really optional, -** or it was stripped as debug info, or inside an uncompleted structure) -*/ -#define markobjectN(g,t) { if (t) markobject(g,t); } - -static void reallymarkobject (global_State *g, GCObject *o); - - -/* -** {====================================================== -** Generic functions -** ======================================================= -*/ - - -/* -** one after last element in a hash array -*/ -#define gnodelast(h) gnode(h, cast(size_t, sizenode(h))) - - -/* -** link collectable object 'o' into list pointed by 'p' -*/ -#define linkgclist(o,p) ((o)->gclist = (p), (p) = obj2gco(o)) - - -/* -** If key is not marked, mark its entry as dead. This allows key to be -** collected, but keeps its entry in the table. A dead node is needed -** when Lua looks up for a key (it may be part of a chain) and when -** traversing a weak table (key might be removed from the table during -** traversal). Other places never manipulate dead keys, because its -** associated nil value is enough to signal that the entry is logically -** empty. -*/ -static void removeentry (Node *n) { - lua_assert(ttisnil(gval(n))); - if (valiswhite(gkey(n))) - setdeadvalue(wgkey(n)); /* unused and unmarked key; remove it */ -} - - -/* -** tells whether a key or value can be cleared from a weak -** table. Non-collectable objects are never removed from weak -** tables. Strings behave as 'values', so are never removed too. for -** other objects: if really collected, cannot keep them; for objects -** being finalized, keep them in keys, but not in values -*/ -static int iscleared (global_State *g, const TValue *o) { - if (!iscollectable(o)) return 0; - else if (ttisstring(o)) { - markobject(g, tsvalue(o)); /* strings are 'values', so are never weak */ - return 0; - } - else return iswhite(gcvalue(o)); -} - - -/* -** barrier that moves collector forward, that is, mark the white object -** being pointed by a black object. (If in sweep phase, clear the black -** object to white [sweep it] to avoid other barrier calls for this -** same object.) -*/ -void luaC_barrier_ (lua_State *L, GCObject *o, GCObject *v) { - global_State *g = G(L); - lua_assert(isblack(o) && iswhite(v) && !isdead(g, v) && !isdead(g, o)); - if (keepinvariant(g)) /* must keep invariant? */ - reallymarkobject(g, v); /* restore invariant */ - else { /* sweep phase */ - lua_assert(issweepphase(g)); - makewhite(g, o); /* mark main obj. as white to avoid other barriers */ - } -} - - -/* -** barrier that moves collector backward, that is, mark the black object -** pointing to a white object as gray again. -*/ -void luaC_barrierback_ (lua_State *L, Table *t) { - global_State *g = G(L); - lua_assert(isblack(t) && !isdead(g, t)); - black2gray(t); /* make table gray (again) */ - linkgclist(t, g->grayagain); -} - - -/* -** barrier for assignments to closed upvalues. Because upvalues are -** shared among closures, it is impossible to know the color of all -** closures pointing to it. So, we assume that the object being assigned -** must be marked. -*/ -void luaC_upvalbarrier_ (lua_State *L, UpVal *uv) { - global_State *g = G(L); - GCObject *o = gcvalue(uv->v); - lua_assert(!upisopen(uv)); /* ensured by macro luaC_upvalbarrier */ - if (keepinvariant(g)) - markobject(g, o); -} - - -void luaC_fix (lua_State *L, GCObject *o) { - global_State *g = G(L); - lua_assert(g->allgc == o); /* object must be 1st in 'allgc' list! */ - white2gray(o); /* they will be gray forever */ - g->allgc = o->next; /* remove object from 'allgc' list */ - o->next = g->fixedgc; /* link it to 'fixedgc' list */ - g->fixedgc = o; -} - - -/* -** create a new collectable object (with given type and size) and link -** it to 'allgc' list. -*/ -GCObject *luaC_newobj (lua_State *L, int tt, size_t sz) { - global_State *g = G(L); - GCObject *o = cast(GCObject *, luaM_newobject(L, novariant(tt), sz)); - o->marked = luaC_white(g); - o->tt = tt; - o->next = g->allgc; - g->allgc = o; - return o; -} - -/* }====================================================== */ - - - -/* -** {====================================================== -** Mark functions -** ======================================================= -*/ - - -/* -** mark an object. Userdata, strings, and closed upvalues are visited -** and turned black here. Other objects are marked gray and added -** to appropriate list to be visited (and turned black) later. (Open -** upvalues are already linked in 'headuv' list.) -*/ -static void reallymarkobject (global_State *g, GCObject *o) { - reentry: - white2gray(o); - switch (o->tt) { - case LUA_TSHRSTR: { - gray2black(o); - g->GCmemtrav += sizelstring(gco2ts(o)->shrlen); - break; - } - case LUA_TLNGSTR: { - gray2black(o); - g->GCmemtrav += sizelstring(gco2ts(o)->u.lnglen); - break; - } - case LUA_TUSERDATA: { - TValue uvalue; - markobjectN(g, gco2u(o)->metatable); /* mark its metatable */ - gray2black(o); - g->GCmemtrav += sizeudata(gco2u(o)); - getuservalue(g->mainthread, gco2u(o), &uvalue); - if (valiswhite(&uvalue)) { /* markvalue(g, &uvalue); */ - o = gcvalue(&uvalue); - goto reentry; - } - break; - } - case LUA_TLCL: { - linkgclist(gco2lcl(o), g->gray); - break; - } - case LUA_TCCL: { - linkgclist(gco2ccl(o), g->gray); - break; - } - case LUA_TTABLE: { - linkgclist(gco2t(o), g->gray); - break; - } - case LUA_TTHREAD: { - linkgclist(gco2th(o), g->gray); - break; - } - case LUA_TPROTO: { - linkgclist(gco2p(o), g->gray); - break; - } - default: lua_assert(0); break; - } -} - - -/* -** mark metamethods for basic types -*/ -static void markmt (global_State *g) { - int i; - for (i=0; i < LUA_NUMTAGS; i++) - markobjectN(g, g->mt[i]); -} - - -/* -** mark all objects in list of being-finalized -*/ -static void markbeingfnz (global_State *g) { - GCObject *o; - for (o = g->tobefnz; o != NULL; o = o->next) - markobject(g, o); -} - - -/* -** Mark all values stored in marked open upvalues from non-marked threads. -** (Values from marked threads were already marked when traversing the -** thread.) Remove from the list threads that no longer have upvalues and -** not-marked threads. -*/ -static void remarkupvals (global_State *g) { - lua_State *thread; - lua_State **p = &g->twups; - while ((thread = *p) != NULL) { - lua_assert(!isblack(thread)); /* threads are never black */ - if (isgray(thread) && thread->openupval != NULL) - p = &thread->twups; /* keep marked thread with upvalues in the list */ - else { /* thread is not marked or without upvalues */ - UpVal *uv; - *p = thread->twups; /* remove thread from the list */ - thread->twups = thread; /* mark that it is out of list */ - for (uv = thread->openupval; uv != NULL; uv = uv->u.open.next) { - if (uv->u.open.touched) { - markvalue(g, uv->v); /* remark upvalue's value */ - uv->u.open.touched = 0; - } - } - } - } -} - - -/* -** mark root set and reset all gray lists, to start a new collection -*/ -static void restartcollection (global_State *g) { - g->gray = g->grayagain = NULL; - g->weak = g->allweak = g->ephemeron = NULL; - markobject(g, g->mainthread); - markvalue(g, &g->l_registry); - markmt(g); - markbeingfnz(g); /* mark any finalizing object left from previous cycle */ -} - -/* }====================================================== */ - - -/* -** {====================================================== -** Traverse functions -** ======================================================= -*/ - -/* -** Traverse a table with weak values and link it to proper list. During -** propagate phase, keep it in 'grayagain' list, to be revisited in the -** atomic phase. In the atomic phase, if table has any white value, -** put it in 'weak' list, to be cleared. -*/ -static void traverseweakvalue (global_State *g, Table *h) { - Node *n, *limit = gnodelast(h); - /* if there is array part, assume it may have white values (it is not - worth traversing it now just to check) */ - int hasclears = (h->sizearray > 0); - for (n = gnode(h, 0); n < limit; n++) { /* traverse hash part */ - checkdeadkey(n); - if (ttisnil(gval(n))) /* entry is empty? */ - removeentry(n); /* remove it */ - else { - lua_assert(!ttisnil(gkey(n))); - markvalue(g, gkey(n)); /* mark key */ - if (!hasclears && iscleared(g, gval(n))) /* is there a white value? */ - hasclears = 1; /* table will have to be cleared */ - } - } - if (g->gcstate == GCSpropagate) - linkgclist(h, g->grayagain); /* must retraverse it in atomic phase */ - else if (hasclears) - linkgclist(h, g->weak); /* has to be cleared later */ -} - - -/* -** Traverse an ephemeron table and link it to proper list. Returns true -** iff any object was marked during this traversal (which implies that -** convergence has to continue). During propagation phase, keep table -** in 'grayagain' list, to be visited again in the atomic phase. In -** the atomic phase, if table has any white->white entry, it has to -** be revisited during ephemeron convergence (as that key may turn -** black). Otherwise, if it has any white key, table has to be cleared -** (in the atomic phase). -*/ -static int traverseephemeron (global_State *g, Table *h) { - int marked = 0; /* true if an object is marked in this traversal */ - int hasclears = 0; /* true if table has white keys */ - int hasww = 0; /* true if table has entry "white-key -> white-value" */ - Node *n, *limit = gnodelast(h); - unsigned int i; - /* traverse array part */ - for (i = 0; i < h->sizearray; i++) { - if (valiswhite(&h->array[i])) { - marked = 1; - reallymarkobject(g, gcvalue(&h->array[i])); - } - } - /* traverse hash part */ - for (n = gnode(h, 0); n < limit; n++) { - checkdeadkey(n); - if (ttisnil(gval(n))) /* entry is empty? */ - removeentry(n); /* remove it */ - else if (iscleared(g, gkey(n))) { /* key is not marked (yet)? */ - hasclears = 1; /* table must be cleared */ - if (valiswhite(gval(n))) /* value not marked yet? */ - hasww = 1; /* white-white entry */ - } - else if (valiswhite(gval(n))) { /* value not marked yet? */ - marked = 1; - reallymarkobject(g, gcvalue(gval(n))); /* mark it now */ - } - } - /* link table into proper list */ - if (g->gcstate == GCSpropagate) - linkgclist(h, g->grayagain); /* must retraverse it in atomic phase */ - else if (hasww) /* table has white->white entries? */ - linkgclist(h, g->ephemeron); /* have to propagate again */ - else if (hasclears) /* table has white keys? */ - linkgclist(h, g->allweak); /* may have to clean white keys */ - return marked; -} - - -static void traversestrongtable (global_State *g, Table *h) { - Node *n, *limit = gnodelast(h); - unsigned int i; - for (i = 0; i < h->sizearray; i++) /* traverse array part */ - markvalue(g, &h->array[i]); - for (n = gnode(h, 0); n < limit; n++) { /* traverse hash part */ - checkdeadkey(n); - if (ttisnil(gval(n))) /* entry is empty? */ - removeentry(n); /* remove it */ - else { - lua_assert(!ttisnil(gkey(n))); - markvalue(g, gkey(n)); /* mark key */ - markvalue(g, gval(n)); /* mark value */ - } - } -} - - -static lu_mem traversetable (global_State *g, Table *h) { - const char *weakkey, *weakvalue; - const TValue *mode = gfasttm(g, h->metatable, TM_MODE); - markobjectN(g, h->metatable); - if (mode && ttisstring(mode) && /* is there a weak mode? */ - ((weakkey = strchr(svalue(mode), 'k')), - (weakvalue = strchr(svalue(mode), 'v')), - (weakkey || weakvalue))) { /* is really weak? */ - black2gray(h); /* keep table gray */ - if (!weakkey) /* strong keys? */ - traverseweakvalue(g, h); - else if (!weakvalue) /* strong values? */ - traverseephemeron(g, h); - else /* all weak */ - linkgclist(h, g->allweak); /* nothing to traverse now */ - } - else /* not weak */ - traversestrongtable(g, h); - return sizeof(Table) + sizeof(TValue) * h->sizearray + - sizeof(Node) * cast(size_t, allocsizenode(h)); -} - - -/* -** Traverse a prototype. (While a prototype is being build, its -** arrays can be larger than needed; the extra slots are filled with -** NULL, so the use of 'markobjectN') -*/ -static int traverseproto (global_State *g, Proto *f) { - int i; - if (f->cache && iswhite(f->cache)) - f->cache = NULL; /* allow cache to be collected */ - markobjectN(g, f->source); - for (i = 0; i < f->sizek; i++) /* mark literals */ - markvalue(g, &f->k[i]); - for (i = 0; i < f->sizeupvalues; i++) /* mark upvalue names */ - markobjectN(g, f->upvalues[i].name); - for (i = 0; i < f->sizep; i++) /* mark nested protos */ - markobjectN(g, f->p[i]); - for (i = 0; i < f->sizelocvars; i++) /* mark local-variable names */ - markobjectN(g, f->locvars[i].varname); - return sizeof(Proto) + sizeof(Instruction) * f->sizecode + - sizeof(Proto *) * f->sizep + - sizeof(TValue) * f->sizek + - sizeof(int) * f->sizelineinfo + - sizeof(LocVar) * f->sizelocvars + - sizeof(Upvaldesc) * f->sizeupvalues; -} - - -static lu_mem traverseCclosure (global_State *g, CClosure *cl) { - int i; - for (i = 0; i < cl->nupvalues; i++) /* mark its upvalues */ - markvalue(g, &cl->upvalue[i]); - return sizeCclosure(cl->nupvalues); -} - -/* -** open upvalues point to values in a thread, so those values should -** be marked when the thread is traversed except in the atomic phase -** (because then the value cannot be changed by the thread and the -** thread may not be traversed again) -*/ -static lu_mem traverseLclosure (global_State *g, LClosure *cl) { - int i; - markobjectN(g, cl->p); /* mark its prototype */ - for (i = 0; i < cl->nupvalues; i++) { /* mark its upvalues */ - UpVal *uv = cl->upvals[i]; - if (uv != NULL) { - if (upisopen(uv) && g->gcstate != GCSinsideatomic) - uv->u.open.touched = 1; /* can be marked in 'remarkupvals' */ - else - markvalue(g, uv->v); - } - } - return sizeLclosure(cl->nupvalues); -} - - -static lu_mem traversethread (global_State *g, lua_State *th) { - StkId o = th->stack; - if (o == NULL) - return 1; /* stack not completely built yet */ - lua_assert(g->gcstate == GCSinsideatomic || - th->openupval == NULL || isintwups(th)); - for (; o < th->top; o++) /* mark live elements in the stack */ - markvalue(g, o); - if (g->gcstate == GCSinsideatomic) { /* final traversal? */ - StkId lim = th->stack + th->stacksize; /* real end of stack */ - for (; o < lim; o++) /* clear not-marked stack slice */ - setnilvalue(o); - /* 'remarkupvals' may have removed thread from 'twups' list */ - if (!isintwups(th) && th->openupval != NULL) { - th->twups = g->twups; /* link it back to the list */ - g->twups = th; - } - } - else if (g->gckind != KGC_EMERGENCY) - luaD_shrinkstack(th); /* do not change stack in emergency cycle */ - return (sizeof(lua_State) + sizeof(TValue) * th->stacksize + - sizeof(CallInfo) * th->nci); -} - - -/* -** traverse one gray object, turning it to black (except for threads, -** which are always gray). -*/ -static void propagatemark (global_State *g) { - lu_mem size; - GCObject *o = g->gray; - lua_assert(isgray(o)); - gray2black(o); - switch (o->tt) { - case LUA_TTABLE: { - Table *h = gco2t(o); - g->gray = h->gclist; /* remove from 'gray' list */ - size = traversetable(g, h); - break; - } - case LUA_TLCL: { - LClosure *cl = gco2lcl(o); - g->gray = cl->gclist; /* remove from 'gray' list */ - size = traverseLclosure(g, cl); - break; - } - case LUA_TCCL: { - CClosure *cl = gco2ccl(o); - g->gray = cl->gclist; /* remove from 'gray' list */ - size = traverseCclosure(g, cl); - break; - } - case LUA_TTHREAD: { - lua_State *th = gco2th(o); - g->gray = th->gclist; /* remove from 'gray' list */ - linkgclist(th, g->grayagain); /* insert into 'grayagain' list */ - black2gray(o); - size = traversethread(g, th); - break; - } - case LUA_TPROTO: { - Proto *p = gco2p(o); - g->gray = p->gclist; /* remove from 'gray' list */ - size = traverseproto(g, p); - break; - } - default: lua_assert(0); return; - } - g->GCmemtrav += size; -} - - -static void propagateall (global_State *g) { - while (g->gray) propagatemark(g); -} - - -static void convergeephemerons (global_State *g) { - int changed; - do { - GCObject *w; - GCObject *next = g->ephemeron; /* get ephemeron list */ - g->ephemeron = NULL; /* tables may return to this list when traversed */ - changed = 0; - while ((w = next) != NULL) { - next = gco2t(w)->gclist; - if (traverseephemeron(g, gco2t(w))) { /* traverse marked some value? */ - propagateall(g); /* propagate changes */ - changed = 1; /* will have to revisit all ephemeron tables */ - } - } - } while (changed); -} - -/* }====================================================== */ - - -/* -** {====================================================== -** Sweep Functions -** ======================================================= -*/ - - -/* -** clear entries with unmarked keys from all weaktables in list 'l' up -** to element 'f' -*/ -static void clearkeys (global_State *g, GCObject *l, GCObject *f) { - for (; l != f; l = gco2t(l)->gclist) { - Table *h = gco2t(l); - Node *n, *limit = gnodelast(h); - for (n = gnode(h, 0); n < limit; n++) { - if (!ttisnil(gval(n)) && (iscleared(g, gkey(n)))) { - setnilvalue(gval(n)); /* remove value ... */ - } - if (ttisnil(gval(n))) /* is entry empty? */ - removeentry(n); /* remove entry from table */ - } - } -} - - -/* -** clear entries with unmarked values from all weaktables in list 'l' up -** to element 'f' -*/ -static void clearvalues (global_State *g, GCObject *l, GCObject *f) { - for (; l != f; l = gco2t(l)->gclist) { - Table *h = gco2t(l); - Node *n, *limit = gnodelast(h); - unsigned int i; - for (i = 0; i < h->sizearray; i++) { - TValue *o = &h->array[i]; - if (iscleared(g, o)) /* value was collected? */ - setnilvalue(o); /* remove value */ - } - for (n = gnode(h, 0); n < limit; n++) { - if (!ttisnil(gval(n)) && iscleared(g, gval(n))) { - setnilvalue(gval(n)); /* remove value ... */ - removeentry(n); /* and remove entry from table */ - } - } - } -} - - -void luaC_upvdeccount (lua_State *L, UpVal *uv) { - lua_assert(uv->refcount > 0); - uv->refcount--; - if (uv->refcount == 0 && !upisopen(uv)) - luaM_free(L, uv); -} - - -static void freeLclosure (lua_State *L, LClosure *cl) { - int i; - for (i = 0; i < cl->nupvalues; i++) { - UpVal *uv = cl->upvals[i]; - if (uv) - luaC_upvdeccount(L, uv); - } - luaM_freemem(L, cl, sizeLclosure(cl->nupvalues)); -} - - -static void freeobj (lua_State *L, GCObject *o) { - switch (o->tt) { - case LUA_TPROTO: luaF_freeproto(L, gco2p(o)); break; - case LUA_TLCL: { - freeLclosure(L, gco2lcl(o)); - break; - } - case LUA_TCCL: { - luaM_freemem(L, o, sizeCclosure(gco2ccl(o)->nupvalues)); - break; - } - case LUA_TTABLE: luaH_free(L, gco2t(o)); break; - case LUA_TTHREAD: luaE_freethread(L, gco2th(o)); break; - case LUA_TUSERDATA: luaM_freemem(L, o, sizeudata(gco2u(o))); break; - case LUA_TSHRSTR: - luaS_remove(L, gco2ts(o)); /* remove it from hash table */ - luaM_freemem(L, o, sizelstring(gco2ts(o)->shrlen)); - break; - case LUA_TLNGSTR: { - luaM_freemem(L, o, sizelstring(gco2ts(o)->u.lnglen)); - break; - } - default: lua_assert(0); - } -} - - -#define sweepwholelist(L,p) sweeplist(L,p,MAX_LUMEM) -static GCObject **sweeplist (lua_State *L, GCObject **p, lu_mem count); - - -/* -** sweep at most 'count' elements from a list of GCObjects erasing dead -** objects, where a dead object is one marked with the old (non current) -** white; change all non-dead objects back to white, preparing for next -** collection cycle. Return where to continue the traversal or NULL if -** list is finished. -*/ -static GCObject **sweeplist (lua_State *L, GCObject **p, lu_mem count) { - global_State *g = G(L); - int ow = otherwhite(g); - int white = luaC_white(g); /* current white */ - while (*p != NULL && count-- > 0) { - GCObject *curr = *p; - int marked = curr->marked; - if (isdeadm(ow, marked)) { /* is 'curr' dead? */ - *p = curr->next; /* remove 'curr' from list */ - freeobj(L, curr); /* erase 'curr' */ - } - else { /* change mark to 'white' */ - curr->marked = cast_byte((marked & maskcolors) | white); - p = &curr->next; /* go to next element */ - } - } - return (*p == NULL) ? NULL : p; -} - - -/* -** sweep a list until a live object (or end of list) -*/ -static GCObject **sweeptolive (lua_State *L, GCObject **p) { - GCObject **old = p; - do { - p = sweeplist(L, p, 1); - } while (p == old); - return p; -} - -/* }====================================================== */ - - -/* -** {====================================================== -** Finalization -** ======================================================= -*/ - -/* -** If possible, shrink string table -*/ -static void checkSizes (lua_State *L, global_State *g) { - if (g->gckind != KGC_EMERGENCY) { - l_mem olddebt = g->GCdebt; - if (g->strt.nuse < g->strt.size / 4) /* string table too big? */ - luaS_resize(L, g->strt.size / 2); /* shrink it a little */ - g->GCestimate += g->GCdebt - olddebt; /* update estimate */ - } -} - - -static GCObject *udata2finalize (global_State *g) { - GCObject *o = g->tobefnz; /* get first element */ - lua_assert(tofinalize(o)); - g->tobefnz = o->next; /* remove it from 'tobefnz' list */ - o->next = g->allgc; /* return it to 'allgc' list */ - g->allgc = o; - resetbit(o->marked, FINALIZEDBIT); /* object is "normal" again */ - if (issweepphase(g)) - makewhite(g, o); /* "sweep" object */ - return o; -} - - -static void dothecall (lua_State *L, void *ud) { - UNUSED(ud); - luaD_callnoyield(L, L->top - 2, 0); -} - - -static void GCTM (lua_State *L, int propagateerrors) { - global_State *g = G(L); - const TValue *tm; - TValue v; - setgcovalue(L, &v, udata2finalize(g)); - tm = luaT_gettmbyobj(L, &v, TM_GC); - if (tm != NULL && ttisfunction(tm)) { /* is there a finalizer? */ - int status; - lu_byte oldah = L->allowhook; - int running = g->gcrunning; - L->allowhook = 0; /* stop debug hooks during GC metamethod */ - g->gcrunning = 0; /* avoid GC steps */ - setobj2s(L, L->top, tm); /* push finalizer... */ - setobj2s(L, L->top + 1, &v); /* ... and its argument */ - L->top += 2; /* and (next line) call the finalizer */ - L->ci->callstatus |= CIST_FIN; /* will run a finalizer */ - status = luaD_pcall(L, dothecall, NULL, savestack(L, L->top - 2), 0); - L->ci->callstatus &= ~CIST_FIN; /* not running a finalizer anymore */ - L->allowhook = oldah; /* restore hooks */ - g->gcrunning = running; /* restore state */ - if (status != LUA_OK && propagateerrors) { /* error while running __gc? */ - if (status == LUA_ERRRUN) { /* is there an error object? */ - const char *msg = (ttisstring(L->top - 1)) - ? svalue(L->top - 1) - : "no message"; - luaO_pushfstring(L, "error in __gc metamethod (%s)", msg); - status = LUA_ERRGCMM; /* error in __gc metamethod */ - } - luaD_throw(L, status); /* re-throw error */ - } - } -} - - -/* -** call a few (up to 'g->gcfinnum') finalizers -*/ -static int runafewfinalizers (lua_State *L) { - global_State *g = G(L); - unsigned int i; - lua_assert(!g->tobefnz || g->gcfinnum > 0); - for (i = 0; g->tobefnz && i < g->gcfinnum; i++) - GCTM(L, 1); /* call one finalizer */ - g->gcfinnum = (!g->tobefnz) ? 0 /* nothing more to finalize? */ - : g->gcfinnum * 2; /* else call a few more next time */ - return i; -} - - -/* -** call all pending finalizers -*/ -static void callallpendingfinalizers (lua_State *L) { - global_State *g = G(L); - while (g->tobefnz) - GCTM(L, 0); -} - - -/* -** find last 'next' field in list 'p' list (to add elements in its end) -*/ -static GCObject **findlast (GCObject **p) { - while (*p != NULL) - p = &(*p)->next; - return p; -} - - -/* -** move all unreachable objects (or 'all' objects) that need -** finalization from list 'finobj' to list 'tobefnz' (to be finalized) -*/ -static void separatetobefnz (global_State *g, int all) { - GCObject *curr; - GCObject **p = &g->finobj; - GCObject **lastnext = findlast(&g->tobefnz); - while ((curr = *p) != NULL) { /* traverse all finalizable objects */ - lua_assert(tofinalize(curr)); - if (!(iswhite(curr) || all)) /* not being collected? */ - p = &curr->next; /* don't bother with it */ - else { - *p = curr->next; /* remove 'curr' from 'finobj' list */ - curr->next = *lastnext; /* link at the end of 'tobefnz' list */ - *lastnext = curr; - lastnext = &curr->next; - } - } -} - - -/* -** if object 'o' has a finalizer, remove it from 'allgc' list (must -** search the list to find it) and link it in 'finobj' list. -*/ -void luaC_checkfinalizer (lua_State *L, GCObject *o, Table *mt) { - global_State *g = G(L); - if (tofinalize(o) || /* obj. is already marked... */ - gfasttm(g, mt, TM_GC) == NULL) /* or has no finalizer? */ - return; /* nothing to be done */ - else { /* move 'o' to 'finobj' list */ - GCObject **p; - if (issweepphase(g)) { - makewhite(g, o); /* "sweep" object 'o' */ - if (g->sweepgc == &o->next) /* should not remove 'sweepgc' object */ - g->sweepgc = sweeptolive(L, g->sweepgc); /* change 'sweepgc' */ - } - /* search for pointer pointing to 'o' */ - for (p = &g->allgc; *p != o; p = &(*p)->next) { /* empty */ } - *p = o->next; /* remove 'o' from 'allgc' list */ - o->next = g->finobj; /* link it in 'finobj' list */ - g->finobj = o; - l_setbit(o->marked, FINALIZEDBIT); /* mark it as such */ - } -} - -/* }====================================================== */ - - - -/* -** {====================================================== -** GC control -** ======================================================= -*/ - - -/* -** Set a reasonable "time" to wait before starting a new GC cycle; cycle -** will start when memory use hits threshold. (Division by 'estimate' -** should be OK: it cannot be zero (because Lua cannot even start with -** less than PAUSEADJ bytes). -*/ -static void setpause (global_State *g) { - l_mem threshold, debt; - l_mem estimate = g->GCestimate / PAUSEADJ; /* adjust 'estimate' */ - lua_assert(estimate > 0); - threshold = (g->gcpause < MAX_LMEM / estimate) /* overflow? */ - ? estimate * g->gcpause /* no overflow */ - : MAX_LMEM; /* overflow; truncate to maximum */ - debt = gettotalbytes(g) - threshold; - luaE_setdebt(g, debt); -} - - -/* -** Enter first sweep phase. -** The call to 'sweeplist' tries to make pointer point to an object -** inside the list (instead of to the header), so that the real sweep do -** not need to skip objects created between "now" and the start of the -** real sweep. -*/ -static void entersweep (lua_State *L) { - global_State *g = G(L); - g->gcstate = GCSswpallgc; - lua_assert(g->sweepgc == NULL); - g->sweepgc = sweeplist(L, &g->allgc, 1); -} - - -void luaC_freeallobjects (lua_State *L) { - global_State *g = G(L); - separatetobefnz(g, 1); /* separate all objects with finalizers */ - lua_assert(g->finobj == NULL); - callallpendingfinalizers(L); - lua_assert(g->tobefnz == NULL); - g->currentwhite = WHITEBITS; /* this "white" makes all objects look dead */ - g->gckind = KGC_NORMAL; - sweepwholelist(L, &g->finobj); - sweepwholelist(L, &g->allgc); - sweepwholelist(L, &g->fixedgc); /* collect fixed objects */ - lua_assert(g->strt.nuse == 0); -} - - -static l_mem atomic (lua_State *L) { - global_State *g = G(L); - l_mem work; - GCObject *origweak, *origall; - GCObject *grayagain = g->grayagain; /* save original list */ - lua_assert(g->ephemeron == NULL && g->weak == NULL); - lua_assert(!iswhite(g->mainthread)); - g->gcstate = GCSinsideatomic; - g->GCmemtrav = 0; /* start counting work */ - markobject(g, L); /* mark running thread */ - /* registry and global metatables may be changed by API */ - markvalue(g, &g->l_registry); - markmt(g); /* mark global metatables */ - /* remark occasional upvalues of (maybe) dead threads */ - remarkupvals(g); - propagateall(g); /* propagate changes */ - work = g->GCmemtrav; /* stop counting (do not recount 'grayagain') */ - g->gray = grayagain; - propagateall(g); /* traverse 'grayagain' list */ - g->GCmemtrav = 0; /* restart counting */ - convergeephemerons(g); - /* at this point, all strongly accessible objects are marked. */ - /* Clear values from weak tables, before checking finalizers */ - clearvalues(g, g->weak, NULL); - clearvalues(g, g->allweak, NULL); - origweak = g->weak; origall = g->allweak; - work += g->GCmemtrav; /* stop counting (objects being finalized) */ - separatetobefnz(g, 0); /* separate objects to be finalized */ - g->gcfinnum = 1; /* there may be objects to be finalized */ - markbeingfnz(g); /* mark objects that will be finalized */ - propagateall(g); /* remark, to propagate 'resurrection' */ - g->GCmemtrav = 0; /* restart counting */ - convergeephemerons(g); - /* at this point, all resurrected objects are marked. */ - /* remove dead objects from weak tables */ - clearkeys(g, g->ephemeron, NULL); /* clear keys from all ephemeron tables */ - clearkeys(g, g->allweak, NULL); /* clear keys from all 'allweak' tables */ - /* clear values from resurrected weak tables */ - clearvalues(g, g->weak, origweak); - clearvalues(g, g->allweak, origall); - luaS_clearcache(g); - g->currentwhite = cast_byte(otherwhite(g)); /* flip current white */ - work += g->GCmemtrav; /* complete counting */ - return work; /* estimate of memory marked by 'atomic' */ -} - - -static lu_mem sweepstep (lua_State *L, global_State *g, - int nextstate, GCObject **nextlist) { - if (g->sweepgc) { - l_mem olddebt = g->GCdebt; - g->sweepgc = sweeplist(L, g->sweepgc, GCSWEEPMAX); - g->GCestimate += g->GCdebt - olddebt; /* update estimate */ - if (g->sweepgc) /* is there still something to sweep? */ - return (GCSWEEPMAX * GCSWEEPCOST); - } - /* else enter next state */ - g->gcstate = nextstate; - g->sweepgc = nextlist; - return 0; -} - - -static lu_mem singlestep (lua_State *L) { - global_State *g = G(L); - switch (g->gcstate) { - case GCSpause: { - g->GCmemtrav = g->strt.size * sizeof(GCObject*); - restartcollection(g); - g->gcstate = GCSpropagate; - return g->GCmemtrav; - } - case GCSpropagate: { - g->GCmemtrav = 0; - lua_assert(g->gray); - propagatemark(g); - if (g->gray == NULL) /* no more gray objects? */ - g->gcstate = GCSatomic; /* finish propagate phase */ - return g->GCmemtrav; /* memory traversed in this step */ - } - case GCSatomic: { - lu_mem work; - propagateall(g); /* make sure gray list is empty */ - work = atomic(L); /* work is what was traversed by 'atomic' */ - entersweep(L); - g->GCestimate = gettotalbytes(g); /* first estimate */; - return work; - } - case GCSswpallgc: { /* sweep "regular" objects */ - return sweepstep(L, g, GCSswpfinobj, &g->finobj); - } - case GCSswpfinobj: { /* sweep objects with finalizers */ - return sweepstep(L, g, GCSswptobefnz, &g->tobefnz); - } - case GCSswptobefnz: { /* sweep objects to be finalized */ - return sweepstep(L, g, GCSswpend, NULL); - } - case GCSswpend: { /* finish sweeps */ - makewhite(g, g->mainthread); /* sweep main thread */ - checkSizes(L, g); - g->gcstate = GCScallfin; - return 0; - } - case GCScallfin: { /* call remaining finalizers */ - if (g->tobefnz && g->gckind != KGC_EMERGENCY) { - int n = runafewfinalizers(L); - return (n * GCFINALIZECOST); - } - else { /* emergency mode or no more finalizers */ - g->gcstate = GCSpause; /* finish collection */ - return 0; - } - } - default: lua_assert(0); return 0; - } -} - - -/* -** advances the garbage collector until it reaches a state allowed -** by 'statemask' -*/ -void luaC_runtilstate (lua_State *L, int statesmask) { - global_State *g = G(L); - while (!testbit(statesmask, g->gcstate)) - singlestep(L); -} - - -/* -** get GC debt and convert it from Kb to 'work units' (avoid zero debt -** and overflows) -*/ -static l_mem getdebt (global_State *g) { - l_mem debt = g->GCdebt; - int stepmul = g->gcstepmul; - if (debt <= 0) return 0; /* minimal debt */ - else { - debt = (debt / STEPMULADJ) + 1; - debt = (debt < MAX_LMEM / stepmul) ? debt * stepmul : MAX_LMEM; - return debt; - } -} - -/* -** performs a basic GC step when collector is running -*/ -void luaC_step (lua_State *L) { - global_State *g = G(L); - l_mem debt = getdebt(g); /* GC deficit (be paid now) */ - if (!g->gcrunning) { /* not running? */ - luaE_setdebt(g, -GCSTEPSIZE * 10); /* avoid being called too often */ - return; - } - do { /* repeat until pause or enough "credit" (negative debt) */ - lu_mem work = singlestep(L); /* perform one single step */ - debt -= work; - } while (debt > -GCSTEPSIZE && g->gcstate != GCSpause); - if (g->gcstate == GCSpause) - setpause(g); /* pause until next cycle */ - else { - debt = (debt / g->gcstepmul) * STEPMULADJ; /* convert 'work units' to Kb */ - luaE_setdebt(g, debt); - runafewfinalizers(L); - } -} - - -/* -** Performs a full GC cycle; if 'isemergency', set a flag to avoid -** some operations which could change the interpreter state in some -** unexpected ways (running finalizers and shrinking some structures). -** Before running the collection, check 'keepinvariant'; if it is true, -** there may be some objects marked as black, so the collector has -** to sweep all objects to turn them back to white (as white has not -** changed, nothing will be collected). -*/ -void luaC_fullgc (lua_State *L, int isemergency) { - global_State *g = G(L); - lua_assert(g->gckind == KGC_NORMAL); - if (isemergency) g->gckind = KGC_EMERGENCY; /* set flag */ - if (keepinvariant(g)) { /* black objects? */ - entersweep(L); /* sweep everything to turn them back to white */ - } - /* finish any pending sweep phase to start a new cycle */ - luaC_runtilstate(L, bitmask(GCSpause)); - luaC_runtilstate(L, ~bitmask(GCSpause)); /* start new collection */ - luaC_runtilstate(L, bitmask(GCScallfin)); /* run up to finalizers */ - /* estimate must be correct after a full GC cycle */ - lua_assert(g->GCestimate == gettotalbytes(g)); - luaC_runtilstate(L, bitmask(GCSpause)); /* finish collection */ - g->gckind = KGC_NORMAL; - setpause(g); -} - -/* }====================================================== */ - - diff --git a/User/lua/src-bak/lgc.h b/User/lua/src-bak/lgc.h deleted file mode 100644 index d0169f1..0000000 --- a/User/lua/src-bak/lgc.h +++ /dev/null @@ -1,147 +0,0 @@ -/* -** $Id: lgc.h,v 2.91.1.1 2017/04/19 17:39:34 roberto Exp $ -** Garbage Collector -** See Copyright Notice in lua.h -*/ - -#ifndef lgc_h -#define lgc_h - - -#include "lobject.h" -#include "lstate.h" - -/* -** Collectable objects may have one of three colors: white, which -** means the object is not marked; gray, which means the -** object is marked, but its references may be not marked; and -** black, which means that the object and all its references are marked. -** The main invariant of the garbage collector, while marking objects, -** is that a black object can never point to a white one. Moreover, -** any gray object must be in a "gray list" (gray, grayagain, weak, -** allweak, ephemeron) so that it can be visited again before finishing -** the collection cycle. These lists have no meaning when the invariant -** is not being enforced (e.g., sweep phase). -*/ - - - -/* how much to allocate before next GC step */ -#if !defined(GCSTEPSIZE) -/* ~100 small strings */ -#define GCSTEPSIZE (cast_int(100 * sizeof(TString))) -#endif - - -/* -** Possible states of the Garbage Collector -*/ -#define GCSpropagate 0 -#define GCSatomic 1 -#define GCSswpallgc 2 -#define GCSswpfinobj 3 -#define GCSswptobefnz 4 -#define GCSswpend 5 -#define GCScallfin 6 -#define GCSpause 7 - - -#define issweepphase(g) \ - (GCSswpallgc <= (g)->gcstate && (g)->gcstate <= GCSswpend) - - -/* -** macro to tell when main invariant (white objects cannot point to black -** ones) must be kept. During a collection, the sweep -** phase may break the invariant, as objects turned white may point to -** still-black objects. The invariant is restored when sweep ends and -** all objects are white again. -*/ - -#define keepinvariant(g) ((g)->gcstate <= GCSatomic) - - -/* -** some useful bit tricks -*/ -#define resetbits(x,m) ((x) &= cast(lu_byte, ~(m))) -#define setbits(x,m) ((x) |= (m)) -#define testbits(x,m) ((x) & (m)) -#define bitmask(b) (1<<(b)) -#define bit2mask(b1,b2) (bitmask(b1) | bitmask(b2)) -#define l_setbit(x,b) setbits(x, bitmask(b)) -#define resetbit(x,b) resetbits(x, bitmask(b)) -#define testbit(x,b) testbits(x, bitmask(b)) - - -/* Layout for bit use in 'marked' field: */ -#define WHITE0BIT 0 /* object is white (type 0) */ -#define WHITE1BIT 1 /* object is white (type 1) */ -#define BLACKBIT 2 /* object is black */ -#define FINALIZEDBIT 3 /* object has been marked for finalization */ -/* bit 7 is currently used by tests (luaL_checkmemory) */ - -#define WHITEBITS bit2mask(WHITE0BIT, WHITE1BIT) - - -#define iswhite(x) testbits((x)->marked, WHITEBITS) -#define isblack(x) testbit((x)->marked, BLACKBIT) -#define isgray(x) /* neither white nor black */ \ - (!testbits((x)->marked, WHITEBITS | bitmask(BLACKBIT))) - -#define tofinalize(x) testbit((x)->marked, FINALIZEDBIT) - -#define otherwhite(g) ((g)->currentwhite ^ WHITEBITS) -#define isdeadm(ow,m) (!(((m) ^ WHITEBITS) & (ow))) -#define isdead(g,v) isdeadm(otherwhite(g), (v)->marked) - -#define changewhite(x) ((x)->marked ^= WHITEBITS) -#define gray2black(x) l_setbit((x)->marked, BLACKBIT) - -#define luaC_white(g) cast(lu_byte, (g)->currentwhite & WHITEBITS) - - -/* -** Does one step of collection when debt becomes positive. 'pre'/'pos' -** allows some adjustments to be done only when needed. macro -** 'condchangemem' is used only for heavy tests (forcing a full -** GC cycle on every opportunity) -*/ -#define luaC_condGC(L,pre,pos) \ - { if (G(L)->GCdebt > 0) { pre; luaC_step(L); pos;}; \ - condchangemem(L,pre,pos); } - -/* more often than not, 'pre'/'pos' are empty */ -#define luaC_checkGC(L) luaC_condGC(L,(void)0,(void)0) - - -#define luaC_barrier(L,p,v) ( \ - (iscollectable(v) && isblack(p) && iswhite(gcvalue(v))) ? \ - luaC_barrier_(L,obj2gco(p),gcvalue(v)) : cast_void(0)) - -#define luaC_barrierback(L,p,v) ( \ - (iscollectable(v) && isblack(p) && iswhite(gcvalue(v))) ? \ - luaC_barrierback_(L,p) : cast_void(0)) - -#define luaC_objbarrier(L,p,o) ( \ - (isblack(p) && iswhite(o)) ? \ - luaC_barrier_(L,obj2gco(p),obj2gco(o)) : cast_void(0)) - -#define luaC_upvalbarrier(L,uv) ( \ - (iscollectable((uv)->v) && !upisopen(uv)) ? \ - luaC_upvalbarrier_(L,uv) : cast_void(0)) - -LUAI_FUNC void luaC_fix (lua_State *L, GCObject *o); -LUAI_FUNC void luaC_freeallobjects (lua_State *L); -LUAI_FUNC void luaC_step (lua_State *L); -LUAI_FUNC void luaC_runtilstate (lua_State *L, int statesmask); -LUAI_FUNC void luaC_fullgc (lua_State *L, int isemergency); -LUAI_FUNC GCObject *luaC_newobj (lua_State *L, int tt, size_t sz); -LUAI_FUNC void luaC_barrier_ (lua_State *L, GCObject *o, GCObject *v); -LUAI_FUNC void luaC_barrierback_ (lua_State *L, Table *o); -LUAI_FUNC void luaC_upvalbarrier_ (lua_State *L, UpVal *uv); -LUAI_FUNC void luaC_checkfinalizer (lua_State *L, GCObject *o, Table *mt); -LUAI_FUNC void luaC_upvdeccount (lua_State *L, UpVal *uv); - - -#endif diff --git a/User/lua/src-bak/linit.c b/User/lua/src-bak/linit.c deleted file mode 100644 index 480da52..0000000 --- a/User/lua/src-bak/linit.c +++ /dev/null @@ -1,68 +0,0 @@ -/* -** $Id: linit.c,v 1.39.1.1 2017/04/19 17:20:42 roberto Exp $ -** Initialization of libraries for lua.c and other clients -** See Copyright Notice in lua.h -*/ - - -#define linit_c -#define LUA_LIB - -/* -** If you embed Lua in your program and need to open the standard -** libraries, call luaL_openlibs in your program. If you need a -** different set of libraries, copy this file to your project and edit -** it to suit your needs. -** -** You can also *preload* libraries, so that a later 'require' can -** open the library, which is already linked to the application. -** For that, do the following code: -** -** luaL_getsubtable(L, LUA_REGISTRYINDEX, LUA_PRELOAD_TABLE); -** lua_pushcfunction(L, luaopen_modname); -** lua_setfield(L, -2, modname); -** lua_pop(L, 1); // remove PRELOAD table -*/ - -#include "lprefix.h" - - -#include - -#include "lua.h" - -#include "lualib.h" -#include "lauxlib.h" - - -/* -** these libs are loaded by lua.c and are readily available to any Lua -** program -*/ -static const luaL_Reg loadedlibs[] = { - {"_G", luaopen_base}, - {LUA_LOADLIBNAME, luaopen_package}, - {LUA_COLIBNAME, luaopen_coroutine}, - {LUA_TABLIBNAME, luaopen_table}, - {LUA_IOLIBNAME, luaopen_io}, - {LUA_OSLIBNAME, luaopen_os}, - {LUA_STRLIBNAME, luaopen_string}, - {LUA_MATHLIBNAME, luaopen_math}, - {LUA_UTF8LIBNAME, luaopen_utf8}, - {LUA_DBLIBNAME, luaopen_debug}, -#if defined(LUA_COMPAT_BITLIB) - {LUA_BITLIBNAME, luaopen_bit32}, -#endif - {NULL, NULL} -}; - - -LUALIB_API void luaL_openlibs (lua_State *L) { - const luaL_Reg *lib; - /* "require" functions from 'loadedlibs' and set results to global table */ - for (lib = loadedlibs; lib->func; lib++) { - luaL_requiref(L, lib->name, lib->func, 1); - lua_pop(L, 1); /* remove lib */ - } -} - diff --git a/User/lua/src-bak/liolib.c b/User/lua/src-bak/liolib.c deleted file mode 100644 index 272a8e6..0000000 --- a/User/lua/src-bak/liolib.c +++ /dev/null @@ -1,776 +0,0 @@ -/* -** $Id: liolib.c,v 2.151.1.1 2017/04/19 17:29:57 roberto Exp $ -** Standard I/O (and system) library -** See Copyright Notice in lua.h -*/ - -#define liolib_c -#define LUA_LIB - -#include "lprefix.h" - - -#include -#include -#include -#include -#include -#include - -#include "lua.h" - -#include "lauxlib.h" -#include "lualib.h" - - - - -/* -** Change this macro to accept other modes for 'fopen' besides -** the standard ones. -*/ -#if !defined(l_checkmode) - -/* accepted extensions to 'mode' in 'fopen' */ -#if !defined(L_MODEEXT) -#define L_MODEEXT "b" -#endif - -/* Check whether 'mode' matches '[rwa]%+?[L_MODEEXT]*' */ -static int l_checkmode (const char *mode) { - return (*mode != '\0' && strchr("rwa", *(mode++)) != NULL && - (*mode != '+' || (++mode, 1)) && /* skip if char is '+' */ - (strspn(mode, L_MODEEXT) == strlen(mode))); /* check extensions */ -} - -#endif - -/* -** {====================================================== -** l_popen spawns a new process connected to the current -** one through the file streams. -** ======================================================= -*/ - -#if !defined(l_popen) /* { */ - -#if defined(LUA_USE_POSIX) /* { */ - -#define l_popen(L,c,m) (fflush(NULL), popen(c,m)) -#define l_pclose(L,file) (pclose(file)) - -#elif defined(LUA_USE_WINDOWS) /* }{ */ - -#define l_popen(L,c,m) (_popen(c,m)) -#define l_pclose(L,file) (_pclose(file)) - -#else /* }{ */ - -/* ISO C definitions */ -#define l_popen(L,c,m) \ - ((void)((void)c, m), \ - luaL_error(L, "'popen' not supported"), \ - (FILE*)0) -#define l_pclose(L,file) ((void)L, (void)file, -1) - -#endif /* } */ - -#endif /* } */ - -/* }====================================================== */ - - -#if !defined(l_getc) /* { */ - -#if defined(LUA_USE_POSIX) -#define l_getc(f) getc_unlocked(f) -#define l_lockfile(f) flockfile(f) -#define l_unlockfile(f) funlockfile(f) -#else -#define l_getc(f) getc(f) -#define l_lockfile(f) ((void)0) -#define l_unlockfile(f) ((void)0) -#endif - -#endif /* } */ - - -/* -** {====================================================== -** l_fseek: configuration for longer offsets -** ======================================================= -*/ - -#if !defined(l_fseek) /* { */ - -#if defined(LUA_USE_POSIX) /* { */ - -#include - -#define l_fseek(f,o,w) fseeko(f,o,w) -#define l_ftell(f) ftello(f) -#define l_seeknum off_t - -#elif defined(LUA_USE_WINDOWS) && !defined(_CRTIMP_TYPEINFO) \ - && defined(_MSC_VER) && (_MSC_VER >= 1400) /* }{ */ - -/* Windows (but not DDK) and Visual C++ 2005 or higher */ -#define l_fseek(f,o,w) _fseeki64(f,o,w) -#define l_ftell(f) _ftelli64(f) -#define l_seeknum __int64 - -#else /* }{ */ - -/* ISO C definitions */ -#define l_fseek(f,o,w) fseek(f,o,w) -#define l_ftell(f) ftell(f) -#define l_seeknum long - -#endif /* } */ - -#endif /* } */ - -/* }====================================================== */ - - -#define IO_PREFIX "_IO_" -#define IOPREF_LEN (sizeof(IO_PREFIX)/sizeof(char) - 1) -#define IO_INPUT (IO_PREFIX "input") -#define IO_OUTPUT (IO_PREFIX "output") - - -typedef luaL_Stream LStream; - - -#define tolstream(L) ((LStream *)luaL_checkudata(L, 1, LUA_FILEHANDLE)) - -#define isclosed(p) ((p)->closef == NULL) - - -static int io_type (lua_State *L) { - LStream *p; - luaL_checkany(L, 1); - p = (LStream *)luaL_testudata(L, 1, LUA_FILEHANDLE); - if (p == NULL) - lua_pushnil(L); /* not a file */ - else if (isclosed(p)) - lua_pushliteral(L, "closed file"); - else - lua_pushliteral(L, "file"); - return 1; -} - - -static int f_tostring (lua_State *L) { - LStream *p = tolstream(L); - if (isclosed(p)) - lua_pushliteral(L, "file (closed)"); - else - lua_pushfstring(L, "file (%p)", p->f); - return 1; -} - - -static FILE *tofile (lua_State *L) { - LStream *p = tolstream(L); - if (isclosed(p)) - luaL_error(L, "attempt to use a closed file"); - lua_assert(p->f); - return p->f; -} - - -/* -** When creating file handles, always creates a 'closed' file handle -** before opening the actual file; so, if there is a memory error, the -** handle is in a consistent state. -*/ -static LStream *newprefile (lua_State *L) { - LStream *p = (LStream *)lua_newuserdata(L, sizeof(LStream)); - p->closef = NULL; /* mark file handle as 'closed' */ - luaL_setmetatable(L, LUA_FILEHANDLE); - return p; -} - - -/* -** Calls the 'close' function from a file handle. The 'volatile' avoids -** a bug in some versions of the Clang compiler (e.g., clang 3.0 for -** 32 bits). -*/ -static int aux_close (lua_State *L) { - LStream *p = tolstream(L); - volatile lua_CFunction cf = p->closef; - p->closef = NULL; /* mark stream as closed */ - return (*cf)(L); /* close it */ -} - - -static int f_close (lua_State *L) { - tofile(L); /* make sure argument is an open stream */ - return aux_close(L); -} - - -static int io_close (lua_State *L) { - if (lua_isnone(L, 1)) /* no argument? */ - lua_getfield(L, LUA_REGISTRYINDEX, IO_OUTPUT); /* use standard output */ - return f_close(L); -} - - -static int f_gc (lua_State *L) { - LStream *p = tolstream(L); - if (!isclosed(p) && p->f != NULL) - aux_close(L); /* ignore closed and incompletely open files */ - return 0; -} - - -/* -** function to close regular files -*/ -static int io_fclose (lua_State *L) { - LStream *p = tolstream(L); - int res = fclose(p->f); - return luaL_fileresult(L, (res == 0), NULL); -} - - -static LStream *newfile (lua_State *L) { - LStream *p = newprefile(L); - p->f = NULL; - p->closef = &io_fclose; - return p; -} - - -static void opencheck (lua_State *L, const char *fname, const char *mode) { - LStream *p = newfile(L); - p->f = fopen(fname, mode); - if (p->f == NULL) - luaL_error(L, "cannot open file '%s' (%s)", fname, strerror(errno)); -} - - -static int io_open (lua_State *L) { - const char *filename = luaL_checkstring(L, 1); - const char *mode = luaL_optstring(L, 2, "r"); - LStream *p = newfile(L); - const char *md = mode; /* to traverse/check mode */ - luaL_argcheck(L, l_checkmode(md), 2, "invalid mode"); - p->f = fopen(filename, mode); - return (p->f == NULL) ? luaL_fileresult(L, 0, filename) : 1; -} - - -/* -** function to close 'popen' files -*/ -static int io_pclose (lua_State *L) { - LStream *p = tolstream(L); - return luaL_execresult(L, l_pclose(L, p->f)); -} - - -static int io_popen (lua_State *L) { - const char *filename = luaL_checkstring(L, 1); - const char *mode = luaL_optstring(L, 2, "r"); - LStream *p = newprefile(L); - p->f = l_popen(L, filename, mode); - p->closef = &io_pclose; - return (p->f == NULL) ? luaL_fileresult(L, 0, filename) : 1; -} - - -static int io_tmpfile (lua_State *L) { - LStream *p = newfile(L); - p->f = tmpfile(); - return (p->f == NULL) ? luaL_fileresult(L, 0, NULL) : 1; -} - - -static FILE *getiofile (lua_State *L, const char *findex) { - LStream *p; - lua_getfield(L, LUA_REGISTRYINDEX, findex); - p = (LStream *)lua_touserdata(L, -1); - if (isclosed(p)) - luaL_error(L, "standard %s file is closed", findex + IOPREF_LEN); - return p->f; -} - - -static int g_iofile (lua_State *L, const char *f, const char *mode) { - if (!lua_isnoneornil(L, 1)) { - const char *filename = lua_tostring(L, 1); - if (filename) - opencheck(L, filename, mode); - else { - tofile(L); /* check that it's a valid file handle */ - lua_pushvalue(L, 1); - } - lua_setfield(L, LUA_REGISTRYINDEX, f); - } - /* return current value */ - lua_getfield(L, LUA_REGISTRYINDEX, f); - return 1; -} - - -static int io_input (lua_State *L) { - return g_iofile(L, IO_INPUT, "r"); -} - - -static int io_output (lua_State *L) { - return g_iofile(L, IO_OUTPUT, "w"); -} - - -static int io_readline (lua_State *L); - - -/* -** maximum number of arguments to 'f:lines'/'io.lines' (it + 3 must fit -** in the limit for upvalues of a closure) -*/ -#define MAXARGLINE 250 - -static void aux_lines (lua_State *L, int toclose) { - int n = lua_gettop(L) - 1; /* number of arguments to read */ - luaL_argcheck(L, n <= MAXARGLINE, MAXARGLINE + 2, "too many arguments"); - lua_pushinteger(L, n); /* number of arguments to read */ - lua_pushboolean(L, toclose); /* close/not close file when finished */ - lua_rotate(L, 2, 2); /* move 'n' and 'toclose' to their positions */ - lua_pushcclosure(L, io_readline, 3 + n); -} - - -static int f_lines (lua_State *L) { - tofile(L); /* check that it's a valid file handle */ - aux_lines(L, 0); - return 1; -} - - -static int io_lines (lua_State *L) { - int toclose; - if (lua_isnone(L, 1)) lua_pushnil(L); /* at least one argument */ - if (lua_isnil(L, 1)) { /* no file name? */ - lua_getfield(L, LUA_REGISTRYINDEX, IO_INPUT); /* get default input */ - lua_replace(L, 1); /* put it at index 1 */ - tofile(L); /* check that it's a valid file handle */ - toclose = 0; /* do not close it after iteration */ - } - else { /* open a new file */ - const char *filename = luaL_checkstring(L, 1); - opencheck(L, filename, "r"); - lua_replace(L, 1); /* put file at index 1 */ - toclose = 1; /* close it after iteration */ - } - aux_lines(L, toclose); - return 1; -} - - -/* -** {====================================================== -** READ -** ======================================================= -*/ - - -/* maximum length of a numeral */ -#if !defined (L_MAXLENNUM) -#define L_MAXLENNUM 200 -#endif - - -/* auxiliary structure used by 'read_number' */ -typedef struct { - FILE *f; /* file being read */ - int c; /* current character (look ahead) */ - int n; /* number of elements in buffer 'buff' */ - char buff[L_MAXLENNUM + 1]; /* +1 for ending '\0' */ -} RN; - - -/* -** Add current char to buffer (if not out of space) and read next one -*/ -static int nextc (RN *rn) { - if (rn->n >= L_MAXLENNUM) { /* buffer overflow? */ - rn->buff[0] = '\0'; /* invalidate result */ - return 0; /* fail */ - } - else { - rn->buff[rn->n++] = rn->c; /* save current char */ - rn->c = l_getc(rn->f); /* read next one */ - return 1; - } -} - - -/* -** Accept current char if it is in 'set' (of size 2) -*/ -static int test2 (RN *rn, const char *set) { - if (rn->c == set[0] || rn->c == set[1]) - return nextc(rn); - else return 0; -} - - -/* -** Read a sequence of (hex)digits -*/ -static int readdigits (RN *rn, int hex) { - int count = 0; - while ((hex ? isxdigit(rn->c) : isdigit(rn->c)) && nextc(rn)) - count++; - return count; -} - - -/* -** Read a number: first reads a valid prefix of a numeral into a buffer. -** Then it calls 'lua_stringtonumber' to check whether the format is -** correct and to convert it to a Lua number -*/ -static int read_number (lua_State *L, FILE *f) { - RN rn; - int count = 0; - int hex = 0; - char decp[2]; - rn.f = f; rn.n = 0; - decp[0] = lua_getlocaledecpoint(); /* get decimal point from locale */ - decp[1] = '.'; /* always accept a dot */ - l_lockfile(rn.f); - do { rn.c = l_getc(rn.f); } while (isspace(rn.c)); /* skip spaces */ - test2(&rn, "-+"); /* optional signal */ - if (test2(&rn, "00")) { - if (test2(&rn, "xX")) hex = 1; /* numeral is hexadecimal */ - else count = 1; /* count initial '0' as a valid digit */ - } - count += readdigits(&rn, hex); /* integral part */ - if (test2(&rn, decp)) /* decimal point? */ - count += readdigits(&rn, hex); /* fractional part */ - if (count > 0 && test2(&rn, (hex ? "pP" : "eE"))) { /* exponent mark? */ - test2(&rn, "-+"); /* exponent signal */ - readdigits(&rn, 0); /* exponent digits */ - } - ungetc(rn.c, rn.f); /* unread look-ahead char */ - l_unlockfile(rn.f); - rn.buff[rn.n] = '\0'; /* finish string */ - if (lua_stringtonumber(L, rn.buff)) /* is this a valid number? */ - return 1; /* ok */ - else { /* invalid format */ - lua_pushnil(L); /* "result" to be removed */ - return 0; /* read fails */ - } -} - - -static int test_eof (lua_State *L, FILE *f) { - int c = getc(f); - ungetc(c, f); /* no-op when c == EOF */ - lua_pushliteral(L, ""); - return (c != EOF); -} - - -static int read_line (lua_State *L, FILE *f, int chop) { - luaL_Buffer b; - int c = '\0'; - luaL_buffinit(L, &b); - while (c != EOF && c != '\n') { /* repeat until end of line */ - char *buff = luaL_prepbuffer(&b); /* preallocate buffer */ - int i = 0; - l_lockfile(f); /* no memory errors can happen inside the lock */ - while (i < LUAL_BUFFERSIZE && (c = l_getc(f)) != EOF && c != '\n') - buff[i++] = c; - l_unlockfile(f); - luaL_addsize(&b, i); - } - if (!chop && c == '\n') /* want a newline and have one? */ - luaL_addchar(&b, c); /* add ending newline to result */ - luaL_pushresult(&b); /* close buffer */ - /* return ok if read something (either a newline or something else) */ - return (c == '\n' || lua_rawlen(L, -1) > 0); -} - - -static void read_all (lua_State *L, FILE *f) { - size_t nr; - luaL_Buffer b; - luaL_buffinit(L, &b); - do { /* read file in chunks of LUAL_BUFFERSIZE bytes */ - char *p = luaL_prepbuffer(&b); - nr = fread(p, sizeof(char), LUAL_BUFFERSIZE, f); - luaL_addsize(&b, nr); - } while (nr == LUAL_BUFFERSIZE); - luaL_pushresult(&b); /* close buffer */ -} - - -static int read_chars (lua_State *L, FILE *f, size_t n) { - size_t nr; /* number of chars actually read */ - char *p; - luaL_Buffer b; - luaL_buffinit(L, &b); - p = luaL_prepbuffsize(&b, n); /* prepare buffer to read whole block */ - nr = fread(p, sizeof(char), n, f); /* try to read 'n' chars */ - luaL_addsize(&b, nr); - luaL_pushresult(&b); /* close buffer */ - return (nr > 0); /* true iff read something */ -} - - -static int g_read (lua_State *L, FILE *f, int first) { - int nargs = lua_gettop(L) - 1; - int success; - int n; - clearerr(f); - if (nargs == 0) { /* no arguments? */ - success = read_line(L, f, 1); - n = first+1; /* to return 1 result */ - } - else { /* ensure stack space for all results and for auxlib's buffer */ - luaL_checkstack(L, nargs+LUA_MINSTACK, "too many arguments"); - success = 1; - for (n = first; nargs-- && success; n++) { - if (lua_type(L, n) == LUA_TNUMBER) { - size_t l = (size_t)luaL_checkinteger(L, n); - success = (l == 0) ? test_eof(L, f) : read_chars(L, f, l); - } - else { - const char *p = luaL_checkstring(L, n); - if (*p == '*') p++; /* skip optional '*' (for compatibility) */ - switch (*p) { - case 'n': /* number */ - success = read_number(L, f); - break; - case 'l': /* line */ - success = read_line(L, f, 1); - break; - case 'L': /* line with end-of-line */ - success = read_line(L, f, 0); - break; - case 'a': /* file */ - read_all(L, f); /* read entire file */ - success = 1; /* always success */ - break; - default: - return luaL_argerror(L, n, "invalid format"); - } - } - } - } - if (ferror(f)) - return luaL_fileresult(L, 0, NULL); - if (!success) { - lua_pop(L, 1); /* remove last result */ - lua_pushnil(L); /* push nil instead */ - } - return n - first; -} - - -static int io_read (lua_State *L) { - return g_read(L, getiofile(L, IO_INPUT), 1); -} - - -static int f_read (lua_State *L) { - return g_read(L, tofile(L), 2); -} - - -static int io_readline (lua_State *L) { - LStream *p = (LStream *)lua_touserdata(L, lua_upvalueindex(1)); - int i; - int n = (int)lua_tointeger(L, lua_upvalueindex(2)); - if (isclosed(p)) /* file is already closed? */ - return luaL_error(L, "file is already closed"); - lua_settop(L , 1); - luaL_checkstack(L, n, "too many arguments"); - for (i = 1; i <= n; i++) /* push arguments to 'g_read' */ - lua_pushvalue(L, lua_upvalueindex(3 + i)); - n = g_read(L, p->f, 2); /* 'n' is number of results */ - lua_assert(n > 0); /* should return at least a nil */ - if (lua_toboolean(L, -n)) /* read at least one value? */ - return n; /* return them */ - else { /* first result is nil: EOF or error */ - if (n > 1) { /* is there error information? */ - /* 2nd result is error message */ - return luaL_error(L, "%s", lua_tostring(L, -n + 1)); - } - if (lua_toboolean(L, lua_upvalueindex(3))) { /* generator created file? */ - lua_settop(L, 0); - lua_pushvalue(L, lua_upvalueindex(1)); - aux_close(L); /* close it */ - } - return 0; - } -} - -/* }====================================================== */ - - -static int g_write (lua_State *L, FILE *f, int arg) { - int nargs = lua_gettop(L) - arg; - int status = 1; - for (; nargs--; arg++) { - if (lua_type(L, arg) == LUA_TNUMBER) { - /* optimization: could be done exactly as for strings */ - int len = lua_isinteger(L, arg) - ? fprintf(f, LUA_INTEGER_FMT, - (LUAI_UACINT)lua_tointeger(L, arg)) - : fprintf(f, LUA_NUMBER_FMT, - (LUAI_UACNUMBER)lua_tonumber(L, arg)); - status = status && (len > 0); - } - else { - size_t l; - const char *s = luaL_checklstring(L, arg, &l); - status = status && (fwrite(s, sizeof(char), l, f) == l); - } - } - if (status) return 1; /* file handle already on stack top */ - else return luaL_fileresult(L, status, NULL); -} - - -static int io_write (lua_State *L) { - return g_write(L, getiofile(L, IO_OUTPUT), 1); -} - - -static int f_write (lua_State *L) { - FILE *f = tofile(L); - lua_pushvalue(L, 1); /* push file at the stack top (to be returned) */ - return g_write(L, f, 2); -} - - -static int f_seek (lua_State *L) { - static const int mode[] = {SEEK_SET, SEEK_CUR, SEEK_END}; - static const char *const modenames[] = {"set", "cur", "end", NULL}; - FILE *f = tofile(L); - int op = luaL_checkoption(L, 2, "cur", modenames); - lua_Integer p3 = luaL_optinteger(L, 3, 0); - l_seeknum offset = (l_seeknum)p3; - luaL_argcheck(L, (lua_Integer)offset == p3, 3, - "not an integer in proper range"); - op = l_fseek(f, offset, mode[op]); - if (op) - return luaL_fileresult(L, 0, NULL); /* error */ - else { - lua_pushinteger(L, (lua_Integer)l_ftell(f)); - return 1; - } -} - - -static int f_setvbuf (lua_State *L) { - static const int mode[] = {_IONBF, _IOFBF, _IOLBF}; - static const char *const modenames[] = {"no", "full", "line", NULL}; - FILE *f = tofile(L); - int op = luaL_checkoption(L, 2, NULL, modenames); - lua_Integer sz = luaL_optinteger(L, 3, LUAL_BUFFERSIZE); - int res = setvbuf(f, NULL, mode[op], (size_t)sz); - return luaL_fileresult(L, res == 0, NULL); -} - - - -static int io_flush (lua_State *L) { - return luaL_fileresult(L, fflush(getiofile(L, IO_OUTPUT)) == 0, NULL); -} - - -static int f_flush (lua_State *L) { - return luaL_fileresult(L, fflush(tofile(L)) == 0, NULL); -} - - -/* -** functions for 'io' library -*/ -static const luaL_Reg iolib[] = { - {"close", io_close}, - {"flush", io_flush}, - {"input", io_input}, - {"lines", io_lines}, - {"open", io_open}, - {"output", io_output}, - {"popen", io_popen}, - {"read", io_read}, - {"tmpfile", io_tmpfile}, - {"type", io_type}, - {"write", io_write}, - {NULL, NULL} -}; - - -/* -** methods for file handles -*/ -static const luaL_Reg flib[] = { - {"close", f_close}, - {"flush", f_flush}, - {"lines", f_lines}, - {"read", f_read}, - {"seek", f_seek}, - {"setvbuf", f_setvbuf}, - {"write", f_write}, - {"__gc", f_gc}, - {"__tostring", f_tostring}, - {NULL, NULL} -}; - - -static void createmeta (lua_State *L) { - luaL_newmetatable(L, LUA_FILEHANDLE); /* create metatable for file handles */ - lua_pushvalue(L, -1); /* push metatable */ - lua_setfield(L, -2, "__index"); /* metatable.__index = metatable */ - luaL_setfuncs(L, flib, 0); /* add file methods to new metatable */ - lua_pop(L, 1); /* pop new metatable */ -} - - -/* -** function to (not) close the standard files stdin, stdout, and stderr -*/ -static int io_noclose (lua_State *L) { - LStream *p = tolstream(L); - p->closef = &io_noclose; /* keep file opened */ - lua_pushnil(L); - lua_pushliteral(L, "cannot close standard file"); - return 2; -} - - -static void createstdfile (lua_State *L, FILE *f, const char *k, - const char *fname) { - LStream *p = newprefile(L); - p->f = f; - p->closef = &io_noclose; - if (k != NULL) { - lua_pushvalue(L, -1); - lua_setfield(L, LUA_REGISTRYINDEX, k); /* add file to registry */ - } - lua_setfield(L, -2, fname); /* add file to module */ -} - - -LUAMOD_API int luaopen_io (lua_State *L) { - luaL_newlib(L, iolib); /* new module */ - createmeta(L); - /* create (and set) default files */ - createstdfile(L, stdin, IO_INPUT, "stdin"); - createstdfile(L, stdout, IO_OUTPUT, "stdout"); - createstdfile(L, stderr, NULL, "stderr"); - return 1; -} - diff --git a/User/lua/src-bak/llex.c b/User/lua/src-bak/llex.c deleted file mode 100644 index b266bff..0000000 --- a/User/lua/src-bak/llex.c +++ /dev/null @@ -1,678 +0,0 @@ -/* -** $Id: llex.c,v 2.96.1.1 2017/04/19 17:20:42 roberto Exp $ -** Lexical Analyzer -** See Copyright Notice in lua.h -*/ - -#define llex_c -#define LUA_CORE - -#include "lprefix.h" - -#include -#include - -#include "lua.h" - -#include "lctype.h" -#include "ldebug.h" -#include "ldo.h" -#include "lgc.h" -#include "llex.h" -#include "lobject.h" -#include "lparser.h" -#include "lstate.h" -#include "lstring.h" -#include "ltable.h" -#include "lzio.h" - -#define next(ls) (ls->current = zgetc(ls->z)) - -#define currIsNewline(ls) (ls->current == '\n' || ls->current == '\r') - -/* ORDER RESERVED */ -static const char *const luaX_tokens[] = { - "and", "break", "do", "else", "elseif", - "end", "false", "for", "function", "goto", "if", - "in", "local", "nil", "not", "or", "repeat", - "return", "then", "true", "until", "while", - "//", "..", "...", "==", ">=", "<=", "~=", - "<<", ">>", "::", "", - "", "", "", ""}; - -#define save_and_next(ls) (save(ls, ls->current), next(ls)) - -static l_noret lexerror(LexState *ls, const char *msg, int token); - -static void save(LexState *ls, int c) -{ - Mbuffer *b = ls->buff; - if (luaZ_bufflen(b) + 1 > luaZ_sizebuffer(b)) - { - size_t newsize; - if (luaZ_sizebuffer(b) >= MAX_SIZE / 2) - lexerror(ls, "lexical element too long", 0); - newsize = luaZ_sizebuffer(b) * 2; - luaZ_resizebuffer(ls->L, b, newsize); - } - b->buffer[luaZ_bufflen(b)++] = cast(char, c); -} - -void luaX_init(lua_State *L) -{ - int i; - TString *e = luaS_newliteral(L, LUA_ENV); /* create env name */ - luaC_fix(L, obj2gco(e)); /* never collect this name */ - for (i = 0; i < NUM_RESERVED; i++) - { - TString *ts = luaS_new(L, luaX_tokens[i]); - luaC_fix(L, obj2gco(ts)); /* reserved words are never collected */ - ts->extra = cast_byte(i + 1); /* reserved word */ - } -} - -const char *luaX_token2str(LexState *ls, int token) -{ - if (token < FIRST_RESERVED) - { /* single-byte symbols? */ - lua_assert(token == cast_uchar(token)); - return luaO_pushfstring(ls->L, "'%c'", token); - } - else - { - const char *s = luaX_tokens[token - FIRST_RESERVED]; - if (token < TK_EOS) /* fixed format (symbols and reserved words)? */ - return luaO_pushfstring(ls->L, "'%s'", s); - else /* names, strings, and numerals */ - return s; - } -} - -static const char *txtToken(LexState *ls, int token) -{ - switch (token) - { - case TK_NAME: - case TK_STRING: - case TK_FLT: - case TK_INT: - save(ls, '\0'); - return luaO_pushfstring(ls->L, "'%s'", luaZ_buffer(ls->buff)); - default: - return luaX_token2str(ls, token); - } -} - -static l_noret lexerror(LexState *ls, const char *msg, int token) -{ - msg = luaG_addinfo(ls->L, msg, ls->source, ls->linenumber); - if (token) - luaO_pushfstring(ls->L, "%s near %s", msg, txtToken(ls, token)); - luaD_throw(ls->L, LUA_ERRSYNTAX); -} - -l_noret luaX_syntaxerror(LexState *ls, const char *msg) -{ - lexerror(ls, msg, ls->t.token); -} - -/* -** creates a new string and anchors it in scanner's table so that -** it will not be collected until the end of the compilation -** (by that time it should be anchored somewhere) -*/ -TString *luaX_newstring(LexState *ls, const char *str, size_t l) -{ - lua_State *L = ls->L; - TValue *o; /* entry for 'str' */ - TString *ts = luaS_newlstr(L, str, l); /* create new string */ - setsvalue2s(L, L->top++, ts); /* temporarily anchor it in stack */ - o = luaH_set(L, ls->h, L->top - 1); - if (ttisnil(o)) - { /* not in use yet? */ - /* boolean value does not need GC barrier; - table has no metatable, so it does not need to invalidate cache */ - setbvalue(o, 1); /* t[string] = true */ - luaC_checkGC(L); - } - else - { /* string already present */ - ts = tsvalue(keyfromval(o)); /* re-use value previously stored */ - } - L->top--; /* remove string from stack */ - return ts; -} - -/* -** increment line number and skips newline sequence (any of -** \n, \r, \n\r, or \r\n) -*/ -static void inclinenumber(LexState *ls) -{ - int old = ls->current; - lua_assert(currIsNewline(ls)); - next(ls); /* skip '\n' or '\r' */ - if (currIsNewline(ls) && ls->current != old) - next(ls); /* skip '\n\r' or '\r\n' */ - if (++ls->linenumber >= MAX_INT) - lexerror(ls, "chunk has too many lines", 0); -} - -void luaX_setinput(lua_State *L, LexState *ls, ZIO *z, TString *source, - int firstchar) -{ - ls->t.token = 0; - ls->L = L; - ls->current = firstchar; - ls->lookahead.token = TK_EOS; /* no look-ahead token */ - ls->z = z; - ls->fs = NULL; - ls->linenumber = 1; - ls->lastline = 1; - ls->source = source; - ls->envn = luaS_newliteral(L, LUA_ENV); /* get env name */ - luaZ_resizebuffer(ls->L, ls->buff, LUA_MINBUFFER); /* initialize buffer */ -} - -/* -** ======================================================= -** LEXICAL ANALYZER -** ======================================================= -*/ - -static int check_next1(LexState *ls, int c) -{ - if (ls->current == c) - { - next(ls); - return 1; - } - else - return 0; -} - -/* -** Check whether current char is in set 'set' (with two chars) and -** saves it -*/ -static int check_next2(LexState *ls, const char *set) -{ - lua_assert(set[2] == '\0'); - if (ls->current == set[0] || ls->current == set[1]) - { - save_and_next(ls); - return 1; - } - else - return 0; -} - -/* LUA_NUMBER */ -/* -** this function is quite liberal in what it accepts, as 'luaO_str2num' -** will reject ill-formed numerals. -*/ -static int read_numeral(LexState *ls, SemInfo *seminfo) -{ - TValue obj; - const char *expo = "Ee"; - int first = ls->current; - lua_assert(lisdigit(ls->current)); - save_and_next(ls); - if (first == '0' && check_next2(ls, "xX")) /* hexadecimal? */ - expo = "Pp"; - for (;;) - { - if (check_next2(ls, expo)) /* exponent part? */ - check_next2(ls, "-+"); /* optional exponent sign */ - if (lisxdigit(ls->current)) - save_and_next(ls); - else if (ls->current == '.') - save_and_next(ls); - else - break; - } - save(ls, '\0'); - if (luaO_str2num(luaZ_buffer(ls->buff), &obj) == 0) /* format error? */ - lexerror(ls, "malformed number", TK_FLT); - if (ttisinteger(&obj)) - { - seminfo->i = ivalue(&obj); - return TK_INT; - } - else - { - lua_assert(ttisfloat(&obj)); - seminfo->r = fltvalue(&obj); - return TK_FLT; - } -} - -/* -** skip a sequence '[=*[' or ']=*]'; if sequence is well formed, return -** its number of '='s; otherwise, return a negative number (-1 iff there -** are no '='s after initial bracket) -*/ -static int skip_sep(LexState *ls) -{ - int count = 0; - int s = ls->current; - lua_assert(s == '[' || s == ']'); - save_and_next(ls); - while (ls->current == '=') - { - save_and_next(ls); - count++; - } - return (ls->current == s) ? count : (-count) - 1; -} - -static void read_long_string(LexState *ls, SemInfo *seminfo, int sep) -{ - int line = ls->linenumber; /* initial line (for error message) */ - save_and_next(ls); /* skip 2nd '[' */ - if (currIsNewline(ls)) /* string starts with a newline? */ - inclinenumber(ls); /* skip it */ - for (;;) - { - switch (ls->current) - { - case EOZ: - { /* error */ - const char *what = (seminfo ? "string" : "comment"); - const char *msg = luaO_pushfstring(ls->L, - "unfinished long %s (starting at line %d)", what, line); - lexerror(ls, msg, TK_EOS); - break; /* to avoid warnings */ - } - case ']': - { - if (skip_sep(ls) == sep) - { - save_and_next(ls); /* skip 2nd ']' */ - goto endloop; - } - break; - } - case '\n': - case '\r': - { - save(ls, '\n'); - inclinenumber(ls); - if (!seminfo) - luaZ_resetbuffer(ls->buff); /* avoid wasting space */ - break; - } - default: - { - if (seminfo) - save_and_next(ls); - else - next(ls); - } - } - } -endloop: - if (seminfo) - seminfo->ts = luaX_newstring(ls, luaZ_buffer(ls->buff) + (2 + sep), - luaZ_bufflen(ls->buff) - 2 * (2 + sep)); -} - -static void esccheck(LexState *ls, int c, const char *msg) -{ - if (!c) - { - if (ls->current != EOZ) - save_and_next(ls); /* add current to buffer for error message */ - lexerror(ls, msg, TK_STRING); - } -} - -static int gethexa(LexState *ls) -{ - save_and_next(ls); - esccheck(ls, lisxdigit(ls->current), "hexadecimal digit expected"); - return luaO_hexavalue(ls->current); -} - -static int readhexaesc(LexState *ls) -{ - int r = gethexa(ls); - r = (r << 4) + gethexa(ls); - luaZ_buffremove(ls->buff, 2); /* remove saved chars from buffer */ - return r; -} - -static unsigned long readutf8esc(LexState *ls) -{ - unsigned long r; - int i = 4; /* chars to be removed: '\', 'u', '{', and first digit */ - save_and_next(ls); /* skip 'u' */ - esccheck(ls, ls->current == '{', "missing '{'"); - r = gethexa(ls); /* must have at least one digit */ - while ((save_and_next(ls), lisxdigit(ls->current))) - { - i++; - r = (r << 4) + luaO_hexavalue(ls->current); - esccheck(ls, r <= 0x10FFFF, "UTF-8 value too large"); - } - esccheck(ls, ls->current == '}', "missing '}'"); - next(ls); /* skip '}' */ - luaZ_buffremove(ls->buff, i); /* remove saved chars from buffer */ - return r; -} - -static void utf8esc(LexState *ls) -{ - char buff[UTF8BUFFSZ]; - int n = luaO_utf8esc(buff, readutf8esc(ls)); - for (; n > 0; n--) /* add 'buff' to string */ - save(ls, buff[UTF8BUFFSZ - n]); -} - -static int readdecesc(LexState *ls) -{ - int i; - int r = 0; /* result accumulator */ - for (i = 0; i < 3 && lisdigit(ls->current); i++) - { /* read up to 3 digits */ - r = 10 * r + ls->current - '0'; - save_and_next(ls); - } - esccheck(ls, r <= UCHAR_MAX, "decimal escape too large"); - luaZ_buffremove(ls->buff, i); /* remove read digits from buffer */ - return r; -} - -static void read_string(LexState *ls, int del, SemInfo *seminfo) -{ - save_and_next(ls); /* keep delimiter (for error messages) */ - while (ls->current != del) - { - switch (ls->current) - { - case EOZ: - lexerror(ls, "unfinished string", TK_EOS); - break; /* to avoid warnings */ - case '\n': - case '\r': - lexerror(ls, "unfinished string", TK_STRING); - break; /* to avoid warnings */ - case '\\': - { /* escape sequences */ - int c; /* final character to be saved */ - save_and_next(ls); /* keep '\\' for error messages */ - switch (ls->current) - { - case 'a': - c = '\a'; - goto read_save; - case 'b': - c = '\b'; - goto read_save; - case 'f': - c = '\f'; - goto read_save; - case 'n': - c = '\n'; - goto read_save; - case 'r': - c = '\r'; - goto read_save; - case 't': - c = '\t'; - goto read_save; - case 'v': - c = '\v'; - goto read_save; - case 'x': - c = readhexaesc(ls); - goto read_save; - case 'u': - utf8esc(ls); - goto no_save; - case '\n': - case '\r': - inclinenumber(ls); - c = '\n'; - goto only_save; - case '\\': - case '\"': - case '\'': - c = ls->current; - goto read_save; - case EOZ: - goto no_save; /* will raise an error next loop */ - case 'z': - { /* zap following span of spaces */ - luaZ_buffremove(ls->buff, 1); /* remove '\\' */ - next(ls); /* skip the 'z' */ - while (lisspace(ls->current)) - { - if (currIsNewline(ls)) - inclinenumber(ls); - else - next(ls); - } - goto no_save; - } - default: - { - esccheck(ls, lisdigit(ls->current), "invalid escape sequence"); - c = readdecesc(ls); /* digital escape '\ddd' */ - goto only_save; - } - } - read_save: - next(ls); - /* go through */ - only_save: - luaZ_buffremove(ls->buff, 1); /* remove '\\' */ - save(ls, c); - /* go through */ - no_save: - break; - } - default: - save_and_next(ls); - } - } - save_and_next(ls); /* skip delimiter */ - seminfo->ts = luaX_newstring(ls, luaZ_buffer(ls->buff) + 1, - luaZ_bufflen(ls->buff) - 2); -} - -static int llex(LexState *ls, SemInfo *seminfo) -{ - luaZ_resetbuffer(ls->buff); - for (;;) - { - switch (ls->current) - { - case '\n': - case '\r': - { /* line breaks */ - inclinenumber(ls); - break; - } - case ' ': - case '\f': - case '\t': - case '\v': - { /* spaces */ - next(ls); - break; - } - case '-': - { /* '-' or '--' (comment) */ - next(ls); - if (ls->current != '-') - return '-'; - /* else is a comment */ - next(ls); - if (ls->current == '[') - { /* long comment? */ - int sep = skip_sep(ls); - luaZ_resetbuffer(ls->buff); /* 'skip_sep' may dirty the buffer */ - if (sep >= 0) - { - read_long_string(ls, NULL, sep); /* skip long comment */ - luaZ_resetbuffer(ls->buff); /* previous call may dirty the buff. */ - break; - } - } - /* else short comment */ - while (!currIsNewline(ls) && ls->current != EOZ) - next(ls); /* skip until end of line (or end of file) */ - break; - } - case '[': - { /* long string or simply '[' */ - int sep = skip_sep(ls); - if (sep >= 0) - { - read_long_string(ls, seminfo, sep); - return TK_STRING; - } - else if (sep != -1) /* '[=...' missing second bracket */ - lexerror(ls, "invalid long string delimiter", TK_STRING); - return '['; - } - case '=': - { - next(ls); - if (check_next1(ls, '=')) - return TK_EQ; - else - return '='; - } - case '<': - { - next(ls); - if (check_next1(ls, '=')) - return TK_LE; - else if (check_next1(ls, '<')) - return TK_SHL; - else - return '<'; - } - case '>': - { - next(ls); - if (check_next1(ls, '=')) - return TK_GE; - else if (check_next1(ls, '>')) - return TK_SHR; - else - return '>'; - } - case '/': - { - next(ls); - if (check_next1(ls, '/')) - return TK_IDIV; - else - return '/'; - } - case '~': - { - next(ls); - if (check_next1(ls, '=')) - return TK_NE; - else - return '~'; - } - case ':': - { - next(ls); - if (check_next1(ls, ':')) - return TK_DBCOLON; - else - return ':'; - } - case '"': - case '\'': - { /* short literal strings */ - read_string(ls, ls->current, seminfo); - return TK_STRING; - } - case '.': - { /* '.', '..', '...', or number */ - save_and_next(ls); - if (check_next1(ls, '.')) - { - if (check_next1(ls, '.')) - return TK_DOTS; /* '...' */ - else - return TK_CONCAT; /* '..' */ - } - else if (!lisdigit(ls->current)) - return '.'; - else - return read_numeral(ls, seminfo); - } - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - { - return read_numeral(ls, seminfo); - } - case EOZ: - { - return TK_EOS; - } - default: - { - if (lislalpha(ls->current)) - { /* identifier or reserved word? */ - TString *ts; - do - { - save_and_next(ls); - } while (lislalnum(ls->current)); - ts = luaX_newstring(ls, luaZ_buffer(ls->buff), - luaZ_bufflen(ls->buff)); - seminfo->ts = ts; - if (isreserved(ts)) /* reserved word? */ - return ts->extra - 1 + FIRST_RESERVED; - else - { - return TK_NAME; - } - } - else - { /* single-char tokens (+ - / ...) */ - int c = ls->current; - next(ls); - return c; - } - } - } - } -} - -void luaX_next(LexState *ls) -{ - ls->lastline = ls->linenumber; - if (ls->lookahead.token != TK_EOS) - { /* is there a look-ahead token? */ - ls->t = ls->lookahead; /* use this one */ - ls->lookahead.token = TK_EOS; /* and discharge it */ - } - else - ls->t.token = llex(ls, &ls->t.seminfo); /* read next token */ -} - -int luaX_lookahead(LexState *ls) -{ - lua_assert(ls->lookahead.token == TK_EOS); - ls->lookahead.token = llex(ls, &ls->lookahead.seminfo); - return ls->lookahead.token; -} diff --git a/User/lua/src-bak/llex.h b/User/lua/src-bak/llex.h deleted file mode 100644 index 557de4b..0000000 --- a/User/lua/src-bak/llex.h +++ /dev/null @@ -1,109 +0,0 @@ -/* -** $Id: llex.h,v 1.79.1.1 2017/04/19 17:20:42 roberto Exp $ -** Lexical Analyzer -** See Copyright Notice in lua.h -*/ - -#ifndef llex_h -#define llex_h - -#include "lobject.h" -#include "lzio.h" - -#define FIRST_RESERVED 257 - -#if !defined(LUA_ENV) -#define LUA_ENV "_ENV" -#endif - -/* -* WARNING: if you change the order of this enumeration, -* grep "ORDER RESERVED" -*/ -enum RESERVED -{ - /* terminal symbols denoted by reserved words */ - TK_AND = FIRST_RESERVED, - TK_BREAK, - TK_DO, - TK_ELSE, - TK_ELSEIF, - TK_END, - TK_FALSE, - TK_FOR, - TK_FUNCTION, - TK_GOTO, - TK_IF, - TK_IN, - TK_LOCAL, - TK_NIL, - TK_NOT, - TK_OR, - TK_REPEAT, - TK_RETURN, - TK_THEN, - TK_TRUE, - TK_UNTIL, - TK_WHILE, - /* other terminal symbols */ - TK_IDIV, - TK_CONCAT, - TK_DOTS, - TK_EQ, - TK_GE, - TK_LE, - TK_NE, - TK_SHL, - TK_SHR, - TK_DBCOLON, - TK_EOS, - TK_FLT, - TK_INT, - TK_NAME, - TK_STRING -}; - -/* number of reserved words */ -#define NUM_RESERVED (cast(int, TK_WHILE - FIRST_RESERVED + 1)) - -typedef union { - lua_Number r; - lua_Integer i; - TString *ts; -} SemInfo; /* semantics information */ - -typedef struct Token -{ - int token; - SemInfo seminfo; -} Token; - -/* state of the lexer plus state of the parser when shared by all - functions */ -typedef struct LexState -{ - int current; /* current character (charint) */ - int linenumber; /* input line counter */ - int lastline; /* line of last token 'consumed' */ - Token t; /* current token */ - Token lookahead; /* look ahead token */ - struct FuncState *fs; /* current function (parser) */ - struct lua_State *L; - ZIO *z; /* input stream */ - Mbuffer *buff; /* buffer for tokens */ - Table *h; /* to avoid collection/reuse strings */ - struct Dyndata *dyd; /* dynamic structures used by the parser */ - TString *source; /* current source name */ - TString *envn; /* environment variable name */ -} LexState; - -LUAI_FUNC void luaX_init(lua_State *L); -LUAI_FUNC void luaX_setinput(lua_State *L, LexState *ls, ZIO *z, - TString *source, int firstchar); -LUAI_FUNC TString *luaX_newstring(LexState *ls, const char *str, size_t l); -LUAI_FUNC void luaX_next(LexState *ls); -LUAI_FUNC int luaX_lookahead(LexState *ls); -LUAI_FUNC l_noret luaX_syntaxerror(LexState *ls, const char *s); -LUAI_FUNC const char *luaX_token2str(LexState *ls, int token); - -#endif diff --git a/User/lua/src-bak/llimits.h b/User/lua/src-bak/llimits.h deleted file mode 100644 index 8b0c457..0000000 --- a/User/lua/src-bak/llimits.h +++ /dev/null @@ -1,310 +0,0 @@ -/* -** $Id: llimits.h,v 1.141.1.1 2017/04/19 17:20:42 roberto Exp $ -** Limits, basic types, and some other 'installation-dependent' definitions -** See Copyright Notice in lua.h -*/ - -#ifndef llimits_h -#define llimits_h - -#include -#include - -#include "lua.h" - -/* -** 'lu_mem' and 'l_mem' are unsigned/signed integers big enough to count -** the total memory used by Lua (in bytes). Usually, 'size_t' and -** 'ptrdiff_t' should work, but we use 'long' for 16-bit machines. -*/ -#if defined(LUAI_MEM) /* { external definitions? */ -typedef LUAI_UMEM lu_mem; -typedef LUAI_MEM l_mem; -#elif LUAI_BITSINT >= 32 /* }{ */ -typedef size_t lu_mem; -typedef ptrdiff_t l_mem; -#else /* 16-bit ints */ /* }{ */ -typedef unsigned long lu_mem; -typedef long l_mem; -#endif /* } */ - -/* chars used as small naturals (so that 'char' is reserved for characters) */ -typedef unsigned char lu_byte; - -/* maximum value for size_t */ -#define MAX_SIZET ((size_t)(~(size_t)0)) - -/* maximum size visible for Lua (must be representable in a lua_Integer */ -#define MAX_SIZE (sizeof(size_t) < sizeof(lua_Integer) ? MAX_SIZET \ - : (size_t)(LUA_MAXINTEGER)) - -#define MAX_LUMEM ((lu_mem)(~(lu_mem)0)) - -#define MAX_LMEM ((l_mem)(MAX_LUMEM >> 1)) - -#define MAX_INT INT_MAX /* maximum value of an int */ - -/* -** conversion of pointer to unsigned integer: -** this is for hashing only; there is no problem if the integer -** cannot hold the whole pointer value -*/ -#define point2uint(p) ((unsigned int)((size_t)(p)&UINT_MAX)) - -/* type to ensure maximum alignment */ -#if defined(LUAI_USER_ALIGNMENT_T) -typedef LUAI_USER_ALIGNMENT_T L_Umaxalign; -#else -typedef union { - lua_Number n; - double u; - void *s; - lua_Integer i; - long l; -} L_Umaxalign; -#endif - -/* types of 'usual argument conversions' for lua_Number and lua_Integer */ -typedef LUAI_UACNUMBER l_uacNumber; -typedef LUAI_UACINT l_uacInt; - -/* internal assertions for in-house debugging */ -#if defined(lua_assert) -#define check_exp(c, e) (lua_assert(c), (e)) -/* to avoid problems with conditions too long */ -#define lua_longassert(c) ((c) ? (void)0 : lua_assert(0)) -#else -#define lua_assert(c) ((void)0) -#define check_exp(c, e) (e) -#define lua_longassert(c) ((void)0) -#endif - -/* -** assertion for checking API calls -*/ -#if !defined(luai_apicheck) -#define luai_apicheck(l, e) lua_assert(e) -#endif - -#define api_check(l, e, msg) luai_apicheck(l, (e) && msg) - -/* macro to avoid warnings about unused variables */ -#if !defined(UNUSED) -#define UNUSED(x) ((void)(x)) -#endif - -/* type casts (a macro highlights casts in the code) */ -#define cast(t, exp) ((t)(exp)) - -#define cast_void(i) cast(void, (i)) -#define cast_byte(i) cast(lu_byte, (i)) -#define cast_num(i) cast(lua_Number, (i)) -#define cast_int(i) cast(int, (i)) -#define cast_uchar(i) cast(unsigned char, (i)) - -/* cast a signed lua_Integer to lua_Unsigned */ -#if !defined(l_castS2U) -#define l_castS2U(i) ((lua_Unsigned)(i)) -#endif - -/* -** cast a lua_Unsigned to a signed lua_Integer; this cast is -** not strict ISO C, but two-complement architectures should -** work fine. -*/ -#if !defined(l_castU2S) -#define l_castU2S(i) ((lua_Integer)(i)) -#endif - -/* -** non-return type -*/ -#if defined(__GNUC__) -#define l_noret void __attribute__((noreturn)) -#elif defined(_MSC_VER) && _MSC_VER >= 1200 -#define l_noret void __declspec(noreturn) -#else -#define l_noret void -#endif - -/* -** maximum depth for nested C calls and syntactical nested non-terminals -** in a program. (Value must fit in an unsigned short int.) -*/ -#if !defined(LUAI_MAXCCALLS) -#define LUAI_MAXCCALLS 200 -#endif - -/* -** type for virtual-machine instructions; -** must be an unsigned with (at least) 4 bytes (see details in lopcodes.h) -*/ -#if LUAI_BITSINT >= 32 -typedef unsigned int Instruction; -#else -typedef unsigned long Instruction; -#endif - -/* -** Maximum length for short strings, that is, strings that are -** internalized. (Cannot be smaller than reserved words or tags for -** metamethods, as these strings must be internalized; -** #("function") = 8, #("__newindex") = 10.) -*/ -#if !defined(LUAI_MAXSHORTLEN) -#define LUAI_MAXSHORTLEN 40 -#endif - -/* -** Initial size for the string table (must be power of 2). -** The Lua core alone registers ~50 strings (reserved words + -** metaevent keys + a few others). Libraries would typically add -** a few dozens more. -*/ -#if !defined(MINSTRTABSIZE) -#define MINSTRTABSIZE 128 -#endif - -/* -** Size of cache for strings in the API. 'N' is the number of -** sets (better be a prime) and "M" is the size of each set (M == 1 -** makes a direct cache.) -*/ -#if !defined(STRCACHE_N) -#define STRCACHE_N 53 -#define STRCACHE_M 2 -#endif - -/* minimum size for string buffer */ -#if !defined(LUA_MINBUFFER) -#define LUA_MINBUFFER 32 -#endif - -/* -** macros that are executed whenever program enters the Lua core -** ('lua_lock') and leaves the core ('lua_unlock') -*/ -#if !defined(lua_lock) -#define lua_lock(L) ((void)0) -#define lua_unlock(L) ((void)0) -#endif - -/* -** macro executed during Lua functions at points where the -** function can yield. -*/ -#if !defined(luai_threadyield) -#define luai_threadyield(L) \ - { \ - lua_unlock(L); \ - lua_lock(L); \ - } -#endif - -/* -** these macros allow user-specific actions on threads when you defined -** LUAI_EXTRASPACE and need to do something extra when a thread is -** created/deleted/resumed/yielded. -*/ -#if !defined(luai_userstateopen) -#define luai_userstateopen(L) ((void)L) -#endif - -#if !defined(luai_userstateclose) -#define luai_userstateclose(L) ((void)L) -#endif - -#if !defined(luai_userstatethread) -#define luai_userstatethread(L, L1) ((void)L) -#endif - -#if !defined(luai_userstatefree) -#define luai_userstatefree(L, L1) ((void)L) -#endif - -#if !defined(luai_userstateresume) -#define luai_userstateresume(L, n) ((void)L) -#endif - -#if !defined(luai_userstateyield) -#define luai_userstateyield(L, n) ((void)L) -#endif - -/* -** The luai_num* macros define the primitive operations over numbers. -*/ - -/* floor division (defined as 'floor(a/b)') */ -#if !defined(luai_numidiv) -#define luai_numidiv(L, a, b) ((void)L, l_floor(luai_numdiv(L, a, b))) -#endif - -/* float division */ -#if !defined(luai_numdiv) -#define luai_numdiv(L, a, b) ((a) / (b)) -#endif - -/* -** modulo: defined as 'a - floor(a/b)*b'; this definition gives NaN when -** 'b' is huge, but the result should be 'a'. 'fmod' gives the result of -** 'a - trunc(a/b)*b', and therefore must be corrected when 'trunc(a/b) -** ~= floor(a/b)'. That happens when the division has a non-integer -** negative result, which is equivalent to the test below. -*/ -#if !defined(luai_nummod) -#define luai_nummod(L, a, b, m) \ - { \ - (m) = l_mathop(fmod)(a, b); \ - if ((m) * (b) < 0) \ - (m) += (b); \ - } -#endif - -/* exponentiation */ -#if !defined(luai_numpow) -#define luai_numpow(L, a, b) ((void)L, l_mathop(pow)(a, b)) -#endif - -/* the others are quite standard operations */ -#if !defined(luai_numadd) -#define luai_numadd(L, a, b) ((a) + (b)) -#define luai_numsub(L, a, b) ((a) - (b)) -#define luai_nummul(L, a, b) ((a) * (b)) -#define luai_numunm(L, a) (-(a)) -#define luai_numeq(a, b) ((a) == (b)) -#define luai_numlt(a, b) ((a) < (b)) -#define luai_numle(a, b) ((a) <= (b)) -#define luai_numisnan(a) (!luai_numeq((a), (a))) -#endif - -/* -** macro to control inclusion of some hard tests on stack reallocation -*/ -#if !defined(HARDSTACKTESTS) -#define condmovestack(L, pre, pos) ((void)0) -#else -/* realloc stack keeping its size */ -#define condmovestack(L, pre, pos) \ - { \ - int sz_ = (L)->stacksize; \ - pre; \ - luaD_reallocstack((L), sz_); \ - pos; \ - } -#endif - -#if !defined(HARDMEMTESTS) -#define condchangemem(L, pre, pos) ((void)0) -#else -#define condchangemem(L, pre, pos) \ - { \ - if (G(L)->gcrunning) \ - { \ - pre; \ - luaC_fullgc(L, 0); \ - pos; \ - } \ - } -#endif - -#endif diff --git a/User/lua/src-bak/lmathlib.c b/User/lua/src-bak/lmathlib.c deleted file mode 100644 index 2ceb6b9..0000000 --- a/User/lua/src-bak/lmathlib.c +++ /dev/null @@ -1,440 +0,0 @@ -/* -** $Id: lmathlib.c,v 1.119.1.1 2017/04/19 17:20:42 roberto Exp $ -** Standard mathematical library -** See Copyright Notice in lua.h -*/ - -#define lmathlib_c -#define LUA_LIB - -#include "lprefix.h" - -#include -#include - -#include "lua.h" - -#include "lauxlib.h" -#include "lualib.h" - -#undef PI -#define PI (l_mathop(3.141592653589793238462643383279502884)) - -#if !defined(l_rand) /* { */ -#if defined(LUA_USE_POSIX) -#define l_rand() random() -#define l_srand(x) srandom(x) -#define L_RANDMAX 2147483647 /* (2^31 - 1), following POSIX */ -#else -#define l_rand() rand() -#define l_srand(x) srand(x) -#define L_RANDMAX RAND_MAX -#endif -#endif /* } */ - -static int math_abs(lua_State *L) -{ - if (lua_isinteger(L, 1)) - { - lua_Integer n = lua_tointeger(L, 1); - if (n < 0) - n = (lua_Integer)(0u - (lua_Unsigned)n); - lua_pushinteger(L, n); - } - else - lua_pushnumber(L, l_mathop(fabs)(luaL_checknumber(L, 1))); - return 1; -} - -static int math_sin(lua_State *L) -{ - lua_pushnumber(L, l_mathop(sin)(luaL_checknumber(L, 1))); - return 1; -} - -static int math_cos(lua_State *L) -{ - lua_pushnumber(L, l_mathop(cos)(luaL_checknumber(L, 1))); - return 1; -} - -static int math_tan(lua_State *L) -{ - lua_pushnumber(L, l_mathop(tan)(luaL_checknumber(L, 1))); - return 1; -} - -static int math_asin(lua_State *L) -{ - lua_pushnumber(L, l_mathop(asin)(luaL_checknumber(L, 1))); - return 1; -} - -static int math_acos(lua_State *L) -{ - lua_pushnumber(L, l_mathop(acos)(luaL_checknumber(L, 1))); - return 1; -} - -static int math_atan(lua_State *L) -{ - lua_Number y = luaL_checknumber(L, 1); - lua_Number x = luaL_optnumber(L, 2, 1); - lua_pushnumber(L, l_mathop(atan2)(y, x)); - return 1; -} - -static int math_toint(lua_State *L) -{ - int valid; - lua_Integer n = lua_tointegerx(L, 1, &valid); - if (valid) - lua_pushinteger(L, n); - else - { - luaL_checkany(L, 1); - lua_pushnil(L); /* value is not convertible to integer */ - } - return 1; -} - -static void pushnumint(lua_State *L, lua_Number d) -{ - lua_Integer n; - if (lua_numbertointeger(d, &n)) /* does 'd' fit in an integer? */ - lua_pushinteger(L, n); /* result is integer */ - else - lua_pushnumber(L, d); /* result is float */ -} - -static int math_floor(lua_State *L) -{ - if (lua_isinteger(L, 1)) - lua_settop(L, 1); /* integer is its own floor */ - else - { - lua_Number d = l_mathop(floor)(luaL_checknumber(L, 1)); - pushnumint(L, d); - } - return 1; -} - -static int math_ceil(lua_State *L) -{ - if (lua_isinteger(L, 1)) - lua_settop(L, 1); /* integer is its own ceil */ - else - { - lua_Number d = l_mathop(ceil)(luaL_checknumber(L, 1)); - pushnumint(L, d); - } - return 1; -} - -static int math_fmod(lua_State *L) -{ - if (lua_isinteger(L, 1) && lua_isinteger(L, 2)) - { - lua_Integer d = lua_tointeger(L, 2); - if ((lua_Unsigned)d + 1u <= 1u) - { /* special cases: -1 or 0 */ - luaL_argcheck(L, d != 0, 2, "zero"); - lua_pushinteger(L, 0); /* avoid overflow with 0x80000... / -1 */ - } - else - lua_pushinteger(L, lua_tointeger(L, 1) % d); - } - else - lua_pushnumber(L, l_mathop(fmod)(luaL_checknumber(L, 1), - luaL_checknumber(L, 2))); - return 1; -} - -/* -** next function does not use 'modf', avoiding problems with 'double*' -** (which is not compatible with 'float*') when lua_Number is not -** 'double'. -*/ -static int math_modf(lua_State *L) -{ - if (lua_isinteger(L, 1)) - { - lua_settop(L, 1); /* number is its own integer part */ - lua_pushnumber(L, 0); /* no fractional part */ - } - else - { - lua_Number n = luaL_checknumber(L, 1); - /* integer part (rounds toward zero) */ - lua_Number ip = (n < 0) ? l_mathop(ceil)(n) : l_mathop(floor)(n); - pushnumint(L, ip); - /* fractional part (test needed for inf/-inf) */ - lua_pushnumber(L, (n == ip) ? l_mathop(0.0) : (n - ip)); - } - return 2; -} - -static int math_sqrt(lua_State *L) -{ - lua_pushnumber(L, l_mathop(sqrt)(luaL_checknumber(L, 1))); - return 1; -} - -static int math_ult(lua_State *L) -{ - lua_Integer a = luaL_checkinteger(L, 1); - lua_Integer b = luaL_checkinteger(L, 2); - lua_pushboolean(L, (lua_Unsigned)a < (lua_Unsigned)b); - return 1; -} - -static int math_log(lua_State *L) -{ - lua_Number x = luaL_checknumber(L, 1); - lua_Number res; - if (lua_isnoneornil(L, 2)) - res = l_mathop(log)(x); - else - { - lua_Number base = luaL_checknumber(L, 2); -#if !defined(LUA_USE_C89) - if (base == l_mathop(2.0)) - res = l_mathop(log2)(x); - else -#endif - if (base == l_mathop(10.0)) - res = l_mathop(log10)(x); - else - res = l_mathop(log)(x) / l_mathop(log)(base); - } - lua_pushnumber(L, res); - return 1; -} - -static int math_exp(lua_State *L) -{ - lua_pushnumber(L, l_mathop(exp)(luaL_checknumber(L, 1))); - return 1; -} - -static int math_deg(lua_State *L) -{ - lua_pushnumber(L, luaL_checknumber(L, 1) * (l_mathop(180.0) / PI)); - return 1; -} - -static int math_rad(lua_State *L) -{ - lua_pushnumber(L, luaL_checknumber(L, 1) * (PI / l_mathop(180.0))); - return 1; -} - -static int math_min(lua_State *L) -{ - int n = lua_gettop(L); /* number of arguments */ - int imin = 1; /* index of current minimum value */ - int i; - luaL_argcheck(L, n >= 1, 1, "value expected"); - for (i = 2; i <= n; i++) - { - if (lua_compare(L, i, imin, LUA_OPLT)) - imin = i; - } - lua_pushvalue(L, imin); - return 1; -} - -static int math_max(lua_State *L) -{ - int n = lua_gettop(L); /* number of arguments */ - int imax = 1; /* index of current maximum value */ - int i; - luaL_argcheck(L, n >= 1, 1, "value expected"); - for (i = 2; i <= n; i++) - { - if (lua_compare(L, imax, i, LUA_OPLT)) - imax = i; - } - lua_pushvalue(L, imax); - return 1; -} - -/* -** This function uses 'double' (instead of 'lua_Number') to ensure that -** all bits from 'l_rand' can be represented, and that 'RANDMAX + 1.0' -** will keep full precision (ensuring that 'r' is always less than 1.0.) -*/ -static int math_random(lua_State *L) -{ - lua_Integer low, up; - double r = (double)l_rand() * (1.0 / ((double)L_RANDMAX + 1.0)); - switch (lua_gettop(L)) - { /* check number of arguments */ - case 0: - { /* no arguments */ - lua_pushnumber(L, (lua_Number)r); /* Number between 0 and 1 */ - return 1; - } - case 1: - { /* only upper limit */ - low = 1; - up = luaL_checkinteger(L, 1); - break; - } - case 2: - { /* lower and upper limits */ - low = luaL_checkinteger(L, 1); - up = luaL_checkinteger(L, 2); - break; - } - default: - return luaL_error(L, "wrong number of arguments"); - } - /* random integer in the interval [low, up] */ - luaL_argcheck(L, low <= up, 1, "interval is empty"); - luaL_argcheck(L, low >= 0 || up <= LUA_MAXINTEGER + low, 1, - "interval too large"); - r *= (double)(up - low) + 1.0; - lua_pushinteger(L, (lua_Integer)r + low); - return 1; -} - -static int math_randomseed(lua_State *L) -{ - l_srand((unsigned int)(lua_Integer)luaL_checknumber(L, 1)); - (void)l_rand(); /* discard first value to avoid undesirable correlations */ - return 0; -} - -static int math_type(lua_State *L) -{ - if (lua_type(L, 1) == LUA_TNUMBER) - { - if (lua_isinteger(L, 1)) - lua_pushliteral(L, "integer"); - else - lua_pushliteral(L, "float"); - } - else - { - luaL_checkany(L, 1); - lua_pushnil(L); - } - return 1; -} - -/* -** {================================================================== -** Deprecated functions (for compatibility only) -** =================================================================== -*/ -#if defined(LUA_COMPAT_MATHLIB) - -static int math_cosh(lua_State *L) -{ - lua_pushnumber(L, l_mathop(cosh)(luaL_checknumber(L, 1))); - return 1; -} - -static int math_sinh(lua_State *L) -{ - lua_pushnumber(L, l_mathop(sinh)(luaL_checknumber(L, 1))); - return 1; -} - -static int math_tanh(lua_State *L) -{ - lua_pushnumber(L, l_mathop(tanh)(luaL_checknumber(L, 1))); - return 1; -} - -static int math_pow(lua_State *L) -{ - lua_Number x = luaL_checknumber(L, 1); - lua_Number y = luaL_checknumber(L, 2); - lua_pushnumber(L, l_mathop(pow)(x, y)); - return 1; -} - -static int math_frexp(lua_State *L) -{ - int e; - lua_pushnumber(L, l_mathop(frexp)(luaL_checknumber(L, 1), &e)); - lua_pushinteger(L, e); - return 2; -} - -static int math_ldexp(lua_State *L) -{ - lua_Number x = luaL_checknumber(L, 1); - int ep = (int)luaL_checkinteger(L, 2); - lua_pushnumber(L, l_mathop(ldexp)(x, ep)); - return 1; -} - -static int math_log10(lua_State *L) -{ - lua_pushnumber(L, l_mathop(log10)(luaL_checknumber(L, 1))); - return 1; -} - -#endif -/* }================================================================== */ - -static const luaL_Reg mathlib[] = { - {"abs", math_abs}, - {"acos", math_acos}, - {"asin", math_asin}, - {"atan", math_atan}, - {"ceil", math_ceil}, - {"cos", math_cos}, - {"deg", math_deg}, - {"exp", math_exp}, - {"tointeger", math_toint}, - {"floor", math_floor}, - {"fmod", math_fmod}, - {"ult", math_ult}, - {"log", math_log}, - {"max", math_max}, - {"min", math_min}, - {"modf", math_modf}, - {"rad", math_rad}, - {"random", math_random}, - {"randomseed", math_randomseed}, - {"sin", math_sin}, - {"sqrt", math_sqrt}, - {"tan", math_tan}, - {"type", math_type}, -#if defined(LUA_COMPAT_MATHLIB) - {"atan2", math_atan}, - {"cosh", math_cosh}, - {"sinh", math_sinh}, - {"tanh", math_tanh}, - {"pow", math_pow}, - {"frexp", math_frexp}, - {"ldexp", math_ldexp}, - {"log10", math_log10}, -#endif - /* placeholders */ - {"pi", NULL}, - {"huge", NULL}, - {"maxinteger", NULL}, - {"mininteger", NULL}, - {NULL, NULL}}; - -/* -** Open math library -*/ -LUAMOD_API int luaopen_math(lua_State *L) -{ - luaL_newlib(L, mathlib); - lua_pushnumber(L, PI); - lua_setfield(L, -2, "pi"); - lua_pushnumber(L, (lua_Number)HUGE_VAL); - lua_setfield(L, -2, "huge"); - lua_pushinteger(L, LUA_MAXINTEGER); - lua_setfield(L, -2, "maxinteger"); - lua_pushinteger(L, LUA_MININTEGER); - lua_setfield(L, -2, "mininteger"); - return 1; -} diff --git a/User/lua/src-bak/lmem.c b/User/lua/src-bak/lmem.c deleted file mode 100644 index 535ea00..0000000 --- a/User/lua/src-bak/lmem.c +++ /dev/null @@ -1,97 +0,0 @@ -/* -** $Id: lmem.c,v 1.91.1.1 2017/04/19 17:20:42 roberto Exp $ -** Interface to Memory Manager -** See Copyright Notice in lua.h -*/ - -#define lmem_c -#define LUA_CORE - -#include "lprefix.h" - -#include - -#include "lua.h" - -#include "ldebug.h" -#include "ldo.h" -#include "lgc.h" -#include "lmem.h" -#include "lobject.h" -#include "lstate.h" - -/* -** About the realloc function: -** void * frealloc (void *ud, void *ptr, size_t osize, size_t nsize); -** ('osize' is the old size, 'nsize' is the new size) -** -** * frealloc(ud, NULL, x, s) creates a new block of size 's' (no -** matter 'x'). -** -** * frealloc(ud, p, x, 0) frees the block 'p' -** (in this specific case, frealloc must return NULL); -** particularly, frealloc(ud, NULL, 0, 0) does nothing -** (which is equivalent to free(NULL) in ISO C) -** -** frealloc returns NULL if it cannot create or reallocate the area -** (any reallocation to an equal or smaller size cannot fail!) -*/ - -#define MINSIZEARRAY 4 - -void *luaM_growaux_(lua_State *L, void *block, int *size, size_t size_elems, - int limit, const char *what) -{ - void *newblock; - int newsize; - if (*size >= limit / 2) - { /* cannot double it? */ - if (*size >= limit) /* cannot grow even a little? */ - luaG_runerror(L, "too many %s (limit is %d)", what, limit); - newsize = limit; /* still have at least one free place */ - } - else - { - newsize = (*size) * 2; - if (newsize < MINSIZEARRAY) - newsize = MINSIZEARRAY; /* minimum size */ - } - newblock = luaM_reallocv(L, block, *size, newsize, size_elems); - *size = newsize; /* update only when everything else is OK */ - return newblock; -} - -l_noret luaM_toobig(lua_State *L) -{ - luaG_runerror(L, "memory allocation error: block too big"); -} - -/* -** generic allocation routine. -*/ -void *luaM_realloc_(lua_State *L, void *block, size_t osize, size_t nsize) -{ - void *newblock; - global_State *g = G(L); - size_t realosize = (block) ? osize : 0; - lua_assert((realosize == 0) == (block == NULL)); -#if defined(HARDMEMTESTS) - if (nsize > realosize && g->gcrunning) - luaC_fullgc(L, 1); /* force a GC whenever possible */ -#endif - newblock = (*g->frealloc)(g->ud, block, osize, nsize); - if (newblock == NULL && nsize > 0) - { - lua_assert(nsize > realosize); /* cannot fail when shrinking a block */ - if (g->version) - { /* is state fully built? */ - luaC_fullgc(L, 1); /* try to free some memory... */ - newblock = (*g->frealloc)(g->ud, block, osize, nsize); /* try again */ - } - if (newblock == NULL) - luaD_throw(L, LUA_ERRMEM); - } - lua_assert((nsize == 0) == (newblock == NULL)); - g->GCdebt = (g->GCdebt + nsize) - realosize; - return newblock; -} diff --git a/User/lua/src-bak/lmem.h b/User/lua/src-bak/lmem.h deleted file mode 100644 index cf40461..0000000 --- a/User/lua/src-bak/lmem.h +++ /dev/null @@ -1,67 +0,0 @@ -/* -** $Id: lmem.h,v 1.43.1.1 2017/04/19 17:20:42 roberto Exp $ -** Interface to Memory Manager -** See Copyright Notice in lua.h -*/ - -#ifndef lmem_h -#define lmem_h - -#include - -#include "llimits.h" -#include "lua.h" - -/* -** This macro reallocs a vector 'b' from 'on' to 'n' elements, where -** each element has size 'e'. In case of arithmetic overflow of the -** product 'n'*'e', it raises an error (calling 'luaM_toobig'). Because -** 'e' is always constant, it avoids the runtime division MAX_SIZET/(e). -** -** (The macro is somewhat complex to avoid warnings: The 'sizeof' -** comparison avoids a runtime comparison when overflow cannot occur. -** The compiler should be able to optimize the real test by itself, but -** when it does it, it may give a warning about "comparison is always -** false due to limited range of data type"; the +1 tricks the compiler, -** avoiding this warning but also this optimization.) -*/ -#define luaM_reallocv(L, b, on, n, e) \ - (((sizeof(n) >= sizeof(size_t) && cast(size_t, (n)) + 1 > MAX_SIZET / (e)) \ - ? luaM_toobig(L) \ - : cast_void(0)), \ - luaM_realloc_(L, (b), (on) * (e), (n) * (e))) - -/* -** Arrays of chars do not need any test -*/ -#define luaM_reallocvchar(L, b, on, n) \ - cast(char *, luaM_realloc_(L, (b), (on) * sizeof(char), (n) * sizeof(char))) - -#define luaM_freemem(L, b, s) luaM_realloc_(L, (b), (s), 0) -#define luaM_free(L, b) luaM_realloc_(L, (b), sizeof(*(b)), 0) -#define luaM_freearray(L, b, n) luaM_realloc_(L, (b), (n) * sizeof(*(b)), 0) - -#define luaM_malloc(L, s) luaM_realloc_(L, NULL, 0, (s)) -#define luaM_new(L, t) cast(t *, luaM_malloc(L, sizeof(t))) -#define luaM_newvector(L, n, t) \ - cast(t *, luaM_reallocv(L, NULL, 0, n, sizeof(t))) - -#define luaM_newobject(L, tag, s) luaM_realloc_(L, NULL, tag, (s)) - -#define luaM_growvector(L, v, nelems, size, t, limit, e) \ - if ((nelems) + 1 > (size)) \ - ((v) = cast(t *, luaM_growaux_(L, v, &(size), sizeof(t), limit, e))) - -#define luaM_reallocvector(L, v, oldn, n, t) \ - ((v) = cast(t *, luaM_reallocv(L, v, oldn, n, sizeof(t)))) - -LUAI_FUNC l_noret luaM_toobig(lua_State *L); - -/* not to be called directly */ -LUAI_FUNC void *luaM_realloc_(lua_State *L, void *block, size_t oldsize, - size_t size); -LUAI_FUNC void *luaM_growaux_(lua_State *L, void *block, int *size, - size_t size_elem, int limit, - const char *what); - -#endif diff --git a/User/lua/src-bak/loadlib.c b/User/lua/src-bak/loadlib.c deleted file mode 100644 index 4962a98..0000000 --- a/User/lua/src-bak/loadlib.c +++ /dev/null @@ -1,801 +0,0 @@ -/* -** $Id: loadlib.c,v 1.130.1.1 2017/04/19 17:20:42 roberto Exp $ -** Dynamic library loader for Lua -** See Copyright Notice in lua.h -** -** This module contains an implementation of loadlib for Unix systems -** that have dlfcn, an implementation for Windows, and a stub for other -** systems. -*/ - -#define loadlib_c -#define LUA_LIB - -#include "lprefix.h" - -#include -#include -#include - -#include "lua.h" - -#include "lauxlib.h" -#include "lualib.h" - -/* -** LUA_IGMARK is a mark to ignore all before it when building the -** luaopen_ function name. -*/ -#if !defined(LUA_IGMARK) -#define LUA_IGMARK "-" -#endif - -/* -** LUA_CSUBSEP is the character that replaces dots in submodule names -** when searching for a C loader. -** LUA_LSUBSEP is the character that replaces dots in submodule names -** when searching for a Lua loader. -*/ -#if !defined(LUA_CSUBSEP) -#define LUA_CSUBSEP LUA_DIRSEP -#endif - -#if !defined(LUA_LSUBSEP) -#define LUA_LSUBSEP LUA_DIRSEP -#endif - -/* prefix for open functions in C libraries */ -#define LUA_POF "luaopen_" - -/* separator for open functions in C libraries */ -#define LUA_OFSEP "_" - -/* -** unique key for table in the registry that keeps handles -** for all loaded C libraries -*/ -static const int CLIBS = 0; - -#define LIB_FAIL "open" - -#define setprogdir(L) ((void)0) - -/* -** system-dependent functions -*/ - -/* -** unload library 'lib' -*/ -static void lsys_unloadlib(void *lib); - -/* -** load C library in file 'path'. If 'seeglb', load with all names in -** the library global. -** Returns the library; in case of error, returns NULL plus an -** error string in the stack. -*/ -static void *lsys_load(lua_State *L, const char *path, int seeglb); - -/* -** Try to find a function named 'sym' in library 'lib'. -** Returns the function; in case of error, returns NULL plus an -** error string in the stack. -*/ -static lua_CFunction lsys_sym(lua_State *L, void *lib, const char *sym); - -#if defined(LUA_USE_DLOPEN) /* { */ -/* -** {======================================================================== -** This is an implementation of loadlib based on the dlfcn interface. -** The dlfcn interface is available in Linux, SunOS, Solaris, IRIX, FreeBSD, -** NetBSD, AIX 4.2, HPUX 11, and probably most other Unix flavors, at least -** as an emulation layer on top of native functions. -** ========================================================================= -*/ - -#include - -/* -** Macro to convert pointer-to-void* to pointer-to-function. This cast -** is undefined according to ISO C, but POSIX assumes that it works. -** (The '__extension__' in gnu compilers is only to avoid warnings.) -*/ -#if defined(__GNUC__) -#define cast_func(p) (__extension__(lua_CFunction)(p)) -#else -#define cast_func(p) ((lua_CFunction)(p)) -#endif - -static void lsys_unloadlib(void *lib) -{ - dlclose(lib); -} - -static void *lsys_load(lua_State *L, const char *path, int seeglb) -{ - void *lib = dlopen(path, RTLD_NOW | (seeglb ? RTLD_GLOBAL : RTLD_LOCAL)); - if (lib == NULL) - lua_pushstring(L, dlerror()); - return lib; -} - -static lua_CFunction lsys_sym(lua_State *L, void *lib, const char *sym) -{ - lua_CFunction f = cast_func(dlsym(lib, sym)); - if (f == NULL) - lua_pushstring(L, dlerror()); - return f; -} - -/* }====================================================== */ - -#elif defined(LUA_DL_DLL) /* }{ */ -/* -** {====================================================================== -** This is an implementation of loadlib for Windows using native functions. -** ======================================================================= -*/ - -#include - -/* -** optional flags for LoadLibraryEx -*/ -#if !defined(LUA_LLE_FLAGS) -#define LUA_LLE_FLAGS 0 -#endif - -#undef setprogdir - -/* -** Replace in the path (on the top of the stack) any occurrence -** of LUA_EXEC_DIR with the executable's path. -*/ -static void setprogdir(lua_State *L) -{ - char buff[MAX_PATH + 1]; - char *lb; - DWORD nsize = sizeof(buff) / sizeof(char); - DWORD n = GetModuleFileNameA(NULL, buff, nsize); /* get exec. name */ - if (n == 0 || n == nsize || (lb = strrchr(buff, '\\')) == NULL) - luaL_error(L, "unable to get ModuleFileName"); - else - { - *lb = '\0'; /* cut name on the last '\\' to get the path */ - luaL_gsub(L, lua_tostring(L, -1), LUA_EXEC_DIR, buff); - lua_remove(L, -2); /* remove original string */ - } -} - -static void pusherror(lua_State *L) -{ - int error = GetLastError(); - char buffer[128]; - if (FormatMessageA(FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM, - NULL, error, 0, buffer, sizeof(buffer) / sizeof(char), NULL)) - lua_pushstring(L, buffer); - else - lua_pushfstring(L, "system error %d\n", error); -} - -static void lsys_unloadlib(void *lib) -{ - FreeLibrary((HMODULE)lib); -} - -static void *lsys_load(lua_State *L, const char *path, int seeglb) -{ - HMODULE lib = LoadLibraryExA(path, NULL, LUA_LLE_FLAGS); - (void)(seeglb); /* not used: symbols are 'global' by default */ - if (lib == NULL) - pusherror(L); - return lib; -} - -static lua_CFunction lsys_sym(lua_State *L, void *lib, const char *sym) -{ - lua_CFunction f = (lua_CFunction)GetProcAddress((HMODULE)lib, sym); - if (f == NULL) - pusherror(L); - return f; -} - -/* }====================================================== */ - -#else /* }{ */ -/* -** {====================================================== -** Fallback for other systems -** ======================================================= -*/ - -#undef LIB_FAIL -#define LIB_FAIL "absent" - -#define DLMSG "dynamic libraries not enabled; check your Lua installation" - -static void lsys_unloadlib(void *lib) -{ - (void)(lib); /* not used */ -} - -static void *lsys_load(lua_State *L, const char *path, int seeglb) -{ - (void)(path); - (void)(seeglb); /* not used */ - lua_pushliteral(L, DLMSG); - return NULL; -} - -static lua_CFunction lsys_sym(lua_State *L, void *lib, const char *sym) -{ - (void)(lib); - (void)(sym); /* not used */ - lua_pushliteral(L, DLMSG); - return NULL; -} - -/* }====================================================== */ -#endif /* } */ - -/* -** {================================================================== -** Set Paths -** =================================================================== -*/ - -/* -** LUA_PATH_VAR and LUA_CPATH_VAR are the names of the environment -** variables that Lua check to set its paths. -*/ -#if !defined(LUA_PATH_VAR) -#define LUA_PATH_VAR "LUA_PATH" -#endif - -#if !defined(LUA_CPATH_VAR) -#define LUA_CPATH_VAR "LUA_CPATH" -#endif - -#define AUXMARK "\1" /* auxiliary mark */ - -/* -** return registry.LUA_NOENV as a boolean -*/ -static int noenv(lua_State *L) -{ - int b; - lua_getfield(L, LUA_REGISTRYINDEX, "LUA_NOENV"); - b = lua_toboolean(L, -1); - lua_pop(L, 1); /* remove value */ - return b; -} - -/* -** Set a path -*/ -static void setpath(lua_State *L, const char *fieldname, - const char *envname, - const char *dft) -{ - const char *nver = lua_pushfstring(L, "%s%s", envname, LUA_VERSUFFIX); - const char *path = getenv(nver); /* use versioned name */ - if (path == NULL) /* no environment variable? */ - path = getenv(envname); /* try unversioned name */ - if (path == NULL || noenv(L)) /* no environment variable? */ - lua_pushstring(L, dft); /* use default */ - else - { - /* replace ";;" by ";AUXMARK;" and then AUXMARK by default path */ - path = luaL_gsub(L, path, LUA_PATH_SEP LUA_PATH_SEP, - LUA_PATH_SEP AUXMARK LUA_PATH_SEP); - luaL_gsub(L, path, AUXMARK, dft); - lua_remove(L, -2); /* remove result from 1st 'gsub' */ - } - setprogdir(L); - lua_setfield(L, -3, fieldname); /* package[fieldname] = path value */ - lua_pop(L, 1); /* pop versioned variable name */ -} - -/* }================================================================== */ - -/* -** return registry.CLIBS[path] -*/ -static void *checkclib(lua_State *L, const char *path) -{ - void *plib; - lua_rawgetp(L, LUA_REGISTRYINDEX, &CLIBS); - lua_getfield(L, -1, path); - plib = lua_touserdata(L, -1); /* plib = CLIBS[path] */ - lua_pop(L, 2); /* pop CLIBS table and 'plib' */ - return plib; -} - -/* -** registry.CLIBS[path] = plib -- for queries -** registry.CLIBS[#CLIBS + 1] = plib -- also keep a list of all libraries -*/ -static void addtoclib(lua_State *L, const char *path, void *plib) -{ - lua_rawgetp(L, LUA_REGISTRYINDEX, &CLIBS); - lua_pushlightuserdata(L, plib); - lua_pushvalue(L, -1); - lua_setfield(L, -3, path); /* CLIBS[path] = plib */ - lua_rawseti(L, -2, luaL_len(L, -2) + 1); /* CLIBS[#CLIBS + 1] = plib */ - lua_pop(L, 1); /* pop CLIBS table */ -} - -/* -** __gc tag method for CLIBS table: calls 'lsys_unloadlib' for all lib -** handles in list CLIBS -*/ -static int gctm(lua_State *L) -{ - lua_Integer n = luaL_len(L, 1); - for (; n >= 1; n--) - { /* for each handle, in reverse order */ - lua_rawgeti(L, 1, n); /* get handle CLIBS[n] */ - lsys_unloadlib(lua_touserdata(L, -1)); - lua_pop(L, 1); /* pop handle */ - } - return 0; -} - -/* error codes for 'lookforfunc' */ -#define ERRLIB 1 -#define ERRFUNC 2 - -/* -** Look for a C function named 'sym' in a dynamically loaded library -** 'path'. -** First, check whether the library is already loaded; if not, try -** to load it. -** Then, if 'sym' is '*', return true (as library has been loaded). -** Otherwise, look for symbol 'sym' in the library and push a -** C function with that symbol. -** Return 0 and 'true' or a function in the stack; in case of -** errors, return an error code and an error message in the stack. -*/ -static int lookforfunc(lua_State *L, const char *path, const char *sym) -{ - void *reg = checkclib(L, path); /* check loaded C libraries */ - if (reg == NULL) - { /* must load library? */ - reg = lsys_load(L, path, *sym == '*'); /* global symbols if 'sym'=='*' */ - if (reg == NULL) - return ERRLIB; /* unable to load library */ - addtoclib(L, path, reg); - } - if (*sym == '*') - { /* loading only library (no function)? */ - lua_pushboolean(L, 1); /* return 'true' */ - return 0; /* no errors */ - } - else - { - lua_CFunction f = lsys_sym(L, reg, sym); - if (f == NULL) - return ERRFUNC; /* unable to find function */ - lua_pushcfunction(L, f); /* else create new function */ - return 0; /* no errors */ - } -} - -static int ll_loadlib(lua_State *L) -{ - const char *path = luaL_checkstring(L, 1); - const char *init = luaL_checkstring(L, 2); - int stat = lookforfunc(L, path, init); - if (stat == 0) /* no errors? */ - return 1; /* return the loaded function */ - else - { /* error; error message is on stack top */ - lua_pushnil(L); - lua_insert(L, -2); - lua_pushstring(L, (stat == ERRLIB) ? LIB_FAIL : "init"); - return 3; /* return nil, error message, and where */ - } -} - -/* -** {====================================================== -** 'require' function -** ======================================================= -*/ - -static int readable(const char *filename) -{ - FILE *f = fopen(filename, "r"); /* try to open file */ - if (f == NULL) - return 0; /* open failed */ - fclose(f); - return 1; -} - -static const char *pushnexttemplate(lua_State *L, const char *path) -{ - const char *l; - while (*path == *LUA_PATH_SEP) - path++; /* skip separators */ - if (*path == '\0') - return NULL; /* no more templates */ - l = strchr(path, *LUA_PATH_SEP); /* find next separator */ - if (l == NULL) - l = path + strlen(path); - lua_pushlstring(L, path, l - path); /* template */ - return l; -} - -static const char *searchpath(lua_State *L, const char *name, - const char *path, - const char *sep, - const char *dirsep) -{ - luaL_Buffer msg; /* to build error message */ - luaL_buffinit(L, &msg); - if (*sep != '\0') /* non-empty separator? */ - name = luaL_gsub(L, name, sep, dirsep); /* replace it by 'dirsep' */ - while ((path = pushnexttemplate(L, path)) != NULL) - { - const char *filename = luaL_gsub(L, lua_tostring(L, -1), - LUA_PATH_MARK, name); - lua_remove(L, -2); /* remove path template */ - if (readable(filename)) /* does file exist and is readable? */ - return filename; /* return that file name */ - lua_pushfstring(L, "\n\tno file '%s'", filename); - lua_remove(L, -2); /* remove file name */ - luaL_addvalue(&msg); /* concatenate error msg. entry */ - } - luaL_pushresult(&msg); /* create error message */ - return NULL; /* not found */ -} - -static int ll_searchpath(lua_State *L) -{ - const char *f = searchpath(L, luaL_checkstring(L, 1), - luaL_checkstring(L, 2), - luaL_optstring(L, 3, "."), - luaL_optstring(L, 4, LUA_DIRSEP)); - if (f != NULL) - return 1; - else - { /* error message is on top of the stack */ - lua_pushnil(L); - lua_insert(L, -2); - return 2; /* return nil + error message */ - } -} - -static const char *findfile(lua_State *L, const char *name, - const char *pname, - const char *dirsep) -{ - const char *path; - lua_getfield(L, lua_upvalueindex(1), pname); - path = lua_tostring(L, -1); - if (path == NULL) - luaL_error(L, "'package.%s' must be a string", pname); - return searchpath(L, name, path, ".", dirsep); -} - -static int checkload(lua_State *L, int stat, const char *filename) -{ - if (stat) - { /* module loaded successfully? */ - lua_pushstring(L, filename); /* will be 2nd argument to module */ - return 2; /* return open function and file name */ - } - else - return luaL_error(L, "error loading module '%s' from file '%s':\n\t%s", - lua_tostring(L, 1), filename, lua_tostring(L, -1)); -} - -static int searcher_Lua(lua_State *L) -{ - const char *filename; - const char *name = luaL_checkstring(L, 1); - filename = findfile(L, name, "path", LUA_LSUBSEP); - if (filename == NULL) - return 1; /* module not found in this path */ - return checkload(L, (luaL_loadfile(L, filename) == LUA_OK), filename); -} - -/* -** Try to find a load function for module 'modname' at file 'filename'. -** First, change '.' to '_' in 'modname'; then, if 'modname' has -** the form X-Y (that is, it has an "ignore mark"), build a function -** name "luaopen_X" and look for it. (For compatibility, if that -** fails, it also tries "luaopen_Y".) If there is no ignore mark, -** look for a function named "luaopen_modname". -*/ -static int loadfunc(lua_State *L, const char *filename, const char *modname) -{ - const char *openfunc; - const char *mark; - modname = luaL_gsub(L, modname, ".", LUA_OFSEP); - mark = strchr(modname, *LUA_IGMARK); - if (mark) - { - int stat; - openfunc = lua_pushlstring(L, modname, mark - modname); - openfunc = lua_pushfstring(L, LUA_POF "%s", openfunc); - stat = lookforfunc(L, filename, openfunc); - if (stat != ERRFUNC) - return stat; - modname = mark + 1; /* else go ahead and try old-style name */ - } - openfunc = lua_pushfstring(L, LUA_POF "%s", modname); - return lookforfunc(L, filename, openfunc); -} - -static int searcher_C(lua_State *L) -{ - const char *name = luaL_checkstring(L, 1); - const char *filename = findfile(L, name, "cpath", LUA_CSUBSEP); - if (filename == NULL) - return 1; /* module not found in this path */ - return checkload(L, (loadfunc(L, filename, name) == 0), filename); -} - -static int searcher_Croot(lua_State *L) -{ - const char *filename; - const char *name = luaL_checkstring(L, 1); - const char *p = strchr(name, '.'); - int stat; - if (p == NULL) - return 0; /* is root */ - lua_pushlstring(L, name, p - name); - filename = findfile(L, lua_tostring(L, -1), "cpath", LUA_CSUBSEP); - if (filename == NULL) - return 1; /* root not found */ - if ((stat = loadfunc(L, filename, name)) != 0) - { - if (stat != ERRFUNC) - return checkload(L, 0, filename); /* real error */ - else - { /* open function not found */ - lua_pushfstring(L, "\n\tno module '%s' in file '%s'", name, filename); - return 1; - } - } - lua_pushstring(L, filename); /* will be 2nd argument to module */ - return 2; -} - -static int searcher_preload(lua_State *L) -{ - const char *name = luaL_checkstring(L, 1); - lua_getfield(L, LUA_REGISTRYINDEX, LUA_PRELOAD_TABLE); - if (lua_getfield(L, -1, name) == LUA_TNIL) /* not found? */ - lua_pushfstring(L, "\n\tno field package.preload['%s']", name); - return 1; -} - -static void findloader(lua_State *L, const char *name) -{ - int i; - luaL_Buffer msg; /* to build error message */ - luaL_buffinit(L, &msg); - /* push 'package.searchers' to index 3 in the stack */ - if (lua_getfield(L, lua_upvalueindex(1), "searchers") != LUA_TTABLE) - luaL_error(L, "'package.searchers' must be a table"); - /* iterate over available searchers to find a loader */ - for (i = 1;; i++) - { - if (lua_rawgeti(L, 3, i) == LUA_TNIL) - { /* no more searchers? */ - lua_pop(L, 1); /* remove nil */ - luaL_pushresult(&msg); /* create error message */ - luaL_error(L, "module '%s' not found:%s", name, lua_tostring(L, -1)); - } - lua_pushstring(L, name); - lua_call(L, 1, 2); /* call it */ - if (lua_isfunction(L, -2)) /* did it find a loader? */ - return; /* module loader found */ - else if (lua_isstring(L, -2)) - { /* searcher returned error message? */ - lua_pop(L, 1); /* remove extra return */ - luaL_addvalue(&msg); /* concatenate error message */ - } - else - lua_pop(L, 2); /* remove both returns */ - } -} - -static int ll_require(lua_State *L) -{ - const char *name = luaL_checkstring(L, 1); - lua_settop(L, 1); /* LOADED table will be at index 2 */ - lua_getfield(L, LUA_REGISTRYINDEX, LUA_LOADED_TABLE); - lua_getfield(L, 2, name); /* LOADED[name] */ - if (lua_toboolean(L, -1)) /* is it there? */ - return 1; /* package is already loaded */ - /* else must load package */ - lua_pop(L, 1); /* remove 'getfield' result */ - findloader(L, name); - lua_pushstring(L, name); /* pass name as argument to module loader */ - lua_insert(L, -2); /* name is 1st argument (before search data) */ - lua_call(L, 2, 1); /* run loader to load module */ - if (!lua_isnil(L, -1)) /* non-nil return? */ - lua_setfield(L, 2, name); /* LOADED[name] = returned value */ - if (lua_getfield(L, 2, name) == LUA_TNIL) - { /* module set no value? */ - lua_pushboolean(L, 1); /* use true as result */ - lua_pushvalue(L, -1); /* extra copy to be returned */ - lua_setfield(L, 2, name); /* LOADED[name] = true */ - } - return 1; -} - -/* }====================================================== */ - -/* -** {====================================================== -** 'module' function -** ======================================================= -*/ -#if defined(LUA_COMPAT_MODULE) - -/* -** changes the environment variable of calling function -*/ -static void set_env(lua_State *L) -{ - lua_Debug ar; - if (lua_getstack(L, 1, &ar) == 0 || - lua_getinfo(L, "f", &ar) == 0 || /* get calling function */ - lua_iscfunction(L, -1)) - luaL_error(L, "'module' not called from a Lua function"); - lua_pushvalue(L, -2); /* copy new environment table to top */ - lua_setupvalue(L, -2, 1); - lua_pop(L, 1); /* remove function */ -} - -static void dooptions(lua_State *L, int n) -{ - int i; - for (i = 2; i <= n; i++) - { - if (lua_isfunction(L, i)) - { /* avoid 'calling' extra info. */ - lua_pushvalue(L, i); /* get option (a function) */ - lua_pushvalue(L, -2); /* module */ - lua_call(L, 1, 0); - } - } -} - -static void modinit(lua_State *L, const char *modname) -{ - const char *dot; - lua_pushvalue(L, -1); - lua_setfield(L, -2, "_M"); /* module._M = module */ - lua_pushstring(L, modname); - lua_setfield(L, -2, "_NAME"); - dot = strrchr(modname, '.'); /* look for last dot in module name */ - if (dot == NULL) - dot = modname; - else - dot++; - /* set _PACKAGE as package name (full module name minus last part) */ - lua_pushlstring(L, modname, dot - modname); - lua_setfield(L, -2, "_PACKAGE"); -} - -static int ll_module(lua_State *L) -{ - const char *modname = luaL_checkstring(L, 1); - int lastarg = lua_gettop(L); /* last parameter */ - luaL_pushmodule(L, modname, 1); /* get/create module table */ - /* check whether table already has a _NAME field */ - if (lua_getfield(L, -1, "_NAME") != LUA_TNIL) - lua_pop(L, 1); /* table is an initialized module */ - else - { /* no; initialize it */ - lua_pop(L, 1); - modinit(L, modname); - } - lua_pushvalue(L, -1); - set_env(L); - dooptions(L, lastarg); - return 1; -} - -static int ll_seeall(lua_State *L) -{ - luaL_checktype(L, 1, LUA_TTABLE); - if (!lua_getmetatable(L, 1)) - { - lua_createtable(L, 0, 1); /* create new metatable */ - lua_pushvalue(L, -1); - lua_setmetatable(L, 1); - } - lua_pushglobaltable(L); - lua_setfield(L, -2, "__index"); /* mt.__index = _G */ - return 0; -} - -#endif -/* }====================================================== */ - -static const luaL_Reg pk_funcs[] = { - {"loadlib", ll_loadlib}, - {"searchpath", ll_searchpath}, -#if defined(LUA_COMPAT_MODULE) - {"seeall", ll_seeall}, -#endif - /* placeholders */ - {"preload", NULL}, - {"cpath", NULL}, - {"path", NULL}, - {"searchers", NULL}, - {"loaded", NULL}, - {NULL, NULL}}; - -static const luaL_Reg ll_funcs[] = { -#if defined(LUA_COMPAT_MODULE) - {"module", ll_module}, -#endif - {"require", ll_require}, - {NULL, NULL}}; - -static void createsearcherstable(lua_State *L) -{ - static const lua_CFunction searchers[] = - {searcher_preload, searcher_Lua, searcher_C, searcher_Croot, NULL}; - int i; - /* create 'searchers' table */ - lua_createtable(L, sizeof(searchers) / sizeof(searchers[0]) - 1, 0); - /* fill it with predefined searchers */ - for (i = 0; searchers[i] != NULL; i++) - { - lua_pushvalue(L, -2); /* set 'package' as upvalue for all searchers */ - lua_pushcclosure(L, searchers[i], 1); - lua_rawseti(L, -2, i + 1); - } -#if defined(LUA_COMPAT_LOADERS) - lua_pushvalue(L, -1); /* make a copy of 'searchers' table */ - lua_setfield(L, -3, "loaders"); /* put it in field 'loaders' */ -#endif - lua_setfield(L, -2, "searchers"); /* put it in field 'searchers' */ -} - -/* -** create table CLIBS to keep track of loaded C libraries, -** setting a finalizer to close all libraries when closing state. -*/ -static void createclibstable(lua_State *L) -{ - lua_newtable(L); /* create CLIBS table */ - lua_createtable(L, 0, 1); /* create metatable for CLIBS */ - lua_pushcfunction(L, gctm); - lua_setfield(L, -2, "__gc"); /* set finalizer for CLIBS table */ - lua_setmetatable(L, -2); - lua_rawsetp(L, LUA_REGISTRYINDEX, &CLIBS); /* set CLIBS table in registry */ -} - -LUAMOD_API int luaopen_package(lua_State *L) -{ - createclibstable(L); - luaL_newlib(L, pk_funcs); /* create 'package' table */ - createsearcherstable(L); - /* set paths */ - setpath(L, "path", LUA_PATH_VAR, LUA_PATH_DEFAULT); - setpath(L, "cpath", LUA_CPATH_VAR, LUA_CPATH_DEFAULT); - /* store config information */ - lua_pushliteral(L, LUA_DIRSEP "\n" LUA_PATH_SEP "\n" LUA_PATH_MARK "\n" LUA_EXEC_DIR "\n" LUA_IGMARK "\n"); - lua_setfield(L, -2, "config"); - /* set field 'loaded' */ - luaL_getsubtable(L, LUA_REGISTRYINDEX, LUA_LOADED_TABLE); - lua_setfield(L, -2, "loaded"); - /* set field 'preload' */ - luaL_getsubtable(L, LUA_REGISTRYINDEX, LUA_PRELOAD_TABLE); - lua_setfield(L, -2, "preload"); - lua_pushglobaltable(L); - lua_pushvalue(L, -2); /* set 'package' as upvalue for next lib */ - luaL_setfuncs(L, ll_funcs, 1); /* open lib into global table */ - lua_pop(L, 1); /* pop global table */ - return 1; /* return 'package' table */ -} diff --git a/User/lua/src-bak/lobject.c b/User/lua/src-bak/lobject.c deleted file mode 100644 index c473f1b..0000000 --- a/User/lua/src-bak/lobject.c +++ /dev/null @@ -1,629 +0,0 @@ -/* -** $Id: lobject.c,v 2.113.1.1 2017/04/19 17:29:57 roberto Exp $ -** Some generic functions over Lua objects -** See Copyright Notice in lua.h -*/ - -#define lobject_c -#define LUA_CORE - -#include "lprefix.h" - -#include -#include -#include -#include -#include -#include - -#include "lua.h" - -#include "lctype.h" -#include "ldebug.h" -#include "ldo.h" -#include "lmem.h" -#include "lobject.h" -#include "lstate.h" -#include "lstring.h" -#include "lvm.h" - -LUAI_DDEF const TValue luaO_nilobject_ = {NILCONSTANT}; - -/* -** converts an integer to a "floating point byte", represented as -** (eeeeexxx), where the real value is (1xxx) * 2^(eeeee - 1) if -** eeeee != 0 and (xxx) otherwise. -*/ -int luaO_int2fb(unsigned int x) -{ - int e = 0; /* exponent */ - if (x < 8) - return x; - while (x >= (8 << 4)) - { /* coarse steps */ - x = (x + 0xf) >> 4; /* x = ceil(x / 16) */ - e += 4; - } - while (x >= (8 << 1)) - { /* fine steps */ - x = (x + 1) >> 1; /* x = ceil(x / 2) */ - e++; - } - return ((e + 1) << 3) | (cast_int(x) - 8); -} - -/* converts back */ -int luaO_fb2int(int x) -{ - return (x < 8) ? x : ((x & 7) + 8) << ((x >> 3) - 1); -} - -/* -** Computes ceil(log2(x)) -*/ -int luaO_ceillog2(unsigned int x) -{ - static const lu_byte log_2[256] = {/* log_2[i] = ceil(log2(i - 1)) */ - 0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8}; - int l = 0; - x--; - while (x >= 256) - { - l += 8; - x >>= 8; - } - return l + log_2[x]; -} - -static lua_Integer intarith(lua_State *L, int op, lua_Integer v1, - lua_Integer v2) -{ - switch (op) - { - case LUA_OPADD: - return intop(+, v1, v2); - case LUA_OPSUB: - return intop(-, v1, v2); - case LUA_OPMUL: - return intop(*, v1, v2); - case LUA_OPMOD: - return luaV_mod(L, v1, v2); - case LUA_OPIDIV: - return luaV_div(L, v1, v2); - case LUA_OPBAND: - return intop(&, v1, v2); - case LUA_OPBOR: - return intop(|, v1, v2); - case LUA_OPBXOR: - return intop (^, v1, v2); - case LUA_OPSHL: - return luaV_shiftl(v1, v2); - case LUA_OPSHR: - return luaV_shiftl(v1, -v2); - case LUA_OPUNM: - return intop(-, 0, v1); - case LUA_OPBNOT: - return intop (^, ~l_castS2U(0), v1); - default: - lua_assert(0); - return 0; - } -} - -static lua_Number numarith(lua_State *L, int op, lua_Number v1, - lua_Number v2) -{ - switch (op) - { - case LUA_OPADD: - return luai_numadd(L, v1, v2); - case LUA_OPSUB: - return luai_numsub(L, v1, v2); - case LUA_OPMUL: - return luai_nummul(L, v1, v2); - case LUA_OPDIV: - return luai_numdiv(L, v1, v2); - case LUA_OPPOW: - return luai_numpow(L, v1, v2); - case LUA_OPIDIV: - return luai_numidiv(L, v1, v2); - case LUA_OPUNM: - return luai_numunm(L, v1); - case LUA_OPMOD: - { - lua_Number m; - luai_nummod(L, v1, v2, m); - return m; - } - default: - lua_assert(0); - return 0; - } -} - -void luaO_arith(lua_State *L, int op, const TValue *p1, const TValue *p2, - TValue *res) -{ - switch (op) - { - case LUA_OPBAND: - case LUA_OPBOR: - case LUA_OPBXOR: - case LUA_OPSHL: - case LUA_OPSHR: - case LUA_OPBNOT: - { /* operate only on integers */ - lua_Integer i1; - lua_Integer i2; - if (tointeger(p1, &i1) && tointeger(p2, &i2)) - { - setivalue(res, intarith(L, op, i1, i2)); - return; - } - else - break; /* go to the end */ - } - case LUA_OPDIV: - case LUA_OPPOW: - { /* operate only on floats */ - lua_Number n1; - lua_Number n2; - if (tonumber(p1, &n1) && tonumber(p2, &n2)) - { - setfltvalue(res, numarith(L, op, n1, n2)); - return; - } - else - break; /* go to the end */ - } - default: - { /* other operations */ - lua_Number n1; - lua_Number n2; - if (ttisinteger(p1) && ttisinteger(p2)) - { - setivalue(res, intarith(L, op, ivalue(p1), ivalue(p2))); - return; - } - else if (tonumber(p1, &n1) && tonumber(p2, &n2)) - { - setfltvalue(res, numarith(L, op, n1, n2)); - return; - } - else - break; /* go to the end */ - } - } - /* could not perform raw operation; try metamethod */ - lua_assert(L != NULL); /* should not fail when folding (compile time) */ - luaT_trybinTM(L, p1, p2, res, cast(TMS, (op - LUA_OPADD) + TM_ADD)); -} - -int luaO_hexavalue(int c) -{ - if (lisdigit(c)) - return c - '0'; - else - return (ltolower(c) - 'a') + 10; -} - -static int isneg(const char **s) -{ - if (**s == '-') - { - (*s)++; - return 1; - } - else if (**s == '+') - (*s)++; - return 0; -} - -/* -** {================================================================== -** Lua's implementation for 'lua_strx2number' -** =================================================================== -*/ - -#if !defined(lua_strx2number) - -/* maximum number of significant digits to read (to avoid overflows - even with single floats) */ -#define MAXSIGDIG 30 - -/* -** convert an hexadecimal numeric string to a number, following -** C99 specification for 'strtod' -*/ -static lua_Number lua_strx2number(const char *s, char **endptr) -{ - int dot = lua_getlocaledecpoint(); - lua_Number r = 0.0; /* result (accumulator) */ - int sigdig = 0; /* number of significant digits */ - int nosigdig = 0; /* number of non-significant digits */ - int e = 0; /* exponent correction */ - int neg; /* 1 if number is negative */ - int hasdot = 0; /* true after seen a dot */ - *endptr = cast(char *, s); /* nothing is valid yet */ - while (lisspace(cast_uchar(*s))) - s++; /* skip initial spaces */ - neg = isneg(&s); /* check signal */ - if (!(*s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X'))) /* check '0x' */ - return 0.0; /* invalid format (no '0x') */ - for (s += 2;; s++) - { /* skip '0x' and read numeral */ - if (*s == dot) - { - if (hasdot) - break; /* second dot? stop loop */ - else - hasdot = 1; - } - else if (lisxdigit(cast_uchar(*s))) - { - if (sigdig == 0 && *s == '0') /* non-significant digit (zero)? */ - nosigdig++; - else if (++sigdig <= MAXSIGDIG) /* can read it without overflow? */ - r = (r * cast_num(16.0)) + luaO_hexavalue(*s); - else - e++; /* too many digits; ignore, but still count for exponent */ - if (hasdot) - e--; /* decimal digit? correct exponent */ - } - else - break; /* neither a dot nor a digit */ - } - if (nosigdig + sigdig == 0) /* no digits? */ - return 0.0; /* invalid format */ - *endptr = cast(char *, s); /* valid up to here */ - e *= 4; /* each digit multiplies/divides value by 2^4 */ - if (*s == 'p' || *s == 'P') - { /* exponent part? */ - int exp1 = 0; /* exponent value */ - int neg1; /* exponent signal */ - s++; /* skip 'p' */ - neg1 = isneg(&s); /* signal */ - if (!lisdigit(cast_uchar(*s))) - return 0.0; /* invalid; must have at least one digit */ - while (lisdigit(cast_uchar(*s))) /* read exponent */ - exp1 = exp1 * 10 + *(s++) - '0'; - if (neg1) - exp1 = -exp1; - e += exp1; - *endptr = cast(char *, s); /* valid up to here */ - } - if (neg) - r = -r; - return l_mathop(ldexp)(r, e); -} - -#endif -/* }====================================================== */ - -/* maximum length of a numeral */ -#if !defined(L_MAXLENNUM) -#define L_MAXLENNUM 200 -#endif - -static const char *l_str2dloc(const char *s, lua_Number *result, int mode) -{ - char *endptr; - *result = (mode == 'x') ? lua_strx2number(s, &endptr) /* try to convert */ - : lua_str2number(s, &endptr); - if (endptr == s) - return NULL; /* nothing recognized? */ - while (lisspace(cast_uchar(*endptr))) - endptr++; /* skip trailing spaces */ - return (*endptr == '\0') ? endptr : NULL; /* OK if no trailing characters */ -} - -/* -** Convert string 's' to a Lua number (put in 'result'). Return NULL -** on fail or the address of the ending '\0' on success. -** 'pmode' points to (and 'mode' contains) special things in the string: -** - 'x'/'X' means an hexadecimal numeral -** - 'n'/'N' means 'inf' or 'nan' (which should be rejected) -** - '.' just optimizes the search for the common case (nothing special) -** This function accepts both the current locale or a dot as the radix -** mark. If the convertion fails, it may mean number has a dot but -** locale accepts something else. In that case, the code copies 's' -** to a buffer (because 's' is read-only), changes the dot to the -** current locale radix mark, and tries to convert again. -*/ -static const char *l_str2d(const char *s, lua_Number *result) -{ - const char *endptr; - const char *pmode = strpbrk(s, ".xXnN"); - int mode = pmode ? ltolower(cast_uchar(*pmode)) : 0; - if (mode == 'n') /* reject 'inf' and 'nan' */ - return NULL; - endptr = l_str2dloc(s, result, mode); /* try to convert */ - if (endptr == NULL) - { /* failed? may be a different locale */ - char buff[L_MAXLENNUM + 1]; - const char *pdot = strchr(s, '.'); - if (strlen(s) > L_MAXLENNUM || pdot == NULL) - return NULL; /* string too long or no dot; fail */ - strcpy(buff, s); /* copy string to buffer */ - buff[pdot - s] = lua_getlocaledecpoint(); /* correct decimal point */ - endptr = l_str2dloc(buff, result, mode); /* try again */ - if (endptr != NULL) - endptr = s + (endptr - buff); /* make relative to 's' */ - } - return endptr; -} - -#define MAXBY10 cast(lua_Unsigned, LUA_MAXINTEGER / 10) -#define MAXLASTD cast_int(LUA_MAXINTEGER % 10) - -static const char *l_str2int(const char *s, lua_Integer *result) -{ - lua_Unsigned a = 0; - int empty = 1; - int neg; - while (lisspace(cast_uchar(*s))) - s++; /* skip initial spaces */ - neg = isneg(&s); - if (s[0] == '0' && - (s[1] == 'x' || s[1] == 'X')) - { /* hex? */ - s += 2; /* skip '0x' */ - for (; lisxdigit(cast_uchar(*s)); s++) - { - a = a * 16 + luaO_hexavalue(*s); - empty = 0; - } - } - else - { /* decimal */ - for (; lisdigit(cast_uchar(*s)); s++) - { - int d = *s - '0'; - if (a >= MAXBY10 && (a > MAXBY10 || d > MAXLASTD + neg)) /* overflow? */ - return NULL; /* do not accept it (as integer) */ - a = a * 10 + d; - empty = 0; - } - } - while (lisspace(cast_uchar(*s))) - s++; /* skip trailing spaces */ - if (empty || *s != '\0') - return NULL; /* something wrong in the numeral */ - else - { - *result = l_castU2S((neg) ? 0u - a : a); - return s; - } -} - -size_t luaO_str2num(const char *s, TValue *o) -{ - lua_Integer i; - lua_Number n; - const char *e; - if ((e = l_str2int(s, &i)) != NULL) - { /* try as an integer */ - setivalue(o, i); - } - else if ((e = l_str2d(s, &n)) != NULL) - { /* else try as a float */ - setfltvalue(o, n); - } - else - return 0; /* conversion failed */ - return (e - s) + 1; /* success; return string size */ -} - -int luaO_utf8esc(char *buff, unsigned long x) -{ - int n = 1; /* number of bytes put in buffer (backwards) */ - lua_assert(x <= 0x10FFFF); - if (x < 0x80) /* ascii? */ - buff[UTF8BUFFSZ - 1] = cast(char, x); - else - { /* need continuation bytes */ - unsigned int mfb = 0x3f; /* maximum that fits in first byte */ - do - { /* add continuation bytes */ - buff[UTF8BUFFSZ - (n++)] = cast(char, 0x80 | (x & 0x3f)); - x >>= 6; /* remove added bits */ - mfb >>= 1; /* now there is one less bit available in first byte */ - } while (x > mfb); /* still needs continuation byte? */ - buff[UTF8BUFFSZ - n] = cast(char, (~mfb << 1) | x); /* add first byte */ - } - return n; -} - -/* maximum length of the conversion of a number to a string */ -#define MAXNUMBER2STR 50 - -/* -** Convert a number object to a string -*/ -void luaO_tostring(lua_State *L, StkId obj) -{ - char buff[MAXNUMBER2STR]; - size_t len; - lua_assert(ttisnumber(obj)); - if (ttisinteger(obj)) - len = lua_integer2str(buff, sizeof(buff), ivalue(obj)); - else - { - len = lua_number2str(buff, sizeof(buff), fltvalue(obj)); -#if !defined(LUA_COMPAT_FLOATSTRING) - if (buff[strspn(buff, "-0123456789")] == '\0') - { /* looks like an int? */ - buff[len++] = lua_getlocaledecpoint(); - buff[len++] = '0'; /* adds '.0' to result */ - } -#endif - } - setsvalue2s(L, obj, luaS_newlstr(L, buff, len)); -} - -static void pushstr(lua_State *L, const char *str, size_t l) -{ - setsvalue2s(L, L->top, luaS_newlstr(L, str, l)); - luaD_inctop(L); -} - -/* -** this function handles only '%d', '%c', '%f', '%p', and '%s' - conventional formats, plus Lua-specific '%I' and '%U' -*/ -const char *luaO_pushvfstring(lua_State *L, const char *fmt, va_list argp) -{ - int n = 0; - for (;;) - { - const char *e = strchr(fmt, '%'); - if (e == NULL) - break; - pushstr(L, fmt, e - fmt); - switch (*(e + 1)) - { - case 's': - { /* zero-terminated string */ - const char *s = va_arg(argp, char *); - if (s == NULL) - s = "(null)"; - pushstr(L, s, strlen(s)); - break; - } - case 'c': - { /* an 'int' as a character */ - char buff = cast(char, va_arg(argp, int)); - if (lisprint(cast_uchar(buff))) - pushstr(L, &buff, 1); - else /* non-printable character; print its code */ - luaO_pushfstring(L, "<\\%d>", cast_uchar(buff)); - break; - } - case 'd': - { /* an 'int' */ - setivalue(L->top, va_arg(argp, int)); - goto top2str; - } - case 'I': - { /* a 'lua_Integer' */ - setivalue(L->top, cast(lua_Integer, va_arg(argp, l_uacInt))); - goto top2str; - } - case 'f': - { /* a 'lua_Number' */ - setfltvalue(L->top, cast_num(va_arg(argp, l_uacNumber))); - top2str: /* convert the top element to a string */ - luaD_inctop(L); - luaO_tostring(L, L->top - 1); - break; - } - case 'p': - { /* a pointer */ - char buff[4 * sizeof(void *) + 8]; /* should be enough space for a '%p' */ - void *p = va_arg(argp, void *); - int l = lua_pointer2str(buff, sizeof(buff), p); - pushstr(L, buff, l); - break; - } - case 'U': - { /* an 'int' as a UTF-8 sequence */ - char buff[UTF8BUFFSZ]; - int l = luaO_utf8esc(buff, cast(long, va_arg(argp, long))); - pushstr(L, buff + UTF8BUFFSZ - l, l); - break; - } - case '%': - { - pushstr(L, "%", 1); - break; - } - default: - { - luaG_runerror(L, "invalid option '%%%c' to 'lua_pushfstring'", - *(e + 1)); - } - } - n += 2; - fmt = e + 2; - } - luaD_checkstack(L, 1); - pushstr(L, fmt, strlen(fmt)); - if (n > 0) - luaV_concat(L, n + 1); - return svalue(L->top - 1); -} - -const char *luaO_pushfstring(lua_State *L, const char *fmt, ...) -{ - const char *msg; - va_list argp; - va_start(argp, fmt); - msg = luaO_pushvfstring(L, fmt, argp); - va_end(argp); - - printf("%s", msg); - - return msg; -} - -/* number of chars of a literal string without the ending \0 */ -#define LL(x) (sizeof(x) / sizeof(char) - 1) - -#define RETS "..." -#define PRE "[string \"" -#define POS "\"]" - -#define addstr(a, b, l) (memcpy(a, b, (l) * sizeof(char)), a += (l)) - -void luaO_chunkid(char *out, const char *source, size_t bufflen) -{ - size_t l = strlen(source); - if (*source == '=') - { /* 'literal' source */ - if (l <= bufflen) /* small enough? */ - memcpy(out, source + 1, l * sizeof(char)); - else - { /* truncate it */ - addstr(out, source + 1, bufflen - 1); - *out = '\0'; - } - } - else if (*source == '@') - { /* file name */ - if (l <= bufflen) /* small enough? */ - memcpy(out, source + 1, l * sizeof(char)); - else - { /* add '...' before rest of name */ - addstr(out, RETS, LL(RETS)); - bufflen -= LL(RETS); - memcpy(out, source + 1 + l - bufflen, bufflen * sizeof(char)); - } - } - else - { /* string; format as [string "source"] */ - const char *nl = strchr(source, '\n'); /* find first new line (if any) */ - addstr(out, PRE, LL(PRE)); /* add prefix */ - bufflen -= LL(PRE RETS POS) + 1; /* save space for prefix+suffix+'\0' */ - if (l < bufflen && nl == NULL) - { /* small one-line source? */ - addstr(out, source, l); /* keep it */ - } - else - { - if (nl != NULL) - l = nl - source; /* stop at first newline */ - if (l > bufflen) - l = bufflen; - addstr(out, source, l); - addstr(out, RETS, LL(RETS)); - } - memcpy(out, POS, (LL(POS) + 1) * sizeof(char)); - } -} diff --git a/User/lua/src-bak/lobject.h b/User/lua/src-bak/lobject.h deleted file mode 100644 index b53a4df..0000000 --- a/User/lua/src-bak/lobject.h +++ /dev/null @@ -1,578 +0,0 @@ -/* -** $Id: lobject.h,v 2.117.1.1 2017/04/19 17:39:34 roberto Exp $ -** Type definitions for Lua objects -** See Copyright Notice in lua.h -*/ - -#ifndef lobject_h -#define lobject_h - -#include - -#include "llimits.h" -#include "lua.h" - -/* -** Extra tags for non-values -*/ -#define LUA_TPROTO LUA_NUMTAGS /* function prototypes */ -#define LUA_TDEADKEY (LUA_NUMTAGS + 1) /* removed keys in tables */ - -/* -** number of all possible tags (including LUA_TNONE but excluding DEADKEY) -*/ -#define LUA_TOTALTAGS (LUA_TPROTO + 2) - -/* -** tags for Tagged Values have the following use of bits: -** bits 0-3: actual tag (a LUA_T* value) -** bits 4-5: variant bits -** bit 6: whether value is collectable -*/ - -/* -** LUA_TFUNCTION variants: -** 0 - Lua function -** 1 - light C function -** 2 - regular C function (closure) -*/ - -/* Variant tags for functions */ -#define LUA_TLCL (LUA_TFUNCTION | (0 << 4)) /* Lua closure */ -#define LUA_TLCF (LUA_TFUNCTION | (1 << 4)) /* light C function */ -#define LUA_TCCL (LUA_TFUNCTION | (2 << 4)) /* C closure */ - -/* Variant tags for strings */ -#define LUA_TSHRSTR (LUA_TSTRING | (0 << 4)) /* short strings */ -#define LUA_TLNGSTR (LUA_TSTRING | (1 << 4)) /* long strings */ - -/* Variant tags for numbers */ -#define LUA_TNUMFLT (LUA_TNUMBER | (0 << 4)) /* float numbers */ -#define LUA_TNUMINT (LUA_TNUMBER | (1 << 4)) /* integer numbers */ - -/* Bit mark for collectable types */ -#define BIT_ISCOLLECTABLE (1 << 6) - -/* mark a tag as collectable */ -#define ctb(t) ((t) | BIT_ISCOLLECTABLE) - -/* -** Common type for all collectable objects -*/ -typedef struct GCObject GCObject; - -/* -** Common Header for all collectable objects (in macro form, to be -** included in other objects) -*/ -#define CommonHeader \ - GCObject *next; \ - lu_byte tt; \ - lu_byte marked - -/* -** Common type has only the common header -*/ -struct GCObject -{ - CommonHeader; -}; - -/* -** Tagged Values. This is the basic representation of values in Lua, -** an actual value plus a tag with its type. -*/ - -/* -** Union of all Lua values -*/ -typedef union Value { - GCObject *gc; /* collectable objects */ - void *p; /* light userdata */ - int b; /* booleans */ - lua_CFunction f; /* light C functions */ - lua_Integer i; /* integer numbers */ - lua_Number n; /* float numbers */ -} Value; - -#define TValuefields \ - Value value_; \ - int tt_ - -typedef struct lua_TValue -{ - TValuefields; -} TValue; - -/* macro defining a nil value */ -#define NILCONSTANT {NULL}, LUA_TNIL - -#define val_(o) ((o)->value_) - -/* raw type tag of a TValue */ -#define rttype(o) ((o)->tt_) - -/* tag with no variants (bits 0-3) */ -#define novariant(x) ((x)&0x0F) - -/* type tag of a TValue (bits 0-3 for tags + variant bits 4-5) */ -#define ttype(o) (rttype(o) & 0x3F) - -/* type tag of a TValue with no variants (bits 0-3) */ -#define ttnov(o) (novariant(rttype(o))) - -/* Macros to test type */ -#define checktag(o, t) (rttype(o) == (t)) -#define checktype(o, t) (ttnov(o) == (t)) -#define ttisnumber(o) checktype((o), LUA_TNUMBER) -#define ttisfloat(o) checktag((o), LUA_TNUMFLT) -#define ttisinteger(o) checktag((o), LUA_TNUMINT) -#define ttisnil(o) checktag((o), LUA_TNIL) -#define ttisboolean(o) checktag((o), LUA_TBOOLEAN) -#define ttislightuserdata(o) checktag((o), LUA_TLIGHTUSERDATA) -#define ttisstring(o) checktype((o), LUA_TSTRING) -#define ttisshrstring(o) checktag((o), ctb(LUA_TSHRSTR)) -#define ttislngstring(o) checktag((o), ctb(LUA_TLNGSTR)) -#define ttistable(o) checktag((o), ctb(LUA_TTABLE)) -#define ttisfunction(o) checktype(o, LUA_TFUNCTION) -#define ttisclosure(o) ((rttype(o) & 0x1F) == LUA_TFUNCTION) -#define ttisCclosure(o) checktag((o), ctb(LUA_TCCL)) -#define ttisLclosure(o) checktag((o), ctb(LUA_TLCL)) -#define ttislcf(o) checktag((o), LUA_TLCF) -#define ttisfulluserdata(o) checktag((o), ctb(LUA_TUSERDATA)) -#define ttisthread(o) checktag((o), ctb(LUA_TTHREAD)) -#define ttisdeadkey(o) checktag((o), LUA_TDEADKEY) - -/* Macros to access values */ -#define ivalue(o) check_exp(ttisinteger(o), val_(o).i) -#define fltvalue(o) check_exp(ttisfloat(o), val_(o).n) -#define nvalue(o) check_exp(ttisnumber(o), \ - (ttisinteger(o) ? cast_num(ivalue(o)) : fltvalue(o))) -#define gcvalue(o) check_exp(iscollectable(o), val_(o).gc) -#define pvalue(o) check_exp(ttislightuserdata(o), val_(o).p) -#define tsvalue(o) check_exp(ttisstring(o), gco2ts(val_(o).gc)) -#define uvalue(o) check_exp(ttisfulluserdata(o), gco2u(val_(o).gc)) -#define clvalue(o) check_exp(ttisclosure(o), gco2cl(val_(o).gc)) -#define clLvalue(o) check_exp(ttisLclosure(o), gco2lcl(val_(o).gc)) -#define clCvalue(o) check_exp(ttisCclosure(o), gco2ccl(val_(o).gc)) -#define fvalue(o) check_exp(ttislcf(o), val_(o).f) -#define hvalue(o) check_exp(ttistable(o), gco2t(val_(o).gc)) -#define bvalue(o) check_exp(ttisboolean(o), val_(o).b) -#define thvalue(o) check_exp(ttisthread(o), gco2th(val_(o).gc)) -/* a dead value may get the 'gc' field, but cannot access its contents */ -#define deadvalue(o) check_exp(ttisdeadkey(o), cast(void *, val_(o).gc)) - -#define l_isfalse(o) (ttisnil(o) || (ttisboolean(o) && bvalue(o) == 0)) - -#define iscollectable(o) (rttype(o) & BIT_ISCOLLECTABLE) - -/* Macros for internal tests */ -#define righttt(obj) (ttype(obj) == gcvalue(obj)->tt) - -#define checkliveness(L, obj) \ - lua_longassert(!iscollectable(obj) || \ - (righttt(obj) && (L == NULL || !isdead(G(L), gcvalue(obj))))) - -/* Macros to set values */ -#define settt_(o, t) ((o)->tt_ = (t)) - -#define setfltvalue(obj, x) \ - { \ - TValue *io = (obj); \ - val_(io).n = (x); \ - settt_(io, LUA_TNUMFLT); \ - } - -#define chgfltvalue(obj, x) \ - { \ - TValue *io = (obj); \ - lua_assert(ttisfloat(io)); \ - val_(io).n = (x); \ - } - -#define setivalue(obj, x) \ - { \ - TValue *io = (obj); \ - val_(io).i = (x); \ - settt_(io, LUA_TNUMINT); \ - } - -#define chgivalue(obj, x) \ - { \ - TValue *io = (obj); \ - lua_assert(ttisinteger(io)); \ - val_(io).i = (x); \ - } - -#define setnilvalue(obj) settt_(obj, LUA_TNIL) - -#define setfvalue(obj, x) \ - { \ - TValue *io = (obj); \ - val_(io).f = (x); \ - settt_(io, LUA_TLCF); \ - } - -#define setpvalue(obj, x) \ - { \ - TValue *io = (obj); \ - val_(io).p = (x); \ - settt_(io, LUA_TLIGHTUSERDATA); \ - } - -#define setbvalue(obj, x) \ - { \ - TValue *io = (obj); \ - val_(io).b = (x); \ - settt_(io, LUA_TBOOLEAN); \ - } - -#define setgcovalue(L, obj, x) \ - { \ - TValue *io = (obj); \ - GCObject *i_g = (x); \ - val_(io).gc = i_g; \ - settt_(io, ctb(i_g->tt)); \ - } - -#define setsvalue(L, obj, x) \ - { \ - TValue *io = (obj); \ - TString *x_ = (x); \ - val_(io).gc = obj2gco(x_); \ - settt_(io, ctb(x_->tt)); \ - checkliveness(L, io); \ - } - -#define setuvalue(L, obj, x) \ - { \ - TValue *io = (obj); \ - Udata *x_ = (x); \ - val_(io).gc = obj2gco(x_); \ - settt_(io, ctb(LUA_TUSERDATA)); \ - checkliveness(L, io); \ - } - -#define setthvalue(L, obj, x) \ - { \ - TValue *io = (obj); \ - lua_State *x_ = (x); \ - val_(io).gc = obj2gco(x_); \ - settt_(io, ctb(LUA_TTHREAD)); \ - checkliveness(L, io); \ - } - -#define setclLvalue(L, obj, x) \ - { \ - TValue *io = (obj); \ - LClosure *x_ = (x); \ - val_(io).gc = obj2gco(x_); \ - settt_(io, ctb(LUA_TLCL)); \ - checkliveness(L, io); \ - } - -#define setclCvalue(L, obj, x) \ - { \ - TValue *io = (obj); \ - CClosure *x_ = (x); \ - val_(io).gc = obj2gco(x_); \ - settt_(io, ctb(LUA_TCCL)); \ - checkliveness(L, io); \ - } - -#define sethvalue(L, obj, x) \ - { \ - TValue *io = (obj); \ - Table *x_ = (x); \ - val_(io).gc = obj2gco(x_); \ - settt_(io, ctb(LUA_TTABLE)); \ - checkliveness(L, io); \ - } - -#define setdeadvalue(obj) settt_(obj, LUA_TDEADKEY) - -#define setobj(L, obj1, obj2) \ - { \ - TValue *io1 = (obj1); \ - *io1 = *(obj2); \ - (void)L; \ - checkliveness(L, io1); \ - } - -/* -** different types of assignments, according to destination -*/ - -/* from stack to (same) stack */ -#define setobjs2s setobj -/* to stack (not from same stack) */ -#define setobj2s setobj -#define setsvalue2s setsvalue -#define sethvalue2s sethvalue -#define setptvalue2s setptvalue -/* from table to same table */ -#define setobjt2t setobj -/* to new object */ -#define setobj2n setobj -#define setsvalue2n setsvalue - -/* to table (define it as an expression to be used in macros) */ -#define setobj2t(L, o1, o2) ((void)L, *(o1) = *(o2), checkliveness(L, (o1))) - -/* -** {====================================================== -** types and prototypes -** ======================================================= -*/ - -typedef TValue *StkId; /* index to stack elements */ - -/* -** Header for string value; string bytes follow the end of this structure -** (aligned according to 'UTString'; see next). -*/ -typedef struct TString -{ - CommonHeader; - lu_byte extra; /* reserved words for short strings; "has hash" for longs */ - lu_byte shrlen; /* length for short strings */ - unsigned int hash; - union { - size_t lnglen; /* length for long strings */ - struct TString *hnext; /* linked list for hash table */ - } u; -} TString; - -/* -** Ensures that address after this type is always fully aligned. -*/ -typedef union UTString { - L_Umaxalign dummy; /* ensures maximum alignment for strings */ - TString tsv; -} UTString; - -/* -** Get the actual string (array of bytes) from a 'TString'. -** (Access to 'extra' ensures that value is really a 'TString'.) -*/ -#define getstr(ts) \ - check_exp(sizeof((ts)->extra), cast(char *, (ts)) + sizeof(UTString)) - -/* get the actual string (array of bytes) from a Lua value */ -#define svalue(o) getstr(tsvalue(o)) - -/* get string length from 'TString *s' */ -#define tsslen(s) ((s)->tt == LUA_TSHRSTR ? (s)->shrlen : (s)->u.lnglen) - -/* get string length from 'TValue *o' */ -#define vslen(o) tsslen(tsvalue(o)) - -/* -** Header for userdata; memory area follows the end of this structure -** (aligned according to 'UUdata'; see next). -*/ -typedef struct Udata -{ - CommonHeader; - lu_byte ttuv_; /* user value's tag */ - struct Table *metatable; - size_t len; /* number of bytes */ - union Value user_; /* user value */ -} Udata; - -/* -** Ensures that address after this type is always fully aligned. -*/ -typedef union UUdata { - L_Umaxalign dummy; /* ensures maximum alignment for 'local' udata */ - Udata uv; -} UUdata; - -/* -** Get the address of memory block inside 'Udata'. -** (Access to 'ttuv_' ensures that value is really a 'Udata'.) -*/ -#define getudatamem(u) \ - check_exp(sizeof((u)->ttuv_), (cast(char *, (u)) + sizeof(UUdata))) - -#define setuservalue(L, u, o) \ - { \ - const TValue *io = (o); \ - Udata *iu = (u); \ - iu->user_ = io->value_; \ - iu->ttuv_ = rttype(io); \ - checkliveness(L, io); \ - } - -#define getuservalue(L, u, o) \ - { \ - TValue *io = (o); \ - const Udata *iu = (u); \ - io->value_ = iu->user_; \ - settt_(io, iu->ttuv_); \ - checkliveness(L, io); \ - } - -/* -** Description of an upvalue for function prototypes -*/ -typedef struct Upvaldesc -{ - TString *name; /* upvalue name (for debug information) */ - lu_byte instack; /* whether it is in stack (register) */ - lu_byte idx; /* index of upvalue (in stack or in outer function's list) */ -} Upvaldesc; - -/* -** Description of a local variable for function prototypes -** (used for debug information) -*/ -typedef struct LocVar -{ - TString *varname; - int startpc; /* first point where variable is active */ - int endpc; /* first point where variable is dead */ -} LocVar; - -/* -** Function Prototypes -*/ -typedef struct Proto -{ - CommonHeader; - lu_byte numparams; /* number of fixed parameters */ - lu_byte is_vararg; - lu_byte maxstacksize; /* number of registers needed by this function */ - int sizeupvalues; /* size of 'upvalues' */ - int sizek; /* size of 'k' */ - int sizecode; - int sizelineinfo; - int sizep; /* size of 'p' */ - int sizelocvars; - int linedefined; /* debug information */ - int lastlinedefined; /* debug information */ - TValue *k; /* constants used by the function */ - Instruction *code; /* opcodes */ - struct Proto **p; /* functions defined inside the function */ - int *lineinfo; /* map from opcodes to source lines (debug information) */ - LocVar *locvars; /* information about local variables (debug information) */ - Upvaldesc *upvalues; /* upvalue information */ - struct LClosure *cache; /* last-created closure with this prototype */ - TString *source; /* used for debug information */ - GCObject *gclist; -} Proto; - -/* -** Lua Upvalues -*/ -typedef struct UpVal UpVal; - -/* -** Closures -*/ - -#define ClosureHeader \ - CommonHeader; \ - lu_byte nupvalues; \ - GCObject *gclist - -typedef struct CClosure -{ - ClosureHeader; - lua_CFunction f; - TValue upvalue[1]; /* list of upvalues */ -} CClosure; - -typedef struct LClosure -{ - ClosureHeader; - struct Proto *p; - UpVal *upvals[1]; /* list of upvalues */ -} LClosure; - -typedef union Closure { - CClosure c; - LClosure l; -} Closure; - -#define isLfunction(o) ttisLclosure(o) - -#define getproto(o) (clLvalue(o)->p) - -/* -** Tables -*/ - -typedef union TKey { - struct - { - TValuefields; - int next; /* for chaining (offset for next node) */ - } nk; - TValue tvk; -} TKey; - -/* copy a value into a key without messing up field 'next' */ -#define setnodekey(L, key, obj) \ - { \ - TKey *k_ = (key); \ - const TValue *io_ = (obj); \ - k_->nk.value_ = io_->value_; \ - k_->nk.tt_ = io_->tt_; \ - (void)L; \ - checkliveness(L, io_); \ - } - -typedef struct Node -{ - TValue i_val; - TKey i_key; -} Node; - -typedef struct Table -{ - CommonHeader; - lu_byte flags; /* 1<

lsizenode)) - -/* -** (address of) a fixed nil value -*/ -#define luaO_nilobject (&luaO_nilobject_) - -LUAI_DDEC const TValue luaO_nilobject_; - -/* size of buffer for 'luaO_utf8esc' function */ -#define UTF8BUFFSZ 8 - -LUAI_FUNC int luaO_int2fb(unsigned int x); -LUAI_FUNC int luaO_fb2int(int x); -LUAI_FUNC int luaO_utf8esc(char *buff, unsigned long x); -LUAI_FUNC int luaO_ceillog2(unsigned int x); -LUAI_FUNC void luaO_arith(lua_State *L, int op, const TValue *p1, - const TValue *p2, TValue *res); -LUAI_FUNC size_t luaO_str2num(const char *s, TValue *o); -LUAI_FUNC int luaO_hexavalue(int c); -LUAI_FUNC void luaO_tostring(lua_State *L, StkId obj); -LUAI_FUNC const char *luaO_pushvfstring(lua_State *L, const char *fmt, - va_list argp); -LUAI_FUNC const char *luaO_pushfstring(lua_State *L, const char *fmt, ...); -LUAI_FUNC void luaO_chunkid(char *out, const char *source, size_t len); - -#endif diff --git a/User/lua/src-bak/lopcodes.c b/User/lua/src-bak/lopcodes.c deleted file mode 100644 index e24abe7..0000000 --- a/User/lua/src-bak/lopcodes.c +++ /dev/null @@ -1,165 +0,0 @@ -/* -** $Id: lopcodes.c,v 1.55.1.1 2017/04/19 17:20:42 roberto Exp $ -** Opcodes for Lua virtual machine -** See Copyright Notice in lua.h -*/ - -#define lopcodes_c -#define LUA_CORE - -#include "lprefix.h" - -#include - -#include "lopcodes.h" - -/* ORDER OP */ - -LUAI_DDEF const char *const luaP_opnames[NUM_OPCODES + 1] = { - "MOVE", - "LOADK", - "LOADKX", - "LOADBOOL", - "LOADNIL", - "GETUPVAL", - "GETTABUP", - "GETTABLE", - "SETTABUP", - "SETUPVAL", - "SETTABLE", - "NEWTABLE", - "SELF", - "ADD", - "SUB", - "MUL", - "MOD", - "POW", - "DIV", - "IDIV", - "BAND", - "BOR", - "BXOR", - "SHL", - "SHR", - "UNM", - "BNOT", - "NOT", - "LEN", - "CONCAT", - "JMP", - "EQ", - "LT", - "LE", - "TEST", - "TESTSET", - "CALL", - "TAILCALL", - "RETURN", - "FORLOOP", - "FORPREP", - "TFORCALL", - "TFORLOOP", - "SETLIST", - "CLOSURE", - "VARARG", - "EXTRAARG", - NULL}; - -#define opmode(t, a, b, c, m) (((t) << 7) | ((a) << 6) | ((b) << 4) | ((c) << 2) | (m)) - -LUAI_DDEF const lu_byte luaP_opmodes[NUM_OPCODES] = { - /* T A B C mode opcode */ - opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_MOVE */ - , - opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_LOADK */ - , - opmode(0, 1, OpArgN, OpArgN, iABx) /* OP_LOADKX */ - , - opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_LOADBOOL */ - , - opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_LOADNIL */ - , - opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_GETUPVAL */ - , - opmode(0, 1, OpArgU, OpArgK, iABC) /* OP_GETTABUP */ - , - opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_GETTABLE */ - , - opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABUP */ - , - opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_SETUPVAL */ - , - opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABLE */ - , - opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_NEWTABLE */ - , - opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_SELF */ - , - opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_ADD */ - , - opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SUB */ - , - opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MUL */ - , - opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MOD */ - , - opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_POW */ - , - opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_DIV */ - , - opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_IDIV */ - , - opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BAND */ - , - opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BOR */ - , - opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BXOR */ - , - opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SHL */ - , - opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SHR */ - , - opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_UNM */ - , - opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_BNOT */ - , - opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */ - , - opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */ - , - opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_CONCAT */ - , - opmode(0, 0, OpArgR, OpArgN, iAsBx) /* OP_JMP */ - , - opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_EQ */ - , - opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LT */ - , - opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LE */ - , - opmode(1, 0, OpArgN, OpArgU, iABC) /* OP_TEST */ - , - opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TESTSET */ - , - opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_CALL */ - , - opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_TAILCALL */ - , - opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_RETURN */ - , - opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORLOOP */ - , - opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORPREP */ - , - opmode(0, 0, OpArgN, OpArgU, iABC) /* OP_TFORCALL */ - , - opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_TFORLOOP */ - , - opmode(0, 0, OpArgU, OpArgU, iABC) /* OP_SETLIST */ - , - opmode(0, 1, OpArgU, OpArgN, iABx) /* OP_CLOSURE */ - , - opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_VARARG */ - , - opmode(0, 0, OpArgU, OpArgU, iAx) /* OP_EXTRAARG */ -}; diff --git a/User/lua/src-bak/lopcodes.h b/User/lua/src-bak/lopcodes.h deleted file mode 100644 index 52bd80e..0000000 --- a/User/lua/src-bak/lopcodes.h +++ /dev/null @@ -1,281 +0,0 @@ -/* -** $Id: lopcodes.h,v 1.149.1.1 2017/04/19 17:20:42 roberto Exp $ -** Opcodes for Lua virtual machine -** See Copyright Notice in lua.h -*/ - -#ifndef lopcodes_h -#define lopcodes_h - -#include "llimits.h" - -/*=========================================================================== - We assume that instructions are unsigned numbers. - All instructions have an opcode in the first 6 bits. - Instructions can have the following fields: - 'A' : 8 bits - 'B' : 9 bits - 'C' : 9 bits - 'Ax' : 26 bits ('A', 'B', and 'C' together) - 'Bx' : 18 bits ('B' and 'C' together) - 'sBx' : signed Bx - - A signed argument is represented in excess K; that is, the number - value is the unsigned value minus K. K is exactly the maximum value - for that argument (so that -max is represented by 0, and +max is - represented by 2*max), which is half the maximum for the corresponding - unsigned argument. -===========================================================================*/ - -enum OpMode -{ - iABC, - iABx, - iAsBx, - iAx -}; /* basic instruction format */ - -/* -** size and position of opcode arguments. -*/ -#define SIZE_C 9 -#define SIZE_B 9 -#define SIZE_Bx (SIZE_C + SIZE_B) -#define SIZE_A 8 -#define SIZE_Ax (SIZE_C + SIZE_B + SIZE_A) - -#define SIZE_OP 6 - -#define POS_OP 0 -#define POS_A (POS_OP + SIZE_OP) -#define POS_C (POS_A + SIZE_A) -#define POS_B (POS_C + SIZE_C) -#define POS_Bx POS_C -#define POS_Ax POS_A - -/* -** limits for opcode arguments. -** we use (signed) int to manipulate most arguments, -** so they must fit in LUAI_BITSINT-1 bits (-1 for sign) -*/ -#if SIZE_Bx < LUAI_BITSINT - 1 -#define MAXARG_Bx ((1 << SIZE_Bx) - 1) -#define MAXARG_sBx (MAXARG_Bx >> 1) /* 'sBx' is signed */ -#else -#define MAXARG_Bx MAX_INT -#define MAXARG_sBx MAX_INT -#endif - -#if SIZE_Ax < LUAI_BITSINT - 1 -#define MAXARG_Ax ((1 << SIZE_Ax) - 1) -#else -#define MAXARG_Ax MAX_INT -#endif - -#define MAXARG_A ((1 << SIZE_A) - 1) -#define MAXARG_B ((1 << SIZE_B) - 1) -#define MAXARG_C ((1 << SIZE_C) - 1) - -/* creates a mask with 'n' 1 bits at position 'p' */ -#define MASK1(n, p) ((~((~(Instruction)0) << (n))) << (p)) - -/* creates a mask with 'n' 0 bits at position 'p' */ -#define MASK0(n, p) (~MASK1(n, p)) - -/* -** the following macros help to manipulate instructions -*/ - -#define GET_OPCODE(i) (cast(OpCode, ((i) >> POS_OP) & MASK1(SIZE_OP, 0))) -#define SET_OPCODE(i, o) ((i) = (((i)&MASK0(SIZE_OP, POS_OP)) | \ - ((cast(Instruction, o) << POS_OP) & MASK1(SIZE_OP, POS_OP)))) - -#define getarg(i, pos, size) (cast(int, ((i) >> pos) & MASK1(size, 0))) -#define setarg(i, v, pos, size) ((i) = (((i)&MASK0(size, pos)) | \ - ((cast(Instruction, v) << pos) & MASK1(size, pos)))) - -#define GETARG_A(i) getarg(i, POS_A, SIZE_A) -#define SETARG_A(i, v) setarg(i, v, POS_A, SIZE_A) - -#define GETARG_B(i) getarg(i, POS_B, SIZE_B) -#define SETARG_B(i, v) setarg(i, v, POS_B, SIZE_B) - -#define GETARG_C(i) getarg(i, POS_C, SIZE_C) -#define SETARG_C(i, v) setarg(i, v, POS_C, SIZE_C) - -#define GETARG_Bx(i) getarg(i, POS_Bx, SIZE_Bx) -#define SETARG_Bx(i, v) setarg(i, v, POS_Bx, SIZE_Bx) - -#define GETARG_Ax(i) getarg(i, POS_Ax, SIZE_Ax) -#define SETARG_Ax(i, v) setarg(i, v, POS_Ax, SIZE_Ax) - -#define GETARG_sBx(i) (GETARG_Bx(i) - MAXARG_sBx) -#define SETARG_sBx(i, b) SETARG_Bx((i), cast(unsigned int, (b) + MAXARG_sBx)) - -#define CREATE_ABC(o, a, b, c) ((cast(Instruction, o) << POS_OP) | (cast(Instruction, a) << POS_A) | (cast(Instruction, b) << POS_B) | (cast(Instruction, c) << POS_C)) - -#define CREATE_ABx(o, a, bc) ((cast(Instruction, o) << POS_OP) | (cast(Instruction, a) << POS_A) | (cast(Instruction, bc) << POS_Bx)) - -#define CREATE_Ax(o, a) ((cast(Instruction, o) << POS_OP) | (cast(Instruction, a) << POS_Ax)) - -/* -** Macros to operate RK indices -*/ - -/* this bit 1 means constant (0 means register) */ -#define BITRK (1 << (SIZE_B - 1)) - -/* test whether value is a constant */ -#define ISK(x) ((x)&BITRK) - -/* gets the index of the constant */ -#define INDEXK(r) ((int)(r) & ~BITRK) - -#if !defined(MAXINDEXRK) /* (for debugging only) */ -#define MAXINDEXRK (BITRK - 1) -#endif - -/* code a constant index as a RK value */ -#define RKASK(x) ((x) | BITRK) - -/* -** invalid register that fits in 8 bits -*/ -#define NO_REG MAXARG_A - -/* -** R(x) - register -** Kst(x) - constant (in constant table) -** RK(x) == if ISK(x) then Kst(INDEXK(x)) else R(x) -*/ - -/* -** grep "ORDER OP" if you change these enums -*/ - -typedef enum -{ - /*---------------------------------------------------------------------- -name args description -------------------------------------------------------------------------*/ - OP_MOVE, /* A B R(A) := R(B) */ - OP_LOADK, /* A Bx R(A) := Kst(Bx) */ - OP_LOADKX, /* A R(A) := Kst(extra arg) */ - OP_LOADBOOL, /* A B C R(A) := (Bool)B; if (C) pc++ */ - OP_LOADNIL, /* A B R(A), R(A+1), ..., R(A+B) := nil */ - OP_GETUPVAL, /* A B R(A) := UpValue[B] */ - - OP_GETTABUP, /* A B C R(A) := UpValue[B][RK(C)] */ - OP_GETTABLE, /* A B C R(A) := R(B)[RK(C)] */ - - OP_SETTABUP, /* A B C UpValue[A][RK(B)] := RK(C) */ - OP_SETUPVAL, /* A B UpValue[B] := R(A) */ - OP_SETTABLE, /* A B C R(A)[RK(B)] := RK(C) */ - - OP_NEWTABLE, /* A B C R(A) := {} (size = B,C) */ - - OP_SELF, /* A B C R(A+1) := R(B); R(A) := R(B)[RK(C)] */ - - OP_ADD, /* A B C R(A) := RK(B) + RK(C) */ - OP_SUB, /* A B C R(A) := RK(B) - RK(C) */ - OP_MUL, /* A B C R(A) := RK(B) * RK(C) */ - OP_MOD, /* A B C R(A) := RK(B) % RK(C) */ - OP_POW, /* A B C R(A) := RK(B) ^ RK(C) */ - OP_DIV, /* A B C R(A) := RK(B) / RK(C) */ - OP_IDIV, /* A B C R(A) := RK(B) // RK(C) */ - OP_BAND, /* A B C R(A) := RK(B) & RK(C) */ - OP_BOR, /* A B C R(A) := RK(B) | RK(C) */ - OP_BXOR, /* A B C R(A) := RK(B) ~ RK(C) */ - OP_SHL, /* A B C R(A) := RK(B) << RK(C) */ - OP_SHR, /* A B C R(A) := RK(B) >> RK(C) */ - OP_UNM, /* A B R(A) := -R(B) */ - OP_BNOT, /* A B R(A) := ~R(B) */ - OP_NOT, /* A B R(A) := not R(B) */ - OP_LEN, /* A B R(A) := length of R(B) */ - - OP_CONCAT, /* A B C R(A) := R(B).. ... ..R(C) */ - - OP_JMP, /* A sBx pc+=sBx; if (A) close all upvalues >= R(A - 1) */ - OP_EQ, /* A B C if ((RK(B) == RK(C)) ~= A) then pc++ */ - OP_LT, /* A B C if ((RK(B) < RK(C)) ~= A) then pc++ */ - OP_LE, /* A B C if ((RK(B) <= RK(C)) ~= A) then pc++ */ - - OP_TEST, /* A C if not (R(A) <=> C) then pc++ */ - OP_TESTSET, /* A B C if (R(B) <=> C) then R(A) := R(B) else pc++ */ - - OP_CALL, /* A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) */ - OP_TAILCALL, /* A B C return R(A)(R(A+1), ... ,R(A+B-1)) */ - OP_RETURN, /* A B return R(A), ... ,R(A+B-2) (see note) */ - - OP_FORLOOP, /* A sBx R(A)+=R(A+2); - if R(A) > 4) & 3)) -#define getCMode(m) (cast(enum OpArgMask, (luaP_opmodes[m] >> 2) & 3)) -#define testAMode(m) (luaP_opmodes[m] & (1 << 6)) -#define testTMode(m) (luaP_opmodes[m] & (1 << 7)) - -LUAI_DDEC const char *const luaP_opnames[NUM_OPCODES + 1]; /* opcode names */ - -/* number of list items to accumulate before a SETLIST instruction */ -#define LFIELDS_PER_FLUSH 50 - -#endif diff --git a/User/lua/src-bak/loslib.c b/User/lua/src-bak/loslib.c deleted file mode 100644 index 1bf5d41..0000000 --- a/User/lua/src-bak/loslib.c +++ /dev/null @@ -1,420 +0,0 @@ -/* -** $Id: loslib.c,v 1.65.1.1 2017/04/19 17:29:57 roberto Exp $ -** Standard Operating System library -** See Copyright Notice in lua.h -*/ - -#define loslib_c -#define LUA_LIB - -#include "lprefix.h" - -#include -#include -#include -#include -#include - -#include "lua.h" - -#include "lauxlib.h" -#include "lualib.h" - -/* -** {================================================================== -** List of valid conversion specifiers for the 'strftime' function; -** options are grouped by length; group of length 2 start with '||'. -** =================================================================== -*/ -#if !defined(LUA_STRFTIMEOPTIONS) /* { */ - -/* options for ANSI C 89 (only 1-char options) */ -#define L_STRFTIMEC89 "aAbBcdHIjmMpSUwWxXyYZ%" - -/* options for ISO C 99 and POSIX */ -#define L_STRFTIMEC99 "aAbBcCdDeFgGhHIjmMnprRStTuUVwWxXyYzZ%" \ - "||" \ - "EcECExEXEyEY" \ - "OdOeOHOIOmOMOSOuOUOVOwOWOy" /* two-char options */ - -/* options for Windows */ -#define L_STRFTIMEWIN "aAbBcdHIjmMpSUwWxXyYzZ%" \ - "||" \ - "#c#x#d#H#I#j#m#M#S#U#w#W#y#Y" /* two-char options */ - -#if defined(LUA_USE_WINDOWS) -#define LUA_STRFTIMEOPTIONS L_STRFTIMEWIN -#elif defined(LUA_USE_C89) -#define LUA_STRFTIMEOPTIONS L_STRFTIMEC89 -#else /* C99 specification */ -#define LUA_STRFTIMEOPTIONS L_STRFTIMEC99 -#endif - -#endif /* } */ -/* }================================================================== */ - -/* -** {================================================================== -** Configuration for time-related stuff -** =================================================================== -*/ - -#if !defined(l_time_t) /* { */ -/* -** type to represent time_t in Lua -*/ -#define l_timet lua_Integer -#define l_pushtime(L, t) lua_pushinteger(L, (lua_Integer)(t)) - -static time_t l_checktime(lua_State *L, int arg) -{ - lua_Integer t = luaL_checkinteger(L, arg); - luaL_argcheck(L, (time_t)t == t, arg, "time out-of-bounds"); - return (time_t)t; -} - -#endif /* } */ - -#if !defined(l_gmtime) /* { */ -/* -** By default, Lua uses gmtime/localtime, except when POSIX is available, -** where it uses gmtime_r/localtime_r -*/ - -#if defined(LUA_USE_POSIX) /* { */ - -#define l_gmtime(t, r) gmtime_r(t, r) -#define l_localtime(t, r) localtime_r(t, r) - -#else /* }{ */ - -/* ISO C definitions */ -#define l_gmtime(t, r) ((void)(r)->tm_sec, gmtime(t)) -#define l_localtime(t, r) ((void)(r)->tm_sec, localtime(t)) - -#endif /* } */ - -#endif /* } */ - -/* }================================================================== */ - -/* -** {================================================================== -** Configuration for 'tmpnam': -** By default, Lua uses tmpnam except when POSIX is available, where -** it uses mkstemp. -** =================================================================== -*/ -#if !defined(lua_tmpnam) /* { */ - -#if defined(LUA_USE_POSIX) /* { */ - -#include - -#define LUA_TMPNAMBUFSIZE 32 - -#if !defined(LUA_TMPNAMTEMPLATE) -#define LUA_TMPNAMTEMPLATE "/tmp/lua_XXXXXX" -#endif - -#define lua_tmpnam(b, e) \ - { \ - strcpy(b, LUA_TMPNAMTEMPLATE); \ - e = mkstemp(b); \ - if (e != -1) \ - close(e); \ - e = (e == -1); \ - } - -#else /* }{ */ - -/* ISO C definitions */ -#define LUA_TMPNAMBUFSIZE L_tmpnam -#define lua_tmpnam(b, e) \ - { \ - e = (tmpnam(b) == NULL); \ - } - -#endif /* } */ - -#endif /* } */ -/* }================================================================== */ - -static int os_execute(lua_State *L) -{ - const char *cmd = luaL_optstring(L, 1, NULL); - int stat = system(cmd); - if (cmd != NULL) - return luaL_execresult(L, stat); - else - { - lua_pushboolean(L, stat); /* true if there is a shell */ - return 1; - } -} - -static int os_remove(lua_State *L) -{ - const char *filename = luaL_checkstring(L, 1); - return luaL_fileresult(L, remove(filename) == 0, filename); -} - -static int os_rename(lua_State *L) -{ - const char *fromname = luaL_checkstring(L, 1); - const char *toname = luaL_checkstring(L, 2); - return luaL_fileresult(L, rename(fromname, toname) == 0, NULL); -} - -static int os_tmpname(lua_State *L) -{ - char buff[LUA_TMPNAMBUFSIZE]; - int err; - lua_tmpnam(buff, err); - if (err) - return luaL_error(L, "unable to generate a unique filename"); - lua_pushstring(L, buff); - return 1; -} - -static int os_getenv(lua_State *L) -{ - lua_pushstring(L, getenv(luaL_checkstring(L, 1))); /* if NULL push nil */ - return 1; -} - -static int os_clock(lua_State *L) -{ - lua_pushnumber(L, ((lua_Number)clock()) / (lua_Number)CLOCKS_PER_SEC); - return 1; -} - -/* -** {====================================================== -** Time/Date operations -** { year=%Y, month=%m, day=%d, hour=%H, min=%M, sec=%S, -** wday=%w+1, yday=%j, isdst=? } -** ======================================================= -*/ - -static void setfield(lua_State *L, const char *key, int value) -{ - lua_pushinteger(L, value); - lua_setfield(L, -2, key); -} - -static void setboolfield(lua_State *L, const char *key, int value) -{ - if (value < 0) /* undefined? */ - return; /* does not set field */ - lua_pushboolean(L, value); - lua_setfield(L, -2, key); -} - -/* -** Set all fields from structure 'tm' in the table on top of the stack -*/ -static void setallfields(lua_State *L, struct tm *stm) -{ - setfield(L, "sec", stm->tm_sec); - setfield(L, "min", stm->tm_min); - setfield(L, "hour", stm->tm_hour); - setfield(L, "day", stm->tm_mday); - setfield(L, "month", stm->tm_mon + 1); - setfield(L, "year", stm->tm_year + 1900); - setfield(L, "wday", stm->tm_wday + 1); - setfield(L, "yday", stm->tm_yday + 1); - setboolfield(L, "isdst", stm->tm_isdst); -} - -static int getboolfield(lua_State *L, const char *key) -{ - int res; - res = (lua_getfield(L, -1, key) == LUA_TNIL) ? -1 : lua_toboolean(L, -1); - lua_pop(L, 1); - return res; -} - -/* maximum value for date fields (to avoid arithmetic overflows with 'int') */ -#if !defined(L_MAXDATEFIELD) -#define L_MAXDATEFIELD (INT_MAX / 2) -#endif - -static int getfield(lua_State *L, const char *key, int d, int delta) -{ - int isnum; - int t = lua_getfield(L, -1, key); /* get field and its type */ - lua_Integer res = lua_tointegerx(L, -1, &isnum); - if (!isnum) - { /* field is not an integer? */ - if (t != LUA_TNIL) /* some other value? */ - return luaL_error(L, "field '%s' is not an integer", key); - else if (d < 0) /* absent field; no default? */ - return luaL_error(L, "field '%s' missing in date table", key); - res = d; - } - else - { - if (!(-L_MAXDATEFIELD <= res && res <= L_MAXDATEFIELD)) - return luaL_error(L, "field '%s' is out-of-bound", key); - res -= delta; - } - lua_pop(L, 1); - return (int)res; -} - -static const char *checkoption(lua_State *L, const char *conv, - ptrdiff_t convlen, char *buff) -{ - const char *option = LUA_STRFTIMEOPTIONS; - int oplen = 1; /* length of options being checked */ - for (; *option != '\0' && oplen <= convlen; option += oplen) - { - if (*option == '|') /* next block? */ - oplen++; /* will check options with next length (+1) */ - else if (memcmp(conv, option, oplen) == 0) - { /* match? */ - memcpy(buff, conv, oplen); /* copy valid option to buffer */ - buff[oplen] = '\0'; - return conv + oplen; /* return next item */ - } - } - luaL_argerror(L, 1, - lua_pushfstring(L, "invalid conversion specifier '%%%s'", conv)); - return conv; /* to avoid warnings */ -} - -/* maximum size for an individual 'strftime' item */ -#define SIZETIMEFMT 250 - -static int os_date(lua_State *L) -{ - size_t slen; - const char *s = luaL_optlstring(L, 1, "%c", &slen); - time_t t = luaL_opt(L, l_checktime, 2, time(NULL)); - const char *se = s + slen; /* 's' end */ - struct tm tmr, *stm; - if (*s == '!') - { /* UTC? */ - stm = l_gmtime(&t, &tmr); - s++; /* skip '!' */ - } - else - stm = l_localtime(&t, &tmr); - if (stm == NULL) /* invalid date? */ - return luaL_error(L, - "time result cannot be represented in this installation"); - if (strcmp(s, "*t") == 0) - { - lua_createtable(L, 0, 9); /* 9 = number of fields */ - setallfields(L, stm); - } - else - { - char cc[4]; /* buffer for individual conversion specifiers */ - luaL_Buffer b; - cc[0] = '%'; - luaL_buffinit(L, &b); - while (s < se) - { - if (*s != '%') /* not a conversion specifier? */ - luaL_addchar(&b, *s++); - else - { - size_t reslen; - char *buff = luaL_prepbuffsize(&b, SIZETIMEFMT); - s++; /* skip '%' */ - s = checkoption(L, s, se - s, cc + 1); /* copy specifier to 'cc' */ - reslen = strftime(buff, SIZETIMEFMT, cc, stm); - luaL_addsize(&b, reslen); - } - } - luaL_pushresult(&b); - } - return 1; -} - -static int os_time(lua_State *L) -{ - time_t t; - if (lua_isnoneornil(L, 1)) /* called without args? */ - t = time(NULL); /* get current time */ - else - { - struct tm ts; - luaL_checktype(L, 1, LUA_TTABLE); - lua_settop(L, 1); /* make sure table is at the top */ - ts.tm_sec = getfield(L, "sec", 0, 0); - ts.tm_min = getfield(L, "min", 0, 0); - ts.tm_hour = getfield(L, "hour", 12, 0); - ts.tm_mday = getfield(L, "day", -1, 0); - ts.tm_mon = getfield(L, "month", -1, 1); - ts.tm_year = getfield(L, "year", -1, 1900); - ts.tm_isdst = getboolfield(L, "isdst"); - t = mktime(&ts); - setallfields(L, &ts); /* update fields with normalized values */ - } - if (t != (time_t)(l_timet)t || t == (time_t)(-1)) - return luaL_error(L, - "time result cannot be represented in this installation"); - l_pushtime(L, t); - return 1; -} - -static int os_difftime(lua_State *L) -{ - time_t t1 = l_checktime(L, 1); - time_t t2 = l_checktime(L, 2); - lua_pushnumber(L, (lua_Number)difftime(t1, t2)); - return 1; -} - -/* }====================================================== */ - -static int os_setlocale(lua_State *L) -{ - static const int cat[] = {LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, - LC_NUMERIC, LC_TIME}; - static const char *const catnames[] = {"all", "collate", "ctype", "monetary", - "numeric", "time", NULL}; - const char *l = luaL_optstring(L, 1, NULL); - int op = luaL_checkoption(L, 2, "all", catnames); - lua_pushstring(L, setlocale(cat[op], l)); - return 1; -} - -static int os_exit(lua_State *L) -{ - int status; - if (lua_isboolean(L, 1)) - status = (lua_toboolean(L, 1) ? EXIT_SUCCESS : EXIT_FAILURE); - else - status = (int)luaL_optinteger(L, 1, EXIT_SUCCESS); - if (lua_toboolean(L, 2)) - lua_close(L); - if (L) - exit(status); /* 'if' to avoid warnings for unreachable 'return' */ - return 0; -} - -static const luaL_Reg syslib[] = { - {"clock", os_clock}, - {"date", os_date}, - {"difftime", os_difftime}, - {"execute", os_execute}, - {"exit", os_exit}, - {"getenv", os_getenv}, - {"remove", os_remove}, - {"rename", os_rename}, - {"setlocale", os_setlocale}, - {"time", os_time}, - {"tmpname", os_tmpname}, - {NULL, NULL}}; - -/* }====================================================== */ - -LUAMOD_API int luaopen_os(lua_State *L) -{ - luaL_newlib(L, syslib); - return 1; -} diff --git a/User/lua/src-bak/lparser.c b/User/lua/src-bak/lparser.c deleted file mode 100644 index a2b6c7d..0000000 --- a/User/lua/src-bak/lparser.c +++ /dev/null @@ -1,1650 +0,0 @@ -/* -** $Id: lparser.c,v 2.155.1.2 2017/04/29 18:11:40 roberto Exp $ -** Lua Parser -** See Copyright Notice in lua.h -*/ - -#define lparser_c -#define LUA_CORE - -#include "lprefix.h" - - -#include - -#include "lua.h" - -#include "lcode.h" -#include "ldebug.h" -#include "ldo.h" -#include "lfunc.h" -#include "llex.h" -#include "lmem.h" -#include "lobject.h" -#include "lopcodes.h" -#include "lparser.h" -#include "lstate.h" -#include "lstring.h" -#include "ltable.h" - - - -/* maximum number of local variables per function (must be smaller - than 250, due to the bytecode format) */ -#define MAXVARS 200 - - -#define hasmultret(k) ((k) == VCALL || (k) == VVARARG) - - -/* because all strings are unified by the scanner, the parser - can use pointer equality for string equality */ -#define eqstr(a,b) ((a) == (b)) - - -/* -** nodes for block list (list of active blocks) -*/ -typedef struct BlockCnt { - struct BlockCnt *previous; /* chain */ - int firstlabel; /* index of first label in this block */ - int firstgoto; /* index of first pending goto in this block */ - lu_byte nactvar; /* # active locals outside the block */ - lu_byte upval; /* true if some variable in the block is an upvalue */ - lu_byte isloop; /* true if 'block' is a loop */ -} BlockCnt; - - - -/* -** prototypes for recursive non-terminal functions -*/ -static void statement (LexState *ls); -static void expr (LexState *ls, expdesc *v); - - -/* semantic error */ -static l_noret semerror (LexState *ls, const char *msg) { - ls->t.token = 0; /* remove "near " from final message */ - luaX_syntaxerror(ls, msg); -} - - -static l_noret error_expected (LexState *ls, int token) { - luaX_syntaxerror(ls, - luaO_pushfstring(ls->L, "%s expected", luaX_token2str(ls, token))); -} - - -static l_noret errorlimit (FuncState *fs, int limit, const char *what) { - lua_State *L = fs->ls->L; - const char *msg; - int line = fs->f->linedefined; - const char *where = (line == 0) - ? "main function" - : luaO_pushfstring(L, "function at line %d", line); - msg = luaO_pushfstring(L, "too many %s (limit is %d) in %s", - what, limit, where); - luaX_syntaxerror(fs->ls, msg); -} - - -static void checklimit (FuncState *fs, int v, int l, const char *what) { - if (v > l) errorlimit(fs, l, what); -} - - -static int testnext (LexState *ls, int c) { - if (ls->t.token == c) { - luaX_next(ls); - return 1; - } - else return 0; -} - - -static void check (LexState *ls, int c) { - if (ls->t.token != c) - error_expected(ls, c); -} - - -static void checknext (LexState *ls, int c) { - check(ls, c); - luaX_next(ls); -} - - -#define check_condition(ls,c,msg) { if (!(c)) luaX_syntaxerror(ls, msg); } - - - -static void check_match (LexState *ls, int what, int who, int where) { - if (!testnext(ls, what)) { - if (where == ls->linenumber) - error_expected(ls, what); - else { - luaX_syntaxerror(ls, luaO_pushfstring(ls->L, - "%s expected (to close %s at line %d)", - luaX_token2str(ls, what), luaX_token2str(ls, who), where)); - } - } -} - - -static TString *str_checkname (LexState *ls) { - TString *ts; - check(ls, TK_NAME); - ts = ls->t.seminfo.ts; - luaX_next(ls); - return ts; -} - - -static void init_exp (expdesc *e, expkind k, int i) { - e->f = e->t = NO_JUMP; - e->k = k; - e->u.info = i; -} - - -static void codestring (LexState *ls, expdesc *e, TString *s) { - init_exp(e, VK, luaK_stringK(ls->fs, s)); -} - - -static void checkname (LexState *ls, expdesc *e) { - codestring(ls, e, str_checkname(ls)); -} - - -static int registerlocalvar (LexState *ls, TString *varname) { - FuncState *fs = ls->fs; - Proto *f = fs->f; - int oldsize = f->sizelocvars; - luaM_growvector(ls->L, f->locvars, fs->nlocvars, f->sizelocvars, - LocVar, SHRT_MAX, "local variables"); - while (oldsize < f->sizelocvars) - f->locvars[oldsize++].varname = NULL; - f->locvars[fs->nlocvars].varname = varname; - luaC_objbarrier(ls->L, f, varname); - return fs->nlocvars++; -} - - -static void new_localvar (LexState *ls, TString *name) { - FuncState *fs = ls->fs; - Dyndata *dyd = ls->dyd; - int reg = registerlocalvar(ls, name); - checklimit(fs, dyd->actvar.n + 1 - fs->firstlocal, - MAXVARS, "local variables"); - luaM_growvector(ls->L, dyd->actvar.arr, dyd->actvar.n + 1, - dyd->actvar.size, Vardesc, MAX_INT, "local variables"); - dyd->actvar.arr[dyd->actvar.n++].idx = cast(short, reg); -} - - -static void new_localvarliteral_ (LexState *ls, const char *name, size_t sz) { - new_localvar(ls, luaX_newstring(ls, name, sz)); -} - -#define new_localvarliteral(ls,v) \ - new_localvarliteral_(ls, "" v, (sizeof(v)/sizeof(char))-1) - - -static LocVar *getlocvar (FuncState *fs, int i) { - int idx = fs->ls->dyd->actvar.arr[fs->firstlocal + i].idx; - lua_assert(idx < fs->nlocvars); - return &fs->f->locvars[idx]; -} - - -static void adjustlocalvars (LexState *ls, int nvars) { - FuncState *fs = ls->fs; - fs->nactvar = cast_byte(fs->nactvar + nvars); - for (; nvars; nvars--) { - getlocvar(fs, fs->nactvar - nvars)->startpc = fs->pc; - } -} - - -static void removevars (FuncState *fs, int tolevel) { - fs->ls->dyd->actvar.n -= (fs->nactvar - tolevel); - while (fs->nactvar > tolevel) - getlocvar(fs, --fs->nactvar)->endpc = fs->pc; -} - - -static int searchupvalue (FuncState *fs, TString *name) { - int i; - Upvaldesc *up = fs->f->upvalues; - for (i = 0; i < fs->nups; i++) { - if (eqstr(up[i].name, name)) return i; - } - return -1; /* not found */ -} - - -static int newupvalue (FuncState *fs, TString *name, expdesc *v) { - Proto *f = fs->f; - int oldsize = f->sizeupvalues; - checklimit(fs, fs->nups + 1, MAXUPVAL, "upvalues"); - luaM_growvector(fs->ls->L, f->upvalues, fs->nups, f->sizeupvalues, - Upvaldesc, MAXUPVAL, "upvalues"); - while (oldsize < f->sizeupvalues) - f->upvalues[oldsize++].name = NULL; - f->upvalues[fs->nups].instack = (v->k == VLOCAL); - f->upvalues[fs->nups].idx = cast_byte(v->u.info); - f->upvalues[fs->nups].name = name; - luaC_objbarrier(fs->ls->L, f, name); - return fs->nups++; -} - - -static int searchvar (FuncState *fs, TString *n) { - int i; - for (i = cast_int(fs->nactvar) - 1; i >= 0; i--) { - if (eqstr(n, getlocvar(fs, i)->varname)) - return i; - } - return -1; /* not found */ -} - - -/* - Mark block where variable at given level was defined - (to emit close instructions later). -*/ -static void markupval (FuncState *fs, int level) { - BlockCnt *bl = fs->bl; - while (bl->nactvar > level) - bl = bl->previous; - bl->upval = 1; -} - - -/* - Find variable with given name 'n'. If it is an upvalue, add this - upvalue into all intermediate functions. -*/ -static void singlevaraux (FuncState *fs, TString *n, expdesc *var, int base) { - if (fs == NULL) /* no more levels? */ - init_exp(var, VVOID, 0); /* default is global */ - else { - int v = searchvar(fs, n); /* look up locals at current level */ - if (v >= 0) { /* found? */ - init_exp(var, VLOCAL, v); /* variable is local */ - if (!base) - markupval(fs, v); /* local will be used as an upval */ - } - else { /* not found as local at current level; try upvalues */ - int idx = searchupvalue(fs, n); /* try existing upvalues */ - if (idx < 0) { /* not found? */ - singlevaraux(fs->prev, n, var, 0); /* try upper levels */ - if (var->k == VVOID) /* not found? */ - return; /* it is a global */ - /* else was LOCAL or UPVAL */ - idx = newupvalue(fs, n, var); /* will be a new upvalue */ - } - init_exp(var, VUPVAL, idx); /* new or old upvalue */ - } - } -} - - -static void singlevar (LexState *ls, expdesc *var) { - TString *varname = str_checkname(ls); - FuncState *fs = ls->fs; - singlevaraux(fs, varname, var, 1); - if (var->k == VVOID) { /* global name? */ - expdesc key; - singlevaraux(fs, ls->envn, var, 1); /* get environment variable */ - lua_assert(var->k != VVOID); /* this one must exist */ - codestring(ls, &key, varname); /* key is variable name */ - luaK_indexed(fs, var, &key); /* env[varname] */ - } -} - - -static void adjust_assign (LexState *ls, int nvars, int nexps, expdesc *e) { - FuncState *fs = ls->fs; - int extra = nvars - nexps; - if (hasmultret(e->k)) { - extra++; /* includes call itself */ - if (extra < 0) extra = 0; - luaK_setreturns(fs, e, extra); /* last exp. provides the difference */ - if (extra > 1) luaK_reserveregs(fs, extra-1); - } - else { - if (e->k != VVOID) luaK_exp2nextreg(fs, e); /* close last expression */ - if (extra > 0) { - int reg = fs->freereg; - luaK_reserveregs(fs, extra); - luaK_nil(fs, reg, extra); - } - } - if (nexps > nvars) - ls->fs->freereg -= nexps - nvars; /* remove extra values */ -} - - -static void enterlevel (LexState *ls) { - lua_State *L = ls->L; - ++L->nCcalls; - checklimit(ls->fs, L->nCcalls, LUAI_MAXCCALLS, "C levels"); -} - - -#define leavelevel(ls) ((ls)->L->nCcalls--) - - -static void closegoto (LexState *ls, int g, Labeldesc *label) { - int i; - FuncState *fs = ls->fs; - Labellist *gl = &ls->dyd->gt; - Labeldesc *gt = &gl->arr[g]; - lua_assert(eqstr(gt->name, label->name)); - if (gt->nactvar < label->nactvar) { - TString *vname = getlocvar(fs, gt->nactvar)->varname; - const char *msg = luaO_pushfstring(ls->L, - " at line %d jumps into the scope of local '%s'", - getstr(gt->name), gt->line, getstr(vname)); - semerror(ls, msg); - } - luaK_patchlist(fs, gt->pc, label->pc); - /* remove goto from pending list */ - for (i = g; i < gl->n - 1; i++) - gl->arr[i] = gl->arr[i + 1]; - gl->n--; -} - - -/* -** try to close a goto with existing labels; this solves backward jumps -*/ -static int findlabel (LexState *ls, int g) { - int i; - BlockCnt *bl = ls->fs->bl; - Dyndata *dyd = ls->dyd; - Labeldesc *gt = &dyd->gt.arr[g]; - /* check labels in current block for a match */ - for (i = bl->firstlabel; i < dyd->label.n; i++) { - Labeldesc *lb = &dyd->label.arr[i]; - if (eqstr(lb->name, gt->name)) { /* correct label? */ - if (gt->nactvar > lb->nactvar && - (bl->upval || dyd->label.n > bl->firstlabel)) - luaK_patchclose(ls->fs, gt->pc, lb->nactvar); - closegoto(ls, g, lb); /* close it */ - return 1; - } - } - return 0; /* label not found; cannot close goto */ -} - - -static int newlabelentry (LexState *ls, Labellist *l, TString *name, - int line, int pc) { - int n = l->n; - luaM_growvector(ls->L, l->arr, n, l->size, - Labeldesc, SHRT_MAX, "labels/gotos"); - l->arr[n].name = name; - l->arr[n].line = line; - l->arr[n].nactvar = ls->fs->nactvar; - l->arr[n].pc = pc; - l->n = n + 1; - return n; -} - - -/* -** check whether new label 'lb' matches any pending gotos in current -** block; solves forward jumps -*/ -static void findgotos (LexState *ls, Labeldesc *lb) { - Labellist *gl = &ls->dyd->gt; - int i = ls->fs->bl->firstgoto; - while (i < gl->n) { - if (eqstr(gl->arr[i].name, lb->name)) - closegoto(ls, i, lb); - else - i++; - } -} - - -/* -** export pending gotos to outer level, to check them against -** outer labels; if the block being exited has upvalues, and -** the goto exits the scope of any variable (which can be the -** upvalue), close those variables being exited. -*/ -static void movegotosout (FuncState *fs, BlockCnt *bl) { - int i = bl->firstgoto; - Labellist *gl = &fs->ls->dyd->gt; - /* correct pending gotos to current block and try to close it - with visible labels */ - while (i < gl->n) { - Labeldesc *gt = &gl->arr[i]; - if (gt->nactvar > bl->nactvar) { - if (bl->upval) - luaK_patchclose(fs, gt->pc, bl->nactvar); - gt->nactvar = bl->nactvar; - } - if (!findlabel(fs->ls, i)) - i++; /* move to next one */ - } -} - - -static void enterblock (FuncState *fs, BlockCnt *bl, lu_byte isloop) { - bl->isloop = isloop; - bl->nactvar = fs->nactvar; - bl->firstlabel = fs->ls->dyd->label.n; - bl->firstgoto = fs->ls->dyd->gt.n; - bl->upval = 0; - bl->previous = fs->bl; - fs->bl = bl; - lua_assert(fs->freereg == fs->nactvar); -} - - -/* -** create a label named 'break' to resolve break statements -*/ -static void breaklabel (LexState *ls) { - TString *n = luaS_new(ls->L, "break"); - int l = newlabelentry(ls, &ls->dyd->label, n, 0, ls->fs->pc); - findgotos(ls, &ls->dyd->label.arr[l]); -} - -/* -** generates an error for an undefined 'goto'; choose appropriate -** message when label name is a reserved word (which can only be 'break') -*/ -static l_noret undefgoto (LexState *ls, Labeldesc *gt) { - const char *msg = isreserved(gt->name) - ? "<%s> at line %d not inside a loop" - : "no visible label '%s' for at line %d"; - msg = luaO_pushfstring(ls->L, msg, getstr(gt->name), gt->line); - semerror(ls, msg); -} - - -static void leaveblock (FuncState *fs) { - BlockCnt *bl = fs->bl; - LexState *ls = fs->ls; - if (bl->previous && bl->upval) { - /* create a 'jump to here' to close upvalues */ - int j = luaK_jump(fs); - luaK_patchclose(fs, j, bl->nactvar); - luaK_patchtohere(fs, j); - } - if (bl->isloop) - breaklabel(ls); /* close pending breaks */ - fs->bl = bl->previous; - removevars(fs, bl->nactvar); - lua_assert(bl->nactvar == fs->nactvar); - fs->freereg = fs->nactvar; /* free registers */ - ls->dyd->label.n = bl->firstlabel; /* remove local labels */ - if (bl->previous) /* inner block? */ - movegotosout(fs, bl); /* update pending gotos to outer block */ - else if (bl->firstgoto < ls->dyd->gt.n) /* pending gotos in outer block? */ - undefgoto(ls, &ls->dyd->gt.arr[bl->firstgoto]); /* error */ -} - - -/* -** adds a new prototype into list of prototypes -*/ -static Proto *addprototype (LexState *ls) { - Proto *clp; - lua_State *L = ls->L; - FuncState *fs = ls->fs; - Proto *f = fs->f; /* prototype of current function */ - if (fs->np >= f->sizep) { - int oldsize = f->sizep; - luaM_growvector(L, f->p, fs->np, f->sizep, Proto *, MAXARG_Bx, "functions"); - while (oldsize < f->sizep) - f->p[oldsize++] = NULL; - } - f->p[fs->np++] = clp = luaF_newproto(L); - luaC_objbarrier(L, f, clp); - return clp; -} - - -/* -** codes instruction to create new closure in parent function. -** The OP_CLOSURE instruction must use the last available register, -** so that, if it invokes the GC, the GC knows which registers -** are in use at that time. -*/ -static void codeclosure (LexState *ls, expdesc *v) { - FuncState *fs = ls->fs->prev; - init_exp(v, VRELOCABLE, luaK_codeABx(fs, OP_CLOSURE, 0, fs->np - 1)); - luaK_exp2nextreg(fs, v); /* fix it at the last register */ -} - - -static void open_func (LexState *ls, FuncState *fs, BlockCnt *bl) { - Proto *f; - fs->prev = ls->fs; /* linked list of funcstates */ - fs->ls = ls; - ls->fs = fs; - fs->pc = 0; - fs->lasttarget = 0; - fs->jpc = NO_JUMP; - fs->freereg = 0; - fs->nk = 0; - fs->np = 0; - fs->nups = 0; - fs->nlocvars = 0; - fs->nactvar = 0; - fs->firstlocal = ls->dyd->actvar.n; - fs->bl = NULL; - f = fs->f; - f->source = ls->source; - f->maxstacksize = 2; /* registers 0/1 are always valid */ - enterblock(fs, bl, 0); -} - - -static void close_func (LexState *ls) { - lua_State *L = ls->L; - FuncState *fs = ls->fs; - Proto *f = fs->f; - luaK_ret(fs, 0, 0); /* final return */ - leaveblock(fs); - luaM_reallocvector(L, f->code, f->sizecode, fs->pc, Instruction); - f->sizecode = fs->pc; - luaM_reallocvector(L, f->lineinfo, f->sizelineinfo, fs->pc, int); - f->sizelineinfo = fs->pc; - luaM_reallocvector(L, f->k, f->sizek, fs->nk, TValue); - f->sizek = fs->nk; - luaM_reallocvector(L, f->p, f->sizep, fs->np, Proto *); - f->sizep = fs->np; - luaM_reallocvector(L, f->locvars, f->sizelocvars, fs->nlocvars, LocVar); - f->sizelocvars = fs->nlocvars; - luaM_reallocvector(L, f->upvalues, f->sizeupvalues, fs->nups, Upvaldesc); - f->sizeupvalues = fs->nups; - lua_assert(fs->bl == NULL); - ls->fs = fs->prev; - luaC_checkGC(L); -} - - - -/*============================================================*/ -/* GRAMMAR RULES */ -/*============================================================*/ - - -/* -** check whether current token is in the follow set of a block. -** 'until' closes syntactical blocks, but do not close scope, -** so it is handled in separate. -*/ -static int block_follow (LexState *ls, int withuntil) { - switch (ls->t.token) { - case TK_ELSE: case TK_ELSEIF: - case TK_END: case TK_EOS: - return 1; - case TK_UNTIL: return withuntil; - default: return 0; - } -} - - -static void statlist (LexState *ls) { - /* statlist -> { stat [';'] } */ - while (!block_follow(ls, 1)) { - if (ls->t.token == TK_RETURN) { - statement(ls); - return; /* 'return' must be last statement */ - } - statement(ls); - } -} - - -static void fieldsel (LexState *ls, expdesc *v) { - /* fieldsel -> ['.' | ':'] NAME */ - FuncState *fs = ls->fs; - expdesc key; - luaK_exp2anyregup(fs, v); - luaX_next(ls); /* skip the dot or colon */ - checkname(ls, &key); - luaK_indexed(fs, v, &key); -} - - -static void yindex (LexState *ls, expdesc *v) { - /* index -> '[' expr ']' */ - luaX_next(ls); /* skip the '[' */ - expr(ls, v); - luaK_exp2val(ls->fs, v); - checknext(ls, ']'); -} - - -/* -** {====================================================================== -** Rules for Constructors -** ======================================================================= -*/ - - -struct ConsControl { - expdesc v; /* last list item read */ - expdesc *t; /* table descriptor */ - int nh; /* total number of 'record' elements */ - int na; /* total number of array elements */ - int tostore; /* number of array elements pending to be stored */ -}; - - -static void recfield (LexState *ls, struct ConsControl *cc) { - /* recfield -> (NAME | '['exp1']') = exp1 */ - FuncState *fs = ls->fs; - int reg = ls->fs->freereg; - expdesc key, val; - int rkkey; - if (ls->t.token == TK_NAME) { - checklimit(fs, cc->nh, MAX_INT, "items in a constructor"); - checkname(ls, &key); - } - else /* ls->t.token == '[' */ - yindex(ls, &key); - cc->nh++; - checknext(ls, '='); - rkkey = luaK_exp2RK(fs, &key); - expr(ls, &val); - luaK_codeABC(fs, OP_SETTABLE, cc->t->u.info, rkkey, luaK_exp2RK(fs, &val)); - fs->freereg = reg; /* free registers */ -} - - -static void closelistfield (FuncState *fs, struct ConsControl *cc) { - if (cc->v.k == VVOID) return; /* there is no list item */ - luaK_exp2nextreg(fs, &cc->v); - cc->v.k = VVOID; - if (cc->tostore == LFIELDS_PER_FLUSH) { - luaK_setlist(fs, cc->t->u.info, cc->na, cc->tostore); /* flush */ - cc->tostore = 0; /* no more items pending */ - } -} - - -static void lastlistfield (FuncState *fs, struct ConsControl *cc) { - if (cc->tostore == 0) return; - if (hasmultret(cc->v.k)) { - luaK_setmultret(fs, &cc->v); - luaK_setlist(fs, cc->t->u.info, cc->na, LUA_MULTRET); - cc->na--; /* do not count last expression (unknown number of elements) */ - } - else { - if (cc->v.k != VVOID) - luaK_exp2nextreg(fs, &cc->v); - luaK_setlist(fs, cc->t->u.info, cc->na, cc->tostore); - } -} - - -static void listfield (LexState *ls, struct ConsControl *cc) { - /* listfield -> exp */ - expr(ls, &cc->v); - checklimit(ls->fs, cc->na, MAX_INT, "items in a constructor"); - cc->na++; - cc->tostore++; -} - - -static void field (LexState *ls, struct ConsControl *cc) { - /* field -> listfield | recfield */ - switch(ls->t.token) { - case TK_NAME: { /* may be 'listfield' or 'recfield' */ - if (luaX_lookahead(ls) != '=') /* expression? */ - listfield(ls, cc); - else - recfield(ls, cc); - break; - } - case '[': { - recfield(ls, cc); - break; - } - default: { - listfield(ls, cc); - break; - } - } -} - - -static void constructor (LexState *ls, expdesc *t) { - /* constructor -> '{' [ field { sep field } [sep] ] '}' - sep -> ',' | ';' */ - FuncState *fs = ls->fs; - int line = ls->linenumber; - int pc = luaK_codeABC(fs, OP_NEWTABLE, 0, 0, 0); - struct ConsControl cc; - cc.na = cc.nh = cc.tostore = 0; - cc.t = t; - init_exp(t, VRELOCABLE, pc); - init_exp(&cc.v, VVOID, 0); /* no value (yet) */ - luaK_exp2nextreg(ls->fs, t); /* fix it at stack top */ - checknext(ls, '{'); - do { - lua_assert(cc.v.k == VVOID || cc.tostore > 0); - if (ls->t.token == '}') break; - closelistfield(fs, &cc); - field(ls, &cc); - } while (testnext(ls, ',') || testnext(ls, ';')); - check_match(ls, '}', '{', line); - lastlistfield(fs, &cc); - SETARG_B(fs->f->code[pc], luaO_int2fb(cc.na)); /* set initial array size */ - SETARG_C(fs->f->code[pc], luaO_int2fb(cc.nh)); /* set initial table size */ -} - -/* }====================================================================== */ - - - -static void parlist (LexState *ls) { - /* parlist -> [ param { ',' param } ] */ - FuncState *fs = ls->fs; - Proto *f = fs->f; - int nparams = 0; - f->is_vararg = 0; - if (ls->t.token != ')') { /* is 'parlist' not empty? */ - do { - switch (ls->t.token) { - case TK_NAME: { /* param -> NAME */ - new_localvar(ls, str_checkname(ls)); - nparams++; - break; - } - case TK_DOTS: { /* param -> '...' */ - luaX_next(ls); - f->is_vararg = 1; /* declared vararg */ - break; - } - default: luaX_syntaxerror(ls, " or '...' expected"); - } - } while (!f->is_vararg && testnext(ls, ',')); - } - adjustlocalvars(ls, nparams); - f->numparams = cast_byte(fs->nactvar); - luaK_reserveregs(fs, fs->nactvar); /* reserve register for parameters */ -} - - -static void body (LexState *ls, expdesc *e, int ismethod, int line) { - /* body -> '(' parlist ')' block END */ - FuncState new_fs; - BlockCnt bl; - new_fs.f = addprototype(ls); - new_fs.f->linedefined = line; - open_func(ls, &new_fs, &bl); - checknext(ls, '('); - if (ismethod) { - new_localvarliteral(ls, "self"); /* create 'self' parameter */ - adjustlocalvars(ls, 1); - } - parlist(ls); - checknext(ls, ')'); - statlist(ls); - new_fs.f->lastlinedefined = ls->linenumber; - check_match(ls, TK_END, TK_FUNCTION, line); - codeclosure(ls, e); - close_func(ls); -} - - -static int explist (LexState *ls, expdesc *v) { - /* explist -> expr { ',' expr } */ - int n = 1; /* at least one expression */ - expr(ls, v); - while (testnext(ls, ',')) { - luaK_exp2nextreg(ls->fs, v); - expr(ls, v); - n++; - } - return n; -} - - -static void funcargs (LexState *ls, expdesc *f, int line) { - FuncState *fs = ls->fs; - expdesc args; - int base, nparams; - switch (ls->t.token) { - case '(': { /* funcargs -> '(' [ explist ] ')' */ - luaX_next(ls); - if (ls->t.token == ')') /* arg list is empty? */ - args.k = VVOID; - else { - explist(ls, &args); - luaK_setmultret(fs, &args); - } - check_match(ls, ')', '(', line); - break; - } - case '{': { /* funcargs -> constructor */ - constructor(ls, &args); - break; - } - case TK_STRING: { /* funcargs -> STRING */ - codestring(ls, &args, ls->t.seminfo.ts); - luaX_next(ls); /* must use 'seminfo' before 'next' */ - break; - } - default: { - luaX_syntaxerror(ls, "function arguments expected"); - } - } - lua_assert(f->k == VNONRELOC); - base = f->u.info; /* base register for call */ - if (hasmultret(args.k)) - nparams = LUA_MULTRET; /* open call */ - else { - if (args.k != VVOID) - luaK_exp2nextreg(fs, &args); /* close last argument */ - nparams = fs->freereg - (base+1); - } - init_exp(f, VCALL, luaK_codeABC(fs, OP_CALL, base, nparams+1, 2)); - luaK_fixline(fs, line); - fs->freereg = base+1; /* call remove function and arguments and leaves - (unless changed) one result */ -} - - - - -/* -** {====================================================================== -** Expression parsing -** ======================================================================= -*/ - - -static void primaryexp (LexState *ls, expdesc *v) { - /* primaryexp -> NAME | '(' expr ')' */ - switch (ls->t.token) { - case '(': { - int line = ls->linenumber; - luaX_next(ls); - expr(ls, v); - check_match(ls, ')', '(', line); - luaK_dischargevars(ls->fs, v); - return; - } - case TK_NAME: { - singlevar(ls, v); - return; - } - default: { - luaX_syntaxerror(ls, "unexpected symbol"); - } - } -} - - -static void suffixedexp (LexState *ls, expdesc *v) { - /* suffixedexp -> - primaryexp { '.' NAME | '[' exp ']' | ':' NAME funcargs | funcargs } */ - FuncState *fs = ls->fs; - int line = ls->linenumber; - primaryexp(ls, v); - for (;;) { - switch (ls->t.token) { - case '.': { /* fieldsel */ - fieldsel(ls, v); - break; - } - case '[': { /* '[' exp1 ']' */ - expdesc key; - luaK_exp2anyregup(fs, v); - yindex(ls, &key); - luaK_indexed(fs, v, &key); - break; - } - case ':': { /* ':' NAME funcargs */ - expdesc key; - luaX_next(ls); - checkname(ls, &key); - luaK_self(fs, v, &key); - funcargs(ls, v, line); - break; - } - case '(': case TK_STRING: case '{': { /* funcargs */ - luaK_exp2nextreg(fs, v); - funcargs(ls, v, line); - break; - } - default: return; - } - } -} - - -static void simpleexp (LexState *ls, expdesc *v) { - /* simpleexp -> FLT | INT | STRING | NIL | TRUE | FALSE | ... | - constructor | FUNCTION body | suffixedexp */ - switch (ls->t.token) { - case TK_FLT: { - init_exp(v, VKFLT, 0); - v->u.nval = ls->t.seminfo.r; - break; - } - case TK_INT: { - init_exp(v, VKINT, 0); - v->u.ival = ls->t.seminfo.i; - break; - } - case TK_STRING: { - codestring(ls, v, ls->t.seminfo.ts); - break; - } - case TK_NIL: { - init_exp(v, VNIL, 0); - break; - } - case TK_TRUE: { - init_exp(v, VTRUE, 0); - break; - } - case TK_FALSE: { - init_exp(v, VFALSE, 0); - break; - } - case TK_DOTS: { /* vararg */ - FuncState *fs = ls->fs; - check_condition(ls, fs->f->is_vararg, - "cannot use '...' outside a vararg function"); - init_exp(v, VVARARG, luaK_codeABC(fs, OP_VARARG, 0, 1, 0)); - break; - } - case '{': { /* constructor */ - constructor(ls, v); - return; - } - case TK_FUNCTION: { - luaX_next(ls); - body(ls, v, 0, ls->linenumber); - return; - } - default: { - suffixedexp(ls, v); - return; - } - } - luaX_next(ls); -} - - -static UnOpr getunopr (int op) { - switch (op) { - case TK_NOT: return OPR_NOT; - case '-': return OPR_MINUS; - case '~': return OPR_BNOT; - case '#': return OPR_LEN; - default: return OPR_NOUNOPR; - } -} - - -static BinOpr getbinopr (int op) { - switch (op) { - case '+': return OPR_ADD; - case '-': return OPR_SUB; - case '*': return OPR_MUL; - case '%': return OPR_MOD; - case '^': return OPR_POW; - case '/': return OPR_DIV; - case TK_IDIV: return OPR_IDIV; - case '&': return OPR_BAND; - case '|': return OPR_BOR; - case '~': return OPR_BXOR; - case TK_SHL: return OPR_SHL; - case TK_SHR: return OPR_SHR; - case TK_CONCAT: return OPR_CONCAT; - case TK_NE: return OPR_NE; - case TK_EQ: return OPR_EQ; - case '<': return OPR_LT; - case TK_LE: return OPR_LE; - case '>': return OPR_GT; - case TK_GE: return OPR_GE; - case TK_AND: return OPR_AND; - case TK_OR: return OPR_OR; - default: return OPR_NOBINOPR; - } -} - - -static const struct { - lu_byte left; /* left priority for each binary operator */ - lu_byte right; /* right priority */ -} priority[] = { /* ORDER OPR */ - {10, 10}, {10, 10}, /* '+' '-' */ - {11, 11}, {11, 11}, /* '*' '%' */ - {14, 13}, /* '^' (right associative) */ - {11, 11}, {11, 11}, /* '/' '//' */ - {6, 6}, {4, 4}, {5, 5}, /* '&' '|' '~' */ - {7, 7}, {7, 7}, /* '<<' '>>' */ - {9, 8}, /* '..' (right associative) */ - {3, 3}, {3, 3}, {3, 3}, /* ==, <, <= */ - {3, 3}, {3, 3}, {3, 3}, /* ~=, >, >= */ - {2, 2}, {1, 1} /* and, or */ -}; - -#define UNARY_PRIORITY 12 /* priority for unary operators */ - - -/* -** subexpr -> (simpleexp | unop subexpr) { binop subexpr } -** where 'binop' is any binary operator with a priority higher than 'limit' -*/ -static BinOpr subexpr (LexState *ls, expdesc *v, int limit) { - BinOpr op; - UnOpr uop; - enterlevel(ls); - uop = getunopr(ls->t.token); - if (uop != OPR_NOUNOPR) { - int line = ls->linenumber; - luaX_next(ls); - subexpr(ls, v, UNARY_PRIORITY); - luaK_prefix(ls->fs, uop, v, line); - } - else simpleexp(ls, v); - /* expand while operators have priorities higher than 'limit' */ - op = getbinopr(ls->t.token); - while (op != OPR_NOBINOPR && priority[op].left > limit) { - expdesc v2; - BinOpr nextop; - int line = ls->linenumber; - luaX_next(ls); - luaK_infix(ls->fs, op, v); - /* read sub-expression with higher priority */ - nextop = subexpr(ls, &v2, priority[op].right); - luaK_posfix(ls->fs, op, v, &v2, line); - op = nextop; - } - leavelevel(ls); - return op; /* return first untreated operator */ -} - - -static void expr (LexState *ls, expdesc *v) { - subexpr(ls, v, 0); -} - -/* }==================================================================== */ - - - -/* -** {====================================================================== -** Rules for Statements -** ======================================================================= -*/ - - -static void block (LexState *ls) { - /* block -> statlist */ - FuncState *fs = ls->fs; - BlockCnt bl; - enterblock(fs, &bl, 0); - statlist(ls); - leaveblock(fs); -} - - -/* -** structure to chain all variables in the left-hand side of an -** assignment -*/ -struct LHS_assign { - struct LHS_assign *prev; - expdesc v; /* variable (global, local, upvalue, or indexed) */ -}; - - -/* -** check whether, in an assignment to an upvalue/local variable, the -** upvalue/local variable is begin used in a previous assignment to a -** table. If so, save original upvalue/local value in a safe place and -** use this safe copy in the previous assignment. -*/ -static void check_conflict (LexState *ls, struct LHS_assign *lh, expdesc *v) { - FuncState *fs = ls->fs; - int extra = fs->freereg; /* eventual position to save local variable */ - int conflict = 0; - for (; lh; lh = lh->prev) { /* check all previous assignments */ - if (lh->v.k == VINDEXED) { /* assigning to a table? */ - /* table is the upvalue/local being assigned now? */ - if (lh->v.u.ind.vt == v->k && lh->v.u.ind.t == v->u.info) { - conflict = 1; - lh->v.u.ind.vt = VLOCAL; - lh->v.u.ind.t = extra; /* previous assignment will use safe copy */ - } - /* index is the local being assigned? (index cannot be upvalue) */ - if (v->k == VLOCAL && lh->v.u.ind.idx == v->u.info) { - conflict = 1; - lh->v.u.ind.idx = extra; /* previous assignment will use safe copy */ - } - } - } - if (conflict) { - /* copy upvalue/local value to a temporary (in position 'extra') */ - OpCode op = (v->k == VLOCAL) ? OP_MOVE : OP_GETUPVAL; - luaK_codeABC(fs, op, extra, v->u.info, 0); - luaK_reserveregs(fs, 1); - } -} - - -static void assignment (LexState *ls, struct LHS_assign *lh, int nvars) { - expdesc e; - check_condition(ls, vkisvar(lh->v.k), "syntax error"); - if (testnext(ls, ',')) { /* assignment -> ',' suffixedexp assignment */ - struct LHS_assign nv; - nv.prev = lh; - suffixedexp(ls, &nv.v); - if (nv.v.k != VINDEXED) - check_conflict(ls, lh, &nv.v); - checklimit(ls->fs, nvars + ls->L->nCcalls, LUAI_MAXCCALLS, - "C levels"); - assignment(ls, &nv, nvars+1); - } - else { /* assignment -> '=' explist */ - int nexps; - checknext(ls, '='); - nexps = explist(ls, &e); - if (nexps != nvars) - adjust_assign(ls, nvars, nexps, &e); - else { - luaK_setoneret(ls->fs, &e); /* close last expression */ - luaK_storevar(ls->fs, &lh->v, &e); - return; /* avoid default */ - } - } - init_exp(&e, VNONRELOC, ls->fs->freereg-1); /* default assignment */ - luaK_storevar(ls->fs, &lh->v, &e); -} - - -static int cond (LexState *ls) { - /* cond -> exp */ - expdesc v; - expr(ls, &v); /* read condition */ - if (v.k == VNIL) v.k = VFALSE; /* 'falses' are all equal here */ - luaK_goiftrue(ls->fs, &v); - return v.f; -} - - -static void gotostat (LexState *ls, int pc) { - int line = ls->linenumber; - TString *label; - int g; - if (testnext(ls, TK_GOTO)) - label = str_checkname(ls); - else { - luaX_next(ls); /* skip break */ - label = luaS_new(ls->L, "break"); - } - g = newlabelentry(ls, &ls->dyd->gt, label, line, pc); - findlabel(ls, g); /* close it if label already defined */ -} - - -/* check for repeated labels on the same block */ -static void checkrepeated (FuncState *fs, Labellist *ll, TString *label) { - int i; - for (i = fs->bl->firstlabel; i < ll->n; i++) { - if (eqstr(label, ll->arr[i].name)) { - const char *msg = luaO_pushfstring(fs->ls->L, - "label '%s' already defined on line %d", - getstr(label), ll->arr[i].line); - semerror(fs->ls, msg); - } - } -} - - -/* skip no-op statements */ -static void skipnoopstat (LexState *ls) { - while (ls->t.token == ';' || ls->t.token == TK_DBCOLON) - statement(ls); -} - - -static void labelstat (LexState *ls, TString *label, int line) { - /* label -> '::' NAME '::' */ - FuncState *fs = ls->fs; - Labellist *ll = &ls->dyd->label; - int l; /* index of new label being created */ - checkrepeated(fs, ll, label); /* check for repeated labels */ - checknext(ls, TK_DBCOLON); /* skip double colon */ - /* create new entry for this label */ - l = newlabelentry(ls, ll, label, line, luaK_getlabel(fs)); - skipnoopstat(ls); /* skip other no-op statements */ - if (block_follow(ls, 0)) { /* label is last no-op statement in the block? */ - /* assume that locals are already out of scope */ - ll->arr[l].nactvar = fs->bl->nactvar; - } - findgotos(ls, &ll->arr[l]); -} - - -static void whilestat (LexState *ls, int line) { - /* whilestat -> WHILE cond DO block END */ - FuncState *fs = ls->fs; - int whileinit; - int condexit; - BlockCnt bl; - luaX_next(ls); /* skip WHILE */ - whileinit = luaK_getlabel(fs); - condexit = cond(ls); - enterblock(fs, &bl, 1); - checknext(ls, TK_DO); - block(ls); - luaK_jumpto(fs, whileinit); - check_match(ls, TK_END, TK_WHILE, line); - leaveblock(fs); - luaK_patchtohere(fs, condexit); /* false conditions finish the loop */ -} - - -static void repeatstat (LexState *ls, int line) { - /* repeatstat -> REPEAT block UNTIL cond */ - int condexit; - FuncState *fs = ls->fs; - int repeat_init = luaK_getlabel(fs); - BlockCnt bl1, bl2; - enterblock(fs, &bl1, 1); /* loop block */ - enterblock(fs, &bl2, 0); /* scope block */ - luaX_next(ls); /* skip REPEAT */ - statlist(ls); - check_match(ls, TK_UNTIL, TK_REPEAT, line); - condexit = cond(ls); /* read condition (inside scope block) */ - if (bl2.upval) /* upvalues? */ - luaK_patchclose(fs, condexit, bl2.nactvar); - leaveblock(fs); /* finish scope */ - luaK_patchlist(fs, condexit, repeat_init); /* close the loop */ - leaveblock(fs); /* finish loop */ -} - - -static int exp1 (LexState *ls) { - expdesc e; - int reg; - expr(ls, &e); - luaK_exp2nextreg(ls->fs, &e); - lua_assert(e.k == VNONRELOC); - reg = e.u.info; - return reg; -} - - -static void forbody (LexState *ls, int base, int line, int nvars, int isnum) { - /* forbody -> DO block */ - BlockCnt bl; - FuncState *fs = ls->fs; - int prep, endfor; - adjustlocalvars(ls, 3); /* control variables */ - checknext(ls, TK_DO); - prep = isnum ? luaK_codeAsBx(fs, OP_FORPREP, base, NO_JUMP) : luaK_jump(fs); - enterblock(fs, &bl, 0); /* scope for declared variables */ - adjustlocalvars(ls, nvars); - luaK_reserveregs(fs, nvars); - block(ls); - leaveblock(fs); /* end of scope for declared variables */ - luaK_patchtohere(fs, prep); - if (isnum) /* numeric for? */ - endfor = luaK_codeAsBx(fs, OP_FORLOOP, base, NO_JUMP); - else { /* generic for */ - luaK_codeABC(fs, OP_TFORCALL, base, 0, nvars); - luaK_fixline(fs, line); - endfor = luaK_codeAsBx(fs, OP_TFORLOOP, base + 2, NO_JUMP); - } - luaK_patchlist(fs, endfor, prep + 1); - luaK_fixline(fs, line); -} - - -static void fornum (LexState *ls, TString *varname, int line) { - /* fornum -> NAME = exp1,exp1[,exp1] forbody */ - FuncState *fs = ls->fs; - int base = fs->freereg; - new_localvarliteral(ls, "(for index)"); - new_localvarliteral(ls, "(for limit)"); - new_localvarliteral(ls, "(for step)"); - new_localvar(ls, varname); - checknext(ls, '='); - exp1(ls); /* initial value */ - checknext(ls, ','); - exp1(ls); /* limit */ - if (testnext(ls, ',')) - exp1(ls); /* optional step */ - else { /* default step = 1 */ - luaK_codek(fs, fs->freereg, luaK_intK(fs, 1)); - luaK_reserveregs(fs, 1); - } - forbody(ls, base, line, 1, 1); -} - - -static void forlist (LexState *ls, TString *indexname) { - /* forlist -> NAME {,NAME} IN explist forbody */ - FuncState *fs = ls->fs; - expdesc e; - int nvars = 4; /* gen, state, control, plus at least one declared var */ - int line; - int base = fs->freereg; - /* create control variables */ - new_localvarliteral(ls, "(for generator)"); - new_localvarliteral(ls, "(for state)"); - new_localvarliteral(ls, "(for control)"); - /* create declared variables */ - new_localvar(ls, indexname); - while (testnext(ls, ',')) { - new_localvar(ls, str_checkname(ls)); - nvars++; - } - checknext(ls, TK_IN); - line = ls->linenumber; - adjust_assign(ls, 3, explist(ls, &e), &e); - luaK_checkstack(fs, 3); /* extra space to call generator */ - forbody(ls, base, line, nvars - 3, 0); -} - - -static void forstat (LexState *ls, int line) { - /* forstat -> FOR (fornum | forlist) END */ - FuncState *fs = ls->fs; - TString *varname; - BlockCnt bl; - enterblock(fs, &bl, 1); /* scope for loop and control variables */ - luaX_next(ls); /* skip 'for' */ - varname = str_checkname(ls); /* first variable name */ - switch (ls->t.token) { - case '=': fornum(ls, varname, line); break; - case ',': case TK_IN: forlist(ls, varname); break; - default: luaX_syntaxerror(ls, "'=' or 'in' expected"); - } - check_match(ls, TK_END, TK_FOR, line); - leaveblock(fs); /* loop scope ('break' jumps to this point) */ -} - - -static void test_then_block (LexState *ls, int *escapelist) { - /* test_then_block -> [IF | ELSEIF] cond THEN block */ - BlockCnt bl; - FuncState *fs = ls->fs; - expdesc v; - int jf; /* instruction to skip 'then' code (if condition is false) */ - luaX_next(ls); /* skip IF or ELSEIF */ - expr(ls, &v); /* read condition */ - checknext(ls, TK_THEN); - if (ls->t.token == TK_GOTO || ls->t.token == TK_BREAK) { - luaK_goiffalse(ls->fs, &v); /* will jump to label if condition is true */ - enterblock(fs, &bl, 0); /* must enter block before 'goto' */ - gotostat(ls, v.t); /* handle goto/break */ - while (testnext(ls, ';')) {} /* skip colons */ - if (block_follow(ls, 0)) { /* 'goto' is the entire block? */ - leaveblock(fs); - return; /* and that is it */ - } - else /* must skip over 'then' part if condition is false */ - jf = luaK_jump(fs); - } - else { /* regular case (not goto/break) */ - luaK_goiftrue(ls->fs, &v); /* skip over block if condition is false */ - enterblock(fs, &bl, 0); - jf = v.f; - } - statlist(ls); /* 'then' part */ - leaveblock(fs); - if (ls->t.token == TK_ELSE || - ls->t.token == TK_ELSEIF) /* followed by 'else'/'elseif'? */ - luaK_concat(fs, escapelist, luaK_jump(fs)); /* must jump over it */ - luaK_patchtohere(fs, jf); -} - - -static void ifstat (LexState *ls, int line) { - /* ifstat -> IF cond THEN block {ELSEIF cond THEN block} [ELSE block] END */ - FuncState *fs = ls->fs; - int escapelist = NO_JUMP; /* exit list for finished parts */ - test_then_block(ls, &escapelist); /* IF cond THEN block */ - while (ls->t.token == TK_ELSEIF) - test_then_block(ls, &escapelist); /* ELSEIF cond THEN block */ - if (testnext(ls, TK_ELSE)) - block(ls); /* 'else' part */ - check_match(ls, TK_END, TK_IF, line); - luaK_patchtohere(fs, escapelist); /* patch escape list to 'if' end */ -} - - -static void localfunc (LexState *ls) { - expdesc b; - FuncState *fs = ls->fs; - new_localvar(ls, str_checkname(ls)); /* new local variable */ - adjustlocalvars(ls, 1); /* enter its scope */ - body(ls, &b, 0, ls->linenumber); /* function created in next register */ - /* debug information will only see the variable after this point! */ - getlocvar(fs, b.u.info)->startpc = fs->pc; -} - - -static void localstat (LexState *ls) { - /* stat -> LOCAL NAME {',' NAME} ['=' explist] */ - int nvars = 0; - int nexps; - expdesc e; - do { - new_localvar(ls, str_checkname(ls)); - nvars++; - } while (testnext(ls, ',')); - if (testnext(ls, '=')) - nexps = explist(ls, &e); - else { - e.k = VVOID; - nexps = 0; - } - adjust_assign(ls, nvars, nexps, &e); - adjustlocalvars(ls, nvars); -} - - -static int funcname (LexState *ls, expdesc *v) { - /* funcname -> NAME {fieldsel} [':' NAME] */ - int ismethod = 0; - singlevar(ls, v); - while (ls->t.token == '.') - fieldsel(ls, v); - if (ls->t.token == ':') { - ismethod = 1; - fieldsel(ls, v); - } - return ismethod; -} - - -static void funcstat (LexState *ls, int line) { - /* funcstat -> FUNCTION funcname body */ - int ismethod; - expdesc v, b; - luaX_next(ls); /* skip FUNCTION */ - ismethod = funcname(ls, &v); - body(ls, &b, ismethod, line); - luaK_storevar(ls->fs, &v, &b); - luaK_fixline(ls->fs, line); /* definition "happens" in the first line */ -} - - -static void exprstat (LexState *ls) { - /* stat -> func | assignment */ - FuncState *fs = ls->fs; - struct LHS_assign v; - suffixedexp(ls, &v.v); - if (ls->t.token == '=' || ls->t.token == ',') { /* stat -> assignment ? */ - v.prev = NULL; - assignment(ls, &v, 1); - } - else { /* stat -> func */ - check_condition(ls, v.v.k == VCALL, "syntax error"); - SETARG_C(getinstruction(fs, &v.v), 1); /* call statement uses no results */ - } -} - - -static void retstat (LexState *ls) { - /* stat -> RETURN [explist] [';'] */ - FuncState *fs = ls->fs; - expdesc e; - int first, nret; /* registers with returned values */ - if (block_follow(ls, 1) || ls->t.token == ';') - first = nret = 0; /* return no values */ - else { - nret = explist(ls, &e); /* optional return values */ - if (hasmultret(e.k)) { - luaK_setmultret(fs, &e); - if (e.k == VCALL && nret == 1) { /* tail call? */ - SET_OPCODE(getinstruction(fs,&e), OP_TAILCALL); - lua_assert(GETARG_A(getinstruction(fs,&e)) == fs->nactvar); - } - first = fs->nactvar; - nret = LUA_MULTRET; /* return all values */ - } - else { - if (nret == 1) /* only one single value? */ - first = luaK_exp2anyreg(fs, &e); - else { - luaK_exp2nextreg(fs, &e); /* values must go to the stack */ - first = fs->nactvar; /* return all active values */ - lua_assert(nret == fs->freereg - first); - } - } - } - luaK_ret(fs, first, nret); - testnext(ls, ';'); /* skip optional semicolon */ -} - - -static void statement (LexState *ls) { - int line = ls->linenumber; /* may be needed for error messages */ - enterlevel(ls); - switch (ls->t.token) { - case ';': { /* stat -> ';' (empty statement) */ - luaX_next(ls); /* skip ';' */ - break; - } - case TK_IF: { /* stat -> ifstat */ - ifstat(ls, line); - break; - } - case TK_WHILE: { /* stat -> whilestat */ - whilestat(ls, line); - break; - } - case TK_DO: { /* stat -> DO block END */ - luaX_next(ls); /* skip DO */ - block(ls); - check_match(ls, TK_END, TK_DO, line); - break; - } - case TK_FOR: { /* stat -> forstat */ - forstat(ls, line); - break; - } - case TK_REPEAT: { /* stat -> repeatstat */ - repeatstat(ls, line); - break; - } - case TK_FUNCTION: { /* stat -> funcstat */ - funcstat(ls, line); - break; - } - case TK_LOCAL: { /* stat -> localstat */ - luaX_next(ls); /* skip LOCAL */ - if (testnext(ls, TK_FUNCTION)) /* local function? */ - localfunc(ls); - else - localstat(ls); - break; - } - case TK_DBCOLON: { /* stat -> label */ - luaX_next(ls); /* skip double colon */ - labelstat(ls, str_checkname(ls), line); - break; - } - case TK_RETURN: { /* stat -> retstat */ - luaX_next(ls); /* skip RETURN */ - retstat(ls); - break; - } - case TK_BREAK: /* stat -> breakstat */ - case TK_GOTO: { /* stat -> 'goto' NAME */ - gotostat(ls, luaK_jump(ls->fs)); - break; - } - default: { /* stat -> func | assignment */ - exprstat(ls); - break; - } - } - lua_assert(ls->fs->f->maxstacksize >= ls->fs->freereg && - ls->fs->freereg >= ls->fs->nactvar); - ls->fs->freereg = ls->fs->nactvar; /* free registers */ - leavelevel(ls); -} - -/* }====================================================================== */ - - -/* -** compiles the main function, which is a regular vararg function with an -** upvalue named LUA_ENV -*/ -static void mainfunc (LexState *ls, FuncState *fs) { - BlockCnt bl; - expdesc v; - open_func(ls, fs, &bl); - fs->f->is_vararg = 1; /* main function is always declared vararg */ - init_exp(&v, VLOCAL, 0); /* create and... */ - newupvalue(fs, ls->envn, &v); /* ...set environment upvalue */ - luaX_next(ls); /* read first token */ - statlist(ls); /* parse main body */ - check(ls, TK_EOS); - close_func(ls); -} - - -LClosure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff, - Dyndata *dyd, const char *name, int firstchar) { - LexState lexstate; - FuncState funcstate; - LClosure *cl = luaF_newLclosure(L, 1); /* create main closure */ - setclLvalue(L, L->top, cl); /* anchor it (to avoid being collected) */ - luaD_inctop(L); - lexstate.h = luaH_new(L); /* create table for scanner */ - sethvalue(L, L->top, lexstate.h); /* anchor it */ - luaD_inctop(L); - funcstate.f = cl->p = luaF_newproto(L); - funcstate.f->source = luaS_new(L, name); /* create and anchor TString */ - lua_assert(iswhite(funcstate.f)); /* do not need barrier here */ - lexstate.buff = buff; - lexstate.dyd = dyd; - dyd->actvar.n = dyd->gt.n = dyd->label.n = 0; - luaX_setinput(L, &lexstate, z, funcstate.f->source, firstchar); - mainfunc(&lexstate, &funcstate); - lua_assert(!funcstate.prev && funcstate.nups == 1 && !lexstate.fs); - /* all scopes should be correctly finished */ - lua_assert(dyd->actvar.n == 0 && dyd->gt.n == 0 && dyd->label.n == 0); - L->top--; /* remove scanner's table */ - return cl; /* closure is on the stack, too */ -} - diff --git a/User/lua/src-bak/lparser.h b/User/lua/src-bak/lparser.h deleted file mode 100644 index 954beab..0000000 --- a/User/lua/src-bak/lparser.h +++ /dev/null @@ -1,133 +0,0 @@ -/* -** $Id: lparser.h,v 1.76.1.1 2017/04/19 17:20:42 roberto Exp $ -** Lua Parser -** See Copyright Notice in lua.h -*/ - -#ifndef lparser_h -#define lparser_h - -#include "llimits.h" -#include "lobject.h" -#include "lzio.h" - - -/* -** Expression and variable descriptor. -** Code generation for variables and expressions can be delayed to allow -** optimizations; An 'expdesc' structure describes a potentially-delayed -** variable/expression. It has a description of its "main" value plus a -** list of conditional jumps that can also produce its value (generated -** by short-circuit operators 'and'/'or'). -*/ - -/* kinds of variables/expressions */ -typedef enum { - VVOID, /* when 'expdesc' describes the last expression a list, - this kind means an empty list (so, no expression) */ - VNIL, /* constant nil */ - VTRUE, /* constant true */ - VFALSE, /* constant false */ - VK, /* constant in 'k'; info = index of constant in 'k' */ - VKFLT, /* floating constant; nval = numerical float value */ - VKINT, /* integer constant; nval = numerical integer value */ - VNONRELOC, /* expression has its value in a fixed register; - info = result register */ - VLOCAL, /* local variable; info = local register */ - VUPVAL, /* upvalue variable; info = index of upvalue in 'upvalues' */ - VINDEXED, /* indexed variable; - ind.vt = whether 't' is register or upvalue; - ind.t = table register or upvalue; - ind.idx = key's R/K index */ - VJMP, /* expression is a test/comparison; - info = pc of corresponding jump instruction */ - VRELOCABLE, /* expression can put result in any register; - info = instruction pc */ - VCALL, /* expression is a function call; info = instruction pc */ - VVARARG /* vararg expression; info = instruction pc */ -} expkind; - - -#define vkisvar(k) (VLOCAL <= (k) && (k) <= VINDEXED) -#define vkisinreg(k) ((k) == VNONRELOC || (k) == VLOCAL) - -typedef struct expdesc { - expkind k; - union { - lua_Integer ival; /* for VKINT */ - lua_Number nval; /* for VKFLT */ - int info; /* for generic use */ - struct { /* for indexed variables (VINDEXED) */ - short idx; /* index (R/K) */ - lu_byte t; /* table (register or upvalue) */ - lu_byte vt; /* whether 't' is register (VLOCAL) or upvalue (VUPVAL) */ - } ind; - } u; - int t; /* patch list of 'exit when true' */ - int f; /* patch list of 'exit when false' */ -} expdesc; - - -/* description of active local variable */ -typedef struct Vardesc { - short idx; /* variable index in stack */ -} Vardesc; - - -/* description of pending goto statements and label statements */ -typedef struct Labeldesc { - TString *name; /* label identifier */ - int pc; /* position in code */ - int line; /* line where it appeared */ - lu_byte nactvar; /* local level where it appears in current block */ -} Labeldesc; - - -/* list of labels or gotos */ -typedef struct Labellist { - Labeldesc *arr; /* array */ - int n; /* number of entries in use */ - int size; /* array size */ -} Labellist; - - -/* dynamic structures used by the parser */ -typedef struct Dyndata { - struct { /* list of active local variables */ - Vardesc *arr; - int n; - int size; - } actvar; - Labellist gt; /* list of pending gotos */ - Labellist label; /* list of active labels */ -} Dyndata; - - -/* control of blocks */ -struct BlockCnt; /* defined in lparser.c */ - - -/* state needed to generate code for a given function */ -typedef struct FuncState { - Proto *f; /* current function header */ - struct FuncState *prev; /* enclosing function */ - struct LexState *ls; /* lexical state */ - struct BlockCnt *bl; /* chain of current blocks */ - int pc; /* next position to code (equivalent to 'ncode') */ - int lasttarget; /* 'label' of last 'jump label' */ - int jpc; /* list of pending jumps to 'pc' */ - int nk; /* number of elements in 'k' */ - int np; /* number of elements in 'p' */ - int firstlocal; /* index of first local var (in Dyndata array) */ - short nlocvars; /* number of elements in 'f->locvars' */ - lu_byte nactvar; /* number of active local variables */ - lu_byte nups; /* number of upvalues */ - lu_byte freereg; /* first free register */ -} FuncState; - - -LUAI_FUNC LClosure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff, - Dyndata *dyd, const char *name, int firstchar); - - -#endif diff --git a/User/lua/src-bak/lprefix.h b/User/lua/src-bak/lprefix.h deleted file mode 100644 index c125acc..0000000 --- a/User/lua/src-bak/lprefix.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -** $Id: lprefix.h,v 1.2.1.1 2017/04/19 17:20:42 roberto Exp $ -** Definitions for Lua code that must come before any other header file -** See Copyright Notice in lua.h -*/ - -#ifndef lprefix_h -#define lprefix_h - - -/* -** Allows POSIX/XSI stuff -*/ -#if !defined(LUA_USE_C89) /* { */ - -#if !defined(_XOPEN_SOURCE) -#define _XOPEN_SOURCE 600 -#elif _XOPEN_SOURCE == 0 -#undef _XOPEN_SOURCE /* use -D_XOPEN_SOURCE=0 to undefine it */ -#endif - -/* -** Allows manipulation of large files in gcc and some other compilers -*/ -#if !defined(LUA_32BITS) && !defined(_FILE_OFFSET_BITS) -#define _LARGEFILE_SOURCE 1 -#define _FILE_OFFSET_BITS 64 -#endif - -#endif /* } */ - - -/* -** Windows stuff -*/ -#if defined(_WIN32) /* { */ - -#if !defined(_CRT_SECURE_NO_WARNINGS) -#define _CRT_SECURE_NO_WARNINGS /* avoid warnings about ISO C functions */ -#endif - -#endif /* } */ - -#endif - diff --git a/User/lua/src-bak/lstate.c b/User/lua/src-bak/lstate.c deleted file mode 100644 index 222c9f1..0000000 --- a/User/lua/src-bak/lstate.c +++ /dev/null @@ -1,348 +0,0 @@ -/* -** $Id: lstate.c,v 2.133.1.1 2017/04/19 17:39:34 roberto Exp $ -** Global State -** See Copyright Notice in lua.h -*/ - -#define lstate_c -#define LUA_CORE - -#include "lprefix.h" - -#include -#include - -#include "lua.h" - -#include "lapi.h" -#include "ldebug.h" -#include "ldo.h" -#include "lfunc.h" -#include "lgc.h" -#include "llex.h" -#include "lmem.h" -#include "lstate.h" -#include "lstring.h" -#include "ltable.h" -#include "ltm.h" - -#if !defined(LUAI_GCPAUSE) -#define LUAI_GCPAUSE 200 /* 200% */ -#endif - -#if !defined(LUAI_GCMUL) -#define LUAI_GCMUL 200 /* GC runs 'twice the speed' of memory allocation */ -#endif - -/* -** a macro to help the creation of a unique random seed when a state is -** created; the seed is used to randomize hashes. -*/ -#if !defined(luai_makeseed) -#include -#define luai_makeseed() cast(unsigned int, time(NULL)) -#endif - -/* -** thread state + extra space -*/ -typedef struct LX -{ - lu_byte extra_[LUA_EXTRASPACE]; - lua_State l; -} LX; - -/* -** Main thread combines a thread state and the global state -*/ -typedef struct LG -{ - LX l; - global_State g; -} LG; - -#define fromstate(L) (cast(LX *, cast(lu_byte *, (L)) - offsetof(LX, l))) - -/* -** Compute an initial seed as random as possible. Rely on Address Space -** Layout Randomization (if present) to increase randomness.. -*/ -#define addbuff(b, p, e) \ - { \ - size_t t = cast(size_t, e); \ - memcpy(b + p, &t, sizeof(t)); \ - p += sizeof(t); \ - } - -static unsigned int makeseed(lua_State *L) -{ - char buff[4 * sizeof(size_t)]; - unsigned int h = luai_makeseed(); - int p = 0; - addbuff(buff, p, L); /* heap variable */ - addbuff(buff, p, &h); /* local variable */ - addbuff(buff, p, luaO_nilobject); /* global variable */ - addbuff(buff, p, &lua_newstate); /* public function */ - lua_assert(p == sizeof(buff)); - return luaS_hash(buff, p, h); -} - -/* -** set GCdebt to a new value keeping the value (totalbytes + GCdebt) -** invariant (and avoiding underflows in 'totalbytes') -*/ -void luaE_setdebt(global_State *g, l_mem debt) -{ - l_mem tb = gettotalbytes(g); - lua_assert(tb > 0); - if (debt < tb - MAX_LMEM) - debt = tb - MAX_LMEM; /* will make 'totalbytes == MAX_LMEM' */ - g->totalbytes = tb - debt; - g->GCdebt = debt; -} - -CallInfo *luaE_extendCI(lua_State *L) -{ - CallInfo *ci = luaM_new(L, CallInfo); - lua_assert(L->ci->next == NULL); - L->ci->next = ci; - ci->previous = L->ci; - ci->next = NULL; - L->nci++; - return ci; -} - -/* -** free all CallInfo structures not in use by a thread -*/ -void luaE_freeCI(lua_State *L) -{ - CallInfo *ci = L->ci; - CallInfo *next = ci->next; - ci->next = NULL; - while ((ci = next) != NULL) - { - next = ci->next; - luaM_free(L, ci); - L->nci--; - } -} - -/* -** free half of the CallInfo structures not in use by a thread -*/ -void luaE_shrinkCI(lua_State *L) -{ - CallInfo *ci = L->ci; - CallInfo *next2; /* next's next */ - /* while there are two nexts */ - while (ci->next != NULL && (next2 = ci->next->next) != NULL) - { - luaM_free(L, ci->next); /* free next */ - L->nci--; - ci->next = next2; /* remove 'next' from the list */ - next2->previous = ci; - ci = next2; /* keep next's next */ - } -} - -static void stack_init(lua_State *L1, lua_State *L) -{ - int i; - CallInfo *ci; - /* initialize stack array */ - L1->stack = luaM_newvector(L, BASIC_STACK_SIZE, TValue); - L1->stacksize = BASIC_STACK_SIZE; - for (i = 0; i < BASIC_STACK_SIZE; i++) - setnilvalue(L1->stack + i); /* erase new stack */ - L1->top = L1->stack; - L1->stack_last = L1->stack + L1->stacksize - EXTRA_STACK; - /* initialize first ci */ - ci = &L1->base_ci; - ci->next = ci->previous = NULL; - ci->callstatus = 0; - ci->func = L1->top; - setnilvalue(L1->top++); /* 'function' entry for this 'ci' */ - ci->top = L1->top + LUA_MINSTACK; - L1->ci = ci; -} - -static void freestack(lua_State *L) -{ - if (L->stack == NULL) - return; /* stack not completely built yet */ - L->ci = &L->base_ci; /* free the entire 'ci' list */ - luaE_freeCI(L); - lua_assert(L->nci == 0); - luaM_freearray(L, L->stack, L->stacksize); /* free stack array */ -} - -/* -** Create registry table and its predefined values -*/ -static void init_registry(lua_State *L, global_State *g) -{ - TValue temp; - /* create registry */ - Table *registry = luaH_new(L); - sethvalue(L, &g->l_registry, registry); - luaH_resize(L, registry, LUA_RIDX_LAST, 0); - /* registry[LUA_RIDX_MAINTHREAD] = L */ - setthvalue(L, &temp, L); /* temp = L */ - luaH_setint(L, registry, LUA_RIDX_MAINTHREAD, &temp); - /* registry[LUA_RIDX_GLOBALS] = table of globals */ - sethvalue(L, &temp, luaH_new(L)); /* temp = new table (global table) */ - luaH_setint(L, registry, LUA_RIDX_GLOBALS, &temp); -} - -/* -** open parts of the state that may cause memory-allocation errors. -** ('g->version' != NULL flags that the state was completely build) -*/ -static void f_luaopen(lua_State *L, void *ud) -{ - global_State *g = G(L); - UNUSED(ud); - stack_init(L, L); /* init stack */ - init_registry(L, g); - luaS_init(L); - luaT_init(L); - luaX_init(L); - g->gcrunning = 1; /* allow gc */ - g->version = lua_version(NULL); - luai_userstateopen(L); -} - -/* -** preinitialize a thread with consistent values without allocating -** any memory (to avoid errors) -*/ -static void preinit_thread(lua_State *L, global_State *g) -{ - G(L) = g; - L->stack = NULL; - L->ci = NULL; - L->nci = 0; - L->stacksize = 0; - L->twups = L; /* thread has no upvalues */ - L->errorJmp = NULL; - L->nCcalls = 0; - L->hook = NULL; - L->hookmask = 0; - L->basehookcount = 0; - L->allowhook = 1; - resethookcount(L); - L->openupval = NULL; - L->nny = 1; - L->status = LUA_OK; - L->errfunc = 0; -} - -static void close_state(lua_State *L) -{ - global_State *g = G(L); - luaF_close(L, L->stack); /* close all upvalues for this thread */ - luaC_freeallobjects(L); /* collect all objects */ - if (g->version) /* closing a fully built state? */ - luai_userstateclose(L); - luaM_freearray(L, G(L)->strt.hash, G(L)->strt.size); - freestack(L); - lua_assert(gettotalbytes(g) == sizeof(LG)); - (*g->frealloc)(g->ud, fromstate(L), sizeof(LG), 0); /* free main block */ -} - -LUA_API lua_State *lua_newthread(lua_State *L) -{ - global_State *g = G(L); - lua_State *L1; - lua_lock(L); - luaC_checkGC(L); - /* create new thread */ - L1 = &cast(LX *, luaM_newobject(L, LUA_TTHREAD, sizeof(LX)))->l; - L1->marked = luaC_white(g); - L1->tt = LUA_TTHREAD; - /* link it on list 'allgc' */ - L1->next = g->allgc; - g->allgc = obj2gco(L1); - /* anchor it on L stack */ - setthvalue(L, L->top, L1); - api_incr_top(L); - preinit_thread(L1, g); - L1->hookmask = L->hookmask; - L1->basehookcount = L->basehookcount; - L1->hook = L->hook; - resethookcount(L1); - /* initialize L1 extra space */ - memcpy(lua_getextraspace(L1), lua_getextraspace(g->mainthread), - LUA_EXTRASPACE); - luai_userstatethread(L, L1); - stack_init(L1, L); /* init stack */ - lua_unlock(L); - return L1; -} - -void luaE_freethread(lua_State *L, lua_State *L1) -{ - LX *l = fromstate(L1); - luaF_close(L1, L1->stack); /* close all upvalues for this thread */ - lua_assert(L1->openupval == NULL); - luai_userstatefree(L, L1); - freestack(L1); - luaM_free(L, l); -} - -LUA_API lua_State *lua_newstate(lua_Alloc f, void *ud) -{ - int i; - lua_State *L; - global_State *g; - LG *l = cast(LG *, (*f)(ud, NULL, LUA_TTHREAD, sizeof(LG))); - if (l == NULL) - return NULL; - L = &l->l.l; - g = &l->g; - L->next = NULL; - L->tt = LUA_TTHREAD; - g->currentwhite = bitmask(WHITE0BIT); - L->marked = luaC_white(g); - preinit_thread(L, g); - g->frealloc = f; - g->ud = ud; - g->mainthread = L; - g->seed = makeseed(L); - g->gcrunning = 0; /* no GC while building state */ - g->GCestimate = 0; - g->strt.size = g->strt.nuse = 0; - g->strt.hash = NULL; - setnilvalue(&g->l_registry); - g->panic = NULL; - g->version = NULL; - g->gcstate = GCSpause; - g->gckind = KGC_NORMAL; - g->allgc = g->finobj = g->tobefnz = g->fixedgc = NULL; - g->sweepgc = NULL; - g->gray = g->grayagain = NULL; - g->weak = g->ephemeron = g->allweak = NULL; - g->twups = NULL; - g->totalbytes = sizeof(LG); - g->GCdebt = 0; - g->gcfinnum = 0; - g->gcpause = LUAI_GCPAUSE; - g->gcstepmul = LUAI_GCMUL; - for (i = 0; i < LUA_NUMTAGS; i++) - g->mt[i] = NULL; - if (luaD_rawrunprotected(L, f_luaopen, NULL) != LUA_OK) - { - /* memory allocation error: free partial state */ - close_state(L); - L = NULL; - } - return L; -} - -LUA_API void lua_close(lua_State *L) -{ - L = G(L)->mainthread; /* only the main thread can be closed */ - lua_lock(L); - close_state(L); -} diff --git a/User/lua/src-bak/lstate.h b/User/lua/src-bak/lstate.h deleted file mode 100644 index f5a52b4..0000000 --- a/User/lua/src-bak/lstate.h +++ /dev/null @@ -1,241 +0,0 @@ -/* -** $Id: lstate.h,v 2.133.1.1 2017/04/19 17:39:34 roberto Exp $ -** Global State -** See Copyright Notice in lua.h -*/ - -#ifndef lstate_h -#define lstate_h - -#include "lua.h" - -#include "lobject.h" -#include "ltm.h" -#include "lzio.h" - -/* - -** Some notes about garbage-collected objects: All objects in Lua must -** be kept somehow accessible until being freed, so all objects always -** belong to one (and only one) of these lists, using field 'next' of -** the 'CommonHeader' for the link: -** -** 'allgc': all objects not marked for finalization; -** 'finobj': all objects marked for finalization; -** 'tobefnz': all objects ready to be finalized; -** 'fixedgc': all objects that are not to be collected (currently -** only small strings, such as reserved words). -** -** Moreover, there is another set of lists that control gray objects. -** These lists are linked by fields 'gclist'. (All objects that -** can become gray have such a field. The field is not the same -** in all objects, but it always has this name.) Any gray object -** must belong to one of these lists, and all objects in these lists -** must be gray: -** -** 'gray': regular gray objects, still waiting to be visited. -** 'grayagain': objects that must be revisited at the atomic phase. -** That includes -** - black objects got in a write barrier; -** - all kinds of weak tables during propagation phase; -** - all threads. -** 'weak': tables with weak values to be cleared; -** 'ephemeron': ephemeron tables with white->white entries; -** 'allweak': tables with weak keys and/or weak values to be cleared. -** The last three lists are used only during the atomic phase. - -*/ - -struct lua_longjmp; /* defined in ldo.c */ - -/* -** Atomic type (relative to signals) to better ensure that 'lua_sethook' -** is thread safe -*/ -#if !defined(l_signalT) -#include -#define l_signalT sig_atomic_t -#endif - -/* extra stack space to handle TM calls and some other extras */ -#define EXTRA_STACK 5 - -#define BASIC_STACK_SIZE (2 * LUA_MINSTACK) - -/* kinds of Garbage Collection */ -#define KGC_NORMAL 0 -#define KGC_EMERGENCY 1 /* gc was forced by an allocation failure */ - -typedef struct stringtable -{ - TString **hash; - int nuse; /* number of elements */ - int size; -} stringtable; - -/* -** Information about a call. -** When a thread yields, 'func' is adjusted to pretend that the -** top function has only the yielded values in its stack; in that -** case, the actual 'func' value is saved in field 'extra'. -** When a function calls another with a continuation, 'extra' keeps -** the function index so that, in case of errors, the continuation -** function can be called with the correct top. -*/ -typedef struct CallInfo -{ - StkId func; /* function index in the stack */ - StkId top; /* top for this function */ - struct CallInfo *previous, *next; /* dynamic call link */ - union { - struct - { /* only for Lua functions */ - StkId base; /* base for this function */ - const Instruction *savedpc; - } l; - struct - { /* only for C functions */ - lua_KFunction k; /* continuation in case of yields */ - ptrdiff_t old_errfunc; - lua_KContext ctx; /* context info. in case of yields */ - } c; - } u; - ptrdiff_t extra; - short nresults; /* expected number of results from this function */ - unsigned short callstatus; -} CallInfo; - -/* -** Bits in CallInfo status -*/ -#define CIST_OAH (1 << 0) /* original value of 'allowhook' */ -#define CIST_LUA (1 << 1) /* call is running a Lua function */ -#define CIST_HOOKED (1 << 2) /* call is running a debug hook */ -#define CIST_FRESH (1 << 3) /* call is running on a fresh invocation \ - of luaV_execute */ -#define CIST_YPCALL (1 << 4) /* call is a yieldable protected call */ -#define CIST_TAIL (1 << 5) /* call was tail called */ -#define CIST_HOOKYIELD (1 << 6) /* last hook called yielded */ -#define CIST_LEQ (1 << 7) /* using __lt for __le */ -#define CIST_FIN (1 << 8) /* call is running a finalizer */ - -#define isLua(ci) ((ci)->callstatus & CIST_LUA) - -/* assume that CIST_OAH has offset 0 and that 'v' is strictly 0/1 */ -#define setoah(st, v) ((st) = ((st) & ~CIST_OAH) | (v)) -#define getoah(st) ((st)&CIST_OAH) - -/* -** 'global state', shared by all threads of this state -*/ -typedef struct global_State -{ - lua_Alloc frealloc; /* function to reallocate memory */ - void *ud; /* auxiliary data to 'frealloc' */ - l_mem totalbytes; /* number of bytes currently allocated - GCdebt */ - l_mem GCdebt; /* bytes allocated not yet compensated by the collector */ - lu_mem GCmemtrav; /* memory traversed by the GC */ - lu_mem GCestimate; /* an estimate of the non-garbage memory in use */ - stringtable strt; /* hash table for strings */ - TValue l_registry; - unsigned int seed; /* randomized seed for hashes */ - lu_byte currentwhite; - lu_byte gcstate; /* state of garbage collector */ - lu_byte gckind; /* kind of GC running */ - lu_byte gcrunning; /* true if GC is running */ - GCObject *allgc; /* list of all collectable objects */ - GCObject **sweepgc; /* current position of sweep in list */ - GCObject *finobj; /* list of collectable objects with finalizers */ - GCObject *gray; /* list of gray objects */ - GCObject *grayagain; /* list of objects to be traversed atomically */ - GCObject *weak; /* list of tables with weak values */ - GCObject *ephemeron; /* list of ephemeron tables (weak keys) */ - GCObject *allweak; /* list of all-weak tables */ - GCObject *tobefnz; /* list of userdata to be GC */ - GCObject *fixedgc; /* list of objects not to be collected */ - struct lua_State *twups; /* list of threads with open upvalues */ - unsigned int gcfinnum; /* number of finalizers to call in each GC step */ - int gcpause; /* size of pause between successive GCs */ - int gcstepmul; /* GC 'granularity' */ - lua_CFunction panic; /* to be called in unprotected errors */ - struct lua_State *mainthread; - const lua_Number *version; /* pointer to version number */ - TString *memerrmsg; /* memory-error message */ - TString *tmname[TM_N]; /* array with tag-method names */ - struct Table *mt[LUA_NUMTAGS]; /* metatables for basic types */ - TString *strcache[STRCACHE_N][STRCACHE_M]; /* cache for strings in API */ -} global_State; - -/* -** 'per thread' state -*/ -struct lua_State -{ - CommonHeader; - unsigned short nci; /* number of items in 'ci' list */ - lu_byte status; - StkId top; /* first free slot in the stack */ - global_State *l_G; - CallInfo *ci; /* call info for current function */ - const Instruction *oldpc; /* last pc traced */ - StkId stack_last; /* last free slot in the stack */ - StkId stack; /* stack base */ - UpVal *openupval; /* list of open upvalues in this stack */ - GCObject *gclist; - struct lua_State *twups; /* list of threads with open upvalues */ - struct lua_longjmp *errorJmp; /* current error recover point */ - CallInfo base_ci; /* CallInfo for first level (C calling Lua) */ - volatile lua_Hook hook; - ptrdiff_t errfunc; /* current error handling function (stack index) */ - int stacksize; - int basehookcount; - int hookcount; - unsigned short nny; /* number of non-yieldable calls in stack */ - unsigned short nCcalls; /* number of nested C calls */ - l_signalT hookmask; - lu_byte allowhook; -}; - -#define G(L) (L->l_G) - -/* -** Union of all collectable objects (only for conversions) -*/ -union GCUnion { - GCObject gc; /* common header */ - struct TString ts; - struct Udata u; - union Closure cl; - struct Table h; - struct Proto p; - struct lua_State th; /* thread */ -}; - -#define cast_u(o) cast(union GCUnion *, (o)) - -/* macros to convert a GCObject into a specific value */ -#define gco2ts(o) \ - check_exp(novariant((o)->tt) == LUA_TSTRING, &((cast_u(o))->ts)) -#define gco2u(o) check_exp((o)->tt == LUA_TUSERDATA, &((cast_u(o))->u)) -#define gco2lcl(o) check_exp((o)->tt == LUA_TLCL, &((cast_u(o))->cl.l)) -#define gco2ccl(o) check_exp((o)->tt == LUA_TCCL, &((cast_u(o))->cl.c)) -#define gco2cl(o) \ - check_exp(novariant((o)->tt) == LUA_TFUNCTION, &((cast_u(o))->cl)) -#define gco2t(o) check_exp((o)->tt == LUA_TTABLE, &((cast_u(o))->h)) -#define gco2p(o) check_exp((o)->tt == LUA_TPROTO, &((cast_u(o))->p)) -#define gco2th(o) check_exp((o)->tt == LUA_TTHREAD, &((cast_u(o))->th)) - -/* macro to convert a Lua object into a GCObject */ -#define obj2gco(v) \ - check_exp(novariant((v)->tt) < LUA_TDEADKEY, (&(cast_u(v)->gc))) - -/* actual number of total bytes allocated */ -#define gettotalbytes(g) cast(lu_mem, (g)->totalbytes + (g)->GCdebt) - -LUAI_FUNC void luaE_setdebt(global_State *g, l_mem debt); -LUAI_FUNC void luaE_freethread(lua_State *L, lua_State *L1); -LUAI_FUNC CallInfo *luaE_extendCI(lua_State *L); -LUAI_FUNC void luaE_freeCI(lua_State *L); -LUAI_FUNC void luaE_shrinkCI(lua_State *L); - -#endif diff --git a/User/lua/src-bak/lstring.c b/User/lua/src-bak/lstring.c deleted file mode 100644 index f2a4f07..0000000 --- a/User/lua/src-bak/lstring.c +++ /dev/null @@ -1,254 +0,0 @@ -/* -** $Id: lstring.c,v 2.56.1.1 2017/04/19 17:20:42 roberto Exp $ -** String table (keeps all strings handled by Lua) -** See Copyright Notice in lua.h -*/ - -#define lstring_c -#define LUA_CORE - -#include "lprefix.h" - -#include - -#include "lua.h" - -#include "ldebug.h" -#include "ldo.h" -#include "lmem.h" -#include "lobject.h" -#include "lstate.h" -#include "lstring.h" - -#define MEMERRMSG "not enough memory" - -/* -** Lua will use at most ~(2^LUAI_HASHLIMIT) bytes from a string to -** compute its hash -*/ -#if !defined(LUAI_HASHLIMIT) -#define LUAI_HASHLIMIT 5 -#endif - -/* -** equality for long strings -*/ -int luaS_eqlngstr(TString *a, TString *b) -{ - size_t len = a->u.lnglen; - lua_assert(a->tt == LUA_TLNGSTR && b->tt == LUA_TLNGSTR); - return (a == b) || /* same instance or... */ - ((len == b->u.lnglen) && /* equal length and ... */ - (memcmp(getstr(a), getstr(b), len) == 0)); /* equal contents */ -} - -unsigned int luaS_hash(const char *str, size_t l, unsigned int seed) -{ - unsigned int h = seed ^ cast(unsigned int, l); - size_t step = (l >> LUAI_HASHLIMIT) + 1; - for (; l >= step; l -= step) - h ^= ((h << 5) + (h >> 2) + cast_byte(str[l - 1])); - return h; -} - -unsigned int luaS_hashlongstr(TString *ts) -{ - lua_assert(ts->tt == LUA_TLNGSTR); - if (ts->extra == 0) - { /* no hash? */ - ts->hash = luaS_hash(getstr(ts), ts->u.lnglen, ts->hash); - ts->extra = 1; /* now it has its hash */ - } - return ts->hash; -} - -/* -** resizes the string table -*/ -void luaS_resize(lua_State *L, int newsize) -{ - int i; - stringtable *tb = &G(L)->strt; - if (newsize > tb->size) - { /* grow table if needed */ - luaM_reallocvector(L, tb->hash, tb->size, newsize, TString *); - for (i = tb->size; i < newsize; i++) - tb->hash[i] = NULL; - } - for (i = 0; i < tb->size; i++) - { /* rehash */ - TString *p = tb->hash[i]; - tb->hash[i] = NULL; - while (p) - { /* for each node in the list */ - TString *hnext = p->u.hnext; /* save next */ - unsigned int h = lmod(p->hash, newsize); /* new position */ - p->u.hnext = tb->hash[h]; /* chain it */ - tb->hash[h] = p; - p = hnext; - } - } - if (newsize < tb->size) - { /* shrink table if needed */ - /* vanishing slice should be empty */ - lua_assert(tb->hash[newsize] == NULL && tb->hash[tb->size - 1] == NULL); - luaM_reallocvector(L, tb->hash, tb->size, newsize, TString *); - } - tb->size = newsize; -} - -/* -** Clear API string cache. (Entries cannot be empty, so fill them with -** a non-collectable string.) -*/ -void luaS_clearcache(global_State *g) -{ - int i, j; - for (i = 0; i < STRCACHE_N; i++) - for (j = 0; j < STRCACHE_M; j++) - { - if (iswhite(g->strcache[i][j])) /* will entry be collected? */ - g->strcache[i][j] = g->memerrmsg; /* replace it with something fixed */ - } -} - -/* -** Initialize the string table and the string cache -*/ -void luaS_init(lua_State *L) -{ - global_State *g = G(L); - int i, j; - luaS_resize(L, MINSTRTABSIZE); /* initial size of string table */ - /* pre-create memory-error message */ - g->memerrmsg = luaS_newliteral(L, MEMERRMSG); - luaC_fix(L, obj2gco(g->memerrmsg)); /* it should never be collected */ - for (i = 0; i < STRCACHE_N; i++) /* fill cache with valid strings */ - for (j = 0; j < STRCACHE_M; j++) - g->strcache[i][j] = g->memerrmsg; -} - -/* -** creates a new string object -*/ -static TString *createstrobj(lua_State *L, size_t l, int tag, unsigned int h) -{ - TString *ts; - GCObject *o; - size_t totalsize; /* total size of TString object */ - totalsize = sizelstring(l); - o = luaC_newobj(L, tag, totalsize); - ts = gco2ts(o); - ts->hash = h; - ts->extra = 0; - getstr(ts)[l] = '\0'; /* ending 0 */ - return ts; -} - -TString *luaS_createlngstrobj(lua_State *L, size_t l) -{ - TString *ts = createstrobj(L, l, LUA_TLNGSTR, G(L)->seed); - ts->u.lnglen = l; - return ts; -} - -void luaS_remove(lua_State *L, TString *ts) -{ - stringtable *tb = &G(L)->strt; - TString **p = &tb->hash[lmod(ts->hash, tb->size)]; - while (*p != ts) /* find previous element */ - p = &(*p)->u.hnext; - *p = (*p)->u.hnext; /* remove element from its list */ - tb->nuse--; -} - -/* -** checks whether short string exists and reuses it or creates a new one -*/ -static TString *internshrstr(lua_State *L, const char *str, size_t l) -{ - TString *ts; - global_State *g = G(L); - unsigned int h = luaS_hash(str, l, g->seed); - TString **list = &g->strt.hash[lmod(h, g->strt.size)]; - lua_assert(str != NULL); /* otherwise 'memcmp'/'memcpy' are undefined */ - for (ts = *list; ts != NULL; ts = ts->u.hnext) - { - if (l == ts->shrlen && - (memcmp(str, getstr(ts), l * sizeof(char)) == 0)) - { - /* found! */ - if (isdead(g, ts)) /* dead (but not collected yet)? */ - changewhite(ts); /* resurrect it */ - return ts; - } - } - if (g->strt.nuse >= g->strt.size && g->strt.size <= MAX_INT / 2) - { - luaS_resize(L, g->strt.size * 2); - list = &g->strt.hash[lmod(h, g->strt.size)]; /* recompute with new size */ - } - ts = createstrobj(L, l, LUA_TSHRSTR, h); - memcpy(getstr(ts), str, l * sizeof(char)); - ts->shrlen = cast_byte(l); - ts->u.hnext = *list; - *list = ts; - g->strt.nuse++; - return ts; -} - -/* -** new string (with explicit length) -*/ -TString *luaS_newlstr(lua_State *L, const char *str, size_t l) -{ - if (l <= LUAI_MAXSHORTLEN) /* short string? */ - return internshrstr(L, str, l); - else - { - TString *ts; - if (l >= (MAX_SIZE - sizeof(TString)) / sizeof(char)) - luaM_toobig(L); - ts = luaS_createlngstrobj(L, l); - memcpy(getstr(ts), str, l * sizeof(char)); - return ts; - } -} - -/* -** Create or reuse a zero-terminated string, first checking in the -** cache (using the string address as a key). The cache can contain -** only zero-terminated strings, so it is safe to use 'strcmp' to -** check hits. -*/ -TString *luaS_new(lua_State *L, const char *str) -{ - unsigned int i = point2uint(str) % STRCACHE_N; /* hash */ - int j; - TString **p = G(L)->strcache[i]; - for (j = 0; j < STRCACHE_M; j++) - { - if (strcmp(str, getstr(p[j])) == 0) /* hit? */ - return p[j]; /* that is it */ - } - /* normal route */ - for (j = STRCACHE_M - 1; j > 0; j--) - p[j] = p[j - 1]; /* move out last element */ - /* new element is first in the list */ - p[0] = luaS_newlstr(L, str, strlen(str)); - return p[0]; -} - -Udata *luaS_newudata(lua_State *L, size_t s) -{ - Udata *u; - GCObject *o; - if (s > MAX_SIZE - sizeof(Udata)) - luaM_toobig(L); - o = luaC_newobj(L, LUA_TUSERDATA, sizeludata(s)); - u = gco2u(o); - u->len = s; - u->metatable = NULL; - setuservalue(L, u, luaO_nilobject); - return u; -} diff --git a/User/lua/src-bak/lstring.h b/User/lua/src-bak/lstring.h deleted file mode 100644 index 5ef375c..0000000 --- a/User/lua/src-bak/lstring.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -** $Id: lstring.h,v 1.61.1.1 2017/04/19 17:20:42 roberto Exp $ -** String table (keep all strings handled by Lua) -** See Copyright Notice in lua.h -*/ - -#ifndef lstring_h -#define lstring_h - -#include "lgc.h" -#include "lobject.h" -#include "lstate.h" - -#define sizelstring(l) (sizeof(union UTString) + ((l) + 1) * sizeof(char)) - -#define sizeludata(l) (sizeof(union UUdata) + (l)) -#define sizeudata(u) sizeludata((u)->len) - -#define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \ - (sizeof(s) / sizeof(char)) - 1)) - -/* -** test whether a string is a reserved word -*/ -#define isreserved(s) ((s)->tt == LUA_TSHRSTR && (s)->extra > 0) - -/* -** equality for short strings, which are always internalized -*/ -#define eqshrstr(a, b) check_exp((a)->tt == LUA_TSHRSTR, (a) == (b)) - -LUAI_FUNC unsigned int luaS_hash(const char *str, size_t l, unsigned int seed); -LUAI_FUNC unsigned int luaS_hashlongstr(TString *ts); -LUAI_FUNC int luaS_eqlngstr(TString *a, TString *b); -LUAI_FUNC void luaS_resize(lua_State *L, int newsize); -LUAI_FUNC void luaS_clearcache(global_State *g); -LUAI_FUNC void luaS_init(lua_State *L); -LUAI_FUNC void luaS_remove(lua_State *L, TString *ts); -LUAI_FUNC Udata *luaS_newudata(lua_State *L, size_t s); -LUAI_FUNC TString *luaS_newlstr(lua_State *L, const char *str, size_t l); -LUAI_FUNC TString *luaS_new(lua_State *L, const char *str); -LUAI_FUNC TString *luaS_createlngstrobj(lua_State *L, size_t l); - -#endif diff --git a/User/lua/src-bak/lstrlib.c b/User/lua/src-bak/lstrlib.c deleted file mode 100644 index 4ce5077..0000000 --- a/User/lua/src-bak/lstrlib.c +++ /dev/null @@ -1,1840 +0,0 @@ -/* -** $Id: lstrlib.c,v 1.254.1.1 2017/04/19 17:29:57 roberto Exp $ -** Standard library for string operations and pattern-matching -** See Copyright Notice in lua.h -*/ - -#define lstrlib_c -#define LUA_LIB - -#include "lprefix.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "lua.h" - -#include "lauxlib.h" -#include "lualib.h" - -/* -** maximum number of captures that a pattern can do during -** pattern-matching. This limit is arbitrary, but must fit in -** an unsigned char. -*/ -#if !defined(LUA_MAXCAPTURES) -#define LUA_MAXCAPTURES 32 -#endif - -/* macro to 'unsign' a character */ -#define uchar(c) ((unsigned char)(c)) - -/* -** Some sizes are better limited to fit in 'int', but must also fit in -** 'size_t'. (We assume that 'lua_Integer' cannot be smaller than 'int'.) -*/ -#define MAX_SIZET ((size_t)(~(size_t)0)) - -#define MAXSIZE \ - (sizeof(size_t) < sizeof(int) ? MAX_SIZET : (size_t)(INT_MAX)) - -static int str_len(lua_State *L) -{ - size_t l; - luaL_checklstring(L, 1, &l); - lua_pushinteger(L, (lua_Integer)l); - return 1; -} - -/* translate a relative string position: negative means back from end */ -static lua_Integer posrelat(lua_Integer pos, size_t len) -{ - if (pos >= 0) - return pos; - else if (0u - (size_t)pos > len) - return 0; - else - return (lua_Integer)len + pos + 1; -} - -static int str_sub(lua_State *L) -{ - size_t l; - const char *s = luaL_checklstring(L, 1, &l); - lua_Integer start = posrelat(luaL_checkinteger(L, 2), l); - lua_Integer end = posrelat(luaL_optinteger(L, 3, -1), l); - if (start < 1) - start = 1; - if (end > (lua_Integer)l) - end = l; - if (start <= end) - lua_pushlstring(L, s + start - 1, (size_t)(end - start) + 1); - else - lua_pushliteral(L, ""); - return 1; -} - -static int str_reverse(lua_State *L) -{ - size_t l, i; - luaL_Buffer b; - const char *s = luaL_checklstring(L, 1, &l); - char *p = luaL_buffinitsize(L, &b, l); - for (i = 0; i < l; i++) - p[i] = s[l - i - 1]; - luaL_pushresultsize(&b, l); - return 1; -} - -static int str_lower(lua_State *L) -{ - size_t l; - size_t i; - luaL_Buffer b; - const char *s = luaL_checklstring(L, 1, &l); - char *p = luaL_buffinitsize(L, &b, l); - for (i = 0; i < l; i++) - p[i] = tolower(uchar(s[i])); - luaL_pushresultsize(&b, l); - return 1; -} - -static int str_upper(lua_State *L) -{ - size_t l; - size_t i; - luaL_Buffer b; - const char *s = luaL_checklstring(L, 1, &l); - char *p = luaL_buffinitsize(L, &b, l); - for (i = 0; i < l; i++) - p[i] = toupper(uchar(s[i])); - luaL_pushresultsize(&b, l); - return 1; -} - -static int str_rep(lua_State *L) -{ - size_t l, lsep; - const char *s = luaL_checklstring(L, 1, &l); - lua_Integer n = luaL_checkinteger(L, 2); - const char *sep = luaL_optlstring(L, 3, "", &lsep); - if (n <= 0) - lua_pushliteral(L, ""); - else if (l + lsep < l || l + lsep > MAXSIZE / n) /* may overflow? */ - return luaL_error(L, "resulting string too large"); - else - { - size_t totallen = (size_t)n * l + (size_t)(n - 1) * lsep; - luaL_Buffer b; - char *p = luaL_buffinitsize(L, &b, totallen); - while (n-- > 1) - { /* first n-1 copies (followed by separator) */ - memcpy(p, s, l * sizeof(char)); - p += l; - if (lsep > 0) - { /* empty 'memcpy' is not that cheap */ - memcpy(p, sep, lsep * sizeof(char)); - p += lsep; - } - } - memcpy(p, s, l * sizeof(char)); /* last copy (not followed by separator) */ - luaL_pushresultsize(&b, totallen); - } - return 1; -} - -static int str_byte(lua_State *L) -{ - size_t l; - const char *s = luaL_checklstring(L, 1, &l); - lua_Integer posi = posrelat(luaL_optinteger(L, 2, 1), l); - lua_Integer pose = posrelat(luaL_optinteger(L, 3, posi), l); - int n, i; - if (posi < 1) - posi = 1; - if (pose > (lua_Integer)l) - pose = l; - if (posi > pose) - return 0; /* empty interval; return no values */ - if (pose - posi >= INT_MAX) /* arithmetic overflow? */ - return luaL_error(L, "string slice too long"); - n = (int)(pose - posi) + 1; - luaL_checkstack(L, n, "string slice too long"); - for (i = 0; i < n; i++) - lua_pushinteger(L, uchar(s[posi + i - 1])); - return n; -} - -static int str_char(lua_State *L) -{ - int n = lua_gettop(L); /* number of arguments */ - int i; - luaL_Buffer b; - char *p = luaL_buffinitsize(L, &b, n); - for (i = 1; i <= n; i++) - { - lua_Integer c = luaL_checkinteger(L, i); - luaL_argcheck(L, uchar(c) == c, i, "value out of range"); - p[i - 1] = uchar(c); - } - luaL_pushresultsize(&b, n); - return 1; -} - -static int writer(lua_State *L, const void *b, size_t size, void *B) -{ - (void)L; - luaL_addlstring((luaL_Buffer *)B, (const char *)b, size); - return 0; -} - -static int str_dump(lua_State *L) -{ - luaL_Buffer b; - int strip = lua_toboolean(L, 2); - luaL_checktype(L, 1, LUA_TFUNCTION); - lua_settop(L, 1); - luaL_buffinit(L, &b); - if (lua_dump(L, writer, &b, strip) != 0) - return luaL_error(L, "unable to dump given function"); - luaL_pushresult(&b); - return 1; -} - -/* -** {====================================================== -** PATTERN MATCHING -** ======================================================= -*/ - -#define CAP_UNFINISHED (-1) -#define CAP_POSITION (-2) - -typedef struct MatchState -{ - const char *src_init; /* init of source string */ - const char *src_end; /* end ('\0') of source string */ - const char *p_end; /* end ('\0') of pattern */ - lua_State *L; - int matchdepth; /* control for recursive depth (to avoid C stack overflow) */ - unsigned char level; /* total number of captures (finished or unfinished) */ - struct - { - const char *init; - ptrdiff_t len; - } capture[LUA_MAXCAPTURES]; -} MatchState; - -/* recursive function */ -static const char *match(MatchState *ms, const char *s, const char *p); - -/* maximum recursion depth for 'match' */ -#if !defined(MAXCCALLS) -#define MAXCCALLS 200 -#endif - -#define L_ESC '%' -#define SPECIALS "^$*+?.([%-" - -static int check_capture(MatchState *ms, int l) -{ - l -= '1'; - if (l < 0 || l >= ms->level || ms->capture[l].len == CAP_UNFINISHED) - return luaL_error(ms->L, "invalid capture index %%%d", l + 1); - return l; -} - -static int capture_to_close(MatchState *ms) -{ - int level = ms->level; - for (level--; level >= 0; level--) - if (ms->capture[level].len == CAP_UNFINISHED) - return level; - return luaL_error(ms->L, "invalid pattern capture"); -} - -static const char *classend(MatchState *ms, const char *p) -{ - switch (*p++) - { - case L_ESC: - { - if (p == ms->p_end) - luaL_error(ms->L, "malformed pattern (ends with '%%')"); - return p + 1; - } - case '[': - { - if (*p == '^') - p++; - do - { /* look for a ']' */ - if (p == ms->p_end) - luaL_error(ms->L, "malformed pattern (missing ']')"); - if (*(p++) == L_ESC && p < ms->p_end) - p++; /* skip escapes (e.g. '%]') */ - } while (*p != ']'); - return p + 1; - } - default: - { - return p; - } - } -} - -static int match_class(int c, int cl) -{ - int res; - switch (tolower(cl)) - { - case 'a': - res = isalpha(c); - break; - case 'c': - res = iscntrl(c); - break; - case 'd': - res = isdigit(c); - break; - case 'g': - res = isgraph(c); - break; - case 'l': - res = islower(c); - break; - case 'p': - res = ispunct(c); - break; - case 's': - res = isspace(c); - break; - case 'u': - res = isupper(c); - break; - case 'w': - res = isalnum(c); - break; - case 'x': - res = isxdigit(c); - break; - case 'z': - res = (c == 0); - break; /* deprecated option */ - default: - return (cl == c); - } - return (islower(cl) ? res : !res); -} - -static int matchbracketclass(int c, const char *p, const char *ec) -{ - int sig = 1; - if (*(p + 1) == '^') - { - sig = 0; - p++; /* skip the '^' */ - } - while (++p < ec) - { - if (*p == L_ESC) - { - p++; - if (match_class(c, uchar(*p))) - return sig; - } - else if ((*(p + 1) == '-') && (p + 2 < ec)) - { - p += 2; - if (uchar(*(p - 2)) <= c && c <= uchar(*p)) - return sig; - } - else if (uchar(*p) == c) - return sig; - } - return !sig; -} - -static int singlematch(MatchState *ms, const char *s, const char *p, - const char *ep) -{ - if (s >= ms->src_end) - return 0; - else - { - int c = uchar(*s); - switch (*p) - { - case '.': - return 1; /* matches any char */ - case L_ESC: - return match_class(c, uchar(*(p + 1))); - case '[': - return matchbracketclass(c, p, ep - 1); - default: - return (uchar(*p) == c); - } - } -} - -static const char *matchbalance(MatchState *ms, const char *s, - const char *p) -{ - if (p >= ms->p_end - 1) - luaL_error(ms->L, "malformed pattern (missing arguments to '%%b')"); - if (*s != *p) - return NULL; - else - { - int b = *p; - int e = *(p + 1); - int cont = 1; - while (++s < ms->src_end) - { - if (*s == e) - { - if (--cont == 0) - return s + 1; - } - else if (*s == b) - cont++; - } - } - return NULL; /* string ends out of balance */ -} - -static const char *max_expand(MatchState *ms, const char *s, - const char *p, const char *ep) -{ - ptrdiff_t i = 0; /* counts maximum expand for item */ - while (singlematch(ms, s + i, p, ep)) - i++; - /* keeps trying to match with the maximum repetitions */ - while (i >= 0) - { - const char *res = match(ms, (s + i), ep + 1); - if (res) - return res; - i--; /* else didn't match; reduce 1 repetition to try again */ - } - return NULL; -} - -static const char *min_expand(MatchState *ms, const char *s, - const char *p, const char *ep) -{ - for (;;) - { - const char *res = match(ms, s, ep + 1); - if (res != NULL) - return res; - else if (singlematch(ms, s, p, ep)) - s++; /* try with one more repetition */ - else - return NULL; - } -} - -static const char *start_capture(MatchState *ms, const char *s, - const char *p, int what) -{ - const char *res; - int level = ms->level; - if (level >= LUA_MAXCAPTURES) - luaL_error(ms->L, "too many captures"); - ms->capture[level].init = s; - ms->capture[level].len = what; - ms->level = level + 1; - if ((res = match(ms, s, p)) == NULL) /* match failed? */ - ms->level--; /* undo capture */ - return res; -} - -static const char *end_capture(MatchState *ms, const char *s, - const char *p) -{ - int l = capture_to_close(ms); - const char *res; - ms->capture[l].len = s - ms->capture[l].init; /* close capture */ - if ((res = match(ms, s, p)) == NULL) /* match failed? */ - ms->capture[l].len = CAP_UNFINISHED; /* undo capture */ - return res; -} - -static const char *match_capture(MatchState *ms, const char *s, int l) -{ - size_t len; - l = check_capture(ms, l); - len = ms->capture[l].len; - if ((size_t)(ms->src_end - s) >= len && - memcmp(ms->capture[l].init, s, len) == 0) - return s + len; - else - return NULL; -} - -static const char *match(MatchState *ms, const char *s, const char *p) -{ - if (ms->matchdepth-- == 0) - luaL_error(ms->L, "pattern too complex"); -init: /* using goto's to optimize tail recursion */ - if (p != ms->p_end) - { /* end of pattern? */ - switch (*p) - { - case '(': - { /* start capture */ - if (*(p + 1) == ')') /* position capture? */ - s = start_capture(ms, s, p + 2, CAP_POSITION); - else - s = start_capture(ms, s, p + 1, CAP_UNFINISHED); - break; - } - case ')': - { /* end capture */ - s = end_capture(ms, s, p + 1); - break; - } - case '$': - { - if ((p + 1) != ms->p_end) /* is the '$' the last char in pattern? */ - goto dflt; /* no; go to default */ - s = (s == ms->src_end) ? s : NULL; /* check end of string */ - break; - } - case L_ESC: - { /* escaped sequences not in the format class[*+?-]? */ - switch (*(p + 1)) - { - case 'b': - { /* balanced string? */ - s = matchbalance(ms, s, p + 2); - if (s != NULL) - { - p += 4; - goto init; /* return match(ms, s, p + 4); */ - } /* else fail (s == NULL) */ - break; - } - case 'f': - { /* frontier? */ - const char *ep; - char previous; - p += 2; - if (*p != '[') - luaL_error(ms->L, "missing '[' after '%%f' in pattern"); - ep = classend(ms, p); /* points to what is next */ - previous = (s == ms->src_init) ? '\0' : *(s - 1); - if (!matchbracketclass(uchar(previous), p, ep - 1) && - matchbracketclass(uchar(*s), p, ep - 1)) - { - p = ep; - goto init; /* return match(ms, s, ep); */ - } - s = NULL; /* match failed */ - break; - } - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - { /* capture results (%0-%9)? */ - s = match_capture(ms, s, uchar(*(p + 1))); - if (s != NULL) - { - p += 2; - goto init; /* return match(ms, s, p + 2) */ - } - break; - } - default: - goto dflt; - } - break; - } - default: - dflt: - { /* pattern class plus optional suffix */ - const char *ep = classend(ms, p); /* points to optional suffix */ - /* does not match at least once? */ - if (!singlematch(ms, s, p, ep)) - { - if (*ep == '*' || *ep == '?' || *ep == '-') - { /* accept empty? */ - p = ep + 1; - goto init; /* return match(ms, s, ep + 1); */ - } - else /* '+' or no suffix */ - s = NULL; /* fail */ - } - else - { /* matched once */ - switch (*ep) - { /* handle optional suffix */ - case '?': - { /* optional */ - const char *res; - if ((res = match(ms, s + 1, ep + 1)) != NULL) - s = res; - else - { - p = ep + 1; - goto init; /* else return match(ms, s, ep + 1); */ - } - break; - } - case '+': /* 1 or more repetitions */ - s++; /* 1 match already done */ - /* FALLTHROUGH */ - case '*': /* 0 or more repetitions */ - s = max_expand(ms, s, p, ep); - break; - case '-': /* 0 or more repetitions (minimum) */ - s = min_expand(ms, s, p, ep); - break; - default: /* no suffix */ - s++; - p = ep; - goto init; /* return match(ms, s + 1, ep); */ - } - } - break; - } - } - } - ms->matchdepth++; - return s; -} - -static const char *lmemfind(const char *s1, size_t l1, - const char *s2, size_t l2) -{ - if (l2 == 0) - return s1; /* empty strings are everywhere */ - else if (l2 > l1) - return NULL; /* avoids a negative 'l1' */ - else - { - const char *init; /* to search for a '*s2' inside 's1' */ - l2--; /* 1st char will be checked by 'memchr' */ - l1 = l1 - l2; /* 's2' cannot be found after that */ - while (l1 > 0 && (init = (const char *)memchr(s1, *s2, l1)) != NULL) - { - init++; /* 1st char is already checked */ - if (memcmp(init, s2 + 1, l2) == 0) - return init - 1; - else - { /* correct 'l1' and 's1' to try again */ - l1 -= init - s1; - s1 = init; - } - } - return NULL; /* not found */ - } -} - -static void push_onecapture(MatchState *ms, int i, const char *s, - const char *e) -{ - if (i >= ms->level) - { - if (i == 0) /* ms->level == 0, too */ - lua_pushlstring(ms->L, s, e - s); /* add whole match */ - else - luaL_error(ms->L, "invalid capture index %%%d", i + 1); - } - else - { - ptrdiff_t l = ms->capture[i].len; - if (l == CAP_UNFINISHED) - luaL_error(ms->L, "unfinished capture"); - if (l == CAP_POSITION) - lua_pushinteger(ms->L, (ms->capture[i].init - ms->src_init) + 1); - else - lua_pushlstring(ms->L, ms->capture[i].init, l); - } -} - -static int push_captures(MatchState *ms, const char *s, const char *e) -{ - int i; - int nlevels = (ms->level == 0 && s) ? 1 : ms->level; - luaL_checkstack(ms->L, nlevels, "too many captures"); - for (i = 0; i < nlevels; i++) - push_onecapture(ms, i, s, e); - return nlevels; /* number of strings pushed */ -} - -/* check whether pattern has no special characters */ -static int nospecials(const char *p, size_t l) -{ - size_t upto = 0; - do - { - if (strpbrk(p + upto, SPECIALS)) - return 0; /* pattern has a special character */ - upto += strlen(p + upto) + 1; /* may have more after \0 */ - } while (upto <= l); - return 1; /* no special chars found */ -} - -static void prepstate(MatchState *ms, lua_State *L, - const char *s, size_t ls, const char *p, size_t lp) -{ - ms->L = L; - ms->matchdepth = MAXCCALLS; - ms->src_init = s; - ms->src_end = s + ls; - ms->p_end = p + lp; -} - -static void reprepstate(MatchState *ms) -{ - ms->level = 0; - lua_assert(ms->matchdepth == MAXCCALLS); -} - -static int str_find_aux(lua_State *L, int find) -{ - size_t ls, lp; - const char *s = luaL_checklstring(L, 1, &ls); - const char *p = luaL_checklstring(L, 2, &lp); - lua_Integer init = posrelat(luaL_optinteger(L, 3, 1), ls); - if (init < 1) - init = 1; - else if (init > (lua_Integer)ls + 1) - { /* start after string's end? */ - lua_pushnil(L); /* cannot find anything */ - return 1; - } - /* explicit request or no special characters? */ - if (find && (lua_toboolean(L, 4) || nospecials(p, lp))) - { - /* do a plain search */ - const char *s2 = lmemfind(s + init - 1, ls - (size_t)init + 1, p, lp); - if (s2) - { - lua_pushinteger(L, (s2 - s) + 1); - lua_pushinteger(L, (s2 - s) + lp); - return 2; - } - } - else - { - MatchState ms; - const char *s1 = s + init - 1; - int anchor = (*p == '^'); - if (anchor) - { - p++; - lp--; /* skip anchor character */ - } - prepstate(&ms, L, s, ls, p, lp); - do - { - const char *res; - reprepstate(&ms); - if ((res = match(&ms, s1, p)) != NULL) - { - if (find) - { - lua_pushinteger(L, (s1 - s) + 1); /* start */ - lua_pushinteger(L, res - s); /* end */ - return push_captures(&ms, NULL, 0) + 2; - } - else - return push_captures(&ms, s1, res); - } - } while (s1++ < ms.src_end && !anchor); - } - lua_pushnil(L); /* not found */ - return 1; -} - -static int str_find(lua_State *L) -{ - return str_find_aux(L, 1); -} - -static int str_match(lua_State *L) -{ - return str_find_aux(L, 0); -} - -/* state for 'gmatch' */ -typedef struct GMatchState -{ - const char *src; /* current position */ - const char *p; /* pattern */ - const char *lastmatch; /* end of last match */ - MatchState ms; /* match state */ -} GMatchState; - -static int gmatch_aux(lua_State *L) -{ - GMatchState *gm = (GMatchState *)lua_touserdata(L, lua_upvalueindex(3)); - const char *src; - gm->ms.L = L; - for (src = gm->src; src <= gm->ms.src_end; src++) - { - const char *e; - reprepstate(&gm->ms); - if ((e = match(&gm->ms, src, gm->p)) != NULL && e != gm->lastmatch) - { - gm->src = gm->lastmatch = e; - return push_captures(&gm->ms, src, e); - } - } - return 0; /* not found */ -} - -static int gmatch(lua_State *L) -{ - size_t ls, lp; - const char *s = luaL_checklstring(L, 1, &ls); - const char *p = luaL_checklstring(L, 2, &lp); - GMatchState *gm; - lua_settop(L, 2); /* keep them on closure to avoid being collected */ - gm = (GMatchState *)lua_newuserdata(L, sizeof(GMatchState)); - prepstate(&gm->ms, L, s, ls, p, lp); - gm->src = s; - gm->p = p; - gm->lastmatch = NULL; - lua_pushcclosure(L, gmatch_aux, 3); - return 1; -} - -static void add_s(MatchState *ms, luaL_Buffer *b, const char *s, - const char *e) -{ - size_t l, i; - lua_State *L = ms->L; - const char *news = lua_tolstring(L, 3, &l); - for (i = 0; i < l; i++) - { - if (news[i] != L_ESC) - luaL_addchar(b, news[i]); - else - { - i++; /* skip ESC */ - if (!isdigit(uchar(news[i]))) - { - if (news[i] != L_ESC) - luaL_error(L, "invalid use of '%c' in replacement string", L_ESC); - luaL_addchar(b, news[i]); - } - else if (news[i] == '0') - luaL_addlstring(b, s, e - s); - else - { - push_onecapture(ms, news[i] - '1', s, e); - luaL_tolstring(L, -1, NULL); /* if number, convert it to string */ - lua_remove(L, -2); /* remove original value */ - luaL_addvalue(b); /* add capture to accumulated result */ - } - } - } -} - -static void add_value(MatchState *ms, luaL_Buffer *b, const char *s, - const char *e, int tr) -{ - lua_State *L = ms->L; - switch (tr) - { - case LUA_TFUNCTION: - { - int n; - lua_pushvalue(L, 3); - n = push_captures(ms, s, e); - lua_call(L, n, 1); - break; - } - case LUA_TTABLE: - { - push_onecapture(ms, 0, s, e); - lua_gettable(L, 3); - break; - } - default: - { /* LUA_TNUMBER or LUA_TSTRING */ - add_s(ms, b, s, e); - return; - } - } - if (!lua_toboolean(L, -1)) - { /* nil or false? */ - lua_pop(L, 1); - lua_pushlstring(L, s, e - s); /* keep original text */ - } - else if (!lua_isstring(L, -1)) - luaL_error(L, "invalid replacement value (a %s)", luaL_typename(L, -1)); - luaL_addvalue(b); /* add result to accumulator */ -} - -static int str_gsub(lua_State *L) -{ - size_t srcl, lp; - const char *src = luaL_checklstring(L, 1, &srcl); /* subject */ - const char *p = luaL_checklstring(L, 2, &lp); /* pattern */ - const char *lastmatch = NULL; /* end of last match */ - int tr = lua_type(L, 3); /* replacement type */ - lua_Integer max_s = luaL_optinteger(L, 4, srcl + 1); /* max replacements */ - int anchor = (*p == '^'); - lua_Integer n = 0; /* replacement count */ - MatchState ms; - luaL_Buffer b; - luaL_argcheck(L, tr == LUA_TNUMBER || tr == LUA_TSTRING || tr == LUA_TFUNCTION || tr == LUA_TTABLE, 3, - "string/function/table expected"); - luaL_buffinit(L, &b); - if (anchor) - { - p++; - lp--; /* skip anchor character */ - } - prepstate(&ms, L, src, srcl, p, lp); - while (n < max_s) - { - const char *e; - reprepstate(&ms); /* (re)prepare state for new match */ - if ((e = match(&ms, src, p)) != NULL && e != lastmatch) - { /* match? */ - n++; - add_value(&ms, &b, src, e, tr); /* add replacement to buffer */ - src = lastmatch = e; - } - else if (src < ms.src_end) /* otherwise, skip one character */ - luaL_addchar(&b, *src++); - else - break; /* end of subject */ - if (anchor) - break; - } - luaL_addlstring(&b, src, ms.src_end - src); - luaL_pushresult(&b); - lua_pushinteger(L, n); /* number of substitutions */ - return 2; -} - -/* }====================================================== */ - -/* -** {====================================================== -** STRING FORMAT -** ======================================================= -*/ - -#if !defined(lua_number2strx) /* { */ - -/* -** Hexadecimal floating-point formatter -*/ - -#include - -#define SIZELENMOD (sizeof(LUA_NUMBER_FRMLEN) / sizeof(char)) - -/* -** Number of bits that goes into the first digit. It can be any value -** between 1 and 4; the following definition tries to align the number -** to nibble boundaries by making what is left after that first digit a -** multiple of 4. -*/ -#define L_NBFD ((l_mathlim(MANT_DIG) - 1) % 4 + 1) - -/* -** Add integer part of 'x' to buffer and return new 'x' -*/ -static lua_Number adddigit(char *buff, int n, lua_Number x) -{ - lua_Number dd = l_mathop(floor)(x); /* get integer part from 'x' */ - int d = (int)dd; - buff[n] = (d < 10 ? d + '0' : d - 10 + 'a'); /* add to buffer */ - return x - dd; /* return what is left */ -} - -static int num2straux(char *buff, int sz, lua_Number x) -{ - /* if 'inf' or 'NaN', format it like '%g' */ - if (x != x || x == (lua_Number)HUGE_VAL || x == -(lua_Number)HUGE_VAL) - return l_sprintf(buff, sz, LUA_NUMBER_FMT, (LUAI_UACNUMBER)x); - else if (x == 0) - { /* can be -0... */ - /* create "0" or "-0" followed by exponent */ - return l_sprintf(buff, sz, LUA_NUMBER_FMT "x0p+0", (LUAI_UACNUMBER)x); - } - else - { - int e; - lua_Number m = l_mathop(frexp)(x, &e); /* 'x' fraction and exponent */ - int n = 0; /* character count */ - if (m < 0) - { /* is number negative? */ - buff[n++] = '-'; /* add signal */ - m = -m; /* make it positive */ - } - buff[n++] = '0'; - buff[n++] = 'x'; /* add "0x" */ - m = adddigit(buff, n++, m * (1 << L_NBFD)); /* add first digit */ - e -= L_NBFD; /* this digit goes before the radix point */ - if (m > 0) - { /* more digits? */ - buff[n++] = lua_getlocaledecpoint(); /* add radix point */ - do - { /* add as many digits as needed */ - m = adddigit(buff, n++, m * 16); - } while (m > 0); - } - n += l_sprintf(buff + n, sz - n, "p%+d", e); /* add exponent */ - lua_assert(n < sz); - return n; - } -} - -static int lua_number2strx(lua_State *L, char *buff, int sz, - const char *fmt, lua_Number x) -{ - int n = num2straux(buff, sz, x); - if (fmt[SIZELENMOD] == 'A') - { - int i; - for (i = 0; i < n; i++) - buff[i] = toupper(uchar(buff[i])); - } - else if (fmt[SIZELENMOD] != 'a') - return luaL_error(L, "modifiers for format '%%a'/'%%A' not implemented"); - return n; -} - -#endif /* } */ - -/* -** Maximum size of each formatted item. This maximum size is produced -** by format('%.99f', -maxfloat), and is equal to 99 + 3 ('-', '.', -** and '\0') + number of decimal digits to represent maxfloat (which -** is maximum exponent + 1). (99+3+1 then rounded to 120 for "extra -** expenses", such as locale-dependent stuff) -*/ -#define MAX_ITEM (120 + l_mathlim(MAX_10_EXP)) - -/* valid flags in a format specification */ -#define FLAGS "-+ #0" - -/* -** maximum size of each format specification (such as "%-099.99d") -*/ -#define MAX_FORMAT 32 - -static void addquoted(luaL_Buffer *b, const char *s, size_t len) -{ - luaL_addchar(b, '"'); - while (len--) - { - if (*s == '"' || *s == '\\' || *s == '\n') - { - luaL_addchar(b, '\\'); - luaL_addchar(b, *s); - } - else if (iscntrl(uchar(*s))) - { - char buff[10]; - if (!isdigit(uchar(*(s + 1)))) - l_sprintf(buff, sizeof(buff), "\\%d", (int)uchar(*s)); - else - l_sprintf(buff, sizeof(buff), "\\%03d", (int)uchar(*s)); - luaL_addstring(b, buff); - } - else - luaL_addchar(b, *s); - s++; - } - luaL_addchar(b, '"'); -} - -/* -** Ensures the 'buff' string uses a dot as the radix character. -*/ -static void checkdp(char *buff, int nb) -{ - if (memchr(buff, '.', nb) == NULL) - { /* no dot? */ - char point = lua_getlocaledecpoint(); /* try locale point */ - char *ppoint = (char *)memchr(buff, point, nb); - if (ppoint) - *ppoint = '.'; /* change it to a dot */ - } -} - -static void addliteral(lua_State *L, luaL_Buffer *b, int arg) -{ - switch (lua_type(L, arg)) - { - case LUA_TSTRING: - { - size_t len; - const char *s = lua_tolstring(L, arg, &len); - addquoted(b, s, len); - break; - } - case LUA_TNUMBER: - { - char *buff = luaL_prepbuffsize(b, MAX_ITEM); - int nb; - if (!lua_isinteger(L, arg)) - { /* float? */ - lua_Number n = lua_tonumber(L, arg); /* write as hexa ('%a') */ - nb = lua_number2strx(L, buff, MAX_ITEM, "%" LUA_NUMBER_FRMLEN "a", n); - checkdp(buff, nb); /* ensure it uses a dot */ - } - else - { /* integers */ - lua_Integer n = lua_tointeger(L, arg); - const char *format = (n == LUA_MININTEGER) /* corner case? */ - ? "0x%" LUA_INTEGER_FRMLEN "x" /* use hexa */ - : LUA_INTEGER_FMT; /* else use default format */ - nb = l_sprintf(buff, MAX_ITEM, format, (LUAI_UACINT)n); - } - luaL_addsize(b, nb); - break; - } - case LUA_TNIL: - case LUA_TBOOLEAN: - { - luaL_tolstring(L, arg, NULL); - luaL_addvalue(b); - break; - } - default: - { - luaL_argerror(L, arg, "value has no literal form"); - } - } -} - -static const char *scanformat(lua_State *L, const char *strfrmt, char *form) -{ - const char *p = strfrmt; - while (*p != '\0' && strchr(FLAGS, *p) != NULL) - p++; /* skip flags */ - if ((size_t)(p - strfrmt) >= sizeof(FLAGS) / sizeof(char)) - luaL_error(L, "invalid format (repeated flags)"); - if (isdigit(uchar(*p))) - p++; /* skip width */ - if (isdigit(uchar(*p))) - p++; /* (2 digits at most) */ - if (*p == '.') - { - p++; - if (isdigit(uchar(*p))) - p++; /* skip precision */ - if (isdigit(uchar(*p))) - p++; /* (2 digits at most) */ - } - if (isdigit(uchar(*p))) - luaL_error(L, "invalid format (width or precision too long)"); - *(form++) = '%'; - memcpy(form, strfrmt, ((p - strfrmt) + 1) * sizeof(char)); - form += (p - strfrmt) + 1; - *form = '\0'; - return p; -} - -/* -** add length modifier into formats -*/ -static void addlenmod(char *form, const char *lenmod) -{ - size_t l = strlen(form); - size_t lm = strlen(lenmod); - char spec = form[l - 1]; - strcpy(form + l - 1, lenmod); - form[l + lm - 1] = spec; - form[l + lm] = '\0'; -} - -static int str_format(lua_State *L) -{ - int top = lua_gettop(L); - int arg = 1; - size_t sfl; - const char *strfrmt = luaL_checklstring(L, arg, &sfl); - const char *strfrmt_end = strfrmt + sfl; - luaL_Buffer b; - luaL_buffinit(L, &b); - while (strfrmt < strfrmt_end) - { - if (*strfrmt != L_ESC) - luaL_addchar(&b, *strfrmt++); - else if (*++strfrmt == L_ESC) - luaL_addchar(&b, *strfrmt++); /* %% */ - else - { /* format item */ - char form[MAX_FORMAT]; /* to store the format ('%...') */ - char *buff = luaL_prepbuffsize(&b, MAX_ITEM); /* to put formatted item */ - int nb = 0; /* number of bytes in added item */ - if (++arg > top) - luaL_argerror(L, arg, "no value"); - strfrmt = scanformat(L, strfrmt, form); - switch (*strfrmt++) - { - case 'c': - { - nb = l_sprintf(buff, MAX_ITEM, form, (int)luaL_checkinteger(L, arg)); - break; - } - case 'd': - case 'i': - case 'o': - case 'u': - case 'x': - case 'X': - { - lua_Integer n = luaL_checkinteger(L, arg); - addlenmod(form, LUA_INTEGER_FRMLEN); - nb = l_sprintf(buff, MAX_ITEM, form, (LUAI_UACINT)n); - break; - } - case 'a': - case 'A': - addlenmod(form, LUA_NUMBER_FRMLEN); - nb = lua_number2strx(L, buff, MAX_ITEM, form, - luaL_checknumber(L, arg)); - break; - case 'e': - case 'E': - case 'f': - case 'g': - case 'G': - { - lua_Number n = luaL_checknumber(L, arg); - addlenmod(form, LUA_NUMBER_FRMLEN); - nb = l_sprintf(buff, MAX_ITEM, form, (LUAI_UACNUMBER)n); - break; - } - case 'q': - { - addliteral(L, &b, arg); - break; - } - case 's': - { - size_t l; - const char *s = luaL_tolstring(L, arg, &l); - if (form[2] == '\0') /* no modifiers? */ - luaL_addvalue(&b); /* keep entire string */ - else - { - luaL_argcheck(L, l == strlen(s), arg, "string contains zeros"); - if (!strchr(form, '.') && l >= 100) - { - /* no precision and string is too long to be formatted */ - luaL_addvalue(&b); /* keep entire string */ - } - else - { /* format the string into 'buff' */ - nb = l_sprintf(buff, MAX_ITEM, form, s); - lua_pop(L, 1); /* remove result from 'luaL_tolstring' */ - } - } - break; - } - default: - { /* also treat cases 'pnLlh' */ - return luaL_error(L, "invalid option '%%%c' to 'format'", - *(strfrmt - 1)); - } - } - lua_assert(nb < MAX_ITEM); - luaL_addsize(&b, nb); - } - } - luaL_pushresult(&b); - return 1; -} - -/* }====================================================== */ - -/* -** {====================================================== -** PACK/UNPACK -** ======================================================= -*/ - -/* value used for padding */ -#if !defined(LUAL_PACKPADBYTE) -#define LUAL_PACKPADBYTE 0x00 -#endif - -/* maximum size for the binary representation of an integer */ -#define MAXINTSIZE 16 - -/* number of bits in a character */ -#define NB CHAR_BIT - -/* mask for one character (NB 1's) */ -#define MC ((1 << NB) - 1) - -/* size of a lua_Integer */ -#define SZINT ((int)sizeof(lua_Integer)) - -/* dummy union to get native endianness */ -static const union { - int dummy; - char little; /* true iff machine is little endian */ -} nativeendian = {1}; - -/* dummy structure to get native alignment requirements */ -struct cD -{ - char c; - union { - double d; - void *p; - lua_Integer i; - lua_Number n; - } u; -}; - -#define MAXALIGN (offsetof(struct cD, u)) - -/* -** Union for serializing floats -*/ -typedef union Ftypes { - float f; - double d; - lua_Number n; - char buff[5 * sizeof(lua_Number)]; /* enough for any float type */ -} Ftypes; - -/* -** information to pack/unpack stuff -*/ -typedef struct Header -{ - lua_State *L; - int islittle; - int maxalign; -} Header; - -/* -** options for pack/unpack -*/ -typedef enum KOption -{ - Kint, /* signed integers */ - Kuint, /* unsigned integers */ - Kfloat, /* floating-point numbers */ - Kchar, /* fixed-length strings */ - Kstring, /* strings with prefixed length */ - Kzstr, /* zero-terminated strings */ - Kpadding, /* padding */ - Kpaddalign, /* padding for alignment */ - Knop /* no-op (configuration or spaces) */ -} KOption; - -/* -** Read an integer numeral from string 'fmt' or return 'df' if -** there is no numeral -*/ -static int digit(int c) { return '0' <= c && c <= '9'; } - -static int getnum(const char **fmt, int df) -{ - if (!digit(**fmt)) /* no number? */ - return df; /* return default value */ - else - { - int a = 0; - do - { - a = a * 10 + (*((*fmt)++) - '0'); - } while (digit(**fmt) && a <= ((int)MAXSIZE - 9) / 10); - return a; - } -} - -/* -** Read an integer numeral and raises an error if it is larger -** than the maximum size for integers. -*/ -static int getnumlimit(Header *h, const char **fmt, int df) -{ - int sz = getnum(fmt, df); - if (sz > MAXINTSIZE || sz <= 0) - return luaL_error(h->L, "integral size (%d) out of limits [1,%d]", - sz, MAXINTSIZE); - return sz; -} - -/* -** Initialize Header -*/ -static void initheader(lua_State *L, Header *h) -{ - h->L = L; - h->islittle = nativeendian.little; - h->maxalign = 1; -} - -/* -** Read and classify next option. 'size' is filled with option's size. -*/ -static KOption getoption(Header *h, const char **fmt, int *size) -{ - int opt = *((*fmt)++); - *size = 0; /* default */ - switch (opt) - { - case 'b': - *size = sizeof(char); - return Kint; - case 'B': - *size = sizeof(char); - return Kuint; - case 'h': - *size = sizeof(short); - return Kint; - case 'H': - *size = sizeof(short); - return Kuint; - case 'l': - *size = sizeof(long); - return Kint; - case 'L': - *size = sizeof(long); - return Kuint; - case 'j': - *size = sizeof(lua_Integer); - return Kint; - case 'J': - *size = sizeof(lua_Integer); - return Kuint; - case 'T': - *size = sizeof(size_t); - return Kuint; - case 'f': - *size = sizeof(float); - return Kfloat; - case 'd': - *size = sizeof(double); - return Kfloat; - case 'n': - *size = sizeof(lua_Number); - return Kfloat; - case 'i': - *size = getnumlimit(h, fmt, sizeof(int)); - return Kint; - case 'I': - *size = getnumlimit(h, fmt, sizeof(int)); - return Kuint; - case 's': - *size = getnumlimit(h, fmt, sizeof(size_t)); - return Kstring; - case 'c': - *size = getnum(fmt, -1); - if (*size == -1) - luaL_error(h->L, "missing size for format option 'c'"); - return Kchar; - case 'z': - return Kzstr; - case 'x': - *size = 1; - return Kpadding; - case 'X': - return Kpaddalign; - case ' ': - break; - case '<': - h->islittle = 1; - break; - case '>': - h->islittle = 0; - break; - case '=': - h->islittle = nativeendian.little; - break; - case '!': - h->maxalign = getnumlimit(h, fmt, MAXALIGN); - break; - default: - luaL_error(h->L, "invalid format option '%c'", opt); - } - return Knop; -} - -/* -** Read, classify, and fill other details about the next option. -** 'psize' is filled with option's size, 'notoalign' with its -** alignment requirements. -** Local variable 'size' gets the size to be aligned. (Kpadal option -** always gets its full alignment, other options are limited by -** the maximum alignment ('maxalign'). Kchar option needs no alignment -** despite its size. -*/ -static KOption getdetails(Header *h, size_t totalsize, - const char **fmt, int *psize, int *ntoalign) -{ - KOption opt = getoption(h, fmt, psize); - int align = *psize; /* usually, alignment follows size */ - if (opt == Kpaddalign) - { /* 'X' gets alignment from following option */ - if (**fmt == '\0' || getoption(h, fmt, &align) == Kchar || align == 0) - luaL_argerror(h->L, 1, "invalid next option for option 'X'"); - } - if (align <= 1 || opt == Kchar) /* need no alignment? */ - *ntoalign = 0; - else - { - if (align > h->maxalign) /* enforce maximum alignment */ - align = h->maxalign; - if ((align & (align - 1)) != 0) /* is 'align' not a power of 2? */ - luaL_argerror(h->L, 1, "format asks for alignment not power of 2"); - *ntoalign = (align - (int)(totalsize & (align - 1))) & (align - 1); - } - return opt; -} - -/* -** Pack integer 'n' with 'size' bytes and 'islittle' endianness. -** The final 'if' handles the case when 'size' is larger than -** the size of a Lua integer, correcting the extra sign-extension -** bytes if necessary (by default they would be zeros). -*/ -static void packint(luaL_Buffer *b, lua_Unsigned n, - int islittle, int size, int neg) -{ - char *buff = luaL_prepbuffsize(b, size); - int i; - buff[islittle ? 0 : size - 1] = (char)(n & MC); /* first byte */ - for (i = 1; i < size; i++) - { - n >>= NB; - buff[islittle ? i : size - 1 - i] = (char)(n & MC); - } - if (neg && size > SZINT) - { /* negative number need sign extension? */ - for (i = SZINT; i < size; i++) /* correct extra bytes */ - buff[islittle ? i : size - 1 - i] = (char)MC; - } - luaL_addsize(b, size); /* add result to buffer */ -} - -/* -** Copy 'size' bytes from 'src' to 'dest', correcting endianness if -** given 'islittle' is different from native endianness. -*/ -static void copywithendian(volatile char *dest, volatile const char *src, - int size, int islittle) -{ - if (islittle == nativeendian.little) - { - while (size-- != 0) - *(dest++) = *(src++); - } - else - { - dest += size - 1; - while (size-- != 0) - *(dest--) = *(src++); - } -} - -static int str_pack(lua_State *L) -{ - luaL_Buffer b; - Header h; - const char *fmt = luaL_checkstring(L, 1); /* format string */ - int arg = 1; /* current argument to pack */ - size_t totalsize = 0; /* accumulate total size of result */ - initheader(L, &h); - lua_pushnil(L); /* mark to separate arguments from string buffer */ - luaL_buffinit(L, &b); - while (*fmt != '\0') - { - int size, ntoalign; - KOption opt = getdetails(&h, totalsize, &fmt, &size, &ntoalign); - totalsize += ntoalign + size; - while (ntoalign-- > 0) - luaL_addchar(&b, LUAL_PACKPADBYTE); /* fill alignment */ - arg++; - switch (opt) - { - case Kint: - { /* signed integers */ - lua_Integer n = luaL_checkinteger(L, arg); - if (size < SZINT) - { /* need overflow check? */ - lua_Integer lim = (lua_Integer)1 << ((size * NB) - 1); - luaL_argcheck(L, -lim <= n && n < lim, arg, "integer overflow"); - } - packint(&b, (lua_Unsigned)n, h.islittle, size, (n < 0)); - break; - } - case Kuint: - { /* unsigned integers */ - lua_Integer n = luaL_checkinteger(L, arg); - if (size < SZINT) /* need overflow check? */ - luaL_argcheck(L, (lua_Unsigned)n < ((lua_Unsigned)1 << (size * NB)), - arg, "unsigned overflow"); - packint(&b, (lua_Unsigned)n, h.islittle, size, 0); - break; - } - case Kfloat: - { /* floating-point options */ - volatile Ftypes u; - char *buff = luaL_prepbuffsize(&b, size); - lua_Number n = luaL_checknumber(L, arg); /* get argument */ - if (size == sizeof(u.f)) - u.f = (float)n; /* copy it into 'u' */ - else if (size == sizeof(u.d)) - u.d = (double)n; - else - u.n = n; - /* move 'u' to final result, correcting endianness if needed */ - copywithendian(buff, u.buff, size, h.islittle); - luaL_addsize(&b, size); - break; - } - case Kchar: - { /* fixed-size string */ - size_t len; - const char *s = luaL_checklstring(L, arg, &len); - luaL_argcheck(L, len <= (size_t)size, arg, - "string longer than given size"); - luaL_addlstring(&b, s, len); /* add string */ - while (len++ < (size_t)size) /* pad extra space */ - luaL_addchar(&b, LUAL_PACKPADBYTE); - break; - } - case Kstring: - { /* strings with length count */ - size_t len; - const char *s = luaL_checklstring(L, arg, &len); - luaL_argcheck(L, size >= (int)sizeof(size_t) || len < ((size_t)1 << (size * NB)), - arg, "string length does not fit in given size"); - packint(&b, (lua_Unsigned)len, h.islittle, size, 0); /* pack length */ - luaL_addlstring(&b, s, len); - totalsize += len; - break; - } - case Kzstr: - { /* zero-terminated string */ - size_t len; - const char *s = luaL_checklstring(L, arg, &len); - luaL_argcheck(L, strlen(s) == len, arg, "string contains zeros"); - luaL_addlstring(&b, s, len); - luaL_addchar(&b, '\0'); /* add zero at the end */ - totalsize += len + 1; - break; - } - case Kpadding: - luaL_addchar(&b, LUAL_PACKPADBYTE); /* FALLTHROUGH */ - case Kpaddalign: - case Knop: - arg--; /* undo increment */ - break; - } - } - luaL_pushresult(&b); - return 1; -} - -static int str_packsize(lua_State *L) -{ - Header h; - const char *fmt = luaL_checkstring(L, 1); /* format string */ - size_t totalsize = 0; /* accumulate total size of result */ - initheader(L, &h); - while (*fmt != '\0') - { - int size, ntoalign; - KOption opt = getdetails(&h, totalsize, &fmt, &size, &ntoalign); - size += ntoalign; /* total space used by option */ - luaL_argcheck(L, totalsize <= MAXSIZE - size, 1, - "format result too large"); - totalsize += size; - switch (opt) - { - case Kstring: /* strings with length count */ - case Kzstr: /* zero-terminated string */ - luaL_argerror(L, 1, "variable-length format"); - /* call never return, but to avoid warnings: */ /* FALLTHROUGH */ - default: - break; - } - } - lua_pushinteger(L, (lua_Integer)totalsize); - return 1; -} - -/* -** Unpack an integer with 'size' bytes and 'islittle' endianness. -** If size is smaller than the size of a Lua integer and integer -** is signed, must do sign extension (propagating the sign to the -** higher bits); if size is larger than the size of a Lua integer, -** it must check the unread bytes to see whether they do not cause an -** overflow. -*/ -static lua_Integer unpackint(lua_State *L, const char *str, - int islittle, int size, int issigned) -{ - lua_Unsigned res = 0; - int i; - int limit = (size <= SZINT) ? size : SZINT; - for (i = limit - 1; i >= 0; i--) - { - res <<= NB; - res |= (lua_Unsigned)(unsigned char)str[islittle ? i : size - 1 - i]; - } - if (size < SZINT) - { /* real size smaller than lua_Integer? */ - if (issigned) - { /* needs sign extension? */ - lua_Unsigned mask = (lua_Unsigned)1 << (size * NB - 1); - res = ((res ^ mask) - mask); /* do sign extension */ - } - } - else if (size > SZINT) - { /* must check unread bytes */ - int mask = (!issigned || (lua_Integer)res >= 0) ? 0 : MC; - for (i = limit; i < size; i++) - { - if ((unsigned char)str[islittle ? i : size - 1 - i] != mask) - luaL_error(L, "%d-byte integer does not fit into Lua Integer", size); - } - } - return (lua_Integer)res; -} - -static int str_unpack(lua_State *L) -{ - Header h; - const char *fmt = luaL_checkstring(L, 1); - size_t ld; - const char *data = luaL_checklstring(L, 2, &ld); - size_t pos = (size_t)posrelat(luaL_optinteger(L, 3, 1), ld) - 1; - int n = 0; /* number of results */ - luaL_argcheck(L, pos <= ld, 3, "initial position out of string"); - initheader(L, &h); - while (*fmt != '\0') - { - int size, ntoalign; - KOption opt = getdetails(&h, pos, &fmt, &size, &ntoalign); - if ((size_t)ntoalign + size > ~pos || pos + ntoalign + size > ld) - luaL_argerror(L, 2, "data string too short"); - pos += ntoalign; /* skip alignment */ - /* stack space for item + next position */ - luaL_checkstack(L, 2, "too many results"); - n++; - switch (opt) - { - case Kint: - case Kuint: - { - lua_Integer res = unpackint(L, data + pos, h.islittle, size, - (opt == Kint)); - lua_pushinteger(L, res); - break; - } - case Kfloat: - { - volatile Ftypes u; - lua_Number num; - copywithendian(u.buff, data + pos, size, h.islittle); - if (size == sizeof(u.f)) - num = (lua_Number)u.f; - else if (size == sizeof(u.d)) - num = (lua_Number)u.d; - else - num = u.n; - lua_pushnumber(L, num); - break; - } - case Kchar: - { - lua_pushlstring(L, data + pos, size); - break; - } - case Kstring: - { - size_t len = (size_t)unpackint(L, data + pos, h.islittle, size, 0); - luaL_argcheck(L, pos + len + size <= ld, 2, "data string too short"); - lua_pushlstring(L, data + pos + size, len); - pos += len; /* skip string */ - break; - } - case Kzstr: - { - size_t len = (int)strlen(data + pos); - lua_pushlstring(L, data + pos, len); - pos += len + 1; /* skip string plus final '\0' */ - break; - } - case Kpaddalign: - case Kpadding: - case Knop: - n--; /* undo increment */ - break; - } - pos += size; - } - lua_pushinteger(L, pos + 1); /* next position */ - return n + 1; -} - -/* }====================================================== */ - -static const luaL_Reg strlib[] = { - {"byte", str_byte}, - {"char", str_char}, - {"dump", str_dump}, - {"find", str_find}, - {"format", str_format}, - {"gmatch", gmatch}, - {"gsub", str_gsub}, - {"len", str_len}, - {"lower", str_lower}, - {"match", str_match}, - {"rep", str_rep}, - {"reverse", str_reverse}, - {"sub", str_sub}, - {"upper", str_upper}, - {"pack", str_pack}, - {"packsize", str_packsize}, - {"unpack", str_unpack}, - {NULL, NULL}}; - -static void createmetatable(lua_State *L) -{ - lua_createtable(L, 0, 1); /* table to be metatable for strings */ - lua_pushliteral(L, ""); /* dummy string */ - lua_pushvalue(L, -2); /* copy table */ - lua_setmetatable(L, -2); /* set table as metatable for strings */ - lua_pop(L, 1); /* pop dummy string */ - lua_pushvalue(L, -2); /* get string library */ - lua_setfield(L, -2, "__index"); /* metatable.__index = string */ - lua_pop(L, 1); /* pop metatable */ -} - -/* -** Open string library -*/ -LUAMOD_API int luaopen_string(lua_State *L) -{ - luaL_newlib(L, strlib); - createmetatable(L); - return 1; -} diff --git a/User/lua/src-bak/ltable.c b/User/lua/src-bak/ltable.c deleted file mode 100644 index 9dd78f4..0000000 --- a/User/lua/src-bak/ltable.c +++ /dev/null @@ -1,749 +0,0 @@ -/* -** $Id: ltable.c,v 2.118.1.4 2018/06/08 16:22:51 roberto Exp $ -** Lua tables (hash) -** See Copyright Notice in lua.h -*/ - -#define ltable_c -#define LUA_CORE - -#include "lprefix.h" - -/* -** Implementation of tables (aka arrays, objects, or hash tables). -** Tables keep its elements in two parts: an array part and a hash part. -** Non-negative integer keys are all candidates to be kept in the array -** part. The actual size of the array is the largest 'n' such that -** more than half the slots between 1 and n are in use. -** Hash uses a mix of chained scatter table with Brent's variation. -** A main invariant of these tables is that, if an element is not -** in its main position (i.e. the 'original' position that its hash gives -** to it), then the colliding element is in its own main position. -** Hence even when the load factor reaches 100%, performance remains good. -*/ - -#include -#include - -#include "lua.h" - -#include "ldebug.h" -#include "ldo.h" -#include "lgc.h" -#include "lmem.h" -#include "lobject.h" -#include "lstate.h" -#include "lstring.h" -#include "ltable.h" -#include "lvm.h" - -/* -** Maximum size of array part (MAXASIZE) is 2^MAXABITS. MAXABITS is -** the largest integer such that MAXASIZE fits in an unsigned int. -*/ -#define MAXABITS cast_int(sizeof(int) * CHAR_BIT - 1) -#define MAXASIZE (1u << MAXABITS) - -/* -** Maximum size of hash part is 2^MAXHBITS. MAXHBITS is the largest -** integer such that 2^MAXHBITS fits in a signed int. (Note that the -** maximum number of elements in a table, 2^MAXABITS + 2^MAXHBITS, still -** fits comfortably in an unsigned int.) -*/ -#define MAXHBITS (MAXABITS - 1) - -#define hashpow2(t, n) (gnode(t, lmod((n), sizenode(t)))) - -#define hashstr(t, str) hashpow2(t, (str)->hash) -#define hashboolean(t, p) hashpow2(t, p) -#define hashint(t, i) hashpow2(t, i) - -/* -** for some types, it is better to avoid modulus by power of 2, as -** they tend to have many 2 factors. -*/ -#define hashmod(t, n) (gnode(t, ((n) % ((sizenode(t) - 1) | 1)))) - -#define hashpointer(t, p) hashmod(t, point2uint(p)) - -#define dummynode (&dummynode_) - -static const Node dummynode_ = { - {NILCONSTANT}, /* value */ - {{NILCONSTANT, 0}} /* key */ -}; - -/* -** Hash for floating-point numbers. -** The main computation should be just -** n = frexp(n, &i); return (n * INT_MAX) + i -** but there are some numerical subtleties. -** In a two-complement representation, INT_MAX does not has an exact -** representation as a float, but INT_MIN does; because the absolute -** value of 'frexp' is smaller than 1 (unless 'n' is inf/NaN), the -** absolute value of the product 'frexp * -INT_MIN' is smaller or equal -** to INT_MAX. Next, the use of 'unsigned int' avoids overflows when -** adding 'i'; the use of '~u' (instead of '-u') avoids problems with -** INT_MIN. -*/ -#if !defined(l_hashfloat) -static int l_hashfloat(lua_Number n) -{ - int i; - lua_Integer ni; - n = l_mathop(frexp)(n, &i) * -cast_num(INT_MIN); - if (!lua_numbertointeger(n, &ni)) - { /* is 'n' inf/-inf/NaN? */ - lua_assert(luai_numisnan(n) || l_mathop(fabs)(n) == cast_num(HUGE_VAL)); - return 0; - } - else - { /* normal case */ - unsigned int u = cast(unsigned int, i) + cast(unsigned int, ni); - return cast_int(u <= cast(unsigned int, INT_MAX) ? u : ~u); - } -} -#endif - -/* -** returns the 'main' position of an element in a table (that is, the index -** of its hash value) -*/ -static Node *mainposition(const Table *t, const TValue *key) -{ - switch (ttype(key)) - { - case LUA_TNUMINT: - return hashint(t, ivalue(key)); - case LUA_TNUMFLT: - return hashmod(t, l_hashfloat(fltvalue(key))); - case LUA_TSHRSTR: - return hashstr(t, tsvalue(key)); - case LUA_TLNGSTR: - return hashpow2(t, luaS_hashlongstr(tsvalue(key))); - case LUA_TBOOLEAN: - return hashboolean(t, bvalue(key)); - case LUA_TLIGHTUSERDATA: - return hashpointer(t, pvalue(key)); - case LUA_TLCF: - return hashpointer(t, fvalue(key)); - default: - lua_assert(!ttisdeadkey(key)); - return hashpointer(t, gcvalue(key)); - } -} - -/* -** returns the index for 'key' if 'key' is an appropriate key to live in -** the array part of the table, 0 otherwise. -*/ -static unsigned int arrayindex(const TValue *key) -{ - if (ttisinteger(key)) - { - lua_Integer k = ivalue(key); - if (0 < k && (lua_Unsigned)k <= MAXASIZE) - return cast(unsigned int, k); /* 'key' is an appropriate array index */ - } - return 0; /* 'key' did not match some condition */ -} - -/* -** returns the index of a 'key' for table traversals. First goes all -** elements in the array part, then elements in the hash part. The -** beginning of a traversal is signaled by 0. -*/ -static unsigned int findindex(lua_State *L, Table *t, StkId key) -{ - unsigned int i; - if (ttisnil(key)) - return 0; /* first iteration */ - i = arrayindex(key); - if (i != 0 && i <= t->sizearray) /* is 'key' inside array part? */ - return i; /* yes; that's the index */ - else - { - int nx; - Node *n = mainposition(t, key); - for (;;) - { /* check whether 'key' is somewhere in the chain */ - /* key may be dead already, but it is ok to use it in 'next' */ - if (luaV_rawequalobj(gkey(n), key) || - (ttisdeadkey(gkey(n)) && iscollectable(key) && - deadvalue(gkey(n)) == gcvalue(key))) - { - i = cast_int(n - gnode(t, 0)); /* key index in hash table */ - /* hash elements are numbered after array ones */ - return (i + 1) + t->sizearray; - } - nx = gnext(n); - if (nx == 0) - luaG_runerror(L, "invalid key to 'next'"); /* key not found */ - else - n += nx; - } - } -} - -int luaH_next(lua_State *L, Table *t, StkId key) -{ - unsigned int i = findindex(L, t, key); /* find original element */ - for (; i < t->sizearray; i++) - { /* try first array part */ - if (!ttisnil(&t->array[i])) - { /* a non-nil value? */ - setivalue(key, i + 1); - setobj2s(L, key + 1, &t->array[i]); - return 1; - } - } - for (i -= t->sizearray; cast_int(i) < sizenode(t); i++) - { /* hash part */ - if (!ttisnil(gval(gnode(t, i)))) - { /* a non-nil value? */ - setobj2s(L, key, gkey(gnode(t, i))); - setobj2s(L, key + 1, gval(gnode(t, i))); - return 1; - } - } - return 0; /* no more elements */ -} - -/* -** {============================================================= -** Rehash -** ============================================================== -*/ - -/* -** Compute the optimal size for the array part of table 't'. 'nums' is a -** "count array" where 'nums[i]' is the number of integers in the table -** between 2^(i - 1) + 1 and 2^i. 'pna' enters with the total number of -** integer keys in the table and leaves with the number of keys that -** will go to the array part; return the optimal size. -*/ -static unsigned int computesizes(unsigned int nums[], unsigned int *pna) -{ - int i; - unsigned int twotoi; /* 2^i (candidate for optimal size) */ - unsigned int a = 0; /* number of elements smaller than 2^i */ - unsigned int na = 0; /* number of elements to go to array part */ - unsigned int optimal = 0; /* optimal size for array part */ - /* loop while keys can fill more than half of total size */ - for (i = 0, twotoi = 1; - twotoi > 0 && *pna > twotoi / 2; - i++, twotoi *= 2) - { - if (nums[i] > 0) - { - a += nums[i]; - if (a > twotoi / 2) - { /* more than half elements present? */ - optimal = twotoi; /* optimal size (till now) */ - na = a; /* all elements up to 'optimal' will go to array part */ - } - } - } - lua_assert((optimal == 0 || optimal / 2 < na) && na <= optimal); - *pna = na; - return optimal; -} - -static int countint(const TValue *key, unsigned int *nums) -{ - unsigned int k = arrayindex(key); - if (k != 0) - { /* is 'key' an appropriate array index? */ - nums[luaO_ceillog2(k)]++; /* count as such */ - return 1; - } - else - return 0; -} - -/* -** Count keys in array part of table 't': Fill 'nums[i]' with -** number of keys that will go into corresponding slice and return -** total number of non-nil keys. -*/ -static unsigned int numusearray(const Table *t, unsigned int *nums) -{ - int lg; - unsigned int ttlg; /* 2^lg */ - unsigned int ause = 0; /* summation of 'nums' */ - unsigned int i = 1; /* count to traverse all array keys */ - /* traverse each slice */ - for (lg = 0, ttlg = 1; lg <= MAXABITS; lg++, ttlg *= 2) - { - unsigned int lc = 0; /* counter */ - unsigned int lim = ttlg; - if (lim > t->sizearray) - { - lim = t->sizearray; /* adjust upper limit */ - if (i > lim) - break; /* no more elements to count */ - } - /* count elements in range (2^(lg - 1), 2^lg] */ - for (; i <= lim; i++) - { - if (!ttisnil(&t->array[i - 1])) - lc++; - } - nums[lg] += lc; - ause += lc; - } - return ause; -} - -static int numusehash(const Table *t, unsigned int *nums, unsigned int *pna) -{ - int totaluse = 0; /* total number of elements */ - int ause = 0; /* elements added to 'nums' (can go to array part) */ - int i = sizenode(t); - while (i--) - { - Node *n = &t->node[i]; - if (!ttisnil(gval(n))) - { - ause += countint(gkey(n), nums); - totaluse++; - } - } - *pna += ause; - return totaluse; -} - -static void setarrayvector(lua_State *L, Table *t, unsigned int size) -{ - unsigned int i; - luaM_reallocvector(L, t->array, t->sizearray, size, TValue); - for (i = t->sizearray; i < size; i++) - setnilvalue(&t->array[i]); - t->sizearray = size; -} - -static void setnodevector(lua_State *L, Table *t, unsigned int size) -{ - if (size == 0) - { /* no elements to hash part? */ - t->node = cast(Node *, dummynode); /* use common 'dummynode' */ - t->lsizenode = 0; - t->lastfree = NULL; /* signal that it is using dummy node */ - } - else - { - int i; - int lsize = luaO_ceillog2(size); - if (lsize > MAXHBITS) - luaG_runerror(L, "table overflow"); - size = twoto(lsize); - t->node = luaM_newvector(L, size, Node); - for (i = 0; i < (int)size; i++) - { - Node *n = gnode(t, i); - gnext(n) = 0; - setnilvalue(wgkey(n)); - setnilvalue(gval(n)); - } - t->lsizenode = cast_byte(lsize); - t->lastfree = gnode(t, size); /* all positions are free */ - } -} - -typedef struct -{ - Table *t; - unsigned int nhsize; -} AuxsetnodeT; - -static void auxsetnode(lua_State *L, void *ud) -{ - AuxsetnodeT *asn = cast(AuxsetnodeT *, ud); - setnodevector(L, asn->t, asn->nhsize); -} - -void luaH_resize(lua_State *L, Table *t, unsigned int nasize, - unsigned int nhsize) -{ - unsigned int i; - int j; - AuxsetnodeT asn; - unsigned int oldasize = t->sizearray; - int oldhsize = allocsizenode(t); - Node *nold = t->node; /* save old hash ... */ - if (nasize > oldasize) /* array part must grow? */ - setarrayvector(L, t, nasize); - /* create new hash part with appropriate size */ - asn.t = t; - asn.nhsize = nhsize; - if (luaD_rawrunprotected(L, auxsetnode, &asn) != LUA_OK) - { /* mem. error? */ - setarrayvector(L, t, oldasize); /* array back to its original size */ - luaD_throw(L, LUA_ERRMEM); /* rethrow memory error */ - } - if (nasize < oldasize) - { /* array part must shrink? */ - t->sizearray = nasize; - /* re-insert elements from vanishing slice */ - for (i = nasize; i < oldasize; i++) - { - if (!ttisnil(&t->array[i])) - luaH_setint(L, t, i + 1, &t->array[i]); - } - /* shrink array */ - luaM_reallocvector(L, t->array, oldasize, nasize, TValue); - } - /* re-insert elements from hash part */ - for (j = oldhsize - 1; j >= 0; j--) - { - Node *old = nold + j; - if (!ttisnil(gval(old))) - { - /* doesn't need barrier/invalidate cache, as entry was - already present in the table */ - setobjt2t(L, luaH_set(L, t, gkey(old)), gval(old)); - } - } - if (oldhsize > 0) /* not the dummy node? */ - luaM_freearray(L, nold, cast(size_t, oldhsize)); /* free old hash */ -} - -void luaH_resizearray(lua_State *L, Table *t, unsigned int nasize) -{ - int nsize = allocsizenode(t); - luaH_resize(L, t, nasize, nsize); -} - -/* -** nums[i] = number of keys 'k' where 2^(i - 1) < k <= 2^i -*/ -static void rehash(lua_State *L, Table *t, const TValue *ek) -{ - unsigned int asize; /* optimal size for array part */ - unsigned int na; /* number of keys in the array part */ - unsigned int nums[MAXABITS + 1]; - int i; - int totaluse; - for (i = 0; i <= MAXABITS; i++) - nums[i] = 0; /* reset counts */ - na = numusearray(t, nums); /* count keys in array part */ - totaluse = na; /* all those keys are integer keys */ - totaluse += numusehash(t, nums, &na); /* count keys in hash part */ - /* count extra key */ - na += countint(ek, nums); - totaluse++; - /* compute new size for array part */ - asize = computesizes(nums, &na); - /* resize the table to new computed sizes */ - luaH_resize(L, t, asize, totaluse - na); -} - -/* -** }============================================================= -*/ - -Table *luaH_new(lua_State *L) -{ - GCObject *o = luaC_newobj(L, LUA_TTABLE, sizeof(Table)); - Table *t = gco2t(o); - t->metatable = NULL; - t->flags = cast_byte(~0); - t->array = NULL; - t->sizearray = 0; - setnodevector(L, t, 0); - return t; -} - -void luaH_free(lua_State *L, Table *t) -{ - if (!isdummy(t)) - luaM_freearray(L, t->node, cast(size_t, sizenode(t))); - luaM_freearray(L, t->array, t->sizearray); - luaM_free(L, t); -} - -static Node *getfreepos(Table *t) -{ - if (!isdummy(t)) - { - while (t->lastfree > t->node) - { - t->lastfree--; - if (ttisnil(gkey(t->lastfree))) - return t->lastfree; - } - } - return NULL; /* could not find a free place */ -} - -/* -** inserts a new key into a hash table; first, check whether key's main -** position is free. If not, check whether colliding node is in its main -** position or not: if it is not, move colliding node to an empty place and -** put new key in its main position; otherwise (colliding node is in its main -** position), new key goes to an empty position. -*/ -TValue *luaH_newkey(lua_State *L, Table *t, const TValue *key) -{ - Node *mp; - TValue aux; - if (ttisnil(key)) - luaG_runerror(L, "table index is nil"); - else if (ttisfloat(key)) - { - lua_Integer k; - if (luaV_tointeger(key, &k, 0)) - { /* does index fit in an integer? */ - setivalue(&aux, k); - key = &aux; /* insert it as an integer */ - } - else if (luai_numisnan(fltvalue(key))) - luaG_runerror(L, "table index is NaN"); - } - mp = mainposition(t, key); - if (!ttisnil(gval(mp)) || isdummy(t)) - { /* main position is taken? */ - Node *othern; - Node *f = getfreepos(t); /* get a free place */ - if (f == NULL) - { /* cannot find a free place? */ - rehash(L, t, key); /* grow table */ - /* whatever called 'newkey' takes care of TM cache */ - return luaH_set(L, t, key); /* insert key into grown table */ - } - lua_assert(!isdummy(t)); - othern = mainposition(t, gkey(mp)); - if (othern != mp) - { /* is colliding node out of its main position? */ - /* yes; move colliding node into free position */ - while (othern + gnext(othern) != mp) /* find previous */ - othern += gnext(othern); - gnext(othern) = cast_int(f - othern); /* rechain to point to 'f' */ - *f = *mp; /* copy colliding node into free pos. (mp->next also goes) */ - if (gnext(mp) != 0) - { - gnext(f) += cast_int(mp - f); /* correct 'next' */ - gnext(mp) = 0; /* now 'mp' is free */ - } - setnilvalue(gval(mp)); - } - else - { /* colliding node is in its own main position */ - /* new node will go into free position */ - if (gnext(mp) != 0) - gnext(f) = cast_int((mp + gnext(mp)) - f); /* chain new position */ - else - lua_assert(gnext(f) == 0); - gnext(mp) = cast_int(f - mp); - mp = f; - } - } - setnodekey(L, &mp->i_key, key); - luaC_barrierback(L, t, key); - lua_assert(ttisnil(gval(mp))); - return gval(mp); -} - -/* -** search function for integers -*/ -const TValue *luaH_getint(Table *t, lua_Integer key) -{ - /* (1 <= key && key <= t->sizearray) */ - if (l_castS2U(key) - 1 < t->sizearray) - return &t->array[key - 1]; - else - { - Node *n = hashint(t, key); - for (;;) - { /* check whether 'key' is somewhere in the chain */ - if (ttisinteger(gkey(n)) && ivalue(gkey(n)) == key) - return gval(n); /* that's it */ - else - { - int nx = gnext(n); - if (nx == 0) - break; - n += nx; - } - } - return luaO_nilobject; - } -} - -/* -** search function for short strings -*/ -const TValue *luaH_getshortstr(Table *t, TString *key) -{ - Node *n = hashstr(t, key); - lua_assert(key->tt == LUA_TSHRSTR); - for (;;) - { /* check whether 'key' is somewhere in the chain */ - const TValue *k = gkey(n); - if (ttisshrstring(k) && eqshrstr(tsvalue(k), key)) - return gval(n); /* that's it */ - else - { - int nx = gnext(n); - if (nx == 0) - return luaO_nilobject; /* not found */ - n += nx; - } - } -} - -/* -** "Generic" get version. (Not that generic: not valid for integers, -** which may be in array part, nor for floats with integral values.) -*/ -static const TValue *getgeneric(Table *t, const TValue *key) -{ - Node *n = mainposition(t, key); - for (;;) - { /* check whether 'key' is somewhere in the chain */ - if (luaV_rawequalobj(gkey(n), key)) - return gval(n); /* that's it */ - else - { - int nx = gnext(n); - if (nx == 0) - return luaO_nilobject; /* not found */ - n += nx; - } - } -} - -const TValue *luaH_getstr(Table *t, TString *key) -{ - if (key->tt == LUA_TSHRSTR) - return luaH_getshortstr(t, key); - else - { /* for long strings, use generic case */ - TValue ko; - setsvalue(cast(lua_State *, NULL), &ko, key); - return getgeneric(t, &ko); - } -} - -/* -** main search function -*/ -const TValue *luaH_get(Table *t, const TValue *key) -{ - switch (ttype(key)) - { - case LUA_TSHRSTR: - return luaH_getshortstr(t, tsvalue(key)); - case LUA_TNUMINT: - return luaH_getint(t, ivalue(key)); - case LUA_TNIL: - return luaO_nilobject; - case LUA_TNUMFLT: - { - lua_Integer k; - if (luaV_tointeger(key, &k, 0)) /* index is int? */ - return luaH_getint(t, k); /* use specialized version */ - /* else... */ - } /* FALLTHROUGH */ - default: - return getgeneric(t, key); - } -} - -/* -** beware: when using this function you probably need to check a GC -** barrier and invalidate the TM cache. -*/ -TValue *luaH_set(lua_State *L, Table *t, const TValue *key) -{ - const TValue *p = luaH_get(t, key); - if (p != luaO_nilobject) - return cast(TValue *, p); - else - return luaH_newkey(L, t, key); -} - -void luaH_setint(lua_State *L, Table *t, lua_Integer key, TValue *value) -{ - const TValue *p = luaH_getint(t, key); - TValue *cell; - if (p != luaO_nilobject) - cell = cast(TValue *, p); - else - { - TValue k; - setivalue(&k, key); - cell = luaH_newkey(L, t, &k); - } - setobj2t(L, cell, value); -} - -static lua_Unsigned unbound_search(Table *t, lua_Unsigned j) -{ - lua_Unsigned i = j; /* i is zero or a present index */ - j++; - /* find 'i' and 'j' such that i is present and j is not */ - while (!ttisnil(luaH_getint(t, j))) - { - i = j; - if (j > l_castS2U(LUA_MAXINTEGER) / 2) - { /* overflow? */ - /* table was built with bad purposes: resort to linear search */ - i = 1; - while (!ttisnil(luaH_getint(t, i))) - i++; - return i - 1; - } - j *= 2; - } - /* now do a binary search between them */ - while (j - i > 1) - { - lua_Unsigned m = (i + j) / 2; - if (ttisnil(luaH_getint(t, m))) - j = m; - else - i = m; - } - return i; -} - -/* -** Try to find a boundary in table 't'. A 'boundary' is an integer index -** such that t[i] is non-nil and t[i+1] is nil (and 0 if t[1] is nil). -*/ -lua_Unsigned luaH_getn(Table *t) -{ - unsigned int j = t->sizearray; - if (j > 0 && ttisnil(&t->array[j - 1])) - { - /* there is a boundary in the array part: (binary) search for it */ - unsigned int i = 0; - while (j - i > 1) - { - unsigned int m = (i + j) / 2; - if (ttisnil(&t->array[m - 1])) - j = m; - else - i = m; - } - return i; - } - /* else must find a boundary in hash part */ - else if (isdummy(t)) /* hash part is empty? */ - return j; /* that is easy... */ - else - return unbound_search(t, j); -} - -#if defined(LUA_DEBUG) - -Node *luaH_mainposition(const Table *t, const TValue *key) -{ - return mainposition(t, key); -} - -int luaH_isdummy(const Table *t) { return isdummy(t); } - -#endif diff --git a/User/lua/src-bak/ltable.h b/User/lua/src-bak/ltable.h deleted file mode 100644 index db8a71b..0000000 --- a/User/lua/src-bak/ltable.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -** $Id: ltable.h,v 2.23.1.2 2018/05/24 19:39:05 roberto Exp $ -** Lua tables (hash) -** See Copyright Notice in lua.h -*/ - -#ifndef ltable_h -#define ltable_h - -#include "lobject.h" - -#define gnode(t, i) (&(t)->node[i]) -#define gval(n) (&(n)->i_val) -#define gnext(n) ((n)->i_key.nk.next) - -/* 'const' to avoid wrong writings that can mess up field 'next' */ -#define gkey(n) cast(const TValue *, (&(n)->i_key.tvk)) - -/* -** writable version of 'gkey'; allows updates to individual fields, -** but not to the whole (which has incompatible type) -*/ -#define wgkey(n) (&(n)->i_key.nk) - -#define invalidateTMcache(t) ((t)->flags = 0) - -/* true when 't' is using 'dummynode' as its hash part */ -#define isdummy(t) ((t)->lastfree == NULL) - -/* allocated size for hash nodes */ -#define allocsizenode(t) (isdummy(t) ? 0 : sizenode(t)) - -/* returns the key, given the value of a table entry */ -#define keyfromval(v) \ - (gkey(cast(Node *, cast(char *, (v)) - offsetof(Node, i_val)))) - -LUAI_FUNC const TValue *luaH_getint(Table *t, lua_Integer key); -LUAI_FUNC void luaH_setint(lua_State *L, Table *t, lua_Integer key, - TValue *value); -LUAI_FUNC const TValue *luaH_getshortstr(Table *t, TString *key); -LUAI_FUNC const TValue *luaH_getstr(Table *t, TString *key); -LUAI_FUNC const TValue *luaH_get(Table *t, const TValue *key); -LUAI_FUNC TValue *luaH_newkey(lua_State *L, Table *t, const TValue *key); -LUAI_FUNC TValue *luaH_set(lua_State *L, Table *t, const TValue *key); -LUAI_FUNC Table *luaH_new(lua_State *L); -LUAI_FUNC void luaH_resize(lua_State *L, Table *t, unsigned int nasize, - unsigned int nhsize); -LUAI_FUNC void luaH_resizearray(lua_State *L, Table *t, unsigned int nasize); -LUAI_FUNC void luaH_free(lua_State *L, Table *t); -LUAI_FUNC int luaH_next(lua_State *L, Table *t, StkId key); -LUAI_FUNC lua_Unsigned luaH_getn(Table *t); - -#if defined(LUA_DEBUG) -LUAI_FUNC Node *luaH_mainposition(const Table *t, const TValue *key); -LUAI_FUNC int luaH_isdummy(const Table *t); -#endif - -#endif diff --git a/User/lua/src-bak/ltablib.c b/User/lua/src-bak/ltablib.c deleted file mode 100644 index 2a840a5..0000000 --- a/User/lua/src-bak/ltablib.c +++ /dev/null @@ -1,469 +0,0 @@ -/* -** $Id: ltablib.c,v 1.93.1.1 2017/04/19 17:20:42 roberto Exp $ -** Library for Table Manipulation -** See Copyright Notice in lua.h -*/ - -#define ltablib_c -#define LUA_LIB - -#include "lprefix.h" - -#include -#include -#include - -#include "lua.h" - -#include "lauxlib.h" -#include "lualib.h" - -/* -** Operations that an object must define to mimic a table -** (some functions only need some of them) -*/ -#define TAB_R 1 /* read */ -#define TAB_W 2 /* write */ -#define TAB_L 4 /* length */ -#define TAB_RW (TAB_R | TAB_W) /* read/write */ - -#define aux_getn(L, n, w) (checktab(L, n, (w) | TAB_L), luaL_len(L, n)) - -static int checkfield(lua_State *L, const char *key, int n) -{ - lua_pushstring(L, key); - return (lua_rawget(L, -n) != LUA_TNIL); -} - -/* -** Check that 'arg' either is a table or can behave like one (that is, -** has a metatable with the required metamethods) -*/ -static void checktab(lua_State *L, int arg, int what) -{ - if (lua_type(L, arg) != LUA_TTABLE) - { /* is it not a table? */ - int n = 1; /* number of elements to pop */ - if (lua_getmetatable(L, arg) && /* must have metatable */ - (!(what & TAB_R) || checkfield(L, "__index", ++n)) && - (!(what & TAB_W) || checkfield(L, "__newindex", ++n)) && - (!(what & TAB_L) || checkfield(L, "__len", ++n))) - { - lua_pop(L, n); /* pop metatable and tested metamethods */ - } - else - luaL_checktype(L, arg, LUA_TTABLE); /* force an error */ - } -} - -#if defined(LUA_COMPAT_MAXN) -static int maxn(lua_State *L) -{ - lua_Number max = 0; - luaL_checktype(L, 1, LUA_TTABLE); - lua_pushnil(L); /* first key */ - while (lua_next(L, 1)) - { - lua_pop(L, 1); /* remove value */ - if (lua_type(L, -1) == LUA_TNUMBER) - { - lua_Number v = lua_tonumber(L, -1); - if (v > max) - max = v; - } - } - lua_pushnumber(L, max); - return 1; -} -#endif - -static int tinsert(lua_State *L) -{ - lua_Integer e = aux_getn(L, 1, TAB_RW) + 1; /* first empty element */ - lua_Integer pos; /* where to insert new element */ - switch (lua_gettop(L)) - { - case 2: - { /* called with only 2 arguments */ - pos = e; /* insert new element at the end */ - break; - } - case 3: - { - lua_Integer i; - pos = luaL_checkinteger(L, 2); /* 2nd argument is the position */ - luaL_argcheck(L, 1 <= pos && pos <= e, 2, "position out of bounds"); - for (i = e; i > pos; i--) - { /* move up elements */ - lua_geti(L, 1, i - 1); - lua_seti(L, 1, i); /* t[i] = t[i - 1] */ - } - break; - } - default: - { - return luaL_error(L, "wrong number of arguments to 'insert'"); - } - } - lua_seti(L, 1, pos); /* t[pos] = v */ - return 0; -} - -static int tremove(lua_State *L) -{ - lua_Integer size = aux_getn(L, 1, TAB_RW); - lua_Integer pos = luaL_optinteger(L, 2, size); - if (pos != size) /* validate 'pos' if given */ - luaL_argcheck(L, 1 <= pos && pos <= size + 1, 1, "position out of bounds"); - lua_geti(L, 1, pos); /* result = t[pos] */ - for (; pos < size; pos++) - { - lua_geti(L, 1, pos + 1); - lua_seti(L, 1, pos); /* t[pos] = t[pos + 1] */ - } - lua_pushnil(L); - lua_seti(L, 1, pos); /* t[pos] = nil */ - return 1; -} - -/* -** Copy elements (1[f], ..., 1[e]) into (tt[t], tt[t+1], ...). Whenever -** possible, copy in increasing order, which is better for rehashing. -** "possible" means destination after original range, or smaller -** than origin, or copying to another table. -*/ -static int tmove(lua_State *L) -{ - lua_Integer f = luaL_checkinteger(L, 2); - lua_Integer e = luaL_checkinteger(L, 3); - lua_Integer t = luaL_checkinteger(L, 4); - int tt = !lua_isnoneornil(L, 5) ? 5 : 1; /* destination table */ - checktab(L, 1, TAB_R); - checktab(L, tt, TAB_W); - if (e >= f) - { /* otherwise, nothing to move */ - lua_Integer n, i; - luaL_argcheck(L, f > 0 || e < LUA_MAXINTEGER + f, 3, - "too many elements to move"); - n = e - f + 1; /* number of elements to move */ - luaL_argcheck(L, t <= LUA_MAXINTEGER - n + 1, 4, - "destination wrap around"); - if (t > e || t <= f || (tt != 1 && !lua_compare(L, 1, tt, LUA_OPEQ))) - { - for (i = 0; i < n; i++) - { - lua_geti(L, 1, f + i); - lua_seti(L, tt, t + i); - } - } - else - { - for (i = n - 1; i >= 0; i--) - { - lua_geti(L, 1, f + i); - lua_seti(L, tt, t + i); - } - } - } - lua_pushvalue(L, tt); /* return destination table */ - return 1; -} - -static void addfield(lua_State *L, luaL_Buffer *b, lua_Integer i) -{ - lua_geti(L, 1, i); - if (!lua_isstring(L, -1)) - luaL_error(L, "invalid value (%s) at index %d in table for 'concat'", - luaL_typename(L, -1), i); - luaL_addvalue(b); -} - -static int tconcat(lua_State *L) -{ - luaL_Buffer b; - lua_Integer last = aux_getn(L, 1, TAB_R); - size_t lsep; - const char *sep = luaL_optlstring(L, 2, "", &lsep); - lua_Integer i = luaL_optinteger(L, 3, 1); - last = luaL_optinteger(L, 4, last); - luaL_buffinit(L, &b); - for (; i < last; i++) - { - addfield(L, &b, i); - luaL_addlstring(&b, sep, lsep); - } - if (i == last) /* add last value (if interval was not empty) */ - addfield(L, &b, i); - luaL_pushresult(&b); - return 1; -} - -/* -** {====================================================== -** Pack/unpack -** ======================================================= -*/ - -static int pack(lua_State *L) -{ - int i; - int n = lua_gettop(L); /* number of elements to pack */ - lua_createtable(L, n, 1); /* create result table */ - lua_insert(L, 1); /* put it at index 1 */ - for (i = n; i >= 1; i--) /* assign elements */ - lua_seti(L, 1, i); - lua_pushinteger(L, n); - lua_setfield(L, 1, "n"); /* t.n = number of elements */ - return 1; /* return table */ -} - -static int unpack(lua_State *L) -{ - lua_Unsigned n; - lua_Integer i = luaL_optinteger(L, 2, 1); - lua_Integer e = luaL_opt(L, luaL_checkinteger, 3, luaL_len(L, 1)); - if (i > e) - return 0; /* empty range */ - n = (lua_Unsigned)e - i; /* number of elements minus 1 (avoid overflows) */ - if (n >= (unsigned int)INT_MAX || !lua_checkstack(L, (int)(++n))) - return luaL_error(L, "too many results to unpack"); - for (; i < e; i++) - { /* push arg[i..e - 1] (to avoid overflows) */ - lua_geti(L, 1, i); - } - lua_geti(L, 1, e); /* push last element */ - return (int)n; -} - -/* }====================================================== */ - -/* -** {====================================================== -** Quicksort -** (based on 'Algorithms in MODULA-3', Robert Sedgewick; -** Addison-Wesley, 1993.) -** ======================================================= -*/ - -/* type for array indices */ -typedef unsigned int IdxT; - -/* -** Produce a "random" 'unsigned int' to randomize pivot choice. This -** macro is used only when 'sort' detects a big imbalance in the result -** of a partition. (If you don't want/need this "randomness", ~0 is a -** good choice.) -*/ -#if !defined(l_randomizePivot) /* { */ - -#include - -/* size of 'e' measured in number of 'unsigned int's */ -#define sof(e) (sizeof(e) / sizeof(unsigned int)) - -/* -** Use 'time' and 'clock' as sources of "randomness". Because we don't -** know the types 'clock_t' and 'time_t', we cannot cast them to -** anything without risking overflows. A safe way to use their values -** is to copy them to an array of a known type and use the array values. -*/ -static unsigned int l_randomizePivot(void) -{ - clock_t c = clock(); - time_t t = time(NULL); - unsigned int buff[sof(c) + sof(t)]; - unsigned int i, rnd = 0; - memcpy(buff, &c, sof(c) * sizeof(unsigned int)); - memcpy(buff + sof(c), &t, sof(t) * sizeof(unsigned int)); - for (i = 0; i < sof(buff); i++) - rnd += buff[i]; - return rnd; -} - -#endif /* } */ - -/* arrays larger than 'RANLIMIT' may use randomized pivots */ -#define RANLIMIT 100u - -static void set2(lua_State *L, IdxT i, IdxT j) -{ - lua_seti(L, 1, i); - lua_seti(L, 1, j); -} - -/* -** Return true iff value at stack index 'a' is less than the value at -** index 'b' (according to the order of the sort). -*/ -static int sort_comp(lua_State *L, int a, int b) -{ - if (lua_isnil(L, 2)) /* no function? */ - return lua_compare(L, a, b, LUA_OPLT); /* a < b */ - else - { /* function */ - int res; - lua_pushvalue(L, 2); /* push function */ - lua_pushvalue(L, a - 1); /* -1 to compensate function */ - lua_pushvalue(L, b - 2); /* -2 to compensate function and 'a' */ - lua_call(L, 2, 1); /* call function */ - res = lua_toboolean(L, -1); /* get result */ - lua_pop(L, 1); /* pop result */ - return res; - } -} - -/* -** Does the partition: Pivot P is at the top of the stack. -** precondition: a[lo] <= P == a[up-1] <= a[up], -** so it only needs to do the partition from lo + 1 to up - 2. -** Pos-condition: a[lo .. i - 1] <= a[i] == P <= a[i + 1 .. up] -** returns 'i'. -*/ -static IdxT partition(lua_State *L, IdxT lo, IdxT up) -{ - IdxT i = lo; /* will be incremented before first use */ - IdxT j = up - 1; /* will be decremented before first use */ - /* loop invariant: a[lo .. i] <= P <= a[j .. up] */ - for (;;) - { - /* next loop: repeat ++i while a[i] < P */ - while (lua_geti(L, 1, ++i), sort_comp(L, -1, -2)) - { - if (i == up - 1) /* a[i] < P but a[up - 1] == P ?? */ - luaL_error(L, "invalid order function for sorting"); - lua_pop(L, 1); /* remove a[i] */ - } - /* after the loop, a[i] >= P and a[lo .. i - 1] < P */ - /* next loop: repeat --j while P < a[j] */ - while (lua_geti(L, 1, --j), sort_comp(L, -3, -1)) - { - if (j < i) /* j < i but a[j] > P ?? */ - luaL_error(L, "invalid order function for sorting"); - lua_pop(L, 1); /* remove a[j] */ - } - /* after the loop, a[j] <= P and a[j + 1 .. up] >= P */ - if (j < i) - { /* no elements out of place? */ - /* a[lo .. i - 1] <= P <= a[j + 1 .. i .. up] */ - lua_pop(L, 1); /* pop a[j] */ - /* swap pivot (a[up - 1]) with a[i] to satisfy pos-condition */ - set2(L, up - 1, i); - return i; - } - /* otherwise, swap a[i] - a[j] to restore invariant and repeat */ - set2(L, i, j); - } -} - -/* -** Choose an element in the middle (2nd-3th quarters) of [lo,up] -** "randomized" by 'rnd' -*/ -static IdxT choosePivot(IdxT lo, IdxT up, unsigned int rnd) -{ - IdxT r4 = (up - lo) / 4; /* range/4 */ - IdxT p = rnd % (r4 * 2) + (lo + r4); - lua_assert(lo + r4 <= p && p <= up - r4); - return p; -} - -/* -** QuickSort algorithm (recursive function) -*/ -static void auxsort(lua_State *L, IdxT lo, IdxT up, - unsigned int rnd) -{ - while (lo < up) - { /* loop for tail recursion */ - IdxT p; /* Pivot index */ - IdxT n; /* to be used later */ - /* sort elements 'lo', 'p', and 'up' */ - lua_geti(L, 1, lo); - lua_geti(L, 1, up); - if (sort_comp(L, -1, -2)) /* a[up] < a[lo]? */ - set2(L, lo, up); /* swap a[lo] - a[up] */ - else - lua_pop(L, 2); /* remove both values */ - if (up - lo == 1) /* only 2 elements? */ - return; /* already sorted */ - if (up - lo < RANLIMIT || rnd == 0) /* small interval or no randomize? */ - p = (lo + up) / 2; /* middle element is a good pivot */ - else /* for larger intervals, it is worth a random pivot */ - p = choosePivot(lo, up, rnd); - lua_geti(L, 1, p); - lua_geti(L, 1, lo); - if (sort_comp(L, -2, -1)) /* a[p] < a[lo]? */ - set2(L, p, lo); /* swap a[p] - a[lo] */ - else - { - lua_pop(L, 1); /* remove a[lo] */ - lua_geti(L, 1, up); - if (sort_comp(L, -1, -2)) /* a[up] < a[p]? */ - set2(L, p, up); /* swap a[up] - a[p] */ - else - lua_pop(L, 2); - } - if (up - lo == 2) /* only 3 elements? */ - return; /* already sorted */ - lua_geti(L, 1, p); /* get middle element (Pivot) */ - lua_pushvalue(L, -1); /* push Pivot */ - lua_geti(L, 1, up - 1); /* push a[up - 1] */ - set2(L, p, up - 1); /* swap Pivot (a[p]) with a[up - 1] */ - p = partition(L, lo, up); - /* a[lo .. p - 1] <= a[p] == P <= a[p + 1 .. up] */ - if (p - lo < up - p) - { /* lower interval is smaller? */ - auxsort(L, lo, p - 1, rnd); /* call recursively for lower interval */ - n = p - lo; /* size of smaller interval */ - lo = p + 1; /* tail call for [p + 1 .. up] (upper interval) */ - } - else - { - auxsort(L, p + 1, up, rnd); /* call recursively for upper interval */ - n = up - p; /* size of smaller interval */ - up = p - 1; /* tail call for [lo .. p - 1] (lower interval) */ - } - if ((up - lo) / 128 > n) /* partition too imbalanced? */ - rnd = l_randomizePivot(); /* try a new randomization */ - } /* tail call auxsort(L, lo, up, rnd) */ -} - -static int sort(lua_State *L) -{ - lua_Integer n = aux_getn(L, 1, TAB_RW); - if (n > 1) - { /* non-trivial interval? */ - luaL_argcheck(L, n < INT_MAX, 1, "array too big"); - if (!lua_isnoneornil(L, 2)) /* is there a 2nd argument? */ - luaL_checktype(L, 2, LUA_TFUNCTION); /* must be a function */ - lua_settop(L, 2); /* make sure there are two arguments */ - auxsort(L, 1, (IdxT)n, 0); - } - return 0; -} - -/* }====================================================== */ - -static const luaL_Reg tab_funcs[] = { - {"concat", tconcat}, -#if defined(LUA_COMPAT_MAXN) - {"maxn", maxn}, -#endif - {"insert", tinsert}, - {"pack", pack}, - {"unpack", unpack}, - {"remove", tremove}, - {"move", tmove}, - {"sort", sort}, - {NULL, NULL}}; - -LUAMOD_API int luaopen_table(lua_State *L) -{ - luaL_newlib(L, tab_funcs); -#if defined(LUA_COMPAT_UNPACK) - /* _G.unpack = table.unpack */ - lua_getfield(L, -1, "unpack"); - lua_setglobal(L, "unpack"); -#endif - return 1; -} diff --git a/User/lua/src-bak/ltm.c b/User/lua/src-bak/ltm.c deleted file mode 100644 index e787599..0000000 --- a/User/lua/src-bak/ltm.c +++ /dev/null @@ -1,175 +0,0 @@ -/* -** $Id: ltm.c,v 2.38.1.1 2017/04/19 17:39:34 roberto Exp $ -** Tag methods -** See Copyright Notice in lua.h -*/ - -#define ltm_c -#define LUA_CORE - -#include "lprefix.h" - -#include - -#include "lua.h" - -#include "ldebug.h" -#include "ldo.h" -#include "lobject.h" -#include "lstate.h" -#include "lstring.h" -#include "ltable.h" -#include "ltm.h" -#include "lvm.h" - -static const char udatatypename[] = "userdata"; - -LUAI_DDEF const char *const luaT_typenames_[LUA_TOTALTAGS] = { - "no value", - "nil", "boolean", udatatypename, "number", - "string", "table", "function", udatatypename, "thread", - "proto" /* this last case is used for tests only */ -}; - -void luaT_init(lua_State *L) -{ - static const char *const luaT_eventname[] = {/* ORDER TM */ - "__index", "__newindex", - "__gc", "__mode", "__len", "__eq", - "__add", "__sub", "__mul", "__mod", "__pow", - "__div", "__idiv", - "__band", "__bor", "__bxor", "__shl", "__shr", - "__unm", "__bnot", "__lt", "__le", - "__concat", "__call"}; - int i; - for (i = 0; i < TM_N; i++) - { - G(L)->tmname[i] = luaS_new(L, luaT_eventname[i]); - luaC_fix(L, obj2gco(G(L)->tmname[i])); /* never collect these names */ - } -} - -/* -** function to be used with macro "fasttm": optimized for absence of -** tag methods -*/ -const TValue *luaT_gettm(Table *events, TMS event, TString *ename) -{ - const TValue *tm = luaH_getshortstr(events, ename); - lua_assert(event <= TM_EQ); - if (ttisnil(tm)) - { /* no tag method? */ - events->flags |= cast_byte(1u << event); /* cache this fact */ - return NULL; - } - else - return tm; -} - -const TValue *luaT_gettmbyobj(lua_State *L, const TValue *o, TMS event) -{ - Table *mt; - switch (ttnov(o)) - { - case LUA_TTABLE: - mt = hvalue(o)->metatable; - break; - case LUA_TUSERDATA: - mt = uvalue(o)->metatable; - break; - default: - mt = G(L)->mt[ttnov(o)]; - } - return (mt ? luaH_getshortstr(mt, G(L)->tmname[event]) : luaO_nilobject); -} - -/* -** Return the name of the type of an object. For tables and userdata -** with metatable, use their '__name' metafield, if present. -*/ -const char *luaT_objtypename(lua_State *L, const TValue *o) -{ - Table *mt; - if ((ttistable(o) && (mt = hvalue(o)->metatable) != NULL) || - (ttisfulluserdata(o) && (mt = uvalue(o)->metatable) != NULL)) - { - const TValue *name = luaH_getshortstr(mt, luaS_new(L, "__name")); - if (ttisstring(name)) /* is '__name' a string? */ - return getstr(tsvalue(name)); /* use it as type name */ - } - return ttypename(ttnov(o)); /* else use standard type name */ -} - -void luaT_callTM(lua_State *L, const TValue *f, const TValue *p1, - const TValue *p2, TValue *p3, int hasres) -{ - ptrdiff_t result = savestack(L, p3); - StkId func = L->top; - setobj2s(L, func, f); /* push function (assume EXTRA_STACK) */ - setobj2s(L, func + 1, p1); /* 1st argument */ - setobj2s(L, func + 2, p2); /* 2nd argument */ - L->top += 3; - if (!hasres) /* no result? 'p3' is third argument */ - setobj2s(L, L->top++, p3); /* 3rd argument */ - /* metamethod may yield only when called from Lua code */ - if (isLua(L->ci)) - luaD_call(L, func, hasres); - else - luaD_callnoyield(L, func, hasres); - if (hasres) - { /* if has result, move it to its place */ - p3 = restorestack(L, result); - setobjs2s(L, p3, --L->top); - } -} - -int luaT_callbinTM(lua_State *L, const TValue *p1, const TValue *p2, - StkId res, TMS event) -{ - const TValue *tm = luaT_gettmbyobj(L, p1, event); /* try first operand */ - if (ttisnil(tm)) - tm = luaT_gettmbyobj(L, p2, event); /* try second operand */ - if (ttisnil(tm)) - return 0; - luaT_callTM(L, tm, p1, p2, res, 1); - return 1; -} - -void luaT_trybinTM(lua_State *L, const TValue *p1, const TValue *p2, - StkId res, TMS event) -{ - if (!luaT_callbinTM(L, p1, p2, res, event)) - { - switch (event) - { - case TM_CONCAT: - luaG_concaterror(L, p1, p2); - /* call never returns, but to avoid warnings: */ /* FALLTHROUGH */ - case TM_BAND: - case TM_BOR: - case TM_BXOR: - case TM_SHL: - case TM_SHR: - case TM_BNOT: - { - lua_Number dummy; - if (tonumber(p1, &dummy) && tonumber(p2, &dummy)) - luaG_tointerror(L, p1, p2); - else - luaG_opinterror(L, p1, p2, "perform bitwise operation on"); - } - /* calls never return, but to avoid warnings: */ /* FALLTHROUGH */ - default: - luaG_opinterror(L, p1, p2, "perform arithmetic on"); - } - } -} - -int luaT_callorderTM(lua_State *L, const TValue *p1, const TValue *p2, - TMS event) -{ - if (!luaT_callbinTM(L, p1, p2, L->top, event)) - return -1; /* no metamethod */ - else - return !l_isfalse(L->top); -} diff --git a/User/lua/src-bak/ltm.h b/User/lua/src-bak/ltm.h deleted file mode 100644 index cbddeec..0000000 --- a/User/lua/src-bak/ltm.h +++ /dev/null @@ -1,69 +0,0 @@ -/* -** $Id: ltm.h,v 2.22.1.1 2017/04/19 17:20:42 roberto Exp $ -** Tag methods -** See Copyright Notice in lua.h -*/ - -#ifndef ltm_h -#define ltm_h - -#include "lobject.h" - -/* -* WARNING: if you change the order of this enumeration, -* grep "ORDER TM" and "ORDER OP" -*/ -typedef enum -{ - TM_INDEX, - TM_NEWINDEX, - TM_GC, - TM_MODE, - TM_LEN, - TM_EQ, /* last tag method with fast access */ - TM_ADD, - TM_SUB, - TM_MUL, - TM_MOD, - TM_POW, - TM_DIV, - TM_IDIV, - TM_BAND, - TM_BOR, - TM_BXOR, - TM_SHL, - TM_SHR, - TM_UNM, - TM_BNOT, - TM_LT, - TM_LE, - TM_CONCAT, - TM_CALL, - TM_N /* number of elements in the enum */ -} TMS; - -#define gfasttm(g, et, e) ((et) == NULL ? NULL : ((et)->flags & (1u << (e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e])) - -#define fasttm(l, et, e) gfasttm(G(l), et, e) - -#define ttypename(x) luaT_typenames_[(x) + 1] - -LUAI_DDEC const char *const luaT_typenames_[LUA_TOTALTAGS]; - -LUAI_FUNC const char *luaT_objtypename(lua_State *L, const TValue *o); - -LUAI_FUNC const TValue *luaT_gettm(Table *events, TMS event, TString *ename); -LUAI_FUNC const TValue *luaT_gettmbyobj(lua_State *L, const TValue *o, - TMS event); -LUAI_FUNC void luaT_init(lua_State *L); - -LUAI_FUNC void luaT_callTM(lua_State *L, const TValue *f, const TValue *p1, - const TValue *p2, TValue *p3, int hasres); -LUAI_FUNC int luaT_callbinTM(lua_State *L, const TValue *p1, const TValue *p2, - StkId res, TMS event); -LUAI_FUNC void luaT_trybinTM(lua_State *L, const TValue *p1, const TValue *p2, - StkId res, TMS event); -LUAI_FUNC int luaT_callorderTM(lua_State *L, const TValue *p1, - const TValue *p2, TMS event); - -#endif diff --git a/User/lua/src-bak/lua.c b/User/lua/src-bak/lua.c deleted file mode 100644 index 9982ef9..0000000 --- a/User/lua/src-bak/lua.c +++ /dev/null @@ -1,642 +0,0 @@ -/* -** $Id: lua.c,v 1.230.1.1 2017/04/19 17:29:57 roberto Exp $ -** Lua stand-alone interpreter -** See Copyright Notice in lua.h -*/ - -#define lua_c - -#include "lprefix.h" - -#include -#include -#include -#include - -#include "lua.h" - -#include "lauxlib.h" -#include "lualib.h" - -#if !defined(LUA_PROMPT) -#define LUA_PROMPT "> " -#define LUA_PROMPT2 ">> " -#endif - -#if !defined(LUA_PROGNAME) -#define LUA_PROGNAME "lua" -#endif - -#if !defined(LUA_MAXINPUT) -#define LUA_MAXINPUT 512 -#endif - -#if !defined(LUA_INIT_VAR) -#define LUA_INIT_VAR "LUA_INIT" -#endif - -#define LUA_INITVARVERSION LUA_INIT_VAR LUA_VERSUFFIX - -/* -** lua_stdin_is_tty detects whether the standard input is a 'tty' (that -** is, whether we're running lua interactively). -*/ -#if !defined(lua_stdin_is_tty) /* { */ - -#if defined(LUA_USE_POSIX) /* { */ - -#include -#define lua_stdin_is_tty() isatty(0) - -#elif defined(LUA_USE_WINDOWS) /* }{ */ - -#include -#include - -#define lua_stdin_is_tty() _isatty(_fileno(stdin)) - -#else /* }{ */ - -/* ISO C definition */ -#define lua_stdin_is_tty() 1 /* assume stdin is a tty */ - -#endif /* } */ - -#endif /* } */ - -/* -** lua_readline defines how to show a prompt and then read a line from -** the standard input. -** lua_saveline defines how to "save" a read line in a "history". -** lua_freeline defines how to free a line read by lua_readline. -*/ -#if !defined(lua_readline) /* { */ - -#if defined(LUA_USE_READLINE) /* { */ - -#include -#include -#define lua_readline(L, b, p) ((void)L, ((b) = readline(p)) != NULL) -#define lua_saveline(L, line) ((void)L, add_history(line)) -#define lua_freeline(L, b) ((void)L, free(b)) - -#else /* }{ */ - -#define lua_readline(L, b, p) \ - ((void)L, fputs(p, stdout), fflush(stdout), /* show prompt */ \ - fgets(b, LUA_MAXINPUT, stdin) != NULL) /* get line */ -#define lua_saveline(L, line) \ - { \ - (void)L; \ - (void)line; \ - } -#define lua_freeline(L, b) \ - { \ - (void)L; \ - (void)b; \ - } - -#endif /* } */ - -#endif /* } */ - -static lua_State *globalL = NULL; - -static const char *progname = LUA_PROGNAME; - -/* -** Hook set by signal function to stop the interpreter. -*/ -static void lstop(lua_State *L, lua_Debug *ar) -{ - (void)ar; /* unused arg. */ - lua_sethook(L, NULL, 0, 0); /* reset hook */ - luaL_error(L, "interrupted!"); -} - -/* -** Function to be called at a C signal. Because a C signal cannot -** just change a Lua state (as there is no proper synchronization), -** this function only sets a hook that, when called, will stop the -** interpreter. -*/ -static void laction(int i) -{ - signal(i, SIG_DFL); /* if another SIGINT happens, terminate process */ - lua_sethook(globalL, lstop, LUA_MASKCALL | LUA_MASKRET | LUA_MASKCOUNT, 1); -} - -static void print_usage(const char *badoption) -{ - lua_writestringerror("%s: ", progname); - if (badoption[1] == 'e' || badoption[1] == 'l') - lua_writestringerror("'%s' needs argument\n", badoption); - else - lua_writestringerror("unrecognized option '%s'\n", badoption); - lua_writestringerror( - "usage: %s [options] [script [args]]\n" - "Available options are:\n" - " -e stat execute string 'stat'\n" - " -i enter interactive mode after executing 'script'\n" - " -l name require library 'name' into global 'name'\n" - " -v show version information\n" - " -E ignore environment variables\n" - " -- stop handling options\n" - " - stop handling options and execute stdin\n", - progname); -} - -/* -** Prints an error message, adding the program name in front of it -** (if present) -*/ -static void l_message(const char *pname, const char *msg) -{ - if (pname) - lua_writestringerror("%s: ", pname); - lua_writestringerror("%s\n", msg); -} - -/* -** Check whether 'status' is not OK and, if so, prints the error -** message on the top of the stack. It assumes that the error object -** is a string, as it was either generated by Lua or by 'msghandler'. -*/ -static int report(lua_State *L, int status) -{ - if (status != LUA_OK) - { - const char *msg = lua_tostring(L, -1); - l_message(progname, msg); - lua_pop(L, 1); /* remove message */ - } - return status; -} - -/* -** Message handler used to run all chunks -*/ -static int msghandler(lua_State *L) -{ - const char *msg = lua_tostring(L, 1); - if (msg == NULL) - { /* is error object not a string? */ - if (luaL_callmeta(L, 1, "__tostring") && /* does it have a metamethod */ - lua_type(L, -1) == LUA_TSTRING) /* that produces a string? */ - return 1; /* that is the message */ - else - msg = lua_pushfstring(L, "(error object is a %s value)", - luaL_typename(L, 1)); - } - luaL_traceback(L, L, msg, 1); /* append a standard traceback */ - return 1; /* return the traceback */ -} - -/* -** Interface to 'lua_pcall', which sets appropriate message function -** and C-signal handler. Used to run all chunks. -*/ -static int docall(lua_State *L, int narg, int nres) -{ - int status; - int base = lua_gettop(L) - narg; /* function index */ - lua_pushcfunction(L, msghandler); /* push message handler */ - lua_insert(L, base); /* put it under function and args */ - globalL = L; /* to be available to 'laction' */ - signal(SIGINT, laction); /* set C-signal handler */ - status = lua_pcall(L, narg, nres, base); - signal(SIGINT, SIG_DFL); /* reset C-signal handler */ - lua_remove(L, base); /* remove message handler from the stack */ - return status; -} - -static void print_version(void) -{ - lua_writestring(LUA_COPYRIGHT, strlen(LUA_COPYRIGHT)); - lua_writeline(); -} - -/* -** Create the 'arg' table, which stores all arguments from the -** command line ('argv'). It should be aligned so that, at index 0, -** it has 'argv[script]', which is the script name. The arguments -** to the script (everything after 'script') go to positive indices; -** other arguments (before the script name) go to negative indices. -** If there is no script name, assume interpreter's name as base. -*/ -static void createargtable(lua_State *L, char **argv, int argc, int script) -{ - int i, narg; - if (script == argc) - script = 0; /* no script name? */ - narg = argc - (script + 1); /* number of positive indices */ - lua_createtable(L, narg, script + 1); - for (i = 0; i < argc; i++) - { - lua_pushstring(L, argv[i]); - lua_rawseti(L, -2, i - script); - } - lua_setglobal(L, "arg"); -} - -static int dochunk(lua_State *L, int status) -{ - if (status == LUA_OK) - status = docall(L, 0, 0); - return report(L, status); -} - -static int dofile(lua_State *L, const char *name) -{ - return dochunk(L, luaL_loadfile(L, name)); -} - -static int dostring(lua_State *L, const char *s, const char *name) -{ - return dochunk(L, luaL_loadbuffer(L, s, strlen(s), name)); -} - -/* -** Calls 'require(name)' and stores the result in a global variable -** with the given name. -*/ -static int dolibrary(lua_State *L, const char *name) -{ - int status; - lua_getglobal(L, "require"); - lua_pushstring(L, name); - status = docall(L, 1, 1); /* call 'require(name)' */ - if (status == LUA_OK) - lua_setglobal(L, name); /* global[name] = require return */ - return report(L, status); -} - -/* -** Returns the string to be used as a prompt by the interpreter. -*/ -static const char *get_prompt(lua_State *L, int firstline) -{ - const char *p; - lua_getglobal(L, firstline ? "_PROMPT" : "_PROMPT2"); - p = lua_tostring(L, -1); - if (p == NULL) - p = (firstline ? LUA_PROMPT : LUA_PROMPT2); - return p; -} - -/* mark in error messages for incomplete statements */ -#define EOFMARK "" -#define marklen (sizeof(EOFMARK) / sizeof(char) - 1) - -/* -** Check whether 'status' signals a syntax error and the error -** message at the top of the stack ends with the above mark for -** incomplete statements. -*/ -static int incomplete(lua_State *L, int status) -{ - if (status == LUA_ERRSYNTAX) - { - size_t lmsg; - const char *msg = lua_tolstring(L, -1, &lmsg); - if (lmsg >= marklen && strcmp(msg + lmsg - marklen, EOFMARK) == 0) - { - lua_pop(L, 1); - return 1; - } - } - return 0; /* else... */ -} - -/* -** Prompt the user, read a line, and push it into the Lua stack. -*/ -static int pushline(lua_State *L, int firstline) -{ - char buffer[LUA_MAXINPUT]; - char *b = buffer; - size_t l; - const char *prmt = get_prompt(L, firstline); - int readstatus = lua_readline(L, b, prmt); - if (readstatus == 0) - return 0; /* no input (prompt will be popped by caller) */ - lua_pop(L, 1); /* remove prompt */ - l = strlen(b); - if (l > 0 && b[l - 1] == '\n') /* line ends with newline? */ - b[--l] = '\0'; /* remove it */ - if (firstline && b[0] == '=') /* for compatibility with 5.2, ... */ - lua_pushfstring(L, "return %s", b + 1); /* change '=' to 'return' */ - else - lua_pushlstring(L, b, l); - lua_freeline(L, b); - return 1; -} - -/* -** Try to compile line on the stack as 'return ;'; on return, stack -** has either compiled chunk or original line (if compilation failed). -*/ -static int addreturn(lua_State *L) -{ - const char *line = lua_tostring(L, -1); /* original line */ - const char *retline = lua_pushfstring(L, "return %s;", line); - int status = luaL_loadbuffer(L, retline, strlen(retline), "=stdin"); - if (status == LUA_OK) - { - lua_remove(L, -2); /* remove modified line */ - if (line[0] != '\0') /* non empty? */ - lua_saveline(L, line); /* keep history */ - } - else - lua_pop(L, 2); /* pop result from 'luaL_loadbuffer' and modified line */ - return status; -} - -/* -** Read multiple lines until a complete Lua statement -*/ -static int multiline(lua_State *L) -{ - for (;;) - { /* repeat until gets a complete statement */ - size_t len; - const char *line = lua_tolstring(L, 1, &len); /* get what it has */ - int status = luaL_loadbuffer(L, line, len, "=stdin"); /* try it */ - if (!incomplete(L, status) || !pushline(L, 0)) - { - lua_saveline(L, line); /* keep history */ - return status; /* cannot or should not try to add continuation line */ - } - lua_pushliteral(L, "\n"); /* add newline... */ - lua_insert(L, -2); /* ...between the two lines */ - lua_concat(L, 3); /* join them */ - } -} - -/* -** Read a line and try to load (compile) it first as an expression (by -** adding "return " in front of it) and second as a statement. Return -** the final status of load/call with the resulting function (if any) -** in the top of the stack. -*/ -static int loadline(lua_State *L) -{ - int status; - lua_settop(L, 0); - if (!pushline(L, 1)) - return -1; /* no input */ - if ((status = addreturn(L)) != LUA_OK) /* 'return ...' did not work? */ - status = multiline(L); /* try as command, maybe with continuation lines */ - lua_remove(L, 1); /* remove line from the stack */ - lua_assert(lua_gettop(L) == 1); - return status; -} - -/* -** Prints (calling the Lua 'print' function) any values on the stack -*/ -static void l_print(lua_State *L) -{ - int n = lua_gettop(L); - if (n > 0) - { /* any result to be printed? */ - luaL_checkstack(L, LUA_MINSTACK, "too many results to print"); - lua_getglobal(L, "print"); - lua_insert(L, 1); - if (lua_pcall(L, n, 0, 0) != LUA_OK) - l_message(progname, lua_pushfstring(L, "error calling 'print' (%s)", - lua_tostring(L, -1))); - } -} - -/* -** Do the REPL: repeatedly read (load) a line, evaluate (call) it, and -** print any results. -*/ -static void doREPL(lua_State *L) -{ - int status; - const char *oldprogname = progname; - progname = NULL; /* no 'progname' on errors in interactive mode */ - while ((status = loadline(L)) != -1) - { - if (status == LUA_OK) - status = docall(L, 0, LUA_MULTRET); - if (status == LUA_OK) - l_print(L); - else - report(L, status); - } - lua_settop(L, 0); /* clear stack */ - lua_writeline(); - progname = oldprogname; -} - -/* -** Push on the stack the contents of table 'arg' from 1 to #arg -*/ -static int pushargs(lua_State *L) -{ - int i, n; - if (lua_getglobal(L, "arg") != LUA_TTABLE) - luaL_error(L, "'arg' is not a table"); - n = (int)luaL_len(L, -1); - luaL_checkstack(L, n + 3, "too many arguments to script"); - for (i = 1; i <= n; i++) - lua_rawgeti(L, -i, i); - lua_remove(L, -i); /* remove table from the stack */ - return n; -} - -static int handle_script(lua_State *L, char **argv) -{ - int status; - const char *fname = argv[0]; - if (strcmp(fname, "-") == 0 && strcmp(argv[-1], "--") != 0) - fname = NULL; /* stdin */ - status = luaL_loadfile(L, fname); - if (status == LUA_OK) - { - int n = pushargs(L); /* push arguments to script */ - status = docall(L, n, LUA_MULTRET); - } - return report(L, status); -} - -/* bits of various argument indicators in 'args' */ -#define has_error 1 /* bad option */ -#define has_i 2 /* -i */ -#define has_v 4 /* -v */ -#define has_e 8 /* -e */ -#define has_E 16 /* -E */ - -/* -** Traverses all arguments from 'argv', returning a mask with those -** needed before running any Lua code (or an error code if it finds -** any invalid argument). 'first' returns the first not-handled argument -** (either the script name or a bad argument in case of error). -*/ -static int collectargs(char **argv, int *first) -{ - int args = 0; - int i; - for (i = 1; argv[i] != NULL; i++) - { - *first = i; - if (argv[i][0] != '-') /* not an option? */ - return args; /* stop handling options */ - switch (argv[i][1]) - { /* else check option */ - case '-': /* '--' */ - if (argv[i][2] != '\0') /* extra characters after '--'? */ - return has_error; /* invalid option */ - *first = i + 1; - return args; - case '\0': /* '-' */ - return args; /* script "name" is '-' */ - case 'E': - if (argv[i][2] != '\0') /* extra characters after 1st? */ - return has_error; /* invalid option */ - args |= has_E; - break; - case 'i': - args |= has_i; /* (-i implies -v) */ /* FALLTHROUGH */ - case 'v': - if (argv[i][2] != '\0') /* extra characters after 1st? */ - return has_error; /* invalid option */ - args |= has_v; - break; - case 'e': - args |= has_e; /* FALLTHROUGH */ - case 'l': /* both options need an argument */ - if (argv[i][2] == '\0') - { /* no concatenated argument? */ - i++; /* try next 'argv' */ - if (argv[i] == NULL || argv[i][0] == '-') - return has_error; /* no next argument or it is another option */ - } - break; - default: /* invalid option */ - return has_error; - } - } - *first = i; /* no script name */ - return args; -} - -/* -** Processes options 'e' and 'l', which involve running Lua code. -** Returns 0 if some code raises an error. -*/ -static int runargs(lua_State *L, char **argv, int n) -{ - int i; - for (i = 1; i < n; i++) - { - int option = argv[i][1]; - lua_assert(argv[i][0] == '-'); /* already checked */ - if (option == 'e' || option == 'l') - { - int status; - const char *extra = argv[i] + 2; /* both options need an argument */ - if (*extra == '\0') - extra = argv[++i]; - lua_assert(extra != NULL); - status = (option == 'e') - ? dostring(L, extra, "=(command line)") - : dolibrary(L, extra); - if (status != LUA_OK) - return 0; - } - } - return 1; -} - -static int handle_luainit(lua_State *L) -{ - const char *name = "=" LUA_INITVARVERSION; - const char *init = getenv(name + 1); - if (init == NULL) - { - name = "=" LUA_INIT_VAR; - init = getenv(name + 1); /* try alternative name */ - } - if (init == NULL) - return LUA_OK; - else if (init[0] == '@') - return dofile(L, init + 1); - else - return dostring(L, init, name); -} - -/* -** Main body of stand-alone interpreter (to be called in protected mode). -** Reads the options and handles them all. -*/ -static int pmain(lua_State *L) -{ - int argc = (int)lua_tointeger(L, 1); - char **argv = (char **)lua_touserdata(L, 2); - int script; - int args = collectargs(argv, &script); - luaL_checkversion(L); /* check that interpreter has correct version */ - if (argv[0] && argv[0][0]) - progname = argv[0]; - if (args == has_error) - { /* bad arg? */ - print_usage(argv[script]); /* 'script' has index of bad arg. */ - return 0; - } - if (args & has_v) /* option '-v'? */ - print_version(); - if (args & has_E) - { /* option '-E'? */ - lua_pushboolean(L, 1); /* signal for libraries to ignore env. vars. */ - lua_setfield(L, LUA_REGISTRYINDEX, "LUA_NOENV"); - } - luaL_openlibs(L); /* open standard libraries */ - createargtable(L, argv, argc, script); /* create table 'arg' */ - if (!(args & has_E)) - { /* no option '-E'? */ - if (handle_luainit(L) != LUA_OK) /* run LUA_INIT */ - return 0; /* error running LUA_INIT */ - } - if (!runargs(L, argv, script)) /* execute arguments -e and -l */ - return 0; /* something failed */ - if (script < argc && /* execute main script (if there is one) */ - handle_script(L, argv + script) != LUA_OK) - return 0; - if (args & has_i) /* -i option? */ - doREPL(L); /* do read-eval-print loop */ - else if (script == argc && !(args & (has_e | has_v))) - { /* no arguments? */ - if (lua_stdin_is_tty()) - { /* running in interactive mode? */ - print_version(); - doREPL(L); /* do read-eval-print loop */ - } - else - dofile(L, NULL); /* executes stdin as a file */ - } - lua_pushboolean(L, 1); /* signal no errors */ - return 1; -} - -int main(int argc, char **argv) -{ - int status, result; - lua_State *L = luaL_newstate(); /* create state */ - if (L == NULL) - { - l_message(argv[0], "cannot create state: not enough memory"); - return EXIT_FAILURE; - } - lua_pushcfunction(L, &pmain); /* to call 'pmain' in protected mode */ - lua_pushinteger(L, argc); /* 1st argument */ - lua_pushlightuserdata(L, argv); /* 2nd argument */ - status = lua_pcall(L, 2, 1, 0); /* do the call */ - result = lua_toboolean(L, -1); /* get result */ - report(L, status); - lua_close(L); - return (result && status == LUA_OK) ? EXIT_SUCCESS : EXIT_FAILURE; -} diff --git a/User/lua/src-bak/lua.h b/User/lua/src-bak/lua.h deleted file mode 100644 index 2f02832..0000000 --- a/User/lua/src-bak/lua.h +++ /dev/null @@ -1,445 +0,0 @@ -/* -** $Id: lua.h,v 1.332.1.2 2018/06/13 16:58:17 roberto Exp $ -** Lua - A Scripting Language -** Lua.org, PUC-Rio, Brazil (http://www.lua.org) -** See Copyright Notice at the end of this file -*/ - -#ifndef lua_h -#define lua_h - -#include -#include - -#include "luaconf.h" - -#define LUA_VERSION_MAJOR "5" -#define LUA_VERSION_MINOR "3" -#define LUA_VERSION_NUM 503 -#define LUA_VERSION_RELEASE "5" - -#define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR -#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE -#define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2018 Lua.org, PUC-Rio" -#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes" - -/* mark for precompiled code ('Lua') */ -#define LUA_SIGNATURE "\x1bLua" - -/* option for multiple returns in 'lua_pcall' and 'lua_call' */ -#define LUA_MULTRET (-1) - -/* -** Pseudo-indices -** (-LUAI_MAXSTACK is the minimum valid index; we keep some free empty -** space after that to help overflow detection) -*/ -#define LUA_REGISTRYINDEX (-LUAI_MAXSTACK - 1000) -#define lua_upvalueindex(i) (LUA_REGISTRYINDEX - (i)) - -/* thread status */ -#define LUA_OK 0 -#define LUA_YIELD 1 -#define LUA_ERRRUN 2 -#define LUA_ERRSYNTAX 3 -#define LUA_ERRMEM 4 -#define LUA_ERRGCMM 5 -#define LUA_ERRERR 6 - -typedef struct lua_State lua_State; - -/* -** basic types -*/ -#define LUA_TNONE (-1) - -#define LUA_TNIL 0 -#define LUA_TBOOLEAN 1 -#define LUA_TLIGHTUSERDATA 2 -#define LUA_TNUMBER 3 -#define LUA_TSTRING 4 -#define LUA_TTABLE 5 -#define LUA_TFUNCTION 6 -#define LUA_TUSERDATA 7 -#define LUA_TTHREAD 8 - -#define LUA_NUMTAGS 9 - -/* minimum Lua stack available to a C function */ -#define LUA_MINSTACK 20 - -/* predefined values in the registry */ -#define LUA_RIDX_MAINTHREAD 1 -#define LUA_RIDX_GLOBALS 2 -#define LUA_RIDX_LAST LUA_RIDX_GLOBALS - -/* type of numbers in Lua */ -typedef LUA_NUMBER lua_Number; - -/* type for integer functions */ -typedef LUA_INTEGER lua_Integer; - -/* unsigned integer type */ -typedef LUA_UNSIGNED lua_Unsigned; - -/* type for continuation-function contexts */ -typedef LUA_KCONTEXT lua_KContext; - -/* -** Type for C functions registered with Lua -*/ -typedef int (*lua_CFunction)(lua_State *L); - -/* -** Type for continuation functions -*/ -typedef int (*lua_KFunction)(lua_State *L, int status, lua_KContext ctx); - -/* -** Type for functions that read/write blocks when loading/dumping Lua chunks -*/ -typedef const char *(*lua_Reader)(lua_State *L, void *ud, size_t *sz); - -typedef int (*lua_Writer)(lua_State *L, const void *p, size_t sz, void *ud); - -/* -** Type for memory-allocation functions -*/ -typedef void *(*lua_Alloc)(void *ud, void *ptr, size_t osize, size_t nsize); - -/* -** generic extra include file -*/ -#if defined(LUA_USER_H) -#include LUA_USER_H -#endif - -/* -** RCS ident string -*/ -extern const char lua_ident[]; - -/* -** state manipulation -*/ -LUA_API lua_State *(lua_newstate)(lua_Alloc f, void *ud); -LUA_API void(lua_close)(lua_State *L); -LUA_API lua_State *(lua_newthread)(lua_State *L); - -LUA_API lua_CFunction(lua_atpanic)(lua_State *L, lua_CFunction panicf); - -LUA_API const lua_Number *(lua_version)(lua_State *L); - -/* -** basic stack manipulation -*/ -LUA_API int(lua_absindex)(lua_State *L, int idx); -LUA_API int(lua_gettop)(lua_State *L); -LUA_API void(lua_settop)(lua_State *L, int idx); -LUA_API void(lua_pushvalue)(lua_State *L, int idx); -LUA_API void(lua_rotate)(lua_State *L, int idx, int n); -LUA_API void(lua_copy)(lua_State *L, int fromidx, int toidx); -LUA_API int(lua_checkstack)(lua_State *L, int n); - -LUA_API void(lua_xmove)(lua_State *from, lua_State *to, int n); - -/* -** access functions (stack -> C) -*/ - -LUA_API int(lua_isnumber)(lua_State *L, int idx); -LUA_API int(lua_isstring)(lua_State *L, int idx); -LUA_API int(lua_iscfunction)(lua_State *L, int idx); -LUA_API int(lua_isinteger)(lua_State *L, int idx); -LUA_API int(lua_isuserdata)(lua_State *L, int idx); -LUA_API int(lua_type)(lua_State *L, int idx); -LUA_API const char *(lua_typename)(lua_State *L, int tp); - -LUA_API lua_Number(lua_tonumberx)(lua_State *L, int idx, int *isnum); -LUA_API lua_Integer(lua_tointegerx)(lua_State *L, int idx, int *isnum); -LUA_API int(lua_toboolean)(lua_State *L, int idx); -LUA_API const char *(lua_tolstring)(lua_State *L, int idx, size_t *len); -LUA_API size_t(lua_rawlen)(lua_State *L, int idx); -LUA_API lua_CFunction(lua_tocfunction)(lua_State *L, int idx); -LUA_API void *(lua_touserdata)(lua_State *L, int idx); -LUA_API lua_State *(lua_tothread)(lua_State *L, int idx); -LUA_API const void *(lua_topointer)(lua_State *L, int idx); - -/* -** Comparison and arithmetic functions -*/ - -#define LUA_OPADD 0 /* ORDER TM, ORDER OP */ -#define LUA_OPSUB 1 -#define LUA_OPMUL 2 -#define LUA_OPMOD 3 -#define LUA_OPPOW 4 -#define LUA_OPDIV 5 -#define LUA_OPIDIV 6 -#define LUA_OPBAND 7 -#define LUA_OPBOR 8 -#define LUA_OPBXOR 9 -#define LUA_OPSHL 10 -#define LUA_OPSHR 11 -#define LUA_OPUNM 12 -#define LUA_OPBNOT 13 - -LUA_API void(lua_arith)(lua_State *L, int op); - -#define LUA_OPEQ 0 -#define LUA_OPLT 1 -#define LUA_OPLE 2 - -LUA_API int(lua_rawequal)(lua_State *L, int idx1, int idx2); -LUA_API int(lua_compare)(lua_State *L, int idx1, int idx2, int op); - -/* -** push functions (C -> stack) -*/ -LUA_API void(lua_pushnil)(lua_State *L); -LUA_API void(lua_pushnumber)(lua_State *L, lua_Number n); -LUA_API void(lua_pushinteger)(lua_State *L, lua_Integer n); -LUA_API const char *(lua_pushlstring)(lua_State *L, const char *s, size_t len); -LUA_API const char *(lua_pushstring)(lua_State *L, const char *s); -LUA_API const char *(lua_pushvfstring)(lua_State *L, const char *fmt, - va_list argp); -LUA_API const char *(lua_pushfstring)(lua_State *L, const char *fmt, ...); -LUA_API void(lua_pushcclosure)(lua_State *L, lua_CFunction fn, int n); -LUA_API void(lua_pushboolean)(lua_State *L, int b); -LUA_API void(lua_pushlightuserdata)(lua_State *L, void *p); -LUA_API int(lua_pushthread)(lua_State *L); - -/* -** get functions (Lua -> stack) -*/ -LUA_API int(lua_getglobal)(lua_State *L, const char *name); -LUA_API int(lua_gettable)(lua_State *L, int idx); -LUA_API int(lua_getfield)(lua_State *L, int idx, const char *k); -LUA_API int(lua_geti)(lua_State *L, int idx, lua_Integer n); -LUA_API int(lua_rawget)(lua_State *L, int idx); -LUA_API int(lua_rawgeti)(lua_State *L, int idx, lua_Integer n); -LUA_API int(lua_rawgetp)(lua_State *L, int idx, const void *p); - -LUA_API void(lua_createtable)(lua_State *L, int narr, int nrec); -LUA_API void *(lua_newuserdata)(lua_State *L, size_t sz); -LUA_API int(lua_getmetatable)(lua_State *L, int objindex); -LUA_API int(lua_getuservalue)(lua_State *L, int idx); - -/* -** set functions (stack -> Lua) -*/ -LUA_API void(lua_setglobal)(lua_State *L, const char *name); -LUA_API void(lua_settable)(lua_State *L, int idx); -LUA_API void(lua_setfield)(lua_State *L, int idx, const char *k); -LUA_API void(lua_seti)(lua_State *L, int idx, lua_Integer n); -LUA_API void(lua_rawset)(lua_State *L, int idx); -LUA_API void(lua_rawseti)(lua_State *L, int idx, lua_Integer n); -LUA_API void(lua_rawsetp)(lua_State *L, int idx, const void *p); -LUA_API int(lua_setmetatable)(lua_State *L, int objindex); -LUA_API void(lua_setuservalue)(lua_State *L, int idx); - -/* -** 'load' and 'call' functions (load and run Lua code) -*/ -LUA_API void(lua_callk)(lua_State *L, int nargs, int nresults, - lua_KContext ctx, lua_KFunction k); -#define lua_call(L, n, r) lua_callk(L, (n), (r), 0, NULL) - -LUA_API int(lua_pcallk)(lua_State *L, int nargs, int nresults, int errfunc, - lua_KContext ctx, lua_KFunction k); -#define lua_pcall(L, n, r, f) lua_pcallk(L, (n), (r), (f), 0, NULL) - -LUA_API int(lua_load)(lua_State *L, lua_Reader reader, void *dt, - const char *chunkname, const char *mode); - -LUA_API int(lua_dump)(lua_State *L, lua_Writer writer, void *data, int strip); - -/* -** coroutine functions -*/ -LUA_API int(lua_yieldk)(lua_State *L, int nresults, lua_KContext ctx, - lua_KFunction k); -LUA_API int(lua_resume)(lua_State *L, lua_State *from, int narg); -LUA_API int(lua_status)(lua_State *L); -LUA_API int(lua_isyieldable)(lua_State *L); - -#define lua_yield(L, n) lua_yieldk(L, (n), 0, NULL) - -/* -** garbage-collection function and options -*/ - -#define LUA_GCSTOP 0 -#define LUA_GCRESTART 1 -#define LUA_GCCOLLECT 2 -#define LUA_GCCOUNT 3 -#define LUA_GCCOUNTB 4 -#define LUA_GCSTEP 5 -#define LUA_GCSETPAUSE 6 -#define LUA_GCSETSTEPMUL 7 -#define LUA_GCISRUNNING 9 - -LUA_API int(lua_gc)(lua_State *L, int what, int data); - -/* -** miscellaneous functions -*/ - -LUA_API int(lua_error)(lua_State *L); - -LUA_API int(lua_next)(lua_State *L, int idx); - -LUA_API void(lua_concat)(lua_State *L, int n); -LUA_API void(lua_len)(lua_State *L, int idx); - -LUA_API size_t(lua_stringtonumber)(lua_State *L, const char *s); - -LUA_API lua_Alloc(lua_getallocf)(lua_State *L, void **ud); -LUA_API void(lua_setallocf)(lua_State *L, lua_Alloc f, void *ud); - -/* -** {============================================================== -** some useful macros -** =============================================================== -*/ - -#define lua_getextraspace(L) ((void *)((char *)(L)-LUA_EXTRASPACE)) - -#define lua_tonumber(L, i) lua_tonumberx(L, (i), NULL) -#define lua_tointeger(L, i) lua_tointegerx(L, (i), NULL) - -#define lua_pop(L, n) lua_settop(L, -(n)-1) - -#define lua_newtable(L) lua_createtable(L, 0, 0) - -#define lua_register(L, n, f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n))) - -#define lua_pushcfunction(L, f) lua_pushcclosure(L, (f), 0) - -#define lua_isfunction(L, n) (lua_type(L, (n)) == LUA_TFUNCTION) -#define lua_istable(L, n) (lua_type(L, (n)) == LUA_TTABLE) -#define lua_islightuserdata(L, n) (lua_type(L, (n)) == LUA_TLIGHTUSERDATA) -#define lua_isnil(L, n) (lua_type(L, (n)) == LUA_TNIL) -#define lua_isboolean(L, n) (lua_type(L, (n)) == LUA_TBOOLEAN) -#define lua_isthread(L, n) (lua_type(L, (n)) == LUA_TTHREAD) -#define lua_isnone(L, n) (lua_type(L, (n)) == LUA_TNONE) -#define lua_isnoneornil(L, n) (lua_type(L, (n)) <= 0) - -#define lua_pushliteral(L, s) lua_pushstring(L, "" s) - -#define lua_pushglobaltable(L) \ - ((void)lua_rawgeti(L, LUA_REGISTRYINDEX, LUA_RIDX_GLOBALS)) - -#define lua_tostring(L, i) lua_tolstring(L, (i), NULL) - -#define lua_insert(L, idx) lua_rotate(L, (idx), 1) - -#define lua_remove(L, idx) (lua_rotate(L, (idx), -1), lua_pop(L, 1)) - -#define lua_replace(L, idx) (lua_copy(L, -1, (idx)), lua_pop(L, 1)) - -/* }============================================================== */ - -/* -** {============================================================== -** compatibility macros for unsigned conversions -** =============================================================== -*/ -#if defined(LUA_COMPAT_APIINTCASTS) - -#define lua_pushunsigned(L, n) lua_pushinteger(L, (lua_Integer)(n)) -#define lua_tounsignedx(L, i, is) ((lua_Unsigned)lua_tointegerx(L, i, is)) -#define lua_tounsigned(L, i) lua_tounsignedx(L, (i), NULL) - -#endif -/* }============================================================== */ - -/* -** {====================================================================== -** Debug API -** ======================================================================= -*/ - -/* -** Event codes -*/ -#define LUA_HOOKCALL 0 -#define LUA_HOOKRET 1 -#define LUA_HOOKLINE 2 -#define LUA_HOOKCOUNT 3 -#define LUA_HOOKTAILCALL 4 - -/* -** Event masks -*/ -#define LUA_MASKCALL (1 << LUA_HOOKCALL) -#define LUA_MASKRET (1 << LUA_HOOKRET) -#define LUA_MASKLINE (1 << LUA_HOOKLINE) -#define LUA_MASKCOUNT (1 << LUA_HOOKCOUNT) - -typedef struct lua_Debug lua_Debug; /* activation record */ - -/* Functions to be called by the debugger in specific events */ -typedef void (*lua_Hook)(lua_State *L, lua_Debug *ar); - -LUA_API int(lua_getstack)(lua_State *L, int level, lua_Debug *ar); -LUA_API int(lua_getinfo)(lua_State *L, const char *what, lua_Debug *ar); -LUA_API const char *(lua_getlocal)(lua_State *L, const lua_Debug *ar, int n); -LUA_API const char *(lua_setlocal)(lua_State *L, const lua_Debug *ar, int n); -LUA_API const char *(lua_getupvalue)(lua_State *L, int funcindex, int n); -LUA_API const char *(lua_setupvalue)(lua_State *L, int funcindex, int n); - -LUA_API void *(lua_upvalueid)(lua_State *L, int fidx, int n); -LUA_API void(lua_upvaluejoin)(lua_State *L, int fidx1, int n1, - int fidx2, int n2); - -LUA_API void(lua_sethook)(lua_State *L, lua_Hook func, int mask, int count); -LUA_API lua_Hook(lua_gethook)(lua_State *L); -LUA_API int(lua_gethookmask)(lua_State *L); -LUA_API int(lua_gethookcount)(lua_State *L); - -struct lua_Debug -{ - int event; - const char *name; /* (n) */ - const char *namewhat; /* (n) 'global', 'local', 'field', 'method' */ - const char *what; /* (S) 'Lua', 'C', 'main', 'tail' */ - const char *source; /* (S) */ - int currentline; /* (l) */ - int linedefined; /* (S) */ - int lastlinedefined; /* (S) */ - unsigned char nups; /* (u) number of upvalues */ - unsigned char nparams; /* (u) number of parameters */ - char isvararg; /* (u) */ - char istailcall; /* (t) */ - char short_src[LUA_IDSIZE]; /* (S) */ - /* private part */ - struct CallInfo *i_ci; /* active function */ -}; - -/* }====================================================================== */ - -/****************************************************************************** -* Copyright (C) 1994-2018 Lua.org, PUC-Rio. -* -* Permission is hereby granted, free of charge, to any person obtaining -* a copy of this software and associated documentation files (the -* "Software"), to deal in the Software without restriction, including -* without limitation the rights to use, copy, modify, merge, publish, -* distribute, sublicense, and/or sell copies of the Software, and to -* permit persons to whom the Software is furnished to do so, subject to -* the following conditions: -* -* The above copyright notice and this permission notice shall be -* included in all copies or substantial portions of the Software. -* -* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -******************************************************************************/ - -#endif diff --git a/User/lua/src-bak/lua.hpp b/User/lua/src-bak/lua.hpp deleted file mode 100644 index 2239969..0000000 --- a/User/lua/src-bak/lua.hpp +++ /dev/null @@ -1,10 +0,0 @@ -// lua.hpp -// Lua header files for C++ -// <> not supplied automatically because Lua also compiles as C++ - -extern "C" -{ -#include "lua.h" -#include "lualib.h" -#include "lauxlib.h" -} diff --git a/User/lua/src-bak/luac.c b/User/lua/src-bak/luac.c deleted file mode 100644 index efe288e..0000000 --- a/User/lua/src-bak/luac.c +++ /dev/null @@ -1,523 +0,0 @@ -/* -** $Id: luac.c,v 1.76 2018/06/19 01:32:02 lhf Exp $ -** Lua compiler (saves bytecodes to files; also lists bytecodes) -** See Copyright Notice in lua.h -*/ - -#define luac_c -#define LUA_CORE - -#include "lprefix.h" - -#include -#include -#include -#include -#include - -#include "lua.h" -#include "lauxlib.h" - -#include "lobject.h" -#include "lstate.h" -#include "lundump.h" - -static void PrintFunction(const Proto *f, int full); -#define luaU_print PrintFunction - -#define PROGNAME "luac" /* default program name */ -#define OUTPUT PROGNAME ".out" /* default output file */ - -static int listing = 0; /* list bytecodes? */ -static int dumping = 1; /* dump bytecodes? */ -static int stripping = 0; /* strip debug information? */ -static char Output[] = {OUTPUT}; /* default output file name */ -static const char *output = Output; /* actual output file name */ -static const char *progname = PROGNAME; /* actual program name */ - -static void fatal(const char *message) -{ - fprintf(stderr, "%s: %s\n", progname, message); - exit(EXIT_FAILURE); -} - -static void cannot(const char *what) -{ - fprintf(stderr, "%s: cannot %s %s: %s\n", progname, what, output, strerror(errno)); - exit(EXIT_FAILURE); -} - -static void usage(const char *message) -{ - if (*message == '-') - fprintf(stderr, "%s: unrecognized option '%s'\n", progname, message); - else - fprintf(stderr, "%s: %s\n", progname, message); - fprintf(stderr, - "usage: %s [options] [filenames]\n" - "Available options are:\n" - " -l list (use -l -l for full listing)\n" - " -o name output to file 'name' (default is \"%s\")\n" - " -p parse only\n" - " -s strip debug information\n" - " -v show version information\n" - " -- stop handling options\n" - " - stop handling options and process stdin\n", - progname, Output); - exit(EXIT_FAILURE); -} - -#define IS(s) (strcmp(argv[i], s) == 0) - -static int doargs(int argc, char *argv[]) -{ - int i; - int version = 0; - if (argv[0] != NULL && *argv[0] != 0) - progname = argv[0]; - for (i = 1; i < argc; i++) - { - if (*argv[i] != '-') /* end of options; keep it */ - break; - else if (IS("--")) /* end of options; skip it */ - { - ++i; - if (version) - ++version; - break; - } - else if (IS("-")) /* end of options; use stdin */ - break; - else if (IS("-l")) /* list */ - ++listing; - else if (IS("-o")) /* output file */ - { - output = argv[++i]; - if (output == NULL || *output == 0 || (*output == '-' && output[1] != 0)) - usage("'-o' needs argument"); - if (IS("-")) - output = NULL; - } - else if (IS("-p")) /* parse only */ - dumping = 0; - else if (IS("-s")) /* strip debug information */ - stripping = 1; - else if (IS("-v")) /* show version */ - ++version; - else /* unknown option */ - usage(argv[i]); - } - if (i == argc && (listing || !dumping)) - { - dumping = 0; - argv[--i] = Output; - } - if (version) - { - printf("%s\n", LUA_COPYRIGHT); - if (version == argc - 1) - exit(EXIT_SUCCESS); - } - return i; -} - -#define FUNCTION "(function()end)();" - -static const char *reader(lua_State *L, void *ud, size_t *size) -{ - UNUSED(L); - if ((*(int *)ud)--) - { - *size = sizeof(FUNCTION) - 1; - return FUNCTION; - } - else - { - *size = 0; - return NULL; - } -} - -#define toproto(L, i) getproto(L->top + (i)) - -static const Proto *combine(lua_State *L, int n) -{ - if (n == 1) - return toproto(L, -1); - else - { - Proto *f; - int i = n; - if (lua_load(L, reader, &i, "=(" PROGNAME ")", NULL) != LUA_OK) - fatal(lua_tostring(L, -1)); - f = toproto(L, -1); - for (i = 0; i < n; i++) - { - f->p[i] = toproto(L, i - n - 1); - if (f->p[i]->sizeupvalues > 0) - f->p[i]->upvalues[0].instack = 0; - } - f->sizelineinfo = 0; - return f; - } -} - -static int writer(lua_State *L, const void *p, size_t size, void *u) -{ - UNUSED(L); - return (fwrite(p, size, 1, (FILE *)u) != 1) && (size != 0); -} - -static int pmain(lua_State *L) -{ - int argc = (int)lua_tointeger(L, 1); - char **argv = (char **)lua_touserdata(L, 2); - const Proto *f; - int i; - if (!lua_checkstack(L, argc)) - fatal("too many input files"); - for (i = 0; i < argc; i++) - { - const char *filename = IS("-") ? NULL : argv[i]; - if (luaL_loadfile(L, filename) != LUA_OK) - fatal(lua_tostring(L, -1)); - } - f = combine(L, argc); - if (listing) - luaU_print(f, listing > 1); - if (dumping) - { - FILE *D = (output == NULL) ? stdout : fopen(output, "wb"); - if (D == NULL) - cannot("open"); - lua_lock(L); - luaU_dump(L, f, writer, D, stripping); - lua_unlock(L); - if (ferror(D)) - cannot("write"); - if (fclose(D)) - cannot("close"); - } - return 0; -} - -int main(int argc, char *argv[]) -{ - lua_State *L; - int i = doargs(argc, argv); - argc -= i; - argv += i; - if (argc <= 0) - usage("no input files given"); - L = luaL_newstate(); - if (L == NULL) - fatal("cannot create state: not enough memory"); - lua_pushcfunction(L, &pmain); - lua_pushinteger(L, argc); - lua_pushlightuserdata(L, argv); - if (lua_pcall(L, 2, 0, 0) != LUA_OK) - fatal(lua_tostring(L, -1)); - lua_close(L); - return EXIT_SUCCESS; -} - -/* -** $Id: luac.c,v 1.76 2018/06/19 01:32:02 lhf Exp $ -** print bytecodes -** See Copyright Notice in lua.h -*/ - -#include -#include - -#define luac_c -#define LUA_CORE - -#include "ldebug.h" -#include "lobject.h" -#include "lopcodes.h" - -#define VOID(p) ((const void *)(p)) - -static void PrintString(const TString *ts) -{ - const char *s = getstr(ts); - size_t i, n = tsslen(ts); - printf("%c", '"'); - for (i = 0; i < n; i++) - { - int c = (int)(unsigned char)s[i]; - switch (c) - { - case '"': - printf("\\\""); - break; - case '\\': - printf("\\\\"); - break; - case '\a': - printf("\\a"); - break; - case '\b': - printf("\\b"); - break; - case '\f': - printf("\\f"); - break; - case '\n': - printf("\\n"); - break; - case '\r': - printf("\\r"); - break; - case '\t': - printf("\\t"); - break; - case '\v': - printf("\\v"); - break; - default: - if (isprint(c)) - printf("%c", c); - else - printf("\\%03d", c); - } - } - printf("%c", '"'); -} - -static void PrintConstant(const Proto *f, int i) -{ - const TValue *o = &f->k[i]; - switch (ttype(o)) - { - case LUA_TNIL: - printf("nil"); - break; - case LUA_TBOOLEAN: - printf(bvalue(o) ? "true" : "false"); - break; - case LUA_TNUMFLT: - { - char buff[100]; - sprintf(buff, LUA_NUMBER_FMT, fltvalue(o)); - printf("%s", buff); - if (buff[strspn(buff, "-0123456789")] == '\0') - printf(".0"); - break; - } - case LUA_TNUMINT: - printf(LUA_INTEGER_FMT, ivalue(o)); - break; - case LUA_TSHRSTR: - case LUA_TLNGSTR: - PrintString(tsvalue(o)); - break; - default: /* cannot happen */ - printf("? type=%d", ttype(o)); - break; - } -} - -#define UPVALNAME(x) ((f->upvalues[x].name) ? getstr(f->upvalues[x].name) : "-") -#define MYK(x) (-1 - (x)) - -static void PrintCode(const Proto *f) -{ - const Instruction *code = f->code; - int pc, n = f->sizecode; - for (pc = 0; pc < n; pc++) - { - Instruction i = code[pc]; - OpCode o = GET_OPCODE(i); - int a = GETARG_A(i); - int b = GETARG_B(i); - int c = GETARG_C(i); - int ax = GETARG_Ax(i); - int bx = GETARG_Bx(i); - int sbx = GETARG_sBx(i); - int line = getfuncline(f, pc); - printf("\t%d\t", pc + 1); - if (line > 0) - printf("[%d]\t", line); - else - printf("[-]\t"); - printf("%-9s\t", luaP_opnames[o]); - switch (getOpMode(o)) - { - case iABC: - printf("%d", a); - if (getBMode(o) != OpArgN) - printf(" %d", ISK(b) ? (MYK(INDEXK(b))) : b); - if (getCMode(o) != OpArgN) - printf(" %d", ISK(c) ? (MYK(INDEXK(c))) : c); - break; - case iABx: - printf("%d", a); - if (getBMode(o) == OpArgK) - printf(" %d", MYK(bx)); - if (getBMode(o) == OpArgU) - printf(" %d", bx); - break; - case iAsBx: - printf("%d %d", a, sbx); - break; - case iAx: - printf("%d", MYK(ax)); - break; - } - switch (o) - { - case OP_LOADK: - printf("\t; "); - PrintConstant(f, bx); - break; - case OP_GETUPVAL: - case OP_SETUPVAL: - printf("\t; %s", UPVALNAME(b)); - break; - case OP_GETTABUP: - printf("\t; %s", UPVALNAME(b)); - if (ISK(c)) - { - printf(" "); - PrintConstant(f, INDEXK(c)); - } - break; - case OP_SETTABUP: - printf("\t; %s", UPVALNAME(a)); - if (ISK(b)) - { - printf(" "); - PrintConstant(f, INDEXK(b)); - } - if (ISK(c)) - { - printf(" "); - PrintConstant(f, INDEXK(c)); - } - break; - case OP_GETTABLE: - case OP_SELF: - if (ISK(c)) - { - printf("\t; "); - PrintConstant(f, INDEXK(c)); - } - break; - case OP_SETTABLE: - case OP_ADD: - case OP_SUB: - case OP_MUL: - case OP_MOD: - case OP_POW: - case OP_DIV: - case OP_IDIV: - case OP_BAND: - case OP_BOR: - case OP_BXOR: - case OP_SHL: - case OP_SHR: - case OP_EQ: - case OP_LT: - case OP_LE: - if (ISK(b) || ISK(c)) - { - printf("\t; "); - if (ISK(b)) - PrintConstant(f, INDEXK(b)); - else - printf("-"); - printf(" "); - if (ISK(c)) - PrintConstant(f, INDEXK(c)); - else - printf("-"); - } - break; - case OP_JMP: - case OP_FORLOOP: - case OP_FORPREP: - case OP_TFORLOOP: - printf("\t; to %d", sbx + pc + 2); - break; - case OP_CLOSURE: - printf("\t; %p", VOID(f->p[bx])); - break; - case OP_SETLIST: - if (c == 0) - printf("\t; %d", (int)code[++pc]); - else - printf("\t; %d", c); - break; - case OP_EXTRAARG: - printf("\t; "); - PrintConstant(f, ax); - break; - default: - break; - } - printf("\n"); - } -} - -#define SS(x) ((x == 1) ? "" : "s") -#define S(x) (int)(x), SS(x) - -static void PrintHeader(const Proto *f) -{ - const char *s = f->source ? getstr(f->source) : "=?"; - if (*s == '@' || *s == '=') - s++; - else if (*s == LUA_SIGNATURE[0]) - s = "(bstring)"; - else - s = "(string)"; - printf("\n%s <%s:%d,%d> (%d instruction%s at %p)\n", - (f->linedefined == 0) ? "main" : "function", s, - f->linedefined, f->lastlinedefined, - S(f->sizecode), VOID(f)); - printf("%d%s param%s, %d slot%s, %d upvalue%s, ", - (int)(f->numparams), f->is_vararg ? "+" : "", SS(f->numparams), - S(f->maxstacksize), S(f->sizeupvalues)); - printf("%d local%s, %d constant%s, %d function%s\n", - S(f->sizelocvars), S(f->sizek), S(f->sizep)); -} - -static void PrintDebug(const Proto *f) -{ - int i, n; - n = f->sizek; - printf("constants (%d) for %p:\n", n, VOID(f)); - for (i = 0; i < n; i++) - { - printf("\t%d\t", i + 1); - PrintConstant(f, i); - printf("\n"); - } - n = f->sizelocvars; - printf("locals (%d) for %p:\n", n, VOID(f)); - for (i = 0; i < n; i++) - { - printf("\t%d\t%s\t%d\t%d\n", - i, getstr(f->locvars[i].varname), f->locvars[i].startpc + 1, f->locvars[i].endpc + 1); - } - n = f->sizeupvalues; - printf("upvalues (%d) for %p:\n", n, VOID(f)); - for (i = 0; i < n; i++) - { - printf("\t%d\t%s\t%d\t%d\n", - i, UPVALNAME(i), f->upvalues[i].instack, f->upvalues[i].idx); - } -} - -static void PrintFunction(const Proto *f, int full) -{ - int i, n = f->sizep; - PrintHeader(f); - PrintCode(f); - if (full) - PrintDebug(f); - for (i = 0; i < n; i++) - PrintFunction(f->p[i], full); -} diff --git a/User/lua/src-bak/luaconf.h b/User/lua/src-bak/luaconf.h deleted file mode 100644 index 28cf2f5..0000000 --- a/User/lua/src-bak/luaconf.h +++ /dev/null @@ -1,792 +0,0 @@ -/* -** $Id: luaconf.h,v 1.259.1.1 2017/04/19 17:29:57 roberto Exp $ -** Configuration file for Lua -** See Copyright Notice in lua.h -*/ - - -#ifndef luaconf_h -#define luaconf_h - -#include -#include - - -/* -** =================================================================== -** Search for "@@" to find all configurable definitions. -** =================================================================== -*/ - - -/* -** {==================================================================== -** System Configuration: macros to adapt (if needed) Lua to some -** particular platform, for instance compiling it with 32-bit numbers or -** restricting it to C89. -** ===================================================================== -*/ - -/* -@@ LUA_32BITS enables Lua with 32-bit integers and 32-bit floats. You -** can also define LUA_32BITS in the make file, but changing here you -** ensure that all software connected to Lua will be compiled with the -** same configuration. -*/ -/* #define LUA_32BITS */ - - -/* -@@ LUA_USE_C89 controls the use of non-ISO-C89 features. -** Define it if you want Lua to avoid the use of a few C99 features -** or Windows-specific features on Windows. -*/ -/* #define LUA_USE_C89 */ - - -/* -** By default, Lua on Windows use (some) specific Windows features -*/ -#if !defined(LUA_USE_C89) && defined(_WIN32) && !defined(_WIN32_WCE) -#define LUA_USE_WINDOWS /* enable goodies for regular Windows */ -#endif - - -#if defined(LUA_USE_WINDOWS) -#define LUA_DL_DLL /* enable support for DLL */ -#define LUA_USE_C89 /* broadly, Windows is C89 */ -#endif - - -#if defined(LUA_USE_LINUX) -#define LUA_USE_POSIX -#define LUA_USE_DLOPEN /* needs an extra library: -ldl */ -#define LUA_USE_READLINE /* needs some extra libraries */ -#endif - - -#if defined(LUA_USE_MACOSX) -#define LUA_USE_POSIX -#define LUA_USE_DLOPEN /* MacOS does not need -ldl */ -#define LUA_USE_READLINE /* needs an extra library: -lreadline */ -#endif - - -/* -@@ LUA_C89_NUMBERS ensures that Lua uses the largest types available for -** C89 ('long' and 'double'); Windows always has '__int64', so it does -** not need to use this case. -*/ -#if defined(LUA_USE_C89) && !defined(LUA_USE_WINDOWS) -#define LUA_C89_NUMBERS -#endif - - - -/* -@@ LUAI_BITSINT defines the (minimum) number of bits in an 'int'. -*/ -/* avoid undefined shifts */ -#if ((INT_MAX >> 15) >> 15) >= 1 -#define LUAI_BITSINT 32 -#else -/* 'int' always must have at least 16 bits */ -#define LUAI_BITSINT 16 -#endif - - -/* -@@ LUA_INT_TYPE defines the type for Lua integers. -@@ LUA_FLOAT_TYPE defines the type for Lua floats. -** Lua should work fine with any mix of these options (if supported -** by your C compiler). The usual configurations are 64-bit integers -** and 'double' (the default), 32-bit integers and 'float' (for -** restricted platforms), and 'long'/'double' (for C compilers not -** compliant with C99, which may not have support for 'long long'). -*/ - -/* predefined options for LUA_INT_TYPE */ -#define LUA_INT_INT 1 -#define LUA_INT_LONG 2 -#define LUA_INT_LONGLONG 3 - -/* predefined options for LUA_FLOAT_TYPE */ -#define LUA_FLOAT_FLOAT 1 -#define LUA_FLOAT_DOUBLE 2 -#define LUA_FLOAT_LONGDOUBLE 3 - -#if defined(LUA_32BITS) /* { */ -/* -** 32-bit integers and 'float' -*/ -#if LUAI_BITSINT >= 32 /* use 'int' if big enough */ -#define LUA_INT_TYPE LUA_INT_INT -#else /* otherwise use 'long' */ -#define LUA_INT_TYPE LUA_INT_LONG -#endif -#define LUA_FLOAT_TYPE LUA_FLOAT_FLOAT - -#elif defined(LUA_C89_NUMBERS) /* }{ */ -/* -** largest types available for C89 ('long' and 'double') -*/ -#define LUA_INT_TYPE LUA_INT_LONG -#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE - -#endif /* } */ - - -/* -** default configuration for 64-bit Lua ('long long' and 'double') -*/ -#if !defined(LUA_INT_TYPE) -#define LUA_INT_TYPE LUA_INT_LONGLONG -#endif - -#if !defined(LUA_FLOAT_TYPE) -#define LUA_FLOAT_TYPE LUA_FLOAT_DOUBLE -#endif - -/* }================================================================== */ - - - - -/* -** {================================================================== -** Configuration for Paths. -** =================================================================== -*/ - -/* -** LUA_PATH_SEP is the character that separates templates in a path. -** LUA_PATH_MARK is the string that marks the substitution points in a -** template. -** LUA_EXEC_DIR in a Windows path is replaced by the executable's -** directory. -*/ -#define LUA_PATH_SEP ";" -#define LUA_PATH_MARK "?" -#define LUA_EXEC_DIR "!" - - -/* -@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for -** Lua libraries. -@@ LUA_CPATH_DEFAULT is the default path that Lua uses to look for -** C libraries. -** CHANGE them if your machine has a non-conventional directory -** hierarchy or if you want to install your libraries in -** non-conventional directories. -*/ -#define LUA_VDIR LUA_VERSION_MAJOR "." LUA_VERSION_MINOR -#if defined(_WIN32) /* { */ -/* -** In Windows, any exclamation mark ('!') in the path is replaced by the -** path of the directory of the executable file of the current process. -*/ -#define LUA_LDIR "!\\lua\\" -#define LUA_CDIR "!\\" -#define LUA_SHRDIR "!\\..\\share\\lua\\" LUA_VDIR "\\" -#define LUA_PATH_DEFAULT \ - LUA_LDIR"?.lua;" LUA_LDIR"?\\init.lua;" \ - LUA_CDIR"?.lua;" LUA_CDIR"?\\init.lua;" \ - LUA_SHRDIR"?.lua;" LUA_SHRDIR"?\\init.lua;" \ - ".\\?.lua;" ".\\?\\init.lua" -#define LUA_CPATH_DEFAULT \ - LUA_CDIR"?.dll;" \ - LUA_CDIR"..\\lib\\lua\\" LUA_VDIR "\\?.dll;" \ - LUA_CDIR"loadall.dll;" ".\\?.dll" - -#else /* }{ */ - -#define LUA_ROOT "/usr/local/" -#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/" -#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/" -#define LUA_PATH_DEFAULT \ - LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ - LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ - "./?.lua;" "./?/init.lua" -#define LUA_CPATH_DEFAULT \ - LUA_CDIR"?.so;" LUA_CDIR"loadall.so;" "./?.so" -#endif /* } */ - - -/* -@@ LUA_DIRSEP is the directory separator (for submodules). -** CHANGE it if your machine does not use "/" as the directory separator -** and is not Windows. (On Windows Lua automatically uses "\".) -*/ -#if defined(_WIN32) -#define LUA_DIRSEP "\\" -#else -#define LUA_DIRSEP "/" -#endif - -/* }================================================================== */ - - -/* -** {================================================================== -** Marks for exported symbols in the C code -** =================================================================== -*/ - -/* -@@ LUA_API is a mark for all core API functions. -@@ LUALIB_API is a mark for all auxiliary library functions. -@@ LUAMOD_API is a mark for all standard library opening functions. -** CHANGE them if you need to define those functions in some special way. -** For instance, if you want to create one Windows DLL with the core and -** the libraries, you may want to use the following definition (define -** LUA_BUILD_AS_DLL to get it). -*/ -#if defined(LUA_BUILD_AS_DLL) /* { */ - -#if defined(LUA_CORE) || defined(LUA_LIB) /* { */ -#define LUA_API __declspec(dllexport) -#else /* }{ */ -#define LUA_API __declspec(dllimport) -#endif /* } */ - -#else /* }{ */ - -#define LUA_API extern - -#endif /* } */ - - -/* more often than not the libs go together with the core */ -#define LUALIB_API LUA_API -#define LUAMOD_API LUALIB_API - - -/* -@@ LUAI_FUNC is a mark for all extern functions that are not to be -** exported to outside modules. -@@ LUAI_DDEF and LUAI_DDEC are marks for all extern (const) variables -** that are not to be exported to outside modules (LUAI_DDEF for -** definitions and LUAI_DDEC for declarations). -** CHANGE them if you need to mark them in some special way. Elf/gcc -** (versions 3.2 and later) mark them as "hidden" to optimize access -** when Lua is compiled as a shared library. Not all elf targets support -** this attribute. Unfortunately, gcc does not offer a way to check -** whether the target offers that support, and those without support -** give a warning about it. To avoid these warnings, change to the -** default definition. -*/ -#if defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ - defined(__ELF__) /* { */ -#define LUAI_FUNC __attribute__((visibility("hidden"))) extern -#else /* }{ */ -#define LUAI_FUNC extern -#endif /* } */ - -#define LUAI_DDEC LUAI_FUNC -#define LUAI_DDEF /* empty */ - -/* }================================================================== */ - - -/* -** {================================================================== -** Compatibility with previous versions -** =================================================================== -*/ - -/* -@@ LUA_COMPAT_5_2 controls other macros for compatibility with Lua 5.2. -@@ LUA_COMPAT_5_1 controls other macros for compatibility with Lua 5.1. -** You can define it to get all options, or change specific options -** to fit your specific needs. -*/ -#if defined(LUA_COMPAT_5_2) /* { */ - -/* -@@ LUA_COMPAT_MATHLIB controls the presence of several deprecated -** functions in the mathematical library. -*/ -#define LUA_COMPAT_MATHLIB - -/* -@@ LUA_COMPAT_BITLIB controls the presence of library 'bit32'. -*/ -#define LUA_COMPAT_BITLIB - -/* -@@ LUA_COMPAT_IPAIRS controls the effectiveness of the __ipairs metamethod. -*/ -#define LUA_COMPAT_IPAIRS - -/* -@@ LUA_COMPAT_APIINTCASTS controls the presence of macros for -** manipulating other integer types (lua_pushunsigned, lua_tounsigned, -** luaL_checkint, luaL_checklong, etc.) -*/ -#define LUA_COMPAT_APIINTCASTS - -#endif /* } */ - - -#if defined(LUA_COMPAT_5_1) /* { */ - -/* Incompatibilities from 5.2 -> 5.3 */ -#define LUA_COMPAT_MATHLIB -#define LUA_COMPAT_APIINTCASTS - -/* -@@ LUA_COMPAT_UNPACK controls the presence of global 'unpack'. -** You can replace it with 'table.unpack'. -*/ -#define LUA_COMPAT_UNPACK - -/* -@@ LUA_COMPAT_LOADERS controls the presence of table 'package.loaders'. -** You can replace it with 'package.searchers'. -*/ -#define LUA_COMPAT_LOADERS - -/* -@@ macro 'lua_cpcall' emulates deprecated function lua_cpcall. -** You can call your C function directly (with light C functions). -*/ -#define lua_cpcall(L,f,u) \ - (lua_pushcfunction(L, (f)), \ - lua_pushlightuserdata(L,(u)), \ - lua_pcall(L,1,0,0)) - - -/* -@@ LUA_COMPAT_LOG10 defines the function 'log10' in the math library. -** You can rewrite 'log10(x)' as 'log(x, 10)'. -*/ -#define LUA_COMPAT_LOG10 - -/* -@@ LUA_COMPAT_LOADSTRING defines the function 'loadstring' in the base -** library. You can rewrite 'loadstring(s)' as 'load(s)'. -*/ -#define LUA_COMPAT_LOADSTRING - -/* -@@ LUA_COMPAT_MAXN defines the function 'maxn' in the table library. -*/ -#define LUA_COMPAT_MAXN - -/* -@@ The following macros supply trivial compatibility for some -** changes in the API. The macros themselves document how to -** change your code to avoid using them. -*/ -#define lua_strlen(L,i) lua_rawlen(L, (i)) - -#define lua_objlen(L,i) lua_rawlen(L, (i)) - -#define lua_equal(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPEQ) -#define lua_lessthan(L,idx1,idx2) lua_compare(L,(idx1),(idx2),LUA_OPLT) - -/* -@@ LUA_COMPAT_MODULE controls compatibility with previous -** module functions 'module' (Lua) and 'luaL_register' (C). -*/ -#define LUA_COMPAT_MODULE - -#endif /* } */ - - -/* -@@ LUA_COMPAT_FLOATSTRING makes Lua format integral floats without a -@@ a float mark ('.0'). -** This macro is not on by default even in compatibility mode, -** because this is not really an incompatibility. -*/ -/* #define LUA_COMPAT_FLOATSTRING */ - -/* }================================================================== */ - - - -/* -** {================================================================== -** Configuration for Numbers. -** Change these definitions if no predefined LUA_FLOAT_* / LUA_INT_* -** satisfy your needs. -** =================================================================== -*/ - -/* -@@ LUA_NUMBER is the floating-point type used by Lua. -@@ LUAI_UACNUMBER is the result of a 'default argument promotion' -@@ over a floating number. -@@ l_mathlim(x) corrects limit name 'x' to the proper float type -** by prefixing it with one of FLT/DBL/LDBL. -@@ LUA_NUMBER_FRMLEN is the length modifier for writing floats. -@@ LUA_NUMBER_FMT is the format for writing floats. -@@ lua_number2str converts a float to a string. -@@ l_mathop allows the addition of an 'l' or 'f' to all math operations. -@@ l_floor takes the floor of a float. -@@ lua_str2number converts a decimal numeric string to a number. -*/ - - -/* The following definitions are good for most cases here */ - -#define l_floor(x) (l_mathop(floor)(x)) - -#define lua_number2str(s,sz,n) \ - l_sprintf((s), sz, LUA_NUMBER_FMT, (LUAI_UACNUMBER)(n)) - -/* -@@ lua_numbertointeger converts a float number to an integer, or -** returns 0 if float is not within the range of a lua_Integer. -** (The range comparisons are tricky because of rounding. The tests -** here assume a two-complement representation, where MININTEGER always -** has an exact representation as a float; MAXINTEGER may not have one, -** and therefore its conversion to float may have an ill-defined value.) -*/ -#define lua_numbertointeger(n,p) \ - ((n) >= (LUA_NUMBER)(LUA_MININTEGER) && \ - (n) < -(LUA_NUMBER)(LUA_MININTEGER) && \ - (*(p) = (LUA_INTEGER)(n), 1)) - - -/* now the variable definitions */ - -#if LUA_FLOAT_TYPE == LUA_FLOAT_FLOAT /* { single float */ - -#define LUA_NUMBER float - -#define l_mathlim(n) (FLT_##n) - -#define LUAI_UACNUMBER double - -#define LUA_NUMBER_FRMLEN "" -#define LUA_NUMBER_FMT "%.7g" - -#define l_mathop(op) op##f - -#define lua_str2number(s,p) strtof((s), (p)) - - -#elif LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE /* }{ long double */ - -#define LUA_NUMBER long double - -#define l_mathlim(n) (LDBL_##n) - -#define LUAI_UACNUMBER long double - -#define LUA_NUMBER_FRMLEN "L" -#define LUA_NUMBER_FMT "%.19Lg" - -#define l_mathop(op) op##l - -#define lua_str2number(s,p) strtold((s), (p)) - -#elif LUA_FLOAT_TYPE == LUA_FLOAT_DOUBLE /* }{ double */ - -#define LUA_NUMBER double - -#define l_mathlim(n) (DBL_##n) - -#define LUAI_UACNUMBER double - -#define LUA_NUMBER_FRMLEN "" -#define LUA_NUMBER_FMT "%.14g" - -#define l_mathop(op) op - -#define lua_str2number(s,p) strtod((s), (p)) - -#else /* }{ */ - -#error "numeric float type not defined" - -#endif /* } */ - - - -/* -@@ LUA_INTEGER is the integer type used by Lua. -** -@@ LUA_UNSIGNED is the unsigned version of LUA_INTEGER. -** -@@ LUAI_UACINT is the result of a 'default argument promotion' -@@ over a lUA_INTEGER. -@@ LUA_INTEGER_FRMLEN is the length modifier for reading/writing integers. -@@ LUA_INTEGER_FMT is the format for writing integers. -@@ LUA_MAXINTEGER is the maximum value for a LUA_INTEGER. -@@ LUA_MININTEGER is the minimum value for a LUA_INTEGER. -@@ lua_integer2str converts an integer to a string. -*/ - - -/* The following definitions are good for most cases here */ - -#define LUA_INTEGER_FMT "%" LUA_INTEGER_FRMLEN "d" - -#define LUAI_UACINT LUA_INTEGER - -#define lua_integer2str(s,sz,n) \ - l_sprintf((s), sz, LUA_INTEGER_FMT, (LUAI_UACINT)(n)) - -/* -** use LUAI_UACINT here to avoid problems with promotions (which -** can turn a comparison between unsigneds into a signed comparison) -*/ -#define LUA_UNSIGNED unsigned LUAI_UACINT - - -/* now the variable definitions */ - -#if LUA_INT_TYPE == LUA_INT_INT /* { int */ - -#define LUA_INTEGER int -#define LUA_INTEGER_FRMLEN "" - -#define LUA_MAXINTEGER INT_MAX -#define LUA_MININTEGER INT_MIN - -#elif LUA_INT_TYPE == LUA_INT_LONG /* }{ long */ - -#define LUA_INTEGER long -#define LUA_INTEGER_FRMLEN "l" - -#define LUA_MAXINTEGER LONG_MAX -#define LUA_MININTEGER LONG_MIN - -#elif LUA_INT_TYPE == LUA_INT_LONGLONG /* }{ long long */ - -/* use presence of macro LLONG_MAX as proxy for C99 compliance */ -#if defined(LLONG_MAX) /* { */ -/* use ISO C99 stuff */ - -#define LUA_INTEGER long long -#define LUA_INTEGER_FRMLEN "ll" - -#define LUA_MAXINTEGER LLONG_MAX -#define LUA_MININTEGER LLONG_MIN - -#elif defined(LUA_USE_WINDOWS) /* }{ */ -/* in Windows, can use specific Windows types */ - -#define LUA_INTEGER __int64 -#define LUA_INTEGER_FRMLEN "I64" - -#define LUA_MAXINTEGER _I64_MAX -#define LUA_MININTEGER _I64_MIN - -#else /* }{ */ - -#error "Compiler does not support 'long long'. Use option '-DLUA_32BITS' \ - or '-DLUA_C89_NUMBERS' (see file 'luaconf.h' for details)" - -#endif /* } */ - -#else /* }{ */ - -#error "numeric integer type not defined" - -#endif /* } */ - -/* }================================================================== */ - - -/* -** {================================================================== -** Dependencies with C99 and other C details -** =================================================================== -*/ - -/* -@@ l_sprintf is equivalent to 'snprintf' or 'sprintf' in C89. -** (All uses in Lua have only one format item.) -*/ -#if !defined(LUA_USE_C89) -#define l_sprintf(s,sz,f,i) snprintf(s,sz,f,i) -#else -#define l_sprintf(s,sz,f,i) ((void)(sz), sprintf(s,f,i)) -#endif - - -/* -@@ lua_strx2number converts an hexadecimal numeric string to a number. -** In C99, 'strtod' does that conversion. Otherwise, you can -** leave 'lua_strx2number' undefined and Lua will provide its own -** implementation. -*/ -#if !defined(LUA_USE_C89) -#define lua_strx2number(s,p) lua_str2number(s,p) -#endif - - -/* -@@ lua_pointer2str converts a pointer to a readable string in a -** non-specified way. -*/ -#define lua_pointer2str(buff,sz,p) l_sprintf(buff,sz,"%p",p) - - -/* -@@ lua_number2strx converts a float to an hexadecimal numeric string. -** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that. -** Otherwise, you can leave 'lua_number2strx' undefined and Lua will -** provide its own implementation. -*/ -#if !defined(LUA_USE_C89) -#define lua_number2strx(L,b,sz,f,n) \ - ((void)L, l_sprintf(b,sz,f,(LUAI_UACNUMBER)(n))) -#endif - - -/* -** 'strtof' and 'opf' variants for math functions are not valid in -** C89. Otherwise, the macro 'HUGE_VALF' is a good proxy for testing the -** availability of these variants. ('math.h' is already included in -** all files that use these macros.) -*/ -#if defined(LUA_USE_C89) || (defined(HUGE_VAL) && !defined(HUGE_VALF)) -#undef l_mathop /* variants not available */ -#undef lua_str2number -#define l_mathop(op) (lua_Number)op /* no variant */ -#define lua_str2number(s,p) ((lua_Number)strtod((s), (p))) -#endif - - -/* -@@ LUA_KCONTEXT is the type of the context ('ctx') for continuation -** functions. It must be a numerical type; Lua will use 'intptr_t' if -** available, otherwise it will use 'ptrdiff_t' (the nearest thing to -** 'intptr_t' in C89) -*/ -#define LUA_KCONTEXT ptrdiff_t - -#if !defined(LUA_USE_C89) && defined(__STDC_VERSION__) && \ - __STDC_VERSION__ >= 199901L -#include -#if defined(INTPTR_MAX) /* even in C99 this type is optional */ -#undef LUA_KCONTEXT -#define LUA_KCONTEXT intptr_t -#endif -#endif - - -/* -@@ lua_getlocaledecpoint gets the locale "radix character" (decimal point). -** Change that if you do not want to use C locales. (Code using this -** macro must include header 'locale.h'.) -*/ -#if !defined(lua_getlocaledecpoint) -#define lua_getlocaledecpoint() (localeconv()->decimal_point[0]) -#endif - -/* }================================================================== */ - - -/* -** {================================================================== -** Language Variations -** ===================================================================== -*/ - -/* -@@ LUA_NOCVTN2S/LUA_NOCVTS2N control how Lua performs some -** coercions. Define LUA_NOCVTN2S to turn off automatic coercion from -** numbers to strings. Define LUA_NOCVTS2N to turn off automatic -** coercion from strings to numbers. -*/ -/* #define LUA_NOCVTN2S */ -/* #define LUA_NOCVTS2N */ - - -/* -@@ LUA_USE_APICHECK turns on several consistency checks on the C API. -** Define it as a help when debugging C code. -*/ -#if defined(LUA_USE_APICHECK) -#include -#define luai_apicheck(l,e) assert(e) -#endif - -/* }================================================================== */ - - -/* -** {================================================================== -** Macros that affect the API and must be stable (that is, must be the -** same when you compile Lua and when you compile code that links to -** Lua). You probably do not want/need to change them. -** ===================================================================== -*/ - -/* -@@ LUAI_MAXSTACK limits the size of the Lua stack. -** CHANGE it if you need a different limit. This limit is arbitrary; -** its only purpose is to stop Lua from consuming unlimited stack -** space (and to reserve some numbers for pseudo-indices). -*/ -#if LUAI_BITSINT >= 32 -#define LUAI_MAXSTACK 1000000 -#else -#define LUAI_MAXSTACK 15000 -#endif - - -/* -@@ LUA_EXTRASPACE defines the size of a raw memory area associated with -** a Lua state with very fast access. -** CHANGE it if you need a different size. -*/ -#define LUA_EXTRASPACE (sizeof(void *)) - - -/* -@@ LUA_IDSIZE gives the maximum size for the description of the source -@@ of a function in debug information. -** CHANGE it if you want a different size. -*/ -#define LUA_IDSIZE 60 - - -/* -@@ LUAL_BUFFERSIZE is the buffer size used by the lauxlib buffer system. -** CHANGE it if it uses too much C-stack space. (For long double, -** 'string.format("%.99f", -1e4932)' needs 5034 bytes, so a -** smaller buffer would force a memory allocation for each call to -** 'string.format'.) -*/ -#if LUA_FLOAT_TYPE == LUA_FLOAT_LONGDOUBLE -#define LUAL_BUFFERSIZE 8192 -#else -/* armfly 2019-04-18 字符串长度限制, 2560字节, 调整到3 * 1024 */ -//#define LUAL_BUFFERSIZE ((int)(0x80 * sizeof(void*) * sizeof(lua_Integer))) -#define LUAL_BUFFERSIZE (8 * 1024) -#endif - -/* }================================================================== */ - - -/* -@@ LUA_QL describes how error messages quote program elements. -** Lua does not use these macros anymore; they are here for -** compatibility only. -*/ -#define LUA_QL(x) "'" x "'" -#define LUA_QS LUA_QL("%s") - - - - -/* =================================================================== */ - -/* -** Local configuration. You can use this space to add your redefinitions -** without modifying the main part of the file. -*/ - - - - - -#endif - diff --git a/User/lua/src-bak/lualib.h b/User/lua/src-bak/lualib.h deleted file mode 100644 index fbd72dd..0000000 --- a/User/lua/src-bak/lualib.h +++ /dev/null @@ -1,54 +0,0 @@ -/* -** $Id: lualib.h,v 1.45.1.1 2017/04/19 17:20:42 roberto Exp $ -** Lua standard libraries -** See Copyright Notice in lua.h -*/ - -#ifndef lualib_h -#define lualib_h - -#include "lua.h" - -/* version suffix for environment variable names */ -#define LUA_VERSUFFIX "_" LUA_VERSION_MAJOR "_" LUA_VERSION_MINOR - -LUAMOD_API int(luaopen_base)(lua_State *L); - -#define LUA_COLIBNAME "coroutine" -LUAMOD_API int(luaopen_coroutine)(lua_State *L); - -#define LUA_TABLIBNAME "table" -LUAMOD_API int(luaopen_table)(lua_State *L); - -#define LUA_IOLIBNAME "io" -LUAMOD_API int(luaopen_io)(lua_State *L); - -#define LUA_OSLIBNAME "os" -LUAMOD_API int(luaopen_os)(lua_State *L); - -#define LUA_STRLIBNAME "string" -LUAMOD_API int(luaopen_string)(lua_State *L); - -#define LUA_UTF8LIBNAME "utf8" -LUAMOD_API int(luaopen_utf8)(lua_State *L); - -#define LUA_BITLIBNAME "bit32" -LUAMOD_API int(luaopen_bit32)(lua_State *L); - -#define LUA_MATHLIBNAME "math" -LUAMOD_API int(luaopen_math)(lua_State *L); - -#define LUA_DBLIBNAME "debug" -LUAMOD_API int(luaopen_debug)(lua_State *L); - -#define LUA_LOADLIBNAME "package" -LUAMOD_API int(luaopen_package)(lua_State *L); - -/* open all previous libraries */ -LUALIB_API void(luaL_openlibs)(lua_State *L); - -#if !defined(lua_assert) -#define lua_assert(x) ((void)0) -#endif - -#endif diff --git a/User/lua/src-bak/lundump.c b/User/lua/src-bak/lundump.c deleted file mode 100644 index 9b7459c..0000000 --- a/User/lua/src-bak/lundump.c +++ /dev/null @@ -1,281 +0,0 @@ -/* -** $Id: lundump.c,v 2.44.1.1 2017/04/19 17:20:42 roberto Exp $ -** load precompiled Lua chunks -** See Copyright Notice in lua.h -*/ - -#define lundump_c -#define LUA_CORE - -#include "lprefix.h" - -#include - -#include "lua.h" - -#include "ldebug.h" -#include "ldo.h" -#include "lfunc.h" -#include "lmem.h" -#include "lobject.h" -#include "lstring.h" -#include "lundump.h" -#include "lzio.h" - -#if !defined(luai_verifycode) -#define luai_verifycode(L, b, f) /* empty */ -#endif - -typedef struct -{ - lua_State *L; - ZIO *Z; - const char *name; -} LoadState; - -static l_noret error(LoadState *S, const char *why) -{ - luaO_pushfstring(S->L, "%s: %s precompiled chunk", S->name, why); - luaD_throw(S->L, LUA_ERRSYNTAX); -} - -/* -** All high-level loads go through LoadVector; you can change it to -** adapt to the endianness of the input -*/ -#define LoadVector(S, b, n) LoadBlock(S, b, (n) * sizeof((b)[0])) - -static void LoadBlock(LoadState *S, void *b, size_t size) -{ - if (luaZ_read(S->Z, b, size) != 0) - error(S, "truncated"); -} - -#define LoadVar(S, x) LoadVector(S, &x, 1) - -static lu_byte LoadByte(LoadState *S) -{ - lu_byte x; - LoadVar(S, x); - return x; -} - -static int LoadInt(LoadState *S) -{ - int x; - LoadVar(S, x); - return x; -} - -static lua_Number LoadNumber(LoadState *S) -{ - lua_Number x; - LoadVar(S, x); - return x; -} - -static lua_Integer LoadInteger(LoadState *S) -{ - lua_Integer x; - LoadVar(S, x); - return x; -} - -static TString *LoadString(LoadState *S) -{ - size_t size = LoadByte(S); - if (size == 0xFF) - LoadVar(S, size); - if (size == 0) - return NULL; - else if (--size <= LUAI_MAXSHORTLEN) - { /* short string? */ - char buff[LUAI_MAXSHORTLEN]; - LoadVector(S, buff, size); - return luaS_newlstr(S->L, buff, size); - } - else - { /* long string */ - TString *ts = luaS_createlngstrobj(S->L, size); - LoadVector(S, getstr(ts), size); /* load directly in final place */ - return ts; - } -} - -static void LoadCode(LoadState *S, Proto *f) -{ - int n = LoadInt(S); - f->code = luaM_newvector(S->L, n, Instruction); - f->sizecode = n; - LoadVector(S, f->code, n); -} - -static void LoadFunction(LoadState *S, Proto *f, TString *psource); - -static void LoadConstants(LoadState *S, Proto *f) -{ - int i; - int n = LoadInt(S); - f->k = luaM_newvector(S->L, n, TValue); - f->sizek = n; - for (i = 0; i < n; i++) - setnilvalue(&f->k[i]); - for (i = 0; i < n; i++) - { - TValue *o = &f->k[i]; - int t = LoadByte(S); - switch (t) - { - case LUA_TNIL: - setnilvalue(o); - break; - case LUA_TBOOLEAN: - setbvalue(o, LoadByte(S)); - break; - case LUA_TNUMFLT: - setfltvalue(o, LoadNumber(S)); - break; - case LUA_TNUMINT: - setivalue(o, LoadInteger(S)); - break; - case LUA_TSHRSTR: - case LUA_TLNGSTR: - setsvalue2n(S->L, o, LoadString(S)); - break; - default: - lua_assert(0); - } - } -} - -static void LoadProtos(LoadState *S, Proto *f) -{ - int i; - int n = LoadInt(S); - f->p = luaM_newvector(S->L, n, Proto *); - f->sizep = n; - for (i = 0; i < n; i++) - f->p[i] = NULL; - for (i = 0; i < n; i++) - { - f->p[i] = luaF_newproto(S->L); - LoadFunction(S, f->p[i], f->source); - } -} - -static void LoadUpvalues(LoadState *S, Proto *f) -{ - int i, n; - n = LoadInt(S); - f->upvalues = luaM_newvector(S->L, n, Upvaldesc); - f->sizeupvalues = n; - for (i = 0; i < n; i++) - f->upvalues[i].name = NULL; - for (i = 0; i < n; i++) - { - f->upvalues[i].instack = LoadByte(S); - f->upvalues[i].idx = LoadByte(S); - } -} - -static void LoadDebug(LoadState *S, Proto *f) -{ - int i, n; - n = LoadInt(S); - f->lineinfo = luaM_newvector(S->L, n, int); - f->sizelineinfo = n; - LoadVector(S, f->lineinfo, n); - n = LoadInt(S); - f->locvars = luaM_newvector(S->L, n, LocVar); - f->sizelocvars = n; - for (i = 0; i < n; i++) - f->locvars[i].varname = NULL; - for (i = 0; i < n; i++) - { - f->locvars[i].varname = LoadString(S); - f->locvars[i].startpc = LoadInt(S); - f->locvars[i].endpc = LoadInt(S); - } - n = LoadInt(S); - for (i = 0; i < n; i++) - f->upvalues[i].name = LoadString(S); -} - -static void LoadFunction(LoadState *S, Proto *f, TString *psource) -{ - f->source = LoadString(S); - if (f->source == NULL) /* no source in dump? */ - f->source = psource; /* reuse parent's source */ - f->linedefined = LoadInt(S); - f->lastlinedefined = LoadInt(S); - f->numparams = LoadByte(S); - f->is_vararg = LoadByte(S); - f->maxstacksize = LoadByte(S); - LoadCode(S, f); - LoadConstants(S, f); - LoadUpvalues(S, f); - LoadProtos(S, f); - LoadDebug(S, f); -} - -static void checkliteral(LoadState *S, const char *s, const char *msg) -{ - char buff[sizeof(LUA_SIGNATURE) + sizeof(LUAC_DATA)]; /* larger than both */ - size_t len = strlen(s); - LoadVector(S, buff, len); - if (memcmp(s, buff, len) != 0) - error(S, msg); -} - -static void fchecksize(LoadState *S, size_t size, const char *tname) -{ - if (LoadByte(S) != size) - error(S, luaO_pushfstring(S->L, "%s size mismatch in", tname)); -} - -#define checksize(S, t) fchecksize(S, sizeof(t), #t) - -static void checkHeader(LoadState *S) -{ - checkliteral(S, LUA_SIGNATURE + 1, "not a"); /* 1st char already checked */ - if (LoadByte(S) != LUAC_VERSION) - error(S, "version mismatch in"); - if (LoadByte(S) != LUAC_FORMAT) - error(S, "format mismatch in"); - checkliteral(S, LUAC_DATA, "corrupted"); - checksize(S, int); - checksize(S, size_t); - checksize(S, Instruction); - checksize(S, lua_Integer); - checksize(S, lua_Number); - if (LoadInteger(S) != LUAC_INT) - error(S, "endianness mismatch in"); - if (LoadNumber(S) != LUAC_NUM) - error(S, "float format mismatch in"); -} - -/* -** load precompiled chunk -*/ -LClosure *luaU_undump(lua_State *L, ZIO *Z, const char *name) -{ - LoadState S; - LClosure *cl; - if (*name == '@' || *name == '=') - S.name = name + 1; - else if (*name == LUA_SIGNATURE[0]) - S.name = "binary string"; - else - S.name = name; - S.L = L; - S.Z = Z; - checkHeader(&S); - cl = luaF_newLclosure(L, LoadByte(&S)); - setclLvalue(L, L->top, cl); - luaD_inctop(L); - cl->p = luaF_newproto(L); - LoadFunction(&S, cl->p, NULL); - lua_assert(cl->nupvalues == cl->p->sizeupvalues); - luai_verifycode(L, buff, cl->p); - return cl; -} diff --git a/User/lua/src-bak/lundump.h b/User/lua/src-bak/lundump.h deleted file mode 100644 index 23a3a2f..0000000 --- a/User/lua/src-bak/lundump.h +++ /dev/null @@ -1,31 +0,0 @@ -/* -** $Id: lundump.h,v 1.45.1.1 2017/04/19 17:20:42 roberto Exp $ -** load precompiled Lua chunks -** See Copyright Notice in lua.h -*/ - -#ifndef lundump_h -#define lundump_h - -#include "llimits.h" -#include "lobject.h" -#include "lzio.h" - -/* data to catch conversion errors */ -#define LUAC_DATA "\x19\x93\r\n\x1a\n" - -#define LUAC_INT 0x5678 -#define LUAC_NUM cast_num(370.5) - -#define MYINT(s) (s[0] - '0') -#define LUAC_VERSION (MYINT(LUA_VERSION_MAJOR) * 16 + MYINT(LUA_VERSION_MINOR)) -#define LUAC_FORMAT 0 /* this is the official format */ - -/* load one chunk; from lundump.c */ -LUAI_FUNC LClosure *luaU_undump(lua_State *L, ZIO *Z, const char *name); - -/* dump one chunk; from ldump.c */ -LUAI_FUNC int luaU_dump(lua_State *L, const Proto *f, lua_Writer w, - void *data, int strip); - -#endif diff --git a/User/lua/src-bak/lutf8lib.c b/User/lua/src-bak/lutf8lib.c deleted file mode 100644 index dfa8fd5..0000000 --- a/User/lua/src-bak/lutf8lib.c +++ /dev/null @@ -1,275 +0,0 @@ -/* -** $Id: lutf8lib.c,v 1.16.1.1 2017/04/19 17:29:57 roberto Exp $ -** Standard library for UTF-8 manipulation -** See Copyright Notice in lua.h -*/ - -#define lutf8lib_c -#define LUA_LIB - -#include "lprefix.h" - -#include -#include -#include -#include - -#include "lua.h" - -#include "lauxlib.h" -#include "lualib.h" - -#define MAXUNICODE 0x10FFFF - -#define iscont(p) ((*(p)&0xC0) == 0x80) - -/* from strlib */ -/* translate a relative string position: negative means back from end */ -static lua_Integer u_posrelat(lua_Integer pos, size_t len) -{ - if (pos >= 0) - return pos; - else if (0u - (size_t)pos > len) - return 0; - else - return (lua_Integer)len + pos + 1; -} - -/* -** Decode one UTF-8 sequence, returning NULL if byte sequence is invalid. -*/ -static const char *utf8_decode(const char *o, int *val) -{ - static const unsigned int limits[] = {0xFF, 0x7F, 0x7FF, 0xFFFF}; - const unsigned char *s = (const unsigned char *)o; - unsigned int c = s[0]; - unsigned int res = 0; /* final result */ - if (c < 0x80) /* ascii? */ - res = c; - else - { - int count = 0; /* to count number of continuation bytes */ - while (c & 0x40) - { /* still have continuation bytes? */ - int cc = s[++count]; /* read next byte */ - if ((cc & 0xC0) != 0x80) /* not a continuation byte? */ - return NULL; /* invalid byte sequence */ - res = (res << 6) | (cc & 0x3F); /* add lower 6 bits from cont. byte */ - c <<= 1; /* to test next bit */ - } - res |= ((c & 0x7F) << (count * 5)); /* add first byte */ - if (count > 3 || res > MAXUNICODE || res <= limits[count]) - return NULL; /* invalid byte sequence */ - s += count; /* skip continuation bytes read */ - } - if (val) - *val = res; - return (const char *)s + 1; /* +1 to include first byte */ -} - -/* -** utf8len(s [, i [, j]]) --> number of characters that start in the -** range [i,j], or nil + current position if 's' is not well formed in -** that interval -*/ -static int utflen(lua_State *L) -{ - int n = 0; - size_t len; - const char *s = luaL_checklstring(L, 1, &len); - lua_Integer posi = u_posrelat(luaL_optinteger(L, 2, 1), len); - lua_Integer posj = u_posrelat(luaL_optinteger(L, 3, -1), len); - luaL_argcheck(L, 1 <= posi && --posi <= (lua_Integer)len, 2, - "initial position out of string"); - luaL_argcheck(L, --posj < (lua_Integer)len, 3, - "final position out of string"); - while (posi <= posj) - { - const char *s1 = utf8_decode(s + posi, NULL); - if (s1 == NULL) - { /* conversion error? */ - lua_pushnil(L); /* return nil ... */ - lua_pushinteger(L, posi + 1); /* ... and current position */ - return 2; - } - posi = s1 - s; - n++; - } - lua_pushinteger(L, n); - return 1; -} - -/* -** codepoint(s, [i, [j]]) -> returns codepoints for all characters -** that start in the range [i,j] -*/ -static int codepoint(lua_State *L) -{ - size_t len; - const char *s = luaL_checklstring(L, 1, &len); - lua_Integer posi = u_posrelat(luaL_optinteger(L, 2, 1), len); - lua_Integer pose = u_posrelat(luaL_optinteger(L, 3, posi), len); - int n; - const char *se; - luaL_argcheck(L, posi >= 1, 2, "out of range"); - luaL_argcheck(L, pose <= (lua_Integer)len, 3, "out of range"); - if (posi > pose) - return 0; /* empty interval; return no values */ - if (pose - posi >= INT_MAX) /* (lua_Integer -> int) overflow? */ - return luaL_error(L, "string slice too long"); - n = (int)(pose - posi) + 1; - luaL_checkstack(L, n, "string slice too long"); - n = 0; - se = s + pose; - for (s += posi - 1; s < se;) - { - int code; - s = utf8_decode(s, &code); - if (s == NULL) - return luaL_error(L, "invalid UTF-8 code"); - lua_pushinteger(L, code); - n++; - } - return n; -} - -static void pushutfchar(lua_State *L, int arg) -{ - lua_Integer code = luaL_checkinteger(L, arg); - luaL_argcheck(L, 0 <= code && code <= MAXUNICODE, arg, "value out of range"); - lua_pushfstring(L, "%U", (long)code); -} - -/* -** utfchar(n1, n2, ...) -> char(n1)..char(n2)... -*/ -static int utfchar(lua_State *L) -{ - int n = lua_gettop(L); /* number of arguments */ - if (n == 1) /* optimize common case of single char */ - pushutfchar(L, 1); - else - { - int i; - luaL_Buffer b; - luaL_buffinit(L, &b); - for (i = 1; i <= n; i++) - { - pushutfchar(L, i); - luaL_addvalue(&b); - } - luaL_pushresult(&b); - } - return 1; -} - -/* -** offset(s, n, [i]) -> index where n-th character counting from -** position 'i' starts; 0 means character at 'i'. -*/ -static int byteoffset(lua_State *L) -{ - size_t len; - const char *s = luaL_checklstring(L, 1, &len); - lua_Integer n = luaL_checkinteger(L, 2); - lua_Integer posi = (n >= 0) ? 1 : len + 1; - posi = u_posrelat(luaL_optinteger(L, 3, posi), len); - luaL_argcheck(L, 1 <= posi && --posi <= (lua_Integer)len, 3, - "position out of range"); - if (n == 0) - { - /* find beginning of current byte sequence */ - while (posi > 0 && iscont(s + posi)) - posi--; - } - else - { - if (iscont(s + posi)) - return luaL_error(L, "initial position is a continuation byte"); - if (n < 0) - { - while (n < 0 && posi > 0) - { /* move back */ - do - { /* find beginning of previous character */ - posi--; - } while (posi > 0 && iscont(s + posi)); - n++; - } - } - else - { - n--; /* do not move for 1st character */ - while (n > 0 && posi < (lua_Integer)len) - { - do - { /* find beginning of next character */ - posi++; - } while (iscont(s + posi)); /* (cannot pass final '\0') */ - n--; - } - } - } - if (n == 0) /* did it find given character? */ - lua_pushinteger(L, posi + 1); - else /* no such character */ - lua_pushnil(L); - return 1; -} - -static int iter_aux(lua_State *L) -{ - size_t len; - const char *s = luaL_checklstring(L, 1, &len); - lua_Integer n = lua_tointeger(L, 2) - 1; - if (n < 0) /* first iteration? */ - n = 0; /* start from here */ - else if (n < (lua_Integer)len) - { - n++; /* skip current byte */ - while (iscont(s + n)) - n++; /* and its continuations */ - } - if (n >= (lua_Integer)len) - return 0; /* no more codepoints */ - else - { - int code; - const char *next = utf8_decode(s + n, &code); - if (next == NULL || iscont(next)) - return luaL_error(L, "invalid UTF-8 code"); - lua_pushinteger(L, n + 1); - lua_pushinteger(L, code); - return 2; - } -} - -static int iter_codes(lua_State *L) -{ - luaL_checkstring(L, 1); - lua_pushcfunction(L, iter_aux); - lua_pushvalue(L, 1); - lua_pushinteger(L, 0); - return 3; -} - -/* pattern to match a single UTF-8 character */ -#define UTF8PATT "[\0-\x7F\xC2-\xF4][\x80-\xBF]*" - -static const luaL_Reg funcs[] = { - {"offset", byteoffset}, - {"codepoint", codepoint}, - {"char", utfchar}, - {"len", utflen}, - {"codes", iter_codes}, - /* placeholders */ - {"charpattern", NULL}, - {NULL, NULL}}; - -LUAMOD_API int luaopen_utf8(lua_State *L) -{ - luaL_newlib(L, funcs); - lua_pushlstring(L, UTF8PATT, sizeof(UTF8PATT) / sizeof(char) - 1); - lua_setfield(L, -2, "charpattern"); - return 1; -} diff --git a/User/lua/src-bak/lvm.c b/User/lua/src-bak/lvm.c deleted file mode 100644 index c33e33e..0000000 --- a/User/lua/src-bak/lvm.c +++ /dev/null @@ -1,1581 +0,0 @@ -/* -** $Id: lvm.c,v 2.268.1.1 2017/04/19 17:39:34 roberto Exp $ -** Lua virtual machine -** See Copyright Notice in lua.h -*/ - -#define lvm_c -#define LUA_CORE - -#include "lprefix.h" - -#include -#include -#include -#include -#include -#include - -#include "lua.h" - -#include "ldebug.h" -#include "ldo.h" -#include "lfunc.h" -#include "lgc.h" -#include "lobject.h" -#include "lopcodes.h" -#include "lstate.h" -#include "lstring.h" -#include "ltable.h" -#include "ltm.h" -#include "lvm.h" - -/* limit for table tag-method chains (to avoid loops) */ -#define MAXTAGLOOP 2000 - -/* -** 'l_intfitsf' checks whether a given integer can be converted to a -** float without rounding. Used in comparisons. Left undefined if -** all integers fit in a float precisely. -*/ -#if !defined(l_intfitsf) - -/* number of bits in the mantissa of a float */ -#define NBM (l_mathlim(MANT_DIG)) - -/* -** Check whether some integers may not fit in a float, that is, whether -** (maxinteger >> NBM) > 0 (that implies (1 << NBM) <= maxinteger). -** (The shifts are done in parts to avoid shifting by more than the size -** of an integer. In a worst case, NBM == 113 for long double and -** sizeof(integer) == 32.) -*/ -#if ((((LUA_MAXINTEGER >> (NBM / 4)) >> (NBM / 4)) >> (NBM / 4)) >> (NBM - (3 * (NBM / 4)))) > 0 - -#define l_intfitsf(i) \ - (-((lua_Integer)1 << NBM) <= (i) && (i) <= ((lua_Integer)1 << NBM)) - -#endif - -#endif - -/* -** Try to convert a value to a float. The float case is already handled -** by the macro 'tonumber'. -*/ -int luaV_tonumber_(const TValue *obj, lua_Number *n) -{ - TValue v; - if (ttisinteger(obj)) - { - *n = cast_num(ivalue(obj)); - return 1; - } - else if (cvt2num(obj) && /* string convertible to number? */ - luaO_str2num(svalue(obj), &v) == vslen(obj) + 1) - { - *n = nvalue(&v); /* convert result of 'luaO_str2num' to a float */ - return 1; - } - else - return 0; /* conversion failed */ -} - -/* -** try to convert a value to an integer, rounding according to 'mode': -** mode == 0: accepts only integral values -** mode == 1: takes the floor of the number -** mode == 2: takes the ceil of the number -*/ -int luaV_tointeger(const TValue *obj, lua_Integer *p, int mode) -{ - TValue v; -again: - if (ttisfloat(obj)) - { - lua_Number n = fltvalue(obj); - lua_Number f = l_floor(n); - if (n != f) - { /* not an integral value? */ - if (mode == 0) - return 0; /* fails if mode demands integral value */ - else if (mode > 1) /* needs ceil? */ - f += 1; /* convert floor to ceil (remember: n != f) */ - } - return lua_numbertointeger(f, p); - } - else if (ttisinteger(obj)) - { - *p = ivalue(obj); - return 1; - } - else if (cvt2num(obj) && - luaO_str2num(svalue(obj), &v) == vslen(obj) + 1) - { - obj = &v; - goto again; /* convert result from 'luaO_str2num' to an integer */ - } - return 0; /* conversion failed */ -} - -/* -** Try to convert a 'for' limit to an integer, preserving the -** semantics of the loop. -** (The following explanation assumes a non-negative step; it is valid -** for negative steps mutatis mutandis.) -** If the limit can be converted to an integer, rounding down, that is -** it. -** Otherwise, check whether the limit can be converted to a number. If -** the number is too large, it is OK to set the limit as LUA_MAXINTEGER, -** which means no limit. If the number is too negative, the loop -** should not run, because any initial integer value is larger than the -** limit. So, it sets the limit to LUA_MININTEGER. 'stopnow' corrects -** the extreme case when the initial value is LUA_MININTEGER, in which -** case the LUA_MININTEGER limit would still run the loop once. -*/ -static int forlimit(const TValue *obj, lua_Integer *p, lua_Integer step, - int *stopnow) -{ - *stopnow = 0; /* usually, let loops run */ - if (!luaV_tointeger(obj, p, (step < 0 ? 2 : 1))) - { /* not fit in integer? */ - lua_Number n; /* try to convert to float */ - if (!tonumber(obj, &n)) /* cannot convert to float? */ - return 0; /* not a number */ - if (luai_numlt(0, n)) - { /* if true, float is larger than max integer */ - *p = LUA_MAXINTEGER; - if (step < 0) - *stopnow = 1; - } - else - { /* float is smaller than min integer */ - *p = LUA_MININTEGER; - if (step >= 0) - *stopnow = 1; - } - } - return 1; -} - -/* -** Finish the table access 'val = t[key]'. -** if 'slot' is NULL, 't' is not a table; otherwise, 'slot' points to -** t[k] entry (which must be nil). -*/ -void luaV_finishget(lua_State *L, const TValue *t, TValue *key, StkId val, - const TValue *slot) -{ - int loop; /* counter to avoid infinite loops */ - const TValue *tm; /* metamethod */ - for (loop = 0; loop < MAXTAGLOOP; loop++) - { - if (slot == NULL) - { /* 't' is not a table? */ - lua_assert(!ttistable(t)); - tm = luaT_gettmbyobj(L, t, TM_INDEX); - if (ttisnil(tm)) - luaG_typeerror(L, t, "index"); /* no metamethod */ - /* else will try the metamethod */ - } - else - { /* 't' is a table */ - lua_assert(ttisnil(slot)); - tm = fasttm(L, hvalue(t)->metatable, TM_INDEX); /* table's metamethod */ - if (tm == NULL) - { /* no metamethod? */ - setnilvalue(val); /* result is nil */ - return; - } - /* else will try the metamethod */ - } - if (ttisfunction(tm)) - { /* is metamethod a function? */ - luaT_callTM(L, tm, t, key, val, 1); /* call it */ - return; - } - t = tm; /* else try to access 'tm[key]' */ - if (luaV_fastget(L, t, key, slot, luaH_get)) - { /* fast track? */ - setobj2s(L, val, slot); /* done */ - return; - } - /* else repeat (tail call 'luaV_finishget') */ - } - luaG_runerror(L, "'__index' chain too long; possible loop"); -} - -/* -** Finish a table assignment 't[key] = val'. -** If 'slot' is NULL, 't' is not a table. Otherwise, 'slot' points -** to the entry 't[key]', or to 'luaO_nilobject' if there is no such -** entry. (The value at 'slot' must be nil, otherwise 'luaV_fastset' -** would have done the job.) -*/ -void luaV_finishset(lua_State *L, const TValue *t, TValue *key, - StkId val, const TValue *slot) -{ - int loop; /* counter to avoid infinite loops */ - for (loop = 0; loop < MAXTAGLOOP; loop++) - { - const TValue *tm; /* '__newindex' metamethod */ - if (slot != NULL) - { /* is 't' a table? */ - Table *h = hvalue(t); /* save 't' table */ - lua_assert(ttisnil(slot)); /* old value must be nil */ - tm = fasttm(L, h->metatable, TM_NEWINDEX); /* get metamethod */ - if (tm == NULL) - { /* no metamethod? */ - if (slot == luaO_nilobject) /* no previous entry? */ - slot = luaH_newkey(L, h, key); /* create one */ - /* no metamethod and (now) there is an entry with given key */ - setobj2t(L, cast(TValue *, slot), val); /* set its new value */ - invalidateTMcache(h); - luaC_barrierback(L, h, val); - return; - } - /* else will try the metamethod */ - } - else - { /* not a table; check metamethod */ - if (ttisnil(tm = luaT_gettmbyobj(L, t, TM_NEWINDEX))) - luaG_typeerror(L, t, "index"); - } - /* try the metamethod */ - if (ttisfunction(tm)) - { - luaT_callTM(L, tm, t, key, val, 0); - return; - } - t = tm; /* else repeat assignment over 'tm' */ - if (luaV_fastset(L, t, key, slot, luaH_get, val)) - return; /* done */ - /* else loop */ - } - luaG_runerror(L, "'__newindex' chain too long; possible loop"); -} - -/* -** Compare two strings 'ls' x 'rs', returning an integer smaller-equal- -** -larger than zero if 'ls' is smaller-equal-larger than 'rs'. -** The code is a little tricky because it allows '\0' in the strings -** and it uses 'strcoll' (to respect locales) for each segments -** of the strings. -*/ -static int l_strcmp(const TString *ls, const TString *rs) -{ - const char *l = getstr(ls); - size_t ll = tsslen(ls); - const char *r = getstr(rs); - size_t lr = tsslen(rs); - for (;;) - { /* for each segment */ - int temp = strcoll(l, r); - if (temp != 0) /* not equal? */ - return temp; /* done */ - else - { /* strings are equal up to a '\0' */ - size_t len = strlen(l); /* index of first '\0' in both strings */ - if (len == lr) /* 'rs' is finished? */ - return (len == ll) ? 0 : 1; /* check 'ls' */ - else if (len == ll) /* 'ls' is finished? */ - return -1; /* 'ls' is smaller than 'rs' ('rs' is not finished) */ - /* both strings longer than 'len'; go on comparing after the '\0' */ - len++; - l += len; - ll -= len; - r += len; - lr -= len; - } - } -} - -/* -** Check whether integer 'i' is less than float 'f'. If 'i' has an -** exact representation as a float ('l_intfitsf'), compare numbers as -** floats. Otherwise, if 'f' is outside the range for integers, result -** is trivial. Otherwise, compare them as integers. (When 'i' has no -** float representation, either 'f' is "far away" from 'i' or 'f' has -** no precision left for a fractional part; either way, how 'f' is -** truncated is irrelevant.) When 'f' is NaN, comparisons must result -** in false. -*/ -static int LTintfloat(lua_Integer i, lua_Number f) -{ -#if defined(l_intfitsf) - if (!l_intfitsf(i)) - { - if (f >= -cast_num(LUA_MININTEGER)) /* -minint == maxint + 1 */ - return 1; /* f >= maxint + 1 > i */ - else if (f > cast_num(LUA_MININTEGER)) /* minint < f <= maxint ? */ - return (i < cast(lua_Integer, f)); /* compare them as integers */ - else /* f <= minint <= i (or 'f' is NaN) --> not(i < f) */ - return 0; - } -#endif - return luai_numlt(cast_num(i), f); /* compare them as floats */ -} - -/* -** Check whether integer 'i' is less than or equal to float 'f'. -** See comments on previous function. -*/ -static int LEintfloat(lua_Integer i, lua_Number f) -{ -#if defined(l_intfitsf) - if (!l_intfitsf(i)) - { - if (f >= -cast_num(LUA_MININTEGER)) /* -minint == maxint + 1 */ - return 1; /* f >= maxint + 1 > i */ - else if (f >= cast_num(LUA_MININTEGER)) /* minint <= f <= maxint ? */ - return (i <= cast(lua_Integer, f)); /* compare them as integers */ - else /* f < minint <= i (or 'f' is NaN) --> not(i <= f) */ - return 0; - } -#endif - return luai_numle(cast_num(i), f); /* compare them as floats */ -} - -/* -** Return 'l < r', for numbers. -*/ -static int LTnum(const TValue *l, const TValue *r) -{ - if (ttisinteger(l)) - { - lua_Integer li = ivalue(l); - if (ttisinteger(r)) - return li < ivalue(r); /* both are integers */ - else /* 'l' is int and 'r' is float */ - return LTintfloat(li, fltvalue(r)); /* l < r ? */ - } - else - { - lua_Number lf = fltvalue(l); /* 'l' must be float */ - if (ttisfloat(r)) - return luai_numlt(lf, fltvalue(r)); /* both are float */ - else if (luai_numisnan(lf)) /* 'r' is int and 'l' is float */ - return 0; /* NaN < i is always false */ - else /* without NaN, (l < r) <--> not(r <= l) */ - return !LEintfloat(ivalue(r), lf); /* not (r <= l) ? */ - } -} - -/* -** Return 'l <= r', for numbers. -*/ -static int LEnum(const TValue *l, const TValue *r) -{ - if (ttisinteger(l)) - { - lua_Integer li = ivalue(l); - if (ttisinteger(r)) - return li <= ivalue(r); /* both are integers */ - else /* 'l' is int and 'r' is float */ - return LEintfloat(li, fltvalue(r)); /* l <= r ? */ - } - else - { - lua_Number lf = fltvalue(l); /* 'l' must be float */ - if (ttisfloat(r)) - return luai_numle(lf, fltvalue(r)); /* both are float */ - else if (luai_numisnan(lf)) /* 'r' is int and 'l' is float */ - return 0; /* NaN <= i is always false */ - else /* without NaN, (l <= r) <--> not(r < l) */ - return !LTintfloat(ivalue(r), lf); /* not (r < l) ? */ - } -} - -/* -** Main operation less than; return 'l < r'. -*/ -int luaV_lessthan(lua_State *L, const TValue *l, const TValue *r) -{ - int res; - if (ttisnumber(l) && ttisnumber(r)) /* both operands are numbers? */ - return LTnum(l, r); - else if (ttisstring(l) && ttisstring(r)) /* both are strings? */ - return l_strcmp(tsvalue(l), tsvalue(r)) < 0; - else if ((res = luaT_callorderTM(L, l, r, TM_LT)) < 0) /* no metamethod? */ - luaG_ordererror(L, l, r); /* error */ - return res; -} - -/* -** Main operation less than or equal to; return 'l <= r'. If it needs -** a metamethod and there is no '__le', try '__lt', based on -** l <= r iff !(r < l) (assuming a total order). If the metamethod -** yields during this substitution, the continuation has to know -** about it (to negate the result of r= 0) /* try 'le' */ - return res; - else - { /* try 'lt': */ - L->ci->callstatus |= CIST_LEQ; /* mark it is doing 'lt' for 'le' */ - res = luaT_callorderTM(L, r, l, TM_LT); - L->ci->callstatus ^= CIST_LEQ; /* clear mark */ - if (res < 0) - luaG_ordererror(L, l, r); - return !res; /* result is negated */ - } -} - -/* -** Main operation for equality of Lua values; return 't1 == t2'. -** L == NULL means raw equality (no metamethods) -*/ -int luaV_equalobj(lua_State *L, const TValue *t1, const TValue *t2) -{ - const TValue *tm; - if (ttype(t1) != ttype(t2)) - { /* not the same variant? */ - if (ttnov(t1) != ttnov(t2) || ttnov(t1) != LUA_TNUMBER) - return 0; /* only numbers can be equal with different variants */ - else - { /* two numbers with different variants */ - lua_Integer i1, i2; /* compare them as integers */ - return (tointeger(t1, &i1) && tointeger(t2, &i2) && i1 == i2); - } - } - /* values have same type and same variant */ - switch (ttype(t1)) - { - case LUA_TNIL: - return 1; - case LUA_TNUMINT: - return (ivalue(t1) == ivalue(t2)); - case LUA_TNUMFLT: - return luai_numeq(fltvalue(t1), fltvalue(t2)); - case LUA_TBOOLEAN: - return bvalue(t1) == bvalue(t2); /* true must be 1 !! */ - case LUA_TLIGHTUSERDATA: - return pvalue(t1) == pvalue(t2); - case LUA_TLCF: - return fvalue(t1) == fvalue(t2); - case LUA_TSHRSTR: - return eqshrstr(tsvalue(t1), tsvalue(t2)); - case LUA_TLNGSTR: - return luaS_eqlngstr(tsvalue(t1), tsvalue(t2)); - case LUA_TUSERDATA: - { - if (uvalue(t1) == uvalue(t2)) - return 1; - else if (L == NULL) - return 0; - tm = fasttm(L, uvalue(t1)->metatable, TM_EQ); - if (tm == NULL) - tm = fasttm(L, uvalue(t2)->metatable, TM_EQ); - break; /* will try TM */ - } - case LUA_TTABLE: - { - if (hvalue(t1) == hvalue(t2)) - return 1; - else if (L == NULL) - return 0; - tm = fasttm(L, hvalue(t1)->metatable, TM_EQ); - if (tm == NULL) - tm = fasttm(L, hvalue(t2)->metatable, TM_EQ); - break; /* will try TM */ - } - default: - return gcvalue(t1) == gcvalue(t2); - } - if (tm == NULL) /* no TM? */ - return 0; /* objects are different */ - luaT_callTM(L, tm, t1, t2, L->top, 1); /* call TM */ - return !l_isfalse(L->top); -} - -/* macro used by 'luaV_concat' to ensure that element at 'o' is a string */ -#define tostring(L, o) \ - (ttisstring(o) || (cvt2str(o) && (luaO_tostring(L, o), 1))) - -#define isemptystr(o) (ttisshrstring(o) && tsvalue(o)->shrlen == 0) - -/* copy strings in stack from top - n up to top - 1 to buffer */ -static void copy2buff(StkId top, int n, char *buff) -{ - size_t tl = 0; /* size already copied */ - do - { - size_t l = vslen(top - n); /* length of string being copied */ - memcpy(buff + tl, svalue(top - n), l * sizeof(char)); - tl += l; - } while (--n > 0); -} - -/* -** Main operation for concatenation: concat 'total' values in the stack, -** from 'L->top - total' up to 'L->top - 1'. -*/ -void luaV_concat(lua_State *L, int total) -{ - lua_assert(total >= 2); - do - { - StkId top = L->top; - int n = 2; /* number of elements handled in this pass (at least 2) */ - if (!(ttisstring(top - 2) || cvt2str(top - 2)) || !tostring(L, top - 1)) - luaT_trybinTM(L, top - 2, top - 1, top - 2, TM_CONCAT); - else if (isemptystr(top - 1)) /* second operand is empty? */ - cast_void(tostring(L, top - 2)); /* result is first operand */ - else if (isemptystr(top - 2)) - { /* first operand is an empty string? */ - setobjs2s(L, top - 2, top - 1); /* result is second op. */ - } - else - { - /* at least two non-empty string values; get as many as possible */ - size_t tl = vslen(top - 1); - TString *ts; - /* collect total length and number of strings */ - for (n = 1; n < total && tostring(L, top - n - 1); n++) - { - size_t l = vslen(top - n - 1); - if (l >= (MAX_SIZE / sizeof(char)) - tl) - luaG_runerror(L, "string length overflow"); - tl += l; - } - if (tl <= LUAI_MAXSHORTLEN) - { /* is result a short string? */ - char buff[LUAI_MAXSHORTLEN]; - copy2buff(top, n, buff); /* copy strings to buffer */ - ts = luaS_newlstr(L, buff, tl); - } - else - { /* long string; copy strings directly to final result */ - ts = luaS_createlngstrobj(L, tl); - copy2buff(top, n, getstr(ts)); - } - setsvalue2s(L, top - n, ts); /* create result */ - } - total -= n - 1; /* got 'n' strings to create 1 new */ - L->top -= n - 1; /* popped 'n' strings and pushed one */ - } while (total > 1); /* repeat until only 1 result left */ -} - -/* -** Main operation 'ra' = #rb'. -*/ -void luaV_objlen(lua_State *L, StkId ra, const TValue *rb) -{ - const TValue *tm; - switch (ttype(rb)) - { - case LUA_TTABLE: - { - Table *h = hvalue(rb); - tm = fasttm(L, h->metatable, TM_LEN); - if (tm) - break; /* metamethod? break switch to call it */ - setivalue(ra, luaH_getn(h)); /* else primitive len */ - return; - } - case LUA_TSHRSTR: - { - setivalue(ra, tsvalue(rb)->shrlen); - return; - } - case LUA_TLNGSTR: - { - setivalue(ra, tsvalue(rb)->u.lnglen); - return; - } - default: - { /* try metamethod */ - tm = luaT_gettmbyobj(L, rb, TM_LEN); - if (ttisnil(tm)) /* no metamethod? */ - luaG_typeerror(L, rb, "get length of"); - break; - } - } - luaT_callTM(L, tm, rb, rb, ra, 1); -} - -/* -** Integer division; return 'm // n', that is, floor(m/n). -** C division truncates its result (rounds towards zero). -** 'floor(q) == trunc(q)' when 'q >= 0' or when 'q' is integer, -** otherwise 'floor(q) == trunc(q) - 1'. -*/ -lua_Integer luaV_div(lua_State *L, lua_Integer m, lua_Integer n) -{ - if (l_castS2U(n) + 1u <= 1u) - { /* special cases: -1 or 0 */ - if (n == 0) - luaG_runerror(L, "attempt to divide by zero"); - return intop(-, 0, m); /* n==-1; avoid overflow with 0x80000...//-1 */ - } - else - { - lua_Integer q = m / n; /* perform C division */ - if ((m ^ n) < 0 && m % n != 0) /* 'm/n' would be negative non-integer? */ - q -= 1; /* correct result for different rounding */ - return q; - } -} - -/* -** Integer modulus; return 'm % n'. (Assume that C '%' with -** negative operands follows C99 behavior. See previous comment -** about luaV_div.) -*/ -lua_Integer luaV_mod(lua_State *L, lua_Integer m, lua_Integer n) -{ - if (l_castS2U(n) + 1u <= 1u) - { /* special cases: -1 or 0 */ - if (n == 0) - luaG_runerror(L, "attempt to perform 'n%%0'"); - return 0; /* m % -1 == 0; avoid overflow with 0x80000...%-1 */ - } - else - { - lua_Integer r = m % n; - if (r != 0 && (m ^ n) < 0) /* 'm/n' would be non-integer negative? */ - r += n; /* correct result for different rounding */ - return r; - } -} - -/* number of bits in an integer */ -#define NBITS cast_int(sizeof(lua_Integer) * CHAR_BIT) - -/* -** Shift left operation. (Shift right just negates 'y'.) -*/ -lua_Integer luaV_shiftl(lua_Integer x, lua_Integer y) -{ - if (y < 0) - { /* shift right? */ - if (y <= -NBITS) - return 0; - else - return intop(>>, x, -y); - } - else - { /* shift left */ - if (y >= NBITS) - return 0; - else - return intop(<<, x, y); - } -} - -/* -** check whether cached closure in prototype 'p' may be reused, that is, -** whether there is a cached closure with the same upvalues needed by -** new closure to be created. -*/ -static LClosure *getcached(Proto *p, UpVal **encup, StkId base) -{ - LClosure *c = p->cache; - if (c != NULL) - { /* is there a cached closure? */ - int nup = p->sizeupvalues; - Upvaldesc *uv = p->upvalues; - int i; - for (i = 0; i < nup; i++) - { /* check whether it has right upvalues */ - TValue *v = uv[i].instack ? base + uv[i].idx : encup[uv[i].idx]->v; - if (c->upvals[i]->v != v) - return NULL; /* wrong upvalue; cannot reuse closure */ - } - } - return c; /* return cached closure (or NULL if no cached closure) */ -} - -/* -** create a new Lua closure, push it in the stack, and initialize -** its upvalues. Note that the closure is not cached if prototype is -** already black (which means that 'cache' was already cleared by the -** GC). -*/ -static void pushclosure(lua_State *L, Proto *p, UpVal **encup, StkId base, - StkId ra) -{ - int nup = p->sizeupvalues; - Upvaldesc *uv = p->upvalues; - int i; - LClosure *ncl = luaF_newLclosure(L, nup); - ncl->p = p; - setclLvalue(L, ra, ncl); /* anchor new closure in stack */ - for (i = 0; i < nup; i++) - { /* fill in its upvalues */ - if (uv[i].instack) /* upvalue refers to local variable? */ - ncl->upvals[i] = luaF_findupval(L, base + uv[i].idx); - else /* get upvalue from enclosing function */ - ncl->upvals[i] = encup[uv[i].idx]; - ncl->upvals[i]->refcount++; - /* new closure is white, so we do not need a barrier here */ - } - if (!isblack(p)) /* cache will not break GC invariant? */ - p->cache = ncl; /* save it on cache for reuse */ -} - -/* -** finish execution of an opcode interrupted by an yield -*/ -void luaV_finishOp(lua_State *L) -{ - CallInfo *ci = L->ci; - StkId base = ci->u.l.base; - Instruction inst = *(ci->u.l.savedpc - 1); /* interrupted instruction */ - OpCode op = GET_OPCODE(inst); - switch (op) - { /* finish its execution */ - case OP_ADD: - case OP_SUB: - case OP_MUL: - case OP_DIV: - case OP_IDIV: - case OP_BAND: - case OP_BOR: - case OP_BXOR: - case OP_SHL: - case OP_SHR: - case OP_MOD: - case OP_POW: - case OP_UNM: - case OP_BNOT: - case OP_LEN: - case OP_GETTABUP: - case OP_GETTABLE: - case OP_SELF: - { - setobjs2s(L, base + GETARG_A(inst), --L->top); - break; - } - case OP_LE: - case OP_LT: - case OP_EQ: - { - int res = !l_isfalse(L->top - 1); - L->top--; - if (ci->callstatus & CIST_LEQ) - { /* "<=" using "<" instead? */ - lua_assert(op == OP_LE); - ci->callstatus ^= CIST_LEQ; /* clear mark */ - res = !res; /* negate result */ - } - lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_JMP); - if (res != GETARG_A(inst)) /* condition failed? */ - ci->u.l.savedpc++; /* skip jump instruction */ - break; - } - case OP_CONCAT: - { - StkId top = L->top - 1; /* top when 'luaT_trybinTM' was called */ - int b = GETARG_B(inst); /* first element to concatenate */ - int total = cast_int(top - 1 - (base + b)); /* yet to concatenate */ - setobj2s(L, top - 2, top); /* put TM result in proper position */ - if (total > 1) - { /* are there elements to concat? */ - L->top = top - 1; /* top is one after last element (at top-2) */ - luaV_concat(L, total); /* concat them (may yield again) */ - } - /* move final result to final position */ - setobj2s(L, ci->u.l.base + GETARG_A(inst), L->top - 1); - L->top = ci->top; /* restore top */ - break; - } - case OP_TFORCALL: - { - lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_TFORLOOP); - L->top = ci->top; /* correct top */ - break; - } - case OP_CALL: - { - if (GETARG_C(inst) - 1 >= 0) /* nresults >= 0? */ - L->top = ci->top; /* adjust results */ - break; - } - case OP_TAILCALL: - case OP_SETTABUP: - case OP_SETTABLE: - break; - default: - lua_assert(0); - } -} - -/* -** {================================================================== -** Function 'luaV_execute': main interpreter loop -** =================================================================== -*/ - -/* -** some macros for common tasks in 'luaV_execute' -*/ - -#define RA(i) (base + GETARG_A(i)) -#define RB(i) check_exp(getBMode(GET_OPCODE(i)) == OpArgR, base + GETARG_B(i)) -#define RC(i) check_exp(getCMode(GET_OPCODE(i)) == OpArgR, base + GETARG_C(i)) -#define RKB(i) check_exp(getBMode(GET_OPCODE(i)) == OpArgK, \ - ISK(GETARG_B(i)) ? k + INDEXK(GETARG_B(i)) : base + GETARG_B(i)) -#define RKC(i) check_exp(getCMode(GET_OPCODE(i)) == OpArgK, \ - ISK(GETARG_C(i)) ? k + INDEXK(GETARG_C(i)) : base + GETARG_C(i)) - -/* execute a jump instruction */ -#define dojump(ci, i, e) \ - { \ - int a = GETARG_A(i); \ - if (a != 0) \ - luaF_close(L, ci->u.l.base + a - 1); \ - ci->u.l.savedpc += GETARG_sBx(i) + e; \ - } - -/* for test instructions, execute the jump instruction that follows it */ -#define donextjump(ci) \ - { \ - i = *ci->u.l.savedpc; \ - dojump(ci, i, 1); \ - } - -#define Protect(x) \ - { \ - { \ - x; \ - }; \ - base = ci->u.l.base; \ - } - -#define checkGC(L, c) \ - { \ - luaC_condGC(L, L->top = (c), /* limit of live values */ \ - Protect(L->top = ci->top)); /* restore top */ \ - luai_threadyield(L); \ - } - -/* fetch an instruction and prepare its execution */ -#define vmfetch() \ - { \ - i = *(ci->u.l.savedpc++); \ - if (L->hookmask & (LUA_MASKLINE | LUA_MASKCOUNT)) \ - Protect(luaG_traceexec(L)); \ - ra = RA(i); /* WARNING: any stack reallocation invalidates 'ra' */ \ - lua_assert(base == ci->u.l.base); \ - lua_assert(base <= L->top && L->top < L->stack + L->stacksize); \ - } - -#define vmdispatch(o) switch (o) -#define vmcase(l) case l: -#define vmbreak break - -/* -** copy of 'luaV_gettable', but protecting the call to potential -** metamethod (which can reallocate the stack) -*/ -#define gettableProtected(L, t, k, v) \ - { \ - const TValue *slot; \ - if (luaV_fastget(L, t, k, slot, luaH_get)) \ - { \ - setobj2s(L, v, slot); \ - } \ - else \ - Protect(luaV_finishget(L, t, k, v, slot)); \ - } - -/* same for 'luaV_settable' */ -#define settableProtected(L, t, k, v) \ - { \ - const TValue *slot; \ - if (!luaV_fastset(L, t, k, slot, luaH_get, v)) \ - Protect(luaV_finishset(L, t, k, v, slot)); \ - } - -void luaV_execute(lua_State *L) -{ - CallInfo *ci = L->ci; - LClosure *cl; - TValue *k; - StkId base; - ci->callstatus |= CIST_FRESH; /* fresh invocation of 'luaV_execute" */ -newframe: /* reentry point when frame changes (call/return) */ - lua_assert(ci == L->ci); - cl = clLvalue(ci->func); /* local reference to function's closure */ - k = cl->p->k; /* local reference to function's constant table */ - base = ci->u.l.base; /* local copy of function's base */ - /* main loop of interpreter */ - for (;;) - { - Instruction i; - StkId ra; - vmfetch(); - vmdispatch(GET_OPCODE(i)) - { - vmcase(OP_MOVE) - { - setobjs2s(L, ra, RB(i)); - vmbreak; - } - vmcase(OP_LOADK) - { - TValue *rb = k + GETARG_Bx(i); - setobj2s(L, ra, rb); - vmbreak; - } - vmcase(OP_LOADKX) - { - TValue *rb; - lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_EXTRAARG); - rb = k + GETARG_Ax(*ci->u.l.savedpc++); - setobj2s(L, ra, rb); - vmbreak; - } - vmcase(OP_LOADBOOL) - { - setbvalue(ra, GETARG_B(i)); - if (GETARG_C(i)) - ci->u.l.savedpc++; /* skip next instruction (if C) */ - vmbreak; - } - vmcase(OP_LOADNIL) - { - int b = GETARG_B(i); - do - { - setnilvalue(ra++); - } while (b--); - vmbreak; - } - vmcase(OP_GETUPVAL) - { - int b = GETARG_B(i); - setobj2s(L, ra, cl->upvals[b]->v); - vmbreak; - } - vmcase(OP_GETTABUP) - { - TValue *upval = cl->upvals[GETARG_B(i)]->v; - TValue *rc = RKC(i); - gettableProtected(L, upval, rc, ra); - vmbreak; - } - vmcase(OP_GETTABLE) - { - StkId rb = RB(i); - TValue *rc = RKC(i); - gettableProtected(L, rb, rc, ra); - vmbreak; - } - vmcase(OP_SETTABUP) - { - TValue *upval = cl->upvals[GETARG_A(i)]->v; - TValue *rb = RKB(i); - TValue *rc = RKC(i); - settableProtected(L, upval, rb, rc); - vmbreak; - } - vmcase(OP_SETUPVAL) - { - UpVal *uv = cl->upvals[GETARG_B(i)]; - setobj(L, uv->v, ra); - luaC_upvalbarrier(L, uv); - vmbreak; - } - vmcase(OP_SETTABLE) - { - TValue *rb = RKB(i); - TValue *rc = RKC(i); - settableProtected(L, ra, rb, rc); - vmbreak; - } - vmcase(OP_NEWTABLE) - { - int b = GETARG_B(i); - int c = GETARG_C(i); - Table *t = luaH_new(L); - sethvalue(L, ra, t); - if (b != 0 || c != 0) - luaH_resize(L, t, luaO_fb2int(b), luaO_fb2int(c)); - checkGC(L, ra + 1); - vmbreak; - } - vmcase(OP_SELF) - { - const TValue *aux; - StkId rb = RB(i); - TValue *rc = RKC(i); - TString *key = tsvalue(rc); /* key must be a string */ - setobjs2s(L, ra + 1, rb); - if (luaV_fastget(L, rb, key, aux, luaH_getstr)) - { - setobj2s(L, ra, aux); - } - else - Protect(luaV_finishget(L, rb, rc, ra, aux)); - vmbreak; - } - vmcase(OP_ADD) - { - TValue *rb = RKB(i); - TValue *rc = RKC(i); - lua_Number nb; - lua_Number nc; - if (ttisinteger(rb) && ttisinteger(rc)) - { - lua_Integer ib = ivalue(rb); - lua_Integer ic = ivalue(rc); - setivalue(ra, intop(+, ib, ic)); - } - else if (tonumber(rb, &nb) && tonumber(rc, &nc)) - { - setfltvalue(ra, luai_numadd(L, nb, nc)); - } - else - { - Protect(luaT_trybinTM(L, rb, rc, ra, TM_ADD)); - } - vmbreak; - } - vmcase(OP_SUB) - { - TValue *rb = RKB(i); - TValue *rc = RKC(i); - lua_Number nb; - lua_Number nc; - if (ttisinteger(rb) && ttisinteger(rc)) - { - lua_Integer ib = ivalue(rb); - lua_Integer ic = ivalue(rc); - setivalue(ra, intop(-, ib, ic)); - } - else if (tonumber(rb, &nb) && tonumber(rc, &nc)) - { - setfltvalue(ra, luai_numsub(L, nb, nc)); - } - else - { - Protect(luaT_trybinTM(L, rb, rc, ra, TM_SUB)); - } - vmbreak; - } - vmcase(OP_MUL) - { - TValue *rb = RKB(i); - TValue *rc = RKC(i); - lua_Number nb; - lua_Number nc; - if (ttisinteger(rb) && ttisinteger(rc)) - { - lua_Integer ib = ivalue(rb); - lua_Integer ic = ivalue(rc); - setivalue(ra, intop(*, ib, ic)); - } - else if (tonumber(rb, &nb) && tonumber(rc, &nc)) - { - setfltvalue(ra, luai_nummul(L, nb, nc)); - } - else - { - Protect(luaT_trybinTM(L, rb, rc, ra, TM_MUL)); - } - vmbreak; - } - vmcase(OP_DIV) - { /* float division (always with floats) */ - TValue *rb = RKB(i); - TValue *rc = RKC(i); - lua_Number nb; - lua_Number nc; - if (tonumber(rb, &nb) && tonumber(rc, &nc)) - { - setfltvalue(ra, luai_numdiv(L, nb, nc)); - } - else - { - Protect(luaT_trybinTM(L, rb, rc, ra, TM_DIV)); - } - vmbreak; - } - vmcase(OP_BAND) - { - TValue *rb = RKB(i); - TValue *rc = RKC(i); - lua_Integer ib; - lua_Integer ic; - if (tointeger(rb, &ib) && tointeger(rc, &ic)) - { - setivalue(ra, intop(&, ib, ic)); - } - else - { - Protect(luaT_trybinTM(L, rb, rc, ra, TM_BAND)); - } - vmbreak; - } - vmcase(OP_BOR) - { - TValue *rb = RKB(i); - TValue *rc = RKC(i); - lua_Integer ib; - lua_Integer ic; - if (tointeger(rb, &ib) && tointeger(rc, &ic)) - { - setivalue(ra, intop(|, ib, ic)); - } - else - { - Protect(luaT_trybinTM(L, rb, rc, ra, TM_BOR)); - } - vmbreak; - } - vmcase(OP_BXOR) - { - TValue *rb = RKB(i); - TValue *rc = RKC(i); - lua_Integer ib; - lua_Integer ic; - if (tointeger(rb, &ib) && tointeger(rc, &ic)) - { - setivalue(ra, intop (^, ib, ic)); - } - else - { - Protect(luaT_trybinTM(L, rb, rc, ra, TM_BXOR)); - } - vmbreak; - } - vmcase(OP_SHL) - { - TValue *rb = RKB(i); - TValue *rc = RKC(i); - lua_Integer ib; - lua_Integer ic; - if (tointeger(rb, &ib) && tointeger(rc, &ic)) - { - setivalue(ra, luaV_shiftl(ib, ic)); - } - else - { - Protect(luaT_trybinTM(L, rb, rc, ra, TM_SHL)); - } - vmbreak; - } - vmcase(OP_SHR) - { - TValue *rb = RKB(i); - TValue *rc = RKC(i); - lua_Integer ib; - lua_Integer ic; - if (tointeger(rb, &ib) && tointeger(rc, &ic)) - { - setivalue(ra, luaV_shiftl(ib, -ic)); - } - else - { - Protect(luaT_trybinTM(L, rb, rc, ra, TM_SHR)); - } - vmbreak; - } - vmcase(OP_MOD) - { - TValue *rb = RKB(i); - TValue *rc = RKC(i); - lua_Number nb; - lua_Number nc; - if (ttisinteger(rb) && ttisinteger(rc)) - { - lua_Integer ib = ivalue(rb); - lua_Integer ic = ivalue(rc); - setivalue(ra, luaV_mod(L, ib, ic)); - } - else if (tonumber(rb, &nb) && tonumber(rc, &nc)) - { - lua_Number m; - luai_nummod(L, nb, nc, m); - setfltvalue(ra, m); - } - else - { - Protect(luaT_trybinTM(L, rb, rc, ra, TM_MOD)); - } - vmbreak; - } - vmcase(OP_IDIV) - { /* floor division */ - TValue *rb = RKB(i); - TValue *rc = RKC(i); - lua_Number nb; - lua_Number nc; - if (ttisinteger(rb) && ttisinteger(rc)) - { - lua_Integer ib = ivalue(rb); - lua_Integer ic = ivalue(rc); - setivalue(ra, luaV_div(L, ib, ic)); - } - else if (tonumber(rb, &nb) && tonumber(rc, &nc)) - { - setfltvalue(ra, luai_numidiv(L, nb, nc)); - } - else - { - Protect(luaT_trybinTM(L, rb, rc, ra, TM_IDIV)); - } - vmbreak; - } - vmcase(OP_POW) - { - TValue *rb = RKB(i); - TValue *rc = RKC(i); - lua_Number nb; - lua_Number nc; - if (tonumber(rb, &nb) && tonumber(rc, &nc)) - { - setfltvalue(ra, luai_numpow(L, nb, nc)); - } - else - { - Protect(luaT_trybinTM(L, rb, rc, ra, TM_POW)); - } - vmbreak; - } - vmcase(OP_UNM) - { - TValue *rb = RB(i); - lua_Number nb; - if (ttisinteger(rb)) - { - lua_Integer ib = ivalue(rb); - setivalue(ra, intop(-, 0, ib)); - } - else if (tonumber(rb, &nb)) - { - setfltvalue(ra, luai_numunm(L, nb)); - } - else - { - Protect(luaT_trybinTM(L, rb, rb, ra, TM_UNM)); - } - vmbreak; - } - vmcase(OP_BNOT) - { - TValue *rb = RB(i); - lua_Integer ib; - if (tointeger(rb, &ib)) - { - setivalue(ra, intop (^, ~l_castS2U(0), ib)); - } - else - { - Protect(luaT_trybinTM(L, rb, rb, ra, TM_BNOT)); - } - vmbreak; - } - vmcase(OP_NOT) - { - TValue *rb = RB(i); - int res = l_isfalse(rb); /* next assignment may change this value */ - setbvalue(ra, res); - vmbreak; - } - vmcase(OP_LEN) - { - Protect(luaV_objlen(L, ra, RB(i))); - vmbreak; - } - vmcase(OP_CONCAT) - { - int b = GETARG_B(i); - int c = GETARG_C(i); - StkId rb; - L->top = base + c + 1; /* mark the end of concat operands */ - Protect(luaV_concat(L, c - b + 1)); - ra = RA(i); /* 'luaV_concat' may invoke TMs and move the stack */ - rb = base + b; - setobjs2s(L, ra, rb); - checkGC(L, (ra >= rb ? ra + 1 : rb)); - L->top = ci->top; /* restore top */ - vmbreak; - } - vmcase(OP_JMP) - { - dojump(ci, i, 0); - vmbreak; - } - vmcase(OP_EQ) - { - TValue *rb = RKB(i); - TValue *rc = RKC(i); - Protect( - if (luaV_equalobj(L, rb, rc) != GETARG_A(i)) - ci->u.l.savedpc++; - else donextjump(ci);) - vmbreak; - } - vmcase(OP_LT) - { - Protect( - if (luaV_lessthan(L, RKB(i), RKC(i)) != GETARG_A(i)) - ci->u.l.savedpc++; - else donextjump(ci);) - vmbreak; - } - vmcase(OP_LE) - { - Protect( - if (luaV_lessequal(L, RKB(i), RKC(i)) != GETARG_A(i)) - ci->u.l.savedpc++; - else donextjump(ci);) - vmbreak; - } - vmcase(OP_TEST) - { - if (GETARG_C(i) ? l_isfalse(ra) : !l_isfalse(ra)) - ci->u.l.savedpc++; - else - donextjump(ci); - vmbreak; - } - vmcase(OP_TESTSET) - { - TValue *rb = RB(i); - if (GETARG_C(i) ? l_isfalse(rb) : !l_isfalse(rb)) - ci->u.l.savedpc++; - else - { - setobjs2s(L, ra, rb); - donextjump(ci); - } - vmbreak; - } - vmcase(OP_CALL) - { - int b = GETARG_B(i); - int nresults = GETARG_C(i) - 1; - if (b != 0) - L->top = ra + b; /* else previous instruction set top */ - if (luaD_precall(L, ra, nresults)) - { /* C function? */ - if (nresults >= 0) - L->top = ci->top; /* adjust results */ - Protect((void)0); /* update 'base' */ - } - else - { /* Lua function */ - ci = L->ci; - goto newframe; /* restart luaV_execute over new Lua function */ - } - vmbreak; - } - vmcase(OP_TAILCALL) - { - int b = GETARG_B(i); - if (b != 0) - L->top = ra + b; /* else previous instruction set top */ - lua_assert(GETARG_C(i) - 1 == LUA_MULTRET); - if (luaD_precall(L, ra, LUA_MULTRET)) - { /* C function? */ - Protect((void)0); /* update 'base' */ - } - else - { - /* tail call: put called frame (n) in place of caller one (o) */ - CallInfo *nci = L->ci; /* called frame */ - CallInfo *oci = nci->previous; /* caller frame */ - StkId nfunc = nci->func; /* called function */ - StkId ofunc = oci->func; /* caller function */ - /* last stack slot filled by 'precall' */ - StkId lim = nci->u.l.base + getproto(nfunc)->numparams; - int aux; - /* close all upvalues from previous call */ - if (cl->p->sizep > 0) - luaF_close(L, oci->u.l.base); - /* move new frame into old one */ - for (aux = 0; nfunc + aux < lim; aux++) - setobjs2s(L, ofunc + aux, nfunc + aux); - oci->u.l.base = ofunc + (nci->u.l.base - nfunc); /* correct base */ - oci->top = L->top = ofunc + (L->top - nfunc); /* correct top */ - oci->u.l.savedpc = nci->u.l.savedpc; - oci->callstatus |= CIST_TAIL; /* function was tail called */ - ci = L->ci = oci; /* remove new frame */ - lua_assert(L->top == oci->u.l.base + getproto(ofunc)->maxstacksize); - goto newframe; /* restart luaV_execute over new Lua function */ - } - vmbreak; - } - vmcase(OP_RETURN) - { - int b = GETARG_B(i); - if (cl->p->sizep > 0) - luaF_close(L, base); - b = luaD_poscall(L, ci, ra, (b != 0 ? b - 1 : cast_int(L->top - ra))); - if (ci->callstatus & CIST_FRESH) /* local 'ci' still from callee */ - return; /* external invocation: return */ - else - { /* invocation via reentry: continue execution */ - ci = L->ci; - if (b) - L->top = ci->top; - lua_assert(isLua(ci)); - lua_assert(GET_OPCODE(*((ci)->u.l.savedpc - 1)) == OP_CALL); - goto newframe; /* restart luaV_execute over new Lua function */ - } - } - vmcase(OP_FORLOOP) - { - if (ttisinteger(ra)) - { /* integer loop? */ - lua_Integer step = ivalue(ra + 2); - lua_Integer idx = intop(+, ivalue(ra), step); /* increment index */ - lua_Integer limit = ivalue(ra + 1); - if ((0 < step) ? (idx <= limit) : (limit <= idx)) - { - ci->u.l.savedpc += GETARG_sBx(i); /* jump back */ - chgivalue(ra, idx); /* update internal index... */ - setivalue(ra + 3, idx); /* ...and external index */ - } - } - else - { /* floating loop */ - lua_Number step = fltvalue(ra + 2); - lua_Number idx = luai_numadd(L, fltvalue(ra), step); /* inc. index */ - lua_Number limit = fltvalue(ra + 1); - if (luai_numlt(0, step) ? luai_numle(idx, limit) - : luai_numle(limit, idx)) - { - ci->u.l.savedpc += GETARG_sBx(i); /* jump back */ - chgfltvalue(ra, idx); /* update internal index... */ - setfltvalue(ra + 3, idx); /* ...and external index */ - } - } - vmbreak; - } - vmcase(OP_FORPREP) - { - TValue *init = ra; - TValue *plimit = ra + 1; - TValue *pstep = ra + 2; - lua_Integer ilimit; - int stopnow; - if (ttisinteger(init) && ttisinteger(pstep) && - forlimit(plimit, &ilimit, ivalue(pstep), &stopnow)) - { - /* all values are integer */ - lua_Integer initv = (stopnow ? 0 : ivalue(init)); - setivalue(plimit, ilimit); - setivalue(init, intop(-, initv, ivalue(pstep))); - } - else - { /* try making all values floats */ - lua_Number ninit; - lua_Number nlimit; - lua_Number nstep; - if (!tonumber(plimit, &nlimit)) - luaG_runerror(L, "'for' limit must be a number"); - setfltvalue(plimit, nlimit); - if (!tonumber(pstep, &nstep)) - luaG_runerror(L, "'for' step must be a number"); - setfltvalue(pstep, nstep); - if (!tonumber(init, &ninit)) - luaG_runerror(L, "'for' initial value must be a number"); - setfltvalue(init, luai_numsub(L, ninit, nstep)); - } - ci->u.l.savedpc += GETARG_sBx(i); - vmbreak; - } - vmcase(OP_TFORCALL) - { - StkId cb = ra + 3; /* call base */ - setobjs2s(L, cb + 2, ra + 2); - setobjs2s(L, cb + 1, ra + 1); - setobjs2s(L, cb, ra); - L->top = cb + 3; /* func. + 2 args (state and index) */ - Protect(luaD_call(L, cb, GETARG_C(i))); - L->top = ci->top; - i = *(ci->u.l.savedpc++); /* go to next instruction */ - ra = RA(i); - lua_assert(GET_OPCODE(i) == OP_TFORLOOP); - goto l_tforloop; - } - vmcase(OP_TFORLOOP) - { - l_tforloop: - if (!ttisnil(ra + 1)) - { /* continue loop? */ - setobjs2s(L, ra, ra + 1); /* save control variable */ - ci->u.l.savedpc += GETARG_sBx(i); /* jump back */ - } - vmbreak; - } - vmcase(OP_SETLIST) - { - int n = GETARG_B(i); - int c = GETARG_C(i); - unsigned int last; - Table *h; - if (n == 0) - n = cast_int(L->top - ra) - 1; - if (c == 0) - { - lua_assert(GET_OPCODE(*ci->u.l.savedpc) == OP_EXTRAARG); - c = GETARG_Ax(*ci->u.l.savedpc++); - } - h = hvalue(ra); - last = ((c - 1) * LFIELDS_PER_FLUSH) + n; - if (last > h->sizearray) /* needs more space? */ - luaH_resizearray(L, h, last); /* preallocate it at once */ - for (; n > 0; n--) - { - TValue *val = ra + n; - luaH_setint(L, h, last--, val); - luaC_barrierback(L, h, val); - } - L->top = ci->top; /* correct top (in case of previous open call) */ - vmbreak; - } - vmcase(OP_CLOSURE) - { - Proto *p = cl->p->p[GETARG_Bx(i)]; - LClosure *ncl = getcached(p, cl->upvals, base); /* cached closure */ - if (ncl == NULL) /* no match? */ - pushclosure(L, p, cl->upvals, base, ra); /* create a new one */ - else - setclLvalue(L, ra, ncl); /* push cashed closure */ - checkGC(L, ra + 1); - vmbreak; - } - vmcase(OP_VARARG) - { - int b = GETARG_B(i) - 1; /* required results */ - int j; - int n = cast_int(base - ci->func) - cl->p->numparams - 1; - if (n < 0) /* less arguments than parameters? */ - n = 0; /* no vararg arguments */ - if (b < 0) - { /* B == 0? */ - b = n; /* get all var. arguments */ - Protect(luaD_checkstack(L, n)); - ra = RA(i); /* previous call may change the stack */ - L->top = ra + n; - } - for (j = 0; j < b && j < n; j++) - setobjs2s(L, ra + j, base - n + j); - for (; j < b; j++) /* complete required results with nil */ - setnilvalue(ra + j); - vmbreak; - } - vmcase(OP_EXTRAARG) - { - lua_assert(0); - vmbreak; - } - } - } -} - -/* }================================================================== */ diff --git a/User/lua/src-bak/lvm.h b/User/lua/src-bak/lvm.h deleted file mode 100644 index f00aa3b..0000000 --- a/User/lua/src-bak/lvm.h +++ /dev/null @@ -1,113 +0,0 @@ -/* -** $Id: lvm.h,v 2.41.1.1 2017/04/19 17:20:42 roberto Exp $ -** Lua virtual machine -** See Copyright Notice in lua.h -*/ - -#ifndef lvm_h -#define lvm_h - -#include "ldo.h" -#include "lobject.h" -#include "ltm.h" - -#if !defined(LUA_NOCVTN2S) -#define cvt2str(o) ttisnumber(o) -#else -#define cvt2str(o) 0 /* no conversion from numbers to strings */ -#endif - -#if !defined(LUA_NOCVTS2N) -#define cvt2num(o) ttisstring(o) -#else -#define cvt2num(o) 0 /* no conversion from strings to numbers */ -#endif - -/* -** You can define LUA_FLOORN2I if you want to convert floats to integers -** by flooring them (instead of raising an error if they are not -** integral values) -*/ -#if !defined(LUA_FLOORN2I) -#define LUA_FLOORN2I 0 -#endif - -#define tonumber(o, n) \ - (ttisfloat(o) ? (*(n) = fltvalue(o), 1) : luaV_tonumber_(o, n)) - -#define tointeger(o, i) \ - (ttisinteger(o) ? (*(i) = ivalue(o), 1) : luaV_tointeger(o, i, LUA_FLOORN2I)) - -#define intop(op, v1, v2) l_castU2S(l_castS2U(v1) op l_castS2U(v2)) - -#define luaV_rawequalobj(t1, t2) luaV_equalobj(NULL, t1, t2) - -/* -** fast track for 'gettable': if 't' is a table and 't[k]' is not nil, -** return 1 with 'slot' pointing to 't[k]' (final result). Otherwise, -** return 0 (meaning it will have to check metamethod) with 'slot' -** pointing to a nil 't[k]' (if 't' is a table) or NULL (otherwise). -** 'f' is the raw get function to use. -*/ -#define luaV_fastget(L, t, k, slot, f) \ - (!ttistable(t) \ - ? (slot = NULL, 0) /* not a table; 'slot' is NULL and result is 0 */ \ - : (slot = f(hvalue(t), k), /* else, do raw access */ \ - !ttisnil(slot))) /* result not nil? */ - -/* -** standard implementation for 'gettable' -*/ -#define luaV_gettable(L, t, k, v) \ - { \ - const TValue *slot; \ - if (luaV_fastget(L, t, k, slot, luaH_get)) \ - { \ - setobj2s(L, v, slot); \ - } \ - else \ - luaV_finishget(L, t, k, v, slot); \ - } - -/* -** Fast track for set table. If 't' is a table and 't[k]' is not nil, -** call GC barrier, do a raw 't[k]=v', and return true; otherwise, -** return false with 'slot' equal to NULL (if 't' is not a table) or -** 'nil'. (This is needed by 'luaV_finishget'.) Note that, if the macro -** returns true, there is no need to 'invalidateTMcache', because the -** call is not creating a new entry. -*/ -#define luaV_fastset(L, t, k, slot, f, v) \ - (!ttistable(t) \ - ? (slot = NULL, 0) \ - : (slot = f(hvalue(t), k), \ - ttisnil(slot) ? 0 \ - : (luaC_barrierback(L, hvalue(t), v), \ - setobj2t(L, cast(TValue *, slot), v), \ - 1))) - -#define luaV_settable(L, t, k, v) \ - { \ - const TValue *slot; \ - if (!luaV_fastset(L, t, k, slot, luaH_get, v)) \ - luaV_finishset(L, t, k, v, slot); \ - } - -LUAI_FUNC int luaV_equalobj(lua_State *L, const TValue *t1, const TValue *t2); -LUAI_FUNC int luaV_lessthan(lua_State *L, const TValue *l, const TValue *r); -LUAI_FUNC int luaV_lessequal(lua_State *L, const TValue *l, const TValue *r); -LUAI_FUNC int luaV_tonumber_(const TValue *obj, lua_Number *n); -LUAI_FUNC int luaV_tointeger(const TValue *obj, lua_Integer *p, int mode); -LUAI_FUNC void luaV_finishget(lua_State *L, const TValue *t, TValue *key, - StkId val, const TValue *slot); -LUAI_FUNC void luaV_finishset(lua_State *L, const TValue *t, TValue *key, - StkId val, const TValue *slot); -LUAI_FUNC void luaV_finishOp(lua_State *L); -LUAI_FUNC void luaV_execute(lua_State *L); -LUAI_FUNC void luaV_concat(lua_State *L, int total); -LUAI_FUNC lua_Integer luaV_div(lua_State *L, lua_Integer x, lua_Integer y); -LUAI_FUNC lua_Integer luaV_mod(lua_State *L, lua_Integer x, lua_Integer y); -LUAI_FUNC lua_Integer luaV_shiftl(lua_Integer x, lua_Integer y); -LUAI_FUNC void luaV_objlen(lua_State *L, StkId ra, const TValue *rb); - -#endif diff --git a/User/lua/src-bak/lzio.c b/User/lua/src-bak/lzio.c deleted file mode 100644 index f5ba739..0000000 --- a/User/lua/src-bak/lzio.c +++ /dev/null @@ -1,69 +0,0 @@ -/* -** $Id: lzio.c,v 1.37.1.1 2017/04/19 17:20:42 roberto Exp $ -** Buffered streams -** See Copyright Notice in lua.h -*/ - -#define lzio_c -#define LUA_CORE - -#include "lprefix.h" - -#include - -#include "lua.h" - -#include "llimits.h" -#include "lmem.h" -#include "lstate.h" -#include "lzio.h" - -int luaZ_fill(ZIO *z) -{ - size_t size; - lua_State *L = z->L; - const char *buff; - lua_unlock(L); - buff = z->reader(L, z->data, &size); - lua_lock(L); - if (buff == NULL || size == 0) - return EOZ; - z->n = size - 1; /* discount char being returned */ - z->p = buff; - return cast_uchar(*(z->p++)); -} - -void luaZ_init(lua_State *L, ZIO *z, lua_Reader reader, void *data) -{ - z->L = L; - z->reader = reader; - z->data = data; - z->n = 0; - z->p = NULL; -} - -/* --------------------------------------------------------------- read --- */ -size_t luaZ_read(ZIO *z, void *b, size_t n) -{ - while (n) - { - size_t m; - if (z->n == 0) - { /* no bytes in buffer? */ - if (luaZ_fill(z) == EOZ) /* try to read more */ - return n; /* no more input; return number of missing bytes */ - else - { - z->n++; /* luaZ_fill consumed first byte; put it back */ - z->p--; - } - } - m = (n <= z->n) ? n : z->n; /* min. between n and z->n */ - memcpy(b, z->p, m); - z->n -= m; - z->p += m; - b = (char *)b + m; - n -= m; - } - return 0; -} diff --git a/User/lua/src-bak/lzio.h b/User/lua/src-bak/lzio.h deleted file mode 100644 index 1294789..0000000 --- a/User/lua/src-bak/lzio.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -** $Id: lzio.h,v 1.31.1.1 2017/04/19 17:20:42 roberto Exp $ -** Buffered streams -** See Copyright Notice in lua.h -*/ - -#ifndef lzio_h -#define lzio_h - -#include "lua.h" - -#include "lmem.h" - -#define EOZ (-1) /* end of stream */ - -typedef struct Zio ZIO; - -#define zgetc(z) (((z)->n--) > 0 ? cast_uchar(*(z)->p++) : luaZ_fill(z)) - -typedef struct Mbuffer -{ - char *buffer; - size_t n; - size_t buffsize; -} Mbuffer; - -#define luaZ_initbuffer(L, buff) ((buff)->buffer = NULL, (buff)->buffsize = 0) - -#define luaZ_buffer(buff) ((buff)->buffer) -#define luaZ_sizebuffer(buff) ((buff)->buffsize) -#define luaZ_bufflen(buff) ((buff)->n) - -#define luaZ_buffremove(buff, i) ((buff)->n -= (i)) -#define luaZ_resetbuffer(buff) ((buff)->n = 0) - -#define luaZ_resizebuffer(L, buff, size) \ - ((buff)->buffer = luaM_reallocvchar(L, (buff)->buffer, \ - (buff)->buffsize, size), \ - (buff)->buffsize = size) - -#define luaZ_freebuffer(L, buff) luaZ_resizebuffer(L, buff, 0) - -LUAI_FUNC void luaZ_init(lua_State *L, ZIO *z, lua_Reader reader, - void *data); -LUAI_FUNC size_t luaZ_read(ZIO *z, void *b, size_t n); /* read next n bytes */ - -/* --------- Private Part ------------------ */ - -struct Zio -{ - size_t n; /* bytes still unread */ - const char *p; /* current position in buffer */ - lua_Reader reader; /* reader function */ - void *data; /* additional data */ - lua_State *L; /* Lua state (for reader) */ -}; - -LUAI_FUNC int luaZ_fill(ZIO *z); - -#endif diff --git a/User/programmer/SWD_flash.c b/User/programmer/SWD_flash.c index 29dfb74..cbd7f21 100644 --- a/User/programmer/SWD_flash.c +++ b/User/programmer/SWD_flash.c @@ -24,6 +24,25 @@ error_t target_flash_init(uint32_t flash_start) g_tProg.FLMFuncTimeout = 500; /* 超时 */ + if (g_tProg.ResetType == HARD_RESET) + { + printf("hardware reset\r\n"); + if (0 == swd_set_target_state_hw(RESET_PROGRAM)) + { + printf("error: swd_set_target_state_hw(RESET_PROGRAM)\r\n"); + return ERROR_RESET; + } + } + else //if (g_tProg.ResetType == SOFT_RESET) + { + printf("sorfwate reset\r\n"); + if (0 == swd_set_target_state_sw(RESET_PROGRAM)) + { + printf("error: swd_set_target_state_sw(RESET_PROGRAM)\r\n"); + return ERROR_RESET; + } + } + LoadAlgoToTarget(); if (0 == swd_flash_syscall_exec(&flash_algo.sys_call_s, flash_algo.init, flash_start, 0, 1, 0)) { @@ -222,5 +241,4 @@ uint32_t target_flash_read_extid(uint32_t addr) 0, 0); return id; - return id; } diff --git a/User/programmer/elf_file.c b/User/programmer/elf_file.c index db51c6a..f83dc7b 100644 --- a/User/programmer/elf_file.c +++ b/User/programmer/elf_file.c @@ -430,16 +430,11 @@ uint8_t LoadAlgoToTarget(void) const uint32_t BLOB_HEADER[] = {0xE00ABE00, 0x062D780D, 0x24084068, 0xD3000040, 0x1E644058, 0x1C49D1FA, 0x2A001E52, 0x4770D1F2}; uint32_t bytes; - if (0 == swd_set_target_state_hw(RESET_PROGRAM)) - { - printf("error: swd_set_target_state_hw(RESET_PROGRAM)\r\n"); - return ERROR_RESET; - } - - #if 1 // for debug - memset(FsReadBuf, 0, 8*1024); - swd_write_memory(flash_algo.algo_start, (uint8_t *)FsReadBuf, 8*1024); - #endif +// if (0 == swd_set_target_state_sw(RESET_PROGRAM)) +// { +// printf("error: swd_set_target_state_hw(RESET_PROGRAM)\r\n"); +// return ERROR_RESET; +// } if (g_tFLM.Load[0].Size + 32 < sizeof(FsReadBuf)) /* 小于16KB */ { diff --git a/User/programmer/prog_if.c b/User/programmer/prog_if.c index e6e964f..6b01b59 100755 --- a/User/programmer/prog_if.c +++ b/User/programmer/prog_if.c @@ -235,7 +235,29 @@ void PG_ReloadLuaVar(void) if (g_tProg.ChipType == CHIP_SWD_ARM) { - ; + /* g_tParam.ResetType; 0表示由lua脚本决定 1表示强制硬件复位 2表示强制软件复位 */ + if (g_tParam.ResetType == 0) /* 缺省 */ + { + /* 读取复位类型: 软件还是硬件复位 */ + lua_getglobal(g_Lua, "RESET_TYPE"); + if (lua_isinteger(g_Lua, -1)) + { + g_tProg.ResetType = (REST_TYPE_E)lua_tointeger(g_Lua, -1); + } + else + { + g_tProg.ResetType = SOFT_RESET; + } + lua_pop(g_Lua, 1); + } + else if (g_tParam.ResetType == 1) + { + g_tProg.ResetType = HARD_RESET; /* 强制硬件复位 */ + } + else + { + g_tProg.ResetType = SOFT_RESET; /* 强制软件复位 */ + } } else if (g_tProg.ChipType == CHIP_SWIM_STM8) { diff --git a/User/programmer/prog_if.h b/User/programmer/prog_if.h index 9d61116..fdad1fa 100755 --- a/User/programmer/prog_if.h +++ b/User/programmer/prog_if.h @@ -25,12 +25,20 @@ typedef enum CHIP_I2C_EEPROM = 3, }CHIP_TYPE_E; +typedef enum +{ + SOFT_RESET = 0, + HARD_RESET = 1 +}REST_TYPE_E; + typedef struct { char FilePath[128]; /* lua文件路径 */ CHIP_TYPE_E ChipType; /* 芯片类型 */ + REST_TYPE_E ResetType; /* 复位类型 */ + uint32_t Time; uint32_t EraseChipTime1;

fJlDLbk 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�dYa!@Eb<{#@Ho;&AB^O6TO1v(*DVQk6Smp; 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 z z4`7+o+2<}cK+tNtjgN{z;<)flWsy@1uK7qL1u z7Q3uo!mg-s*cE>~c2(75^{N58rW&zSs|mZVnz0+I1-q$Qu?E$KHL7;3Np)a#ekazf zy0FWBH|A44Sc~e#TGa&1=TF4i)FiB3O~yLZ6s%KC#k$lq%&(?n0W|~bRx`04H4975 z&&Gmk4%VyYVz<;htWV9yZmR`Yzgmb5s72VIT8s^;CD^c9isfaLVRzJWY(%ZVM%7B} zu3CkSsnysue+|}9QHzCWby%o&85^fv!NzM>u`sP33)ik;5!!WZf_4L&sNKXSX$@Gt zzY&|PHDOb@YqbBcwc367I_-XZz4kwRgZ2QvQF{>Iq&WwO4SR_A0(bdkx>J zy^e3w-oUqOZ{j<&xA2?(xAC3YJNPc`U3|Cp9==C=AK$BefbY{j#P@3-;Rm#j@q^kY z_wewa;tl@K@Wa~Ycx>Gl_z~?(JU!+63H~I}vZSPQn#!GOlV zYFqI%Z5!U-`7b`uxg9r_?ZDg8cjD>VE<8iqjSqJ2!85hJc$T&g&(`+iIobg{S38KO zxewt(orm!}?Fc^Hc@)prj^TGYkK+Z}3A|7{iH~%i!i%)ic(HZ{FVW88rP?{XOgoR4 zYms<`Cg7Eth*xP6UaiS^ji%tWnu_;!YIvO%gG4L*fH!GI+?;R1yBf`Svu44)9xLu|wBbI@j<;wIyj64JfkqeJrnzxv zod@r3^x{2@33zc;BHpeg;T>8s-l?VFU0N#c*V6ESmX3F88F+7FCf=Ktg$En6@k&K`jsO)$(zVtpLBJ72{dk ztr{QJYVbQ+Ek2^v;hu!c_^5UTuSmU$-_`2zG3^>2qQ8!Z>Tlqq**EcV`Ud=ZVk4fL z(u9xKH{)S?A0Do6!6Wpo_ym0$K2hI}_cwOngN>c|Bz+e?S?|Zw-2ptKtQ(Ij?7;^b zgZNNQFFsmz3mp_!RvBK2<-6-)S7eJJW~pY5F_(SmOvD)ijFdrQgM; z>&NgJ`v35m`um7k`umBI#{Uts^$!qt8y_U*=pQ2H>K`WN=^r8H>mMZ+=pQ2%>K`XA zHa$Ts(mzQo);~oo(LYU8XFNkJ)jvxt(?3Tn*FR6J(7!;$G`&cy)W1Z;HN8xX*0cvO>t83<=-(hpvfd;z?Qap6n%*X2o8BST>fa^S>E9zRG`&y6H+?{?*MCTC z(0@c2nm#5r>OUbi=|3el>pvq3%0DLpwOl3_=>H^0{a*y7|C=x*{X;ma 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 z zqvtuJee<35r3)OMTT>}qf6#fOPj}I_fAD$DC<7$DQ|TPB@QMope5}J>}d1PCM^5 zopG@Cv(DVGb52Lzd1ph_1xF+=I{)grdm&b>p#yLX8M_a2ex-Y1gWe~4uFAu`2%m`rsaA=BJP$#nNIGQ)kG%yge1 zv)m`iZ1*WL$9%K$Qx$lzo?tA1o_kFU#{SP_b{eWzA zKP3I`Mi$T!xj&H;-Ji)x?k{A!`zzVu{zi7Xzmr|=A7r=tC)wlvMfSRXlat+k zLbzsZ^JeiyyK zeG^^i9;;d8&h#&K9|4xQ{R@}6BYn$Uu5r0L%D=+BTD{VJZpTZ`F(LXHAmZQ!2Z5mE!I%R^3g7nme&xcfax(E>mr~ z2h%KfTD$GmV2;Z-x~@{^x!e39S83bjUiR&F-w4~|z6b7g^P~5<`&0J2|0_D+%H%*oz2`+Gyl0p2ijpf{WxbuZo{aJm$Y?K-jPa7lSTC83^HRuo zFO^L2(#S+FolNpF$Yd{*O!2bFR43R z&nqGGy;5?FS4NKY%Ed6Xk99ii#kX7Dz zvf67TYrF|$t>-7}Jb#4aJu(yaE2EaHq$#+emU?6Imw8a?a*x4Q zcu2xZuP=L*cRqgggV@3v@A)xny^lNAdG}h@d+|*hy!5z@-a`{Mc~1m4du+rOZ+O;L zZ&&6vFDh!gH!6RJ_d(@O@8JODjcTL4K{1TiuZHy+N;z*t5%1MS2;Tf?(HqnxdH*EH zo>Z)Obdl;MCu!c7<8{yW8Q%B?)3b^#FFeWiP6LkjT(RrLC3)VXlS7`9zsvigdAHY< zw8y*KxYzqVeV@0calf~r^?+B}bkGY+IOHi=hrI)JN4!-{N4?0XW1g0C+>5O{;W6Y% z@AuAA9^H7_+thx>0~^nJKg6E%@V4{bLwOgxu@f$OPbXjUs#-65pXFZhj;CDp!o#k4 z`}3}QiQzZA-UTVM4FTwtyUxNcezXb<|eh&@`{Sh1-`ZG8r^jC0b=I6GCyp#87-NDU=XQ4kZOsLdn6@P)aZ@lp0JAr3EuW>A}oURxm4+ z9n22p1am^U!Q4<@FfWuJ%nywTjtLb8$A*f61)<_#VW=cn6eE%T z(7V2cq5n-@6e>(w92yh5B=nhYX=r2Jve4hY<^RvnIk3mEFi`l~wr$(@yR{qc#AeNXu1*j3@d5v#*rC$0(qS+zD?7P~I| zT*>+{AJ-jLnl^-qj*a0{#hbznwVT7Qc5Mm&60tSh6|pV+T-Ww+O2m$EVZ_cb7O^Wl zsbzOKIeAaG#Je~AY}~%^o{0TnAof6bdhEgQoY+I*d9jDX%VUp(bBUwjRNz?njo9Pi ztFb4-pTwRFe-qmi{$K2=a0+lboELj0oE>{M{6NgP@MAII@G~)F`0E%d{9_Cq{wIbB z_laS{BVxF4S_~h~j1j^qF=BW{s}vp|BZpgJlyGy58ir%EFczbSTcVAyr_l^=jkX!tbI}O@pFr;OCzAX9N#p^4GI`LSLLTy`l860i5dDNdl9`k3C z$NgF434b1j+FwR8{&JG_ zSCE{)lH~nWq~Nb6MSl$``A3nme>AE1Yf05#M{53hQumJ`4gXlu^p7Jg|9H~&H;|6M ziFEzVWUs%4Jn#3B7yPZ{MSmN4$v=U-?4L+p@lPVJ`X`gu{8Py5{&w<)-%sB31LQ3~ zNZ$5C&M9ZfB<FVzMx7y@sI#ONb&l+f3X_jUljM`p6v;-=nGng6xse=sERrW@ zb_wL55|OMKCy`~*GI=*uArH<_$xw$zHb?8^ONj<~GsYyJjYb+W1c2KiI+P4dA>x5y2R zx5*{ZcgR)Icgd~M_sA{LeW+)EzSOfoKk7N4KlMB?fO-KKNWBOQqFw?9Q!fKUs8@iY z)T_WS>NQ|E^*S(udIK0qy$M86Zvm0idq5Nw{a-nc0b;0lAeKr8JX9{=r3!#Jst|~$ zihu;F1W2UHfF!CMNTw=*6sihHrRsn*svbzE#sC@ASRj)c2V_y>fo!S)$e|j6T&fAk zqgsG`$_Ers6M#Z$B2Yw40*a~0KndjsN+|#+qd=gXf`AGN1}Z5OsG=~SnhF9n6b_7{ z2w*f70&1xappNPU>Zz%~7-||YmYNQXqhW&_RCT%d)T2l%M@Kr6KX zXrmSa6R1VNL~1cGiCO|orj`OzsAWJqwH)wMD*%9634qjU0HW3dFx3qp)J6cMHUk*7 z6$nr}fFQLKz^PpTLG1-X)PA7jKd`8iItWaq4gu4sqri0P1Tcf@0lKJDz)b2iFpJtB zJ)6R#=TNhw=Th^c=TS4;=Tr0B7f=h@7gCGc7g1~57gOunmr&j9OQ~J$%c$M$%c;Zd zE2!h`E2(4ctEis#)zqo>HPq?$wba@6byT>0Jw>*6Q%w5?if`XY3GJIGrF}DHv~Quz z_N`QJ`!?!A`*!Mb`wr?_`%da+`!4EE`)=yr_C3^n{=L)#{(aO#{{7UW{sYug{)5!B z{zKIB{=?J@{v*^&{-e~({$tcD{^Qi^{u9)j{*%;e{vPUW|0(KS|7q$y{~79i|5@r| z|2gVYf0+8hPf}m{De4j=i3iUp& zQs3hm^#!g|f8z%A7j9DhaEls>+mr`)sC3+=^6_4(1V2wz;TNbH{3108zeEA}Ws1PB zP%H7P6ainOroz{$>F^Dz1HMTug>O-_;M>$%_ztxOzDuo#?@^oJKJ*!&FC7N@(In8H zW`F^-01Tu>U=S?$3Ncs{GMPC7;>1#j? zeFuo8?*ShAU%*S>2gcF&gYonOU;_Ohm`FbaCee?8$@HUO3jG+EN2M}TegNN@rj0ZybN!AW!!IGK(Gr_dg- zo%Vu$It~Qrco3u$K!{EPVLBN^=oAp8Q$dVQ0|RtA7^E{moX!LZItvWZ*v?REy*~CReSi8fI%(8#`h4mMdPMw5 zdQp52JuChc-H>pa-jZ;J-kWfiKACWi{yaWRe-%&CU&K@NkMT79dptvb6VKA$#&dK^ zJWu}_FVOwsMY=FvqTAwSx;S2;C&a7txOj~o8?Vy^@djNQZ_=aVExJ11rkBM#^xSxt z_Q&_qtK-kp$Kx;13*s-*YvV7`So~#rX8aZUO#D?k9Dj|b;;++W{0+J%{wBR4{uX^D z{x*F+{tkU3{w}S=-=o?1K1?;(ml*~2V`{i39}3=WtM|w%u2AFSp`-wYrsloEm*~@1FMa|oQo90n&dN5Cn}QLvpk4*HoBAi$giL8b?Um{TCkoCXo*42UvkL5w*E z2AD7yWJnNaD3D-iFvKum2g8D$3@y&)VHi<#<#3v8e7&gP)j#6rDX%Nuw^6D+OmlOTQ)OD%NB-c*~)bM zr+Qw}vYpw`vV+;yvXfcavWq#;vYR>7vWJmd_A;TCeN1=Der9>g0p@VaLFP!yA!cXG zVP;Xw5oT@6QD#=lF=lbgai*)~1hc2*By+5#hnd@QiV<5*GmrbuFxOkoGD^!i=2>5u zdDKTTObf+aX`z{(7KRD8u*_3Fj=9~!GpAYv=6RpUyy26WM|?8#l22h?_Nk1}qA_P$ zbmlFe!9@E^CfR2(DL$Kd%;zwu&t?Ad^)f&C&NJWpE-+Jl7nwBQCFWb-WhT;hg&FL- z%JlbLW72)snLfT7%&WeeOos0k^R@3b^M~&a^P}%Bljpm~ddvf0O=9QJW2mwf`tW1ocb*{7fa_Gze)eFiFGpM{Fq=b#eyd8m|q0V-o( zgv!~MpbGY7sFHmJs$yS-s@d0|8uoQ)6#E7=ntc$n!)yiy4e2EOm+Y?i!JcYX5aM9VGDh8*%IG8w#YZ1E%hy6 z%X|yjmA*x6oo_L_#s!js^etl-`_Xorc9U;2yT!MK-RaxP-ru^7Rejspux|(ZXu?kRwboti zldZd1*0+bf>)Xqo_3dNdYTeKN)_Q<_zV#scNb4c?wC^y>`;M^BwjO04Y(2)_@EvDw z`cANx?K6N3+imtj>mBy@w!7@RZTHwe+WK$dy^<25>{6f!r`?5H}ne%#DDC za3i6iTm&?Xi-d-AQP2o38XC#PKoMLl6v=s@D9#H-b8%1%7Z1g936O_NguGl56vrh) z@mva&z@0Az!!R11kToIJTH9^^&AIjlSD3_ZK z<#98id~Oz0z|DpVxw%jgHxDZ2=0hdi0;rT*43%+9p>l2+RKYEWD!CO<6}K9y=GH(p z+*)W9w+2B?nP1l4n!p)uSRXe_rK8prK`#&f%&25ukJ#2tj1xkFG3cNp?< zN1#^jDAdLshbC}6&_wPmG>JP0P399?m!{#9@N483w3gj!c)1&;Az}b@O17Ocn0?(+{L{N&*WZ% zXK`_Dv$;Rp=5YVE&gJg3&f^l>=5s^Z7H|b^3%Q)OMO<3jVs1>^5^i?wQm%j7GOns^ zIXAX#1vj^CCAY9`6*sYMH3zk=;p*Gga?9J+anst?b8T(i+{U&ITzA_>Ze`mh?o``m zZfDyTj%nM<{oA&U`*gx~?%@eLxX&l- zt~6WWmS(Hmlx&SF%+|T(*#@^I+vF}~TilIon-j7f?%!;e+mqePaoOj&W7!wDn4F8; zzU)ifw(QH?z?>^w-<+%5lR4M8H*>CY@8#U!p31q&eUfvFdq3wkmzHyfYt6aKmFC>z z@SHyU>u_KGEw~^5A>5z;2p+(H3=iZ#g$MDU!GrnF;UWAN@KF9sco_c`Je>ay9>ISP zkK})VBlsWTNd6}{ivJak=6{D{_&?xS{%_dB{{wsZK5!i0ACBh-!U_B!IFTO$C-Fn! zWPTW&!Via2`4Mm$9|5QH9yo*d!kK&=oW&=?*?bb5!>7Qxd@7vBr@{GrI$XeKz=eD! zT*T+V#e5!I!so-Kd?8%M7s2IxFP@iXB7KNk-2^I)7`02BN| zIK(f4JNPAVC%+7y%CCl}@!jxrehWN<-wJo}+u@n~4tN$nCTBL^oim5ukTaL>$eG7) z%9+pa$XURj$XUpr%UQ%LIg5EIX9@p!?o$5a+-3YXxy$({(^v34=_~oyN3G(YPhZWa z$FAWo#;)b>#;)Vd*!8>-+s)sO-N3)#*~q`**~CBM*~}03Y~f=(TlrYeHs0ge&c}In z@clhI`S(4$_;}B5KGCy>|Io9S|G~45Z}IHs1D*qXt>++L={dybcn^TVfoD-j^FO#`6C{ICp{uhc_g0k$owLY!Y}ry{9KR5vmTv4?lE}IWAbl$EnfH7 z{Ci%9zw2@Nm%P3FWzTv31Mda?L+?fYS??wOdGBTZQ|}f23-47v-+PURyw~}4-W&W- z?@hkcdyDVuz0G^Qcldw2cljvqJ^n9mA7K~VSJ(~r6ZXOVg#+*a;UGLvI1CRGj=+P3 zqwo-+2OcV%hKC7f;Nikqc!Us!M+zhyAy9Cnz`;=h4@V0E93#kZtf0UiL50173C9T* z94|Om3K!rc;Ub(YT!K@C%W$f26;2bb!Rf+vI77GzX9~CAEa5hsE!=@~gn!{& z;XWi!xF5+E9z+U+hmk_z5u`|X6e$)SLrR3lky7Caq)d1cDHonXDukzzO5qu#N_ZBj z7M??Dgy)e_!VAb~;YFlYcnPT!UPkJLSCBEntH@a4HDsLd1~OiF6KN3MLYjoPk!Imt zq(yiS@d@uEt-?o0oA5C*LHGojD13@c5eu810=W)OzO&KYAAk-+31bDc(gwyLYkB<6R>7 zyi0{u-etl@?{Z<1cZJaGT`6>VR|yT?)xuft8UgXH6~=nk3A}f`u+`fwZ1Zjq0^W^6 zhj)`;c{dB!y<3EX-mSvBaodEG-tB_z-61&Mox*AFE}Cxpl1P6|)O^$7RJof1BZJ1u+| zcSgA9JuBQ7cTV^;E-ZWvL6vyep*f>KN7iS7>ah8C^*}{rAM>rkl3g_Z_1vc)yAjVw~uEt#y z?6^z9&A7|Lzj0TDhvKgaPsCpn9*@5+ycK^#csA{(@Os)U;ia_O!t-f&gzwYt3V){E z6aGr;BMwCRii44U;t-_27>x`NW08TP2N@)Kk-=gdGDJ*3hKh;EFfkb!E~X$O#B^k& zn1Muyc}S#~k3@+DNVHgt#E7LxtXPeB#4(6h9E-$>!WMP@Ikwi8GL5 zu?r~?XCkHIETl}FiFpzwYUhW5tksN#HGk+aV1hKu0ra>)kwX# z1{ou+N5+cX$T)EWGG5$>G>Ds#CUFbWEN(?w#BGRA+>W%0JCHVUCo)0Yg-jH8Ba_5E z$YgOZGDX~nw2KE2zjzn{#1jZ8_8^dW3W3Gb2qKB1~IiyqMk*T79OcO<9x+oztL>cK46=bHUBD2I_(`JhU(&mVsw7Ft(+B`8WZN8Y9 zwm|f!EELD2EE0i~#Uh-tM8s2;ijz{7iJ_F`Vn@mf5lLAocBZTnr=_eG*QKlxXQ!+c zx2CKUm!_;2m!x!yt5PAm;6H*U}|4ThA{*-z|{5$oiSdw~7 zOin#6mZzQ&Q&Ufh#i>2w@YGY{u+-CHVd@#NCiSe?l6p?;NDYhAQ%SMfPl?^Bw755w z5v$W#u{NC(The)PV!9wsP8UUgx+DhEWw9e&5vQfA;=*)IT$Zkj>(UKzOS&m$O|rzy zbX#0j<%lb*Tybqxuh?C6UffW1LEK$+QQTQ|Njz3{Sv*>GMeM1%DjHSS#Pe0xMYHOL zc&X~9c%|x=c)jYjcz^XB@p9E&@xkhQ;;pJal7{q^bflkTApIp186a86K*>f1Ne(ht za*-iYFEUg*j|`J8Aj74L$O!2YGE%yXL`YYVNa-pPC0#?JrRzwHbOVW%ZXzD(7UGp| zBXQClBwo6UBuMv=MCo57NxBbBmhMMWqzBMc=|MD2dI(LI9!4{yN6<{^Q8Y_>49%7v zM{}en&|K+BG*5a8&6l1=3#4bzLg`twNO}$}mYzpTq!-Xq=|!|mdI>F;UPddVSI|o7 zRkTWa4Xu`5M{A@v&{5Kx=xFIJv{rf>t&`qC>!o+mG17bJSm}Lqob&-YUiuJikUm12 zq>s^N=@Ya?`V{p^pP{YN=V+Vs1v)|c5}hc0g-(*bMkh<(pi`u8(RS%O)GvLH0@4pC zDE){+(oZNX{fr{gFDNSgiel1lXh8ZM4N8BYxb!DVNPnRr>2I_{`XAaU{ew=G`k>RK zzUXwRA38(ok9J7|(3#Rebe43xYPR%h^&IKN>bcVU)$^n$s^?4ZR4R2O-&e1YqN-O)Bdb?Q@ztxPjOsN~N%dN(yn3C~P`zGy zv!z@5IB|odhc-$dC2o=)NZc%CcWjaJJGM#%9owYBj_p!W#}28uW2aQou}iAy*e%s| z?2*QI?3J22_DQWB`=yB;2c#(-2PL56kOX%emXMAk64r543UnNkf*r@DrnD0hlJ+0! zlGY>PX{V%lX{V)`X=kL3X=kN%Y3HPEX<=zi8Y#sBl+=?(ODEG9iB4lBBaM@+G+x@& zEJ%COMd@I=B%Mu{rQ_*}^k9Z6^`>jmLm9dxrW=xyZc6vkE$QJ5TY4nJk*suAa?^XI z8|mkz*E23iKWAK&KFPQwy_s=YdN$*V^mN8m>GOMO_DRvWH}Q}k+aZLIU7xrbI^1-7tN6K&`dcW&5{eyY`GB4k&Dn=xfsopOVE6| z6fKa;&_cN!Es`tHV!0A6k*m;Bxf(5#N1^5NXtYAEMJwexv`Vf=tK~6hjXV||C67Z# z%j3~nxdE+{8_{~X2^}LhqhsY3be!x%$IGo~gWQHT$rI3Kc_P{(PeOh2WVBVDg0{)+ z=mgo1PLu(3k_@4fWf+|zBWSyfqJ9}e0Xcwzau9`N9ED{9MdT2Q${i>sccKA#DjJlh zp}0I9CFB`sNbW*AC_hqb- zsf^X~+Ke^wdzowHPcqlZFK4coKg{fwuVieH@5|gMKa;sh{xWm3JS=mIJSuamyfky0 z9LU@*FUZ^>cW3UDPiO9uuV(I++4Mc~8ho#82KUK!aKC&pctE}!JSblc9+IyG56gFg zN923Kqw<6JG5I0mvx(d0mhF8fOi zxuC?93rj4yro@&R6DJRf;^1&5DJ#C^qU-9JEz&(Ke+QouHgYCn^`vNyR#@+j7&Jci9w9>-=Wzn9KdJ}sT2JXJbZ>0dfe8B#i5d9-wa@=)nQ<@M4<$}^>l zl`l(|C?iXkD&LeYQ+_U8uDnsYLWwM0sl=47Qaq)rl^;vjC`jpArMz^VGNW|8GPAT> zNh{r;V5J+CK;h83@Ue&!R4;tBc*g*AJY>@gKHduWg8=}5|4OL&n zhN&-M!_}9u5$Y@0NcB}LLVXR3RA0xU)Hkqb^-U~BeG7|K-^M)ZJD68}7mHKh!{XKV zu>|!4EK&UsOHx0=lGTr~6!jA$o6tWfLiq)U767?6XRQ(kzQ-8zC)!(rS^$)C4{S&KF|H7)( zzp)ziA8eG`2OF*S#cI`lSe@D*t5*kLW7L7zSalFKP92PmSBGE?>QJmn9fmcl!?6~1 z1m;smVy$Wf)}}^c6Vxbdq8g1&Qe&{mYAiNI^upqlWXye<)g)g%m2 zlQC3H!7w!y3#e&WP))~hH3K8mOe~~kVI68V)~V)TQ`KB-nwp1ASM#wMY5~@z7Gg8i zVr-Uruza?j#t9-sHmM>6y%NMF#`65*)U#y-lU!uNIu~hxAVww78 z#d7uciWTb56)V-qidAY_#cH)Fd5zkdyjBe+uT!z)_3FIjZgoTQ2KC!f8`T+|o7A6j zHmgeV7PU8dtNPvKZR&;O?do7~hx%yyPIW!BOFaecR?k3tR2AB*_Cotq1=_Eg&;eD0 z4yu=-L#hECRv(6ss1LzM)hFR&>L>7V^?CS&`ZRn}eFg4O--l1BKf|ZhU*I$9*YH{O zTlkzh01m6sFsa7Clo|!oY5~ls2{5Z>!JL{5^XkStL9KyBbv!JoEwHRkf)&*Vt7Lqpys7qRJSxP5mqVy87qT8){j~O|?1kmg-BqtpbU6)J2JR)y0YT)H#WLv=XeZR*Lo0 z%CP=gIW|D6zy@lS*dVP68?04hL$n%fs5S~4rj5piYqi)2tqvQh)ngIb7%Wm7i$!VU zuxM>O7Na#_v05YM(V8%?){MnzEm*wf!xFSsEKzI2lC%j}vNjP*(I#Q3+GH$En}Vfl z?O2B9$1*hl%hEtBTZ6G24Z(6X6wA{vEME&?1zHd*)NrgwBd}sEgq3I=SgF>Dm1$G4 za%~z`p-smswHa8I)`eATGqDxbthNvvr!B(9 zYm2c4Z3)(-EybF(Wmt>09P?=_uvTp))~2n(CTOd%iP{=$lC~C`tgXYQXzQ_dtsC=e z8!$lIh=JNB4AM4Zu(kz5w5=GbZNo5aI~LG(U_osshHJYpLfegnv^`jdwioNv_F+@C z{n#|^05)Aah|SOrV_n)2Y^HV;o23znv$aEsbF?LibF~?X^R&5%^R=GD1={Mwh1!b5 zMcTQ<#oD&SCECMDOSMOmmT7F_a_zCC6`Gv5QVS=p(rzZM)}BgQqdlIqR{J4oo%U1G zdhPk7ZtcUQ4cd!I8?`=3o3#9-&DyY}Et)rJtM*sYHZ3b@yEZCmhvqcx)D|c0(xxWu z)@qaXXk(K0YTJ_bX?D_nZFSNCttaWAb~@>hwjt@TCL|rvh@YSGD@ z7Msj#S;>Mns#DZzJ0-2IQ`W|GDq3Tws*Uf|w5Cp7Ywk3(woX%<)M;r`I&BT^bTqWn z)v(T94eva!g*q>2Q#&te(>gC{(>pI~U7c67nVna)*`3$4Ii1(Fd7U@31)Vpwu7+FM ztcKg#oQ6BvyoS5l!iIa=qJ}>DF|4nC9P6i_!20Vau>pDyHc&r>4bo3zgY`4m5d9oB zR1agrbP^k`Q`iWd#zyK47NN6Pq|RYcI*&!`!hge25sTF&%%jVgS68q&UB%*c4NK5< zEKxVGB;CZ4bqh<;Z7fxHur%Gp()C^}LqCsY>KCvq{UVmFU&3)^xIgeeg`Yl?_%ZpJ*-0i7pv6o3smX%2dec40yX-Bfl>NH zfzkTIfm;2MK%M?*pk9A0Fh+koFjjveFiw9mFkXKu(4apZXwshvH0#d>TJ+}vKK=PX ztNucuO@A>kL4PSQQGYowNq;3US${P!MSm^OuD>4e>u&@A{mlTVzZHP=w*#>LP5{y0 z4WRma0Ze~C5YRse1oaOCxc*Uq&_51@^iKjE`lo?T{j^VU2#iVXc0#VV!=dVZHuzW4C^-VS|3FVWWP# zVUvEZVY7aJ;}-pa#;y8;job7`8@KC^HSW-#Y}~0o)woN4wsE)qeB&Pdg~q-5tBw2g z*BkfiZ#5p!-)uanzuS07f4}jt{z2mr{lmti`bUk&^p6{l>z_29&_8WFsejSfqkq|W zO8=_ywElJD8U5SFv-)?9=k)Iz!}<@6r2btoUwy>S$))2W>Pzfrs%gasX} z7Imar(wA4u`s`{&@2XbyMQ!D>Z|&t>TCM5HP`hoYHsMsH8=H7YHsNt*WA`WtGT0p zS94eYrskghRZSn`+dyCAyFfqV`#^u=hrj^i$G|}2r@$cN=fGg&m%tF?*T7KYx44Js5SBfbw)v;-Y5)=F^U3Xjgr7PqckwyC<`G*mHe*y^f-yQU(WnhfGU@`8jrzb8V@#mk7#r{#;{t#&J^&gG0mx_!z(!L5F`5IY z(GtK6Um#$#27(3>zzsY=7@A*CD3QRY&zzpMdpv!nGIMaA9 zILmmmX14K0%^ag|&0Hg;W}XpWGvDymEHDyl78!kvDp}r zzr~2n-)f}gZ!?DEZ#N3_cNp{XcN!D(cNs)It##05S4Kn|Xu`d6t zLFJz_*5ro`HlH-^E1-^G3YUUOlGcOe$HwP4*F#lI{(wte;V@4I7GLwr=n?DzwF~Oq$P{g8h=HEqO^Rpt- zOemtvaYeL=6fq`T#F~qWIFl&i%_T*G`D?Xk##BpYbFpl;6f5S$V%2Od)=aeczj#n= zm_V^NQKD^JXP!7P1QXCpg$T6&zxn4i2@>1czB?gTt+J!4XzCIMO165f&AUwCG@z#RQ`*HW*`Z!B~qA zdMqL6wZveYB?aRxIhbH6!9+_9CRtiA+0uh4mJ>|1{tc#CkK*api+G0h8lGvriDy~w z;MvxDc#icUo@;%C=UE@)`PL_Rf%Pd~XnlqkS)b#@)|YsR^%Y)feT|n{-{R%gcX);M zD_&{+hF4j?d;F3?8t?;z4U1j$7k#!fL=nRwLeFHQ}9BGd|U7!KYb1e7e<& z&#)%qUDjlLrZokhWdYD^3xwua5H!~cLG!FmXufp}Twpz!wa|JsYmxP4)?(}3tR>b5 zSxc?=vzA#OXDzor%35K4m9^5+n^#%qYgSuVYSvi))~vOj9ktGSe$;yF#ZleXPq`bc z-rSAW`P@y`h1|{76M0*#*YmboRr%Yj2lKXDFX!#B?#tV0wN>o0uIKHx-p<=&{gk)Y z`aW-;^-JD<>*u@!)+0>^t@OM@mM8D9)i>{m6`6O`ipx7@W#%2X;`2^ewRtD4*1R6e zpLfbykayaeo_EIDmUq^o^UhgJUf9y|NXyKltRDc{`VnBPUjWwn6X2}B0p98Z2-ZMA zv<3l^H3X2Yp@3oy22^V#pjlo(w-N!v+CSN}4o$YK!;@|6$YjSlHrcg~Pwur&Og?X& zoP5D5tGZ})Rb8@Dt1er4RadO?s;gE*)itZJ>blihb;D|}x@iGbw=AgYwuM&Ru^!95 zYyFUY&sv$?$M)lWZ4mEgBY1xs#Ru3JKF|*0gKQihYA?5X%rdpbVMo`DayyYLbA zOnjt03y-j8~(m$-Hm718}Lkf6P{&n#tSzJyP(uiz8ytN0}Q z20q!og-@|>zZK`#}P>A0`m{2?DjBBry9aB49s91nuVu+2*cuBILKw5FXl*0jss(zM%tB7cv)wP~-ts%f9Sq-npstm%Ngw&|eV-E_#-n-1GX z(-GTjI%-=@$85UkxV@|CguSQfq)j&U*hiaA+2@*0+t1~nvDv1xw%v5jzStDDuQZXi z+eFzQn{V4kn(x@3sT3~@duhB{vo!C?}s7?GzBTPSJm&=whPYDIvx2NNLB$K5#NtKH z$bq>SJ8;`HQhbMGATV=B)&p~`d4n#!=Vu99>XR#MK)O4<=B8Rv8*>*$r7bF-3n z-mVgy&#FYHq(X9DtCXF*O2ye&sXG75(wx7ubfn}P<^_QHi`pZsy{S_yp{;E@6f6d9SzwV5wzu~mi-*l$b-*P(Z zZ#xU>?>KAf?>Z;b?>Q&Z`?xcRzHS%M&z(i|cV`m=+_}U+cOEgwolgvQ7Z5|-g~U*I z5i!hNObmCI5+mH@#7K7~5#g>PBHcAal)H|IcGnXzZZ{F@ZXi7FM#AfEBI4Z5M7+C& zNN~3jiS9Nc$=yyQyE}*!cPEkR?jq9M-9);(hsbdE5}EEkBFo)RWV;859QPoR>mDNV z+`~k^dxR)(j}nFMF`~#lP87Q*h!XcCQR?;(W$r1W+&xWHxMzq;_bgH6o+GN=Fj3=@ z#3+{{M!Pgo>oP>0%M$f2M~rcKVyr6=<6My#?@C02D-%twLNvQ7(c&6}&+R2z-Sb47 zdx4nXUL+>EmxxL36=Je`otWa@AlluVgx|eI0Pbx9bng(5dzXOSdj#VCOQ7z3AFZjxcg9ua32nZ+($wk?xUej_p#7a_wmp)_leMS_sP%<_o+~q`*dig`%Gw- z`&Y(nH#K99o0Kuv&Ci(U_RW~@CT1*fvojXDOEMO@k7O=(pUzz3re-d67iBJUr)MsA z4`;4$PiC%kAIVzfHZ`qw8=Ka+Sjk%VTFE;1PU(90T5Y#`qjrOPU)@Ic@w!d!t96^* z*Xp*o&)02rm*j49zpmTvzE!uweYc-a{b3ds&?nc#}a0l0&bVtlk-l9qXR1<6N?icMsMHu2Uzvm+B<<;d0Z@5#tO!wvt%e_6rcJIt^+>4`K_o3Qe_vza6?#+a9BH{9Q9Z@N*nx7_I3+wS1nJ8u8lyKYkL zJ-48?Pw%s#zP-fif9Xh83ap@F?Gg$DJ$92(sFN@z&$tD&L2uZ4#7z8)Ih z`$lL)@0+2Ky>EpgdfyI3_P!H}>U}p9-TPiBruY3&Z0`plPw$5zZ|_H;xZaOL@x7mf z5_&%kCH8(6O6vVQl-&D8D5dwyP-^d2p|swwL+QQWgfe=+4Q2NJpSSmpilT|$24?^j zF=BenU=~Hi^qLjPAW1+)MFk~@0+Q1pAZY-}%s}Tx!HfwpqavbU&N-oC#?E0P?!3SK z_UzfS=lf&-*?P{?b*Jj~t-jUOefm^S^|b-E60?DA#2g@)muu>y!8Y=Kx}B@jp00r7-AkU%&9iG(AN zL^uJ-gfoyrxB#hyDfHYziu$yoP(g_bBlkf!g5MDqQ;SFRHtAQNC2goISfjq(w zkP~Zwd}1w7K&%4_34dTOu^uQQHUP!MMxcZU07{8XKpC+aC?~c66+|FVNdy53Vk@8| zwgFW{Fi=f|000pRfJ7Jo5!(Tn2nP^i2Y?bg0gQ+Ma3T_@A)PI`r+7{rQ@kLKDqa%D6|abT#cSfE;tg?1 z@s?;%ydxSF?}>AY55#%JN8*B_gSe>pL|jsQCYlsqh%1Ut;+o}Hv@5<7w-rB# zJBpvgUBxfrp5ixgU(rQ8Q2ZetDG1`Rf+U_ODB`(-CSE8Q;-!KmUMo1_m4YYUDg@$# zLL@#aR78hDO?*~ph)#u;_^Qwm-xYe|hoYPKrLZM;0V~O9z>bUo?8#Wbfs6wj$#}qt z+zU99C4dWA0l1P%z>NffRb(yTP96q4$RmI!c@*#>j{)9fJ+PWQ4)~BK0AKPX;76VU z){v)xwPXXZjywbSla0W7@+`1{JO^wf&jSJE1z;0-5!g�=AHsfk3he2qLclTgj`y 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