本帖最后由 作者 于 2009-7-22 3:57:27 编辑
有经验的编程人员都有一个好习惯:程序的函数和变量都要有封装性,尽量少用全局的函数和变量,以防止不同程序之间发生冲突。而LSP程序的封装性比较差,为了检查程序中用到的函数和变量的作用域,特编写这个程序,现发布出来与网友共享。希望有人能够喜欢和支持,并提出意见,以便改进和完善,谢谢! 用法:先加载Common.fas和解析LSP程序的变量和函数.fas,再执行tbP命令即可。 实例:以附件中的<测试文件.lsp>为例,结果生成<测试文件.lsp.txt>,其内容如下: ★语句完整★ 函数名:nil 全局变量: 继承变量: 局部变量: 未用变量: 符号表: 私有子函数: 重载子函数:C:tbCount 函数名:C:tbCount 全局变量: 继承变量: 局部变量: 未用变量:fuzz 符号表: 私有子函数:Main Unique 重载子函数: 函数名:C:tbCount.Main 全局变量: 继承变量:fuzz 局部变量:lst tmp ids2 ids1 acme2 acme1 enType en el SSet SS 未用变量: 符号表: 私有子函数: 重载子函数: 函数名:C:tbCount.Main.lambda 全局变量: 继承变量:en 局部变量:x 未用变量: 符号表: 私有子函数: 重载子函数: 函数名:C:tbCount.Main.lambda 全局变量: 继承变量:en 局部变量:x 未用变量: 符号表: 私有子函数: 重载子函数: 函数名:C:tbCount.Unique 全局变量: 继承变量: 局部变量:lst b el a 未用变量: 符号表: 私有子函数: 重载子函数: 函数名:C:tbCount.Unique.lambda 全局变量: 继承变量:fuzz b a 局部变量:x 未用变量: 符号表: 私有子函数: 重载子函数: |