summaryrefslogtreecommitdiff
path: root/web/reduce/rweb/underscore.web
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /web/reduce/rweb/underscore.web
Initial commit
Diffstat (limited to 'web/reduce/rweb/underscore.web')
-rw-r--r--web/reduce/rweb/underscore.web32
1 files changed, 32 insertions, 0 deletions
diff --git a/web/reduce/rweb/underscore.web b/web/reduce/rweb/underscore.web
new file mode 100644
index 0000000000..b04b90c5e6
--- /dev/null
+++ b/web/reduce/rweb/underscore.web
@@ -0,0 +1,32 @@
+% Copyright (c) 1991: Marcel Roelofs and Peter Gragert
+% University of Twente, Enschede, The Netherlands
+% @@(#) underscore.web (91/03/11)
+
+@* Filter to remove underscores from REDUCE source. REDUCE does not
+allow sole underscores in identifiers. However, underscores preceded
+by an exclamation mark are allowed. Also REDUCE strings may contain
+underscores. The following C program is a filter that removes the
+forbidden underscores.
+
+@u
+#include <stdio.h>
+
+main (ac, av)
+char **av;
+{
+char c;
+while ((c=getc(stdin)) != EOF)
+ if (c=='!') {
+ putc(c,stdout);
+ c=getc(stdin);
+ putc(c,stdout);
+ }
+ else
+ if (c=='\"') {
+ while (putc(c,stdout), (c=getc(stdin)) != '\"') ;
+ putc(c,stdout);
+ }
+ else
+ if (c != '_') putc(c,stdout);
+}
+