pike.git / bin / mkxml.pike

version» Context lines:

pike.git/bin/mkxml.pike:1: - /* $Id: mkxml.pike,v 1.6 2001/05/05 20:42:39 mirar Exp $ */ + /* $Id: mkxml.pike,v 1.7 2001/05/06 15:20:38 grubba Exp $ */      import Stdio;   import Array;      mapping parse=([]);   int illustration_counter;      mapping manpage_suffix=   ([    "Image":"i",
pike.git/bin/mkxml.pike:809:   }      void make_doc_files()   {    stderr->write("modules: "+sort(indices(parse))*", "+"\n");       foreach (sort(indices(parse)-({"_order"})),string module)    document("module",parse[module],module,module+".",stdout);   }    + void process_line(string s, string currentfile, int line) + { +  s=getridoftabs(s); +  +  if ((i=search(s,"**!"))!=-1 || (i=search(s,"//!"))!=-1) +  { +  string kw,arg; +  +  sscanf(s[i+3..],"%*[ \t]%[^: \t\n\r]%*[: \t]%s",kw,arg); +  if (keywords[kw]) +  { +  string err; +  if ( (err=keywords[kw](arg,"file='"+currentfile+"' line='"+line+"'")) ) +  { +  stderr->write("mkwmml: "+ +  currentfile+"file='"+currentfile+"' line="+line); +  return 1; +  } +  inpre=0; +  } +  else if (s[i+3..]!="") +  { +  string d=s[i+3..]; +  // sscanf(d,"%*[ \t]!%s",d); +  // if (search(s,"$Id")!=-1) report("Id: "+d); +  if (!descM) descM=methodM; +  if (!descM) +  { +  stderr->write("mkwmml: "+ +  currentfile+" line "+line+ +  ": illegal description position\n"); +  return 1; +  } +  if (!descM->desc) descM->desc=""; +  else descM->desc+="\n"; +  d=getridoftabs(d); +  descM->desc+=d; +  } +  else +  { +  if (!descM->desc) descM->desc=""; +  else descM->desc+="\n"; +  } +  } + } +    int main(int ac,string *files)   {    string s,t;    int line;    string *ss=({""});    object f;       string currentfile;       nowM=parse;
pike.git/bin/mkxml.pike:863:    werror("mkwmml: failed to read %O\n",currentfile);    f=0;    continue;    }    s=ss[0];    ss=t/"\n";    ss[0]=s+ss[0];    }    s=ss[0]; ss=ss[1..];    -  s=getridoftabs(s); -  +     line++; -  if ((i=search(s,"**!"))!=-1 || (i=search(s,"//!"))!=-1) -  { -  string kw,arg; +     -  sscanf(s[i+3..],"%*[ \t]%[^: \t\n\r]%*[: \t]%s",kw,arg); -  if (keywords[kw]) -  { -  string err; -  if ( (err=keywords[kw](arg,"file='"+currentfile+"' line='"+line+"'")) ) -  { -  stderr->write("mkwmml: "+ -  currentfile+"file='"+currentfile+"' line="+line); -  return 1; +  process_line(s, currentfile, line);    } -  inpre=0; -  } -  else if (s[i+3..]!="") -  { -  string d=s[i+3..]; - // sscanf(d,"%*[ \t]!%s",d); - // if (search(s,"$Id")!=-1) report("Id: "+d); -  if (!descM) descM=methodM; -  if (!descM) -  { -  stderr->write("mkwmml: "+ -  currentfile+" line "+line+ -  ": illegal description position\n"); -  return 1; -  } -  if (!descM->desc) descM->desc=""; -  else descM->desc+="\n"; -  d=getridoftabs(d); -  descM->desc+=d; -  } -  else -  { -  if (!descM->desc) descM->desc=""; -  else descM->desc+="\n"; -  } -  } -  } +       // stderr->write(sprintf("%O",parse));       stderr->write("mkwmml: making docs...\n\n");       make_doc_files();       return 0;   }