home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / cpm68k / kmince.lbr / ELECC.CQ / ELECC.C
Text File  |  1986-08-29  |  2KB  |  89 lines

  1. /* -*-c,save-*- */
  2. /*
  3.  * ELECC.C - Electric C mode code
  4.  * Robert Heller. Created: Tue Sep 24, 1985 21:45:45.71
  5.  * Last Mod: 
  6.  */
  7. /*
  8.  * globals (ala declare-global)
  9.  */
  10. #include "mince.gbl"
  11.  
  12. static int ec_spldc = 0,    /* &elec-c-split-declaractions */
  13. /*       ec_indwd = 4,    /* &elec-c-indent-width */
  14. /*       ec_righm = 75,    /* &elec-c-right-margin */
  15.        ec_bordc = '-',    /* &elec-c-border-char */
  16.        ec_bords = 75;    /* &elec-c-border-size */
  17.  
  18. #define ec_indwd indentcol    /* use Mince's global */
  19. #define ec_righm fillwidth    /* dito */
  20.  
  21. static char ec_compfx[32] = "  "; /* &elec-c-comment-prefix */
  22.  
  23. static int ec_comm = 0,        /* &elec-c-comment */
  24.        ec_boxc = 0,        /* &elec-c-box-comment */
  25.        insdqut = 0,        /* inside-double-quote */
  26.        incsqut = 0,        /* inside-single-quote */
  27.        main_p  = 0;        /* flag tells us whether argc is special or not */
  28.  
  29. CAbrvInit()
  30. {
  31.     int ec_main(),ec_argc(),ec_if(),ec_else(),ec_for(),ec_while(),ec_do(),
  32.         ec_switch(),ec_case(),ec_default();
  33.  
  34.     CAbrv[0].Abrev = "main";
  35.     CAbrv[0].Expand = "main";
  36.     CAbrv[0].Abrevfun = ec_main;
  37.  
  38.     CAbrv[1].Abrev = "argc";
  39.     CAbrv[1].Expand = "argc";
  40.     CAbrv[1].Abrevfun = ec_argc;
  41.  
  42.     CAbrv[2].Abrev = "if";
  43.     CAbrv[2].Expand = "if";
  44.     CAbrv[2].Abrevfun = ec_if;
  45.  
  46.     CAbrv[3].Abrev = "else";
  47.     CAbrv[3].Expand = "else";
  48.     CAbrv[3].Abrevfun = ec_else;
  49.  
  50.     CAbrv[4].Abrev = "while";
  51.     CAbrv[4].Expand = "while";
  52.     CAbrv[4].Abrevfun = ec_while;
  53.  
  54.     CAbrv[5].Abrev = "do";
  55.     CAbrv[5].Expand = "do";
  56.     CAbrv[5].Abrevfun = ec_do;
  57.  
  58.     CAbrv[6].Abrev = "switch";
  59.     CAbrv[6].Expand = "switch";
  60.     CAbrv[6].Abrevfun = ec_switch;
  61.  
  62.     CAbrv[7].Abrev = "case";
  63.     CAbrv[7].Expand = "case";
  64.     CAbrv[7].Abrevfun = ec_case;
  65.  
  66.     CAbrv[8].Abrev = "default";
  67.     CAbrv[8].Expand = "default";
  68.     CAbrv[8].Abrevfun = ec_default;
  69.  
  70.     CAbrv[9].Abrev = "for";
  71.     CAbrv[9].Expand = "for";
  72.     CAbrv[9].Abrevfun = ec_for;
  73.  
  74.     CAbrv[10].Abrev = "#i";
  75.     CAbrv[10].Expand = "#include";
  76.     CAbrv[10].Abrevfun = 0L;
  77.  
  78.     CAbrv[11].Abrev = "#d";
  79.     CAbrv[11].Expand = "#define";
  80.     CAbrv[11].Abrevfun = 0L;
  81.  
  82.     CAbrv[12].Abrev = 0L;
  83.     CAbrv[12].Expand = 0L;
  84.     CAbrv[12].Abrevfun = 0L;
  85.  
  86. fine";
  87.     CAbrv[11].Abrevfun = 0L;
  88.  
  89.     C