-
/* --------------------------------------------------------------------------
* Input functions, lexical analysis parsing etc...
*
* included in the distribution.
*
* $RCSfile: input.c,v $
- * $Revision: 1.24 $
- * $Date: 2000/03/24 14:32:03 $
+ * $Revision: 1.30 $
+ * $Date: 2000/04/25 17:43:49 $
* ------------------------------------------------------------------------*/
#include "hugsbasictypes.h"
#undef IN
#endif
-#if HAVE_LIBREADLINE && HAVE_READLINE_READLINE_H && HAVE_READLINE_HISTORY_H
+#if HAVE_READLINE_LIBS && HAVE_READLINE_HEADERS
#define USE_READLINE 1
#else
#define USE_READLINE 0
static Text textThen, textElse, textWhere, textLet, textIn;
static Text textInfix, textInfixl, textInfixr, textForeign, textNewtype;
static Text textDefault, textDeriving, textDo, textClass, textInstance;
+static Text textMdo;
#if IPARAM
static Text textWith, textDlet;
#endif
Text textStdcall; /* stdcall */
Text textNum; /* Num */
+Text textPrelPrim; /* PrelPrim */
Text textPrelude; /* Prelude */
Text textPlus; /* (+) */
static Cell varHiding; /* hiding */
static Cell varQualified; /* qualified */
static Cell varAsMod; /* as */
-static Cell varPrivileged; /* privileged */
static List imps; /* List of imports to be chased */
startToken();
while (c0!=EOF && !isIn(c0,ZPACE)) {
- if (c0=='"') {
+ if (c0=='"') {
skip();
while (c0!=EOF && c0!='\"') {
Cell c = readAChar(TRUE);
if (it==textHiding) return HIDING;
if (it==textQualified) return QUALIFIED;
if (it==textAsMod) return ASMOD;
- if (it==textPrivileged) return PRIVILEGED;
if (it==textWildcard) return '_';
if (it==textAll && !haskell98) return ALL;
#if IPARAM
if (it==textWith && !haskell98) lookAhead(WITH);
if (it==textDlet && !haskell98) lookAhead(DLET);
+ if (it==textMdo && !haskell98) lookAhead(MDO);
#endif
if (it==textUUAll) return ALL;
if (it==textUUUsage) return UUUSAGE;
textDefault = findText("default");
textDeriving = findText("deriving");
textDo = findText("do");
+ textMdo = findText("mdo");
textClass = findText("class");
#if IPARAM
textWith = findText("with");
textBang = findText("!");
textDot = findText(".");
textImplies = findText("=>");
+ textPrelPrim = findText("PrelPrim");
textPrelude = findText("Prelude");
textNum = findText("Num");
textModule = findText("module");
textHiding = findText("hiding");
textQualified = findText("qualified");
textAsMod = findText("as");
- textPrivileged = findText("privileged");
textWildcard = findText("_");
textAll = findText("forall");
textUUAll = findText("__forall");
varHiding = mkVar(textHiding);
varQualified = mkVar(textQualified);
varAsMod = mkVar(textAsMod);
- varPrivileged = mkVar(textPrivileged);
conMain = mkCon(findText("Main"));
varMain = mkVar(findText("main"));
evalDefaults = NIL;
mark(varHiding);
mark(varQualified);
mark(varAsMod);
- mark(varPrivileged);
mark(varMain);
mark(conMain);
mark(imps);