26、代码统计程序的设计与实现

代码统计程序的设计与实现

1. 统计结果输出函数

统计结果会在两个位置输出,一是每行开头,二是文件末尾。为此定义了两个函数来输出这些统计信息:

static void bc_line_start(void) {
    printf("{%-2d ", bc_cur_level);
}
static void bc_eof(void) {
    printf("Maximum nesting of {} : %d\n", bc_max_level);
}
2. 各子模块介绍
  • 括号计数器子模块(pc) :该子模块与花括号计数器子模块非常相似,实际上是通过复制花括号计数器子模块并进行一些简单编辑创建的。或许可以将括号计数器子模块和花括号计数器子模块合并为一个使用参数来指定统计内容的子模块。
  • 注释计数器子模块(cc) :在这些函数中,会跟踪包含注释的行、包含代码的行、同时包含两者的行以及不包含任何内容的行。结果会在文件末尾输出。
3. do_file 过程

do_file 过程会逐个读取文件中的每个标记,并将每个标记发送给每个统计类的 take_token 例程:

while (1) {
    cur_token = next_token();
    lc_take_token(cur_token);
    pc_take_token(cur_t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值