home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume1 / 8712 / edif / 1 / README < prev   
Encoding:
Text File  |  1990-07-13  |  3.3 KB  |  62 lines

  1.  
  2.       This is an EDIF 2.0.0 parser, well more like a recognizer. If
  3.     you build the test case and run it with a valid EDIF file on the
  4.     standard input the program will just terminate normally. Sounds
  5.     real useful, huh. The nifty part is that the core of the parser
  6.     is YACC-able, almost. The problem is that the EDIF grammer is
  7.     so large that standard YACC just can't swallow it. So you need
  8.     to either super charge your YACC or use a YACC clone like BISON.
  9.     I used BISON, which is GNU-ware and so is freely available besides
  10.     being a terrific program. I think BISON is available from the
  11.     Free Software Foundation or on systems near you; even I am happy
  12.     to pass it on to whoever wants it.
  13.       Enough BISON praise. The reason I made the parser YACC-able is
  14.     because past experience indicates this one of the easiest forms
  15.     to add actions too, as well as put in updates or fixes. EDIF is
  16.     hardly context free though, and so I had to fold all sorts of
  17.     ugliness into the lexical analyzer to keep the YACC part clean.
  18.       This version is raw, it doesn't build symbol tables, do
  19.     semantic checking or create a database. The parser itself won't
  20.     even run though a wrapper has been included for testing. I wanted
  21.     to get out one version before I started adding such junk to it.
  22.     Again experience indicates that it is no fun lobotimizing parsers
  23.     so that you can do the low level stuff your way. Besides somebody
  24.     might even find a bug in the code ... naw, that's a silly
  25.     justification.
  26.       The 'makefile' I've included is not the one I use (and probably
  27.     will get me in lots of trouble). I invoke gobs of debugging and
  28.     profiling switches which are specific to our compilers, the
  29.     'makefile' is intended to be generic and may require some diddling.
  30.     I developed the code on a BSD 4.3 system and haven't added the
  31.     changes for SYS V, though they should be minor. The parser was too
  32.     large to post in one piece, so it got split and the 'makefile'
  33.     should know how to patch it together. There is one definition of
  34.     possible interest. Compiling with a '-DDEBUG' will cause the 8 most
  35.     recently consumed tokens to be displayed in the event of a parse
  36.     error. Profiling indicates a pretty costly item though.
  37.       Three test cases are included:
  38.       
  39.          hptest     -    by Fabio Angelillis of Hewlett-Packard
  40.  
  41.         batest.1
  42.         batest.2 -    by Bill Ames of Silicon Compilers
  43.  
  44.     Many thanks to them and the files are provide as is, no warrenty
  45.     implied and brush after every meal ...
  46.       I find the parser code to be easily immediately obvious and so
  47.     no documentation is included in the release. Humm ... don't buy that.
  48.     Actually documentation is in the works but it would delay this
  49.     posting too long if I waited for it to be completed. If you find
  50.     the parser totally incomprehensible, E-mail me a request and I'll
  51.     send you whatever I have written by the time I get your mail.
  52.       Lastly, as far as I'm concerned this parser is now in the public
  53.     domain and you can do anything you want with it. My next task is
  54.     to make it build a database and when that's through I'll probably
  55.     post it again ... you have been warned! Enjoy, and I'd be happy to
  56.     get bug reports or stories of how many ways you found to delete
  57.     the source ...
  58. --
  59. -your friendly neighborhood Rogue Monster                     roger@mips.com
  60. UUCP: {decvax,ucbvax,ihnp4,hplabs,sun,ames,prls}!decwrl!mips!roger
  61. USPS: MIPS Computer Systems, 930 Arques, Sunnyvale, CA 94086, (408) 991-0220
  62.