mkxml
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· 代码 · 共 48 行
TXT
48 行
#!/bin/rcecho \'#include "stdinc.h"#include "dat.h"#include "fns.h"#include "httpd.h"#include "xml.h"'sed -n '/<struct/,/<\/struct>/{ s/^[^<]+</</ t cleart:cleart s/<struct name="(.*)" type="(.*)">.*/void xml\1(Hio *hout, \2s, char *tag, int indent){\n xmlIndent(hout, indent);\n hprint(hout, "<%s", tag);\n hprint(hout, ">\\n");/ t start s/<field name="(.*)" val="(.*)" type="(.*)"\/>.*/ xml\3(hout, \2, "\1");\n hprint(hout, ">\\n");/ t field s/<array name="(.*)" val="(.*)" elems="(.*)" type="(.*)"\/>.*/ xmlIndent(hout, indent + 1);\n hprint(hout, "<\1s>\\n");\n for(i = 0; i < \3; i++)\n xml\4(hout, \2, "\1", indent + 2);\n xmlIndent(hout, indent + 1);\n hprint(hout, "<\/\1s>\\n");/ t array s/<\/struct>/ xmlIndent(hout, indent);\n hprint(hout, "<\/%s>\\n", tag);\n}\n/ t produce}b:start h b:field x s/ hprint\(hout, ">\\n"\);//g x H b:array H x s/{\n/& int i;\n\n/ s/^ int i;\n\n int i;\n/ int i;\n/ x b:produce H g s/\n\n/\n/g s/ hprint.hout, ">\\n".;\n xmlIndent.hout, indent.;\n hprint.*/ hprint(hout, "\/>\\n");/ p' $1
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?