#include #define BUFSIZE 4096 // Read #define xmlput(n)\ for(i = n; buf[i] != '\n'; i++) {\ switch(buf[i]) {\ default: putchar(buf[i]); break;\ case '>' : fputs(">",stdout); break;\ case '<' : fputs("<",stdout); break;\ case '&' : fputs("&",stdout); break;\ case '\'': fputs("'",stdout); break;\ case '"' : fputs(""",stdout); break;}} int main(void) { char buf[BUFSIZE]; int i; fputs( "\n" "\n" "\n\n" "\n" "\n" "",stdout ); while (fgets(buf,BUFSIZE,stdin) != NULL) { if (buf[2] == '#')/* ### */ { fputs("

",stdout); xmlput(4); fputs("

\n",stdout); continue; } else if (buf[1] == '#') /* ## */ { fputs("

",stdout); xmlput(3); fputs("

\n",stdout); continue; } else if (buf[0] == '#') /* # */ { fputs("

",stdout); xmlput(2); fputs("

\n",stdout); continue; } else if (buf[0] == '*') { fputs("\n",stdout); continue; } else if (buf[0] == '=' && buf[1] == '>')/* link */ { fputs("

",stdout); xmlput(i+1); fputs("

\n",stdout); continue; } else if (buf[0] == '`' && buf[2] == '`')/* code */ { fputs("
",stdout);
			fgets(buf,BUFSIZE,stdin);
			while (buf[0] != '`' && buf[2] != '`') {
				xmlput(0); fputs("\n",stdout);
				fgets(buf,BUFSIZE,stdin);
			} fputs("
",stdout); continue; } else if (buf[0] == '>') { fputs("
",stdout); xmlput(2); fputs("
\n",stdout); continue; } fputs("

",stdout); xmlput(0); fputs("

\n",stdout); } fputs("",stdout); fputs("",stdout); }