⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makedoc.awk

📁 俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)的全部源代码。
💻 AWK
字号:
# Take apart bits of HTML and puts them back together again in new and# fascinating ways.  Copyright (C) 2002 Free Software Foundation, Inc.# Contributed by Phil Edwards <pme@gcc.gnu.org>.  Simple two-state automaton# inspired by Richard Henderson's gcc/mkmap-symver.awk.# 'file' is the name of the file on stdin# 'title' is the text to print at the start of the listBEGIN {  state = "looking";  entries = 0;  printf ("   <li>%s\n", title);  printf ("   <ul>\n");}# Searching for the little table of contents at the top.state == "looking" && /^<h1>Contents/ {  state = "entries";  next;}# Ignore everything else up to that point.state == "looking" {  next;}# An entry in the table of contents.  Pull that line apart.state == "entries" && /<li>/ {  extract_info($0);  next;}# End of the list.  Don't bother reading the rest of the file.  (It could# also contain more <li>'s, so that would be incorrect as well as wasteful.)state == "entries" && /^<\/ul>/ {  exit;}END {  for (i = 0; i < entries; i++)    printf ("     %s\n", entry[i]);  printf ("   </ul>\n   </li>\n\n");}function extract_info(line) {  # thistarget will be things like "#5" or "elsewhere.html"  match(line,"href=\".*\"");  thistarget = substr(line,RSTART+6,RLENGTH-7);  # take apart the filename  split(file,X,"/");  if (thistarget ~ /^#/) {    # local name, use directory and filename    target = file thistarget  } else {    # different file, only use directory    target = X[1] "/" thistarget  }  # visible text  gsub("</a></li>","",line);  start = index(line,"\">") + 2;  thistext = substr(line,start);  # Assemble and store the HTML for later output.  entry[entries++] = "<li><a href=\"" target "\">" thistext "</a></li>"}# vim:sw=2

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -