home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / historic / v941.tgz / icon.v941src.tar / icon.v941src / ipl / progs / istrip.icn < prev    next >
Text File  |  2000-07-29  |  1KB  |  44 lines

  1. ############################################################################
  2. #
  3. #    File:     istrip.icn
  4. #
  5. #    Subject:  Program to strip comments from Icon program
  6. #
  7. #    Author:   Ralph E. Griswold
  8. #
  9. #    Date:     March 29, 1992
  10. #
  11. ############################################################################
  12. #
  13. #   This file is in the public domain.
  14. #
  15. ############################################################################
  16. #
  17. #  This program strips comments out of an Icon program. It also removes
  18. #  empty lines and leading whitespace (see stripcom.icn).
  19. #
  20. ############################################################################
  21. #
  22. #  Links:  stripcom
  23. #
  24. ############################################################################
  25.  
  26. link stripcom
  27.  
  28. procedure main()
  29.    local line, nextline
  30.  
  31.    while line := read() do {
  32.       while line[-1] == "_" do {    # handle continued literal
  33.          nextline := read() | stop("*** unclosed continued literal")
  34.          nextline ?:= {
  35.             tab(many(' \t'))        # remove leading whitespace
  36.             tab(0)
  37.             }
  38.          line := line[1:-1] || nextline
  39.          }
  40.       write(stripcom(line))
  41.       }
  42.  
  43. end
  44.