* for any purpose. It is provided "as is" without express or
* implied warranty.
*
- * Permissiom granted for noncommercial use and redistribution.
* To compile:
*
* flex newspeak.l
* rm lex.yy.c
*
* This must be compiled with "flex", not normal "lex". Lex has
- * some builtin, unchangable limits which this program exceeds.
+ * some builtin, unchangeable limits which this program exceeds.
* This has been verified to work with flex version 2.3.7, and
* may not work with flex version 2.3.6.
*
#define Y2 yytext[2]
#define Y3 yytext[3]
#define C caseify
-#define C1 caseify1
#define CAP(string) capstring(0, (string),0)
#define WCAP(string) capstring(Y0,(string),1)
#define WCOMP(string1,string2) compstring(Y0,(string1),(string2),1)
#define DUMP() printf("%s",yytext)
+
+void capstring(char, char*, int);
+void compstring(char, char*, char*, int);
+char _caseify(char, int);
+char caseify(char);
+
%}
%e 8000
%{
/******************************
- * Miscelaneous Translations *
+ * Miscellaneous Translations *
******************************/
%}
if (14 == fcounter++) printf("(fnord) ");
}
-[.,!?]\"([^\n\".!]+[.!])?\n/[\n\t ] printf("%c Hail Big Brother!\"%s",Y0,yytext+1);
+[.,!?]\"([^\n\".!]+[.!])?\n/[\n\t ] printf("%c Hail Big Brother!\"%s",Y0,yytext+2);
\"([.,!?][^\n\".!]+[.!])?\n/[\n\t ] printf("%c Hail Big Brother!\"%s",Y1,yytext+2);
-. printf(yytext);
+. printf("%s", yytext);
\n printf("\n");
%{
%}
%%
-main()
+int main()
{
yylex();
printf("\nHail Big Brother!\n");
}
-capstring(firstchar,string,i)
+void capstring(firstchar,string,i)
char firstchar, *string;
int i;
{
printf("%s",string+1);
}
-compstring(firstchar,string1,string2,i)
+void compstring(firstchar,string1,string2,i)
char firstchar, *string1, *string2;
int i;
{
capstring(0,string2,i);
}
-_caseify(c,i)
+char _caseify(c,i)
char c;
int i;
{
else return (c);
}
-caseify(c)
- char c;
-{ _caseify(c,0); }
-
-caseify1(c)
+char caseify(c)
char c;
-{ _caseify(c,1); }
+{
+ return _caseify(c,0);
+}