Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xv6-public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
OS Lab Group
奖励实验
xv6-public
提交
26dfb4c8
提交
26dfb4c8
9月 06, 2006
创建
作者:
rsc
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
runoff fixes
上级
2a55cc55
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
50 行增加
和
41 行删除
+50
-41
runoff
runoff
+50
-41
没有找到文件。
runoff
浏览文件 @
26dfb4c8
...
@@ -42,44 +42,50 @@ pr -e8 -t runoff.list | awk '
...
@@ -42,44 +42,50 @@ pr -e8 -t runoff.list | awk '
# make definition list
# make definition list
cd fmt
cd fmt
awk
'
perl
-e
'
/^[0-9]+ [A-Za-z0-9_]+ .*[A-Za-z0-9_].*;/ {
while(<>) {
s=$0;
chomp;
sub(/\[.*/, "", s);
sub(/\(.*/, "", s);
s!//.*!!;
sub(/ *=.*/, "", s);
s!/\*([^*]|[*][^/])*\*/!!g;
sub(/.* \**/, "", s);
s!\s! !g;
sub(/;.*/, "", s);
s! +$!!;
print $1, s
}
# look for declarations like char* x;
$2=="#define" {
if (/^[0-9]+ typedef .* u(int|short|long|char);/) {
if($3 ~ /\(/){
next;
sub(/\(.*/, "", $3); print $1, $3
} else {
s = ""
for(i=4; i<=NF; i++){
s = s $i
}
print $1, $3, s
}
}
}
if (/^[0-9]+ extern/) {
$2=="enum" { inenum = 1; v=-1; }
next;
$2 == "};" { inenum = 0; }
}
inenum && $2 ~ /^[A-Z][a-zA-Z0-9_]+$/ {
if (/^[0-9]+ struct [a-zA-Z0-9_]+;/) {
if($3 == "="){
next;
s = ""
}
for(i=4; i<=NF; i++){
if (/\(/) {
s = s " " $i
next;
}
}
sub(/,$/, "", s);
sub(/^ /, "", s);
if (/^([0-9]+) (((static|struct|extern|union|enum) +)*([A-Za-z0-9_]+))( .*)? +([A-Za-z_][A-Za-z0-9_]*)[,;]/) {
v = s;
}else
print "$1 $7\n"
v++;
}
print $1, $2, v;
}
elsif (/^([0-9]+) #define +([A-za-z0-9_]+) +?\(.*/) {
$2=="struct" && $3 ~ /^[A-Z][a-zA-Z0-9_]+$/ {
print "$1 $2\n"
print $1, $3;
}
elsif (/^([0-9]+) #define +([A-Za-z0-9_]+) +([^ ]+)$/) {
print "$1 $2 $3\n";
}
elsif (/^([0-9]+) #define +([A-Za-z0-9_]+)/) {
print "$1 $2\n";
}
elsif(/^([0-9]+) (enum|struct|union) +([A-Za-z0-9_]+) +{/){
print "$1 $3\n";
}
# TODO: enum members
}
}
'
$files
>
defs
'
$files
>
defs
...
@@ -110,12 +116,15 @@ awk '
...
@@ -110,12 +116,15 @@ awk '
# format the whole thing
# format the whole thing
(
(
pr
-l60
-e
4
README
pr
-l60
-e
8
README
pr
-l60
-e
4
toc
pr
-l60
-e
8
-2
toc
pr
-l60
-h
"definitions"
-2
t.defs | pad
pr
-l60
-h
"definitions"
-2
t.defs | pad
pr
-l60
-h
"cross-references"
-2
refs | pad
pr
-l60
-h
"cross-references"
-2
refs | pad
pr
-l60
-e4
$files
for
i
in
$files
)
| mpage
-m50t50b
-o
-bLetter
-t
-2
-FCourier
-L60
>
all.ps
do
cat
$i
|
pr
-l60
-e8
-h
"xv6/
$i
"
done
)
| mpage
-m50t50b
-o
-bLetter
-T
-t
-2
-FCourier
-L60
>
all.ps
grep
Pages: all.ps
grep
Pages: all.ps
# if we have the nice font, use it
# if we have the nice font, use it
...
...
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论