syn_to_c.c

来自「Mesa is an open-source implementation of」· C语言 代码 · 共 73 行

C
73
字号
#include <stdio.h>static int was_space = 0;static int first_char = 1;static void put_char (int c){   if (c == '\n') {      if (!first_char) {         fputs ("\\n\"\n\"", stdout);         first_char = 1;      }   }   else {      first_char = 0;      if (c == '\\')         fputs ("\\\\", stdout);      else if (c == '\"')         fputs ("\\\"", stdout);      else if (!was_space || !(c == ' ' || c == '\t'))         fputc (c, stdout);      was_space = (c == ' ' || c == '\t');   }}int main (int argc, char *argv[]){   int c;   FILE *f;   if (argc == 1)      return 1;   f = fopen (argv[1], "r");   if (f == NULL)      return 1;   fputs ("\n", stdout);   fputs ("/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED FROM THE .syn FILE */\n", stdout);   fputs ("\n", stdout);   fputs ("\"", stdout);   c = getc (f);   while (c != EOF) {      if (c == '/') {         int c2 = getc (f);         if (c2 == '*') {            was_space = 0;            c = getc (f);            for (;;) {               if (c == '*') {                  c2 = getc (f);                  if (c2 == '/')                     break;               }               c = getc (f);            }         }         else {            put_char (c);            put_char (c2);         }      }      else {         put_char (c);      }      c = getc (f);   }   fputs ("\"\n", stdout);   fclose (f);   return 0;}

⌨️ 快捷键说明

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