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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值