Artifact 73100773ce614f79ac4b9773180e6aa7098709062c935d1d1c002777f7de20d1:
- Executable file
r37/packages/rlisp88/comment.red
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 1125) [annotate] [blame] [check-ins using] [more...]
- Executable file
r38/packages/rlisp88/comment.red
— part of check-in
[f2fda60abd]
at
2011-09-02 18:13:33
on branch master
— Some historical releases purely for archival purposes
git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1375 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 1125) [annotate] [blame] [check-ins using]
module comment; % Routines for handling active comments. % Author: Anthony C. Hearn. % Copyright (c) 1987 The RAND Corporation. All rights reserved. % This module supports the concept of active comments. Such comments are % delimited by the comment brackets /* and */. Everything read between % those brackets is converted to a string (including eol), and the % expression returned as the list (*comment* <comment string>). symbolic procedure read!-comment; begin scalar ollength,raise,x,y,z; raise := !*raise; !*raise := nil; ollength := linelength 150; z := list(crchar!*,'!"); a: if (x := readch()) eq '!* then if (y := readch()) eq '!/ then go to b else z := y . x . z else if x = !$eof!$ then <<!*raise := raise; rederr "EOF encountered in comment">> else z := x . z; go to a; b: !*raise := raise; crchar!* := readch(); z := '!" . z; z := list('!*comment!*,mkstrng compress reversip z); linelength ollength; return z end; newtok '((!/ !*) !*comment!*); endmodule; end;