lua# lua5.1.4 源码文件作用一览
写了个脚本列出lua源码C文件头部的注释,作为我有一搭没一搭以Lua为对象学习编译原理的开端。
lua5.1.4全部的源码有35个C文件,17216行代码。每个文件基本的功能如下
./output_lua_sources_comments.sh ~/resources/sources/lua/src myarch/others (master ⚡) mattPC
1 52 lctype.c 'ctype' functions for Lua
2 67 linit.c Initialization of libraries for lua.c and other clients
3 76 lzio.c Buffered streams
4 77 ltm.c Tag methods
5 99 lmem.c Interface to Memory Manager
6 107 lopcodes.c Opcodes for Lua virtual machine
7 155 lcorolib.c Coroutine Library
8 161 lfunc.c Auxiliary functions to manipulate prototypes and closures
9 173 ldump.c save precompiled Lua chunks
10 185 lstring.c String table (keeps all strings handled by Lua)
11 209 lbitlib.c Standard library for bitwise operations
12 258 lundump.c load precompiled Lua chunks
13 283 lmathlib.c Standard mathematical library
14 283 ltablib.c Library for Table Manipulation
15 289 lobject.c Some generic functions over Lua objects
16 322 lstate.c Global State
17 323 loslib.c Standard Operating System library
18 398 ldblib.c Interface from Lua to its debug API
19 432 luac.c Lua compiler (saves bytecodes to files; also list bytecodes)
20 459 lbaselib.c Basic library
21 496 lua.c Lua stand-alone interpreter
22 527 llex.c Lexical Analyzer
23 580 ldebug.c Debug Interface
24 588 ltable.c Lua tables (hash)
25 657 liolib.c Standard I/O (and system) library
26 668 ldo.c Stack and Call structure of Lua
27 725 loadlib.c Dynamic library loader for Lua
28 766 loadlib_rel.c Dynamic library loader for Lua
29 868 lvm.c Lua virtual machine
30 882 lcode.c Code generator for Lua
31 958 lauxlib.c Auxiliary functions for building Lua libraries
32 972 lstrlib.c Standard library for string operations and pattern-matching
33 1205 lgc.c Garbage Collector
34 1281 lapi.c Lua API
35 1635 lparser.c Lua Parser
----------------------------------------------------------------------------------------
17216
以下是bash脚本,内容也算丰富。
1 [[ "$#" == 0 ]] && { 2 echo "usage: $0 path" 3 exit 1 4 } 5 6 src_dir="$1" 7 pos=$((${#src_dir}+2)) 8 9 outline () 10 { 11 printf "%-6d%-15s%s\n" "$1" "$2" "$3" 12 } 13 14 { 15 for file in `ls -1 "$src_dir""/*.c"` ; do 16 comment=`sed -n "3p" $file | cut -d" " -f2-` 17 filename=`basename $file` 18 lines=`wc -l $file | cut -d" " -f1` 19 outline "$lines" "$filename" "$comment" 20 done 21 } | sort -nk 1| cat -b | awk '{ if(l<length($0)){ l=length($0)}; s+=$2; print $0} 22 END { while(l--){ sp=sp"-"} print sp ;printf("%8s%-6d\n","",s)}'
转载于:https://www.cnblogs.com/mattmonkey/archive/2012/12/08/2808502.html
lua# lua5.1.4 源码文件作用一览相关推荐
- Go 学习笔记(2)— 安装目录、工作区、源码文件和标准命令
GOROOT: Go 语言安装根目录的路径,也就是 GO 语言的安装路径. GOPATH: 若干工作区目录的路径.是我们自己定义的工作空间.在 Go Module 模式之前非常重要,现在基本上用来存放 ...
- U-Boot 之三 U-Boot 源码文件解析及移植过程详解
在之前的博文 Linux 之八 完整嵌入式 Linux 环境介绍及搭建说明 中我们说了要一步步搭建整个嵌入式 Linux 运行环境.我所使用的硬件平台及整个要搭建的嵌入式 Linux 环境见博文 ...
- IntelliJ IDEA for Mac 如何配置项目模块的源代码根目录_源码文件的根目录
按下组合键 Command + ; 打开[项目结构]配置窗口:然后选择左侧菜单栏的[Modules]:然后在右侧的模块列表中,选择你要配置的模块:接着选择右侧界面中的[Sources]标签. 首先添加 ...
- U-Boot 之零 源码文件、启动阶段(TPL、SPL)、FALCON、设备树
最近,工作重心要从裸机开发转移到嵌入式 Linux 系统开发,在之前的博文 Linux 之八 完整嵌入式 Linux 环境.(交叉)编译工具链.CPU 体系架构.嵌入式系统构建工具 中详细介绍了嵌 ...
- opencv学习笔记—— opencv3 源码文件夹内容
OpenCV 3 的源代码文件夹: 3rdparty/: 包含第三方库,如用视频解码用的 ffmpeg.jpg.png.tiff 等图片的解码库. apps/: 包含进行 Haar 分类器训练的工具, ...
- Android源码文件夹结构
Android 2.2 |-- Makefile |-- bionic (bionic C库) |-- bootable (启动引导相关代码) |-- ...
- C#MUD英雄大作战二、乔峰篇(副源码文件连接)
目录 开发环境: 编码 源码地址: 开发环境: 系统环境:Win10 开发工具:VS2019 语言:C# 项目:控制台应用(.NET Framework) 编码 英雄类:(更换namespace即可) ...
- C#MUD英雄大作战(副源码文件连接)
目录 开发环境: 编码 源码地址: 开发环境: 系统环境:Win10 开发工具:VS2019 语言:C# 项目:控制台应用(.NET Framework) 编码 英雄类:(更换namespace即可) ...
- java源码文件丢恢复需要多少钱,上岸蚂蚁金服!
京东Java研发岗一面(基础面,约1小时) 自我介绍,主要讲讲做了什么和擅长什么 springmvc和spring-boot区别 @Autowired的实现原理 Bean的默认作用范围是什么?其他的作 ...
最新文章
- 再见,Teamviewer!这款国产轻量级远程桌面软件超牛逼!
- 2021年人工神经网络第三次作业-第二题:遗传算法与人工神经网络-参考答案
- python精通-干货|Python学习必须精通的几个模块
- 对比2个表mailbox_id字段的差集,然后做插入操作
- 判断一个字符串是否全部相同
- 应用指定显示到副屏_LED灯杆屏广泛应用逐渐成为智慧城市信息化的重要窗口
- GDB调试core文件样例(如何定位Segment fault)
- 【收集】几款浏览器兼容性测试工具
- 不用GAN、VAE,谷歌发明视频生成的扩散模型,实现新SOTA
- msql查询姓名不带r的员工姓名_java基础之MySQL多表查询2
- vue+elementUI+node实现登录模块--验证用户名是否正确
- nyoj936蚂蚁的难题(X)
- c++ 设计模式推荐书籍
- php redis令牌桶,php 基于redis使用令牌桶算法实现流量控制
- ESPHome 和 Home Assistant传感器之TMT6000 环境光握手
- 如何在Android TV 桌面添加自定义频道/节目
- python使用pillow生成纯透明png图片
- 从向量空间的角度来理解方程组有无解的问题
- mysql association_Mybatis的一对多(collection)和一对一(association)查询
- java就是我的幸福,我的幸福我的人生
热门文章
- LeetCode 268 缺失数字
- 计算机实现数论 奇偶排列问题
- 霍普分叉matlab程序,基于MATLAB_GUI的Kalman滤波程序
- C语言字符串输出函数puts()的作用是什么
- php伪静态后不能访问html,php伪静态后html不能访问怎么办
- python2048游戏代码_【Python】用Python实现2048小游戏(源代码,1.0版本)
- 1061 判断题(PAT乙级 C++)
- pat 乙级 1004 成绩排名(C++)
- 【渝粤教育】国家开放大学2018年春季 0149-21T现代汉语 参考试题
- 【渝粤题库】陕西师范大学200471 英汉翻译