Constants.h:      /* flag to display string for Maybe, True, False, Front */
Constants.h:#define GRAPHICSSYMBOL 0 /* flag to display symbol I drew */
Constants.h:#define MANAGESTRING 1 /* flag to display string for MANAGE */
GnuString.C:  if (!s.ipfx(0) || (!(s.flags() & ios::skipws) && !ws(s)))
Node-Ques-Cont.C:    // should not do it indiscriminately: keep a flag in the question
Node-Ques-Cont.C:                  // their question.  But use a flag so that we only print this
Node-SG-fields.C: * Added flags _mergeAnswerFlag and _mergePreconditionFlag.  These flags
Node-SG-fields.C: * are for merging tanzer reports.  The flags indicate that a precondition
Node-SG-fields.C:// PP 12/15/95  Added _mergeAnswerFlag to realSetAnswer.  
Node-SG-fields.C:// _mergeAnswerFlag is set when
Node-SG-fields.C:// Basically _mergeAnswerFlag says
Node-SG-fields.C://         some field has changed.  These result in flags to the node that we
Node-SG-fields.C://         put in realsetAnswer and realsetPrecondition.  If the flag is set,
Node-SG-fields.C://         changed (the flag would be ored with a change to effetive answer and
Node-SG-fields.C:	// DS: We used to be unsure about where the bits in _specialflag
Node-SG-fields.C:        // _specialflag = _answer.value().specialflag | _specialflag;
Node-SG-fields.C:	// Now that we divide the specialflag into one field for answer
Node-SG-fields.C:        _answerSpecialflag = _answer.value().specialflag;
Node-SG-fields.C:	// _mergeAnswerFlag is set when a previous phase of reading
Node-SG-fields.C:        if (old_value != _answer.value() || _mergeAnswerFlag)
Node-SG-fields.C:	// _mergeAnswerFlag is set when a previous phase of reading
Node-SG-fields.C:        if (old_effective != effectiveAnswer() || _mergeAnswerFlag) {
Node-SG-fields.C:           _mergeAnswerFlag = FALSE; // it has accomplished its mission
Node-SG-fields.C:        // Bit 2 of special flag (where bit 0 is low order)
Node-SG-fields.C:                   if (n()->_preconditionSpecialflag & (1<<2)) {
Node-SG-fields.C:                   if (n()->_answerSpecialflag & (1<<2)) {
Node-SG-fields.C:    _touchedFlag = AFALSE;
Node-SG-fields.C:    _answerSpecialflag = 0; // because it is empty
Node-SG-fields.C:        // Bit 2 of the appropriate special flag (where bit 0 is low order)
Node-SG-fields.C:                if (n()->_preconditionSpecialflag & (1<<2)) {
Node-SG-fields.C:                if (n()->_answerSpecialflag & (1<<2)) {
Node-SG-fields.C:    // DS: Used to want to set _specialflag to union of 
Node-SG-fields.C:    // specialflag in Precondition value and itself.
Node-SG-fields.C:    // _specialflag = _precondition.value().specialflag | _specialflag;
Node-SG-fields.C:    _preconditionSpecialflag = _precondition.value().specialflag;
Node-SG-fields.C:    // This sets the flag that tells the structure of the precondition -- i.e
Node-SG-fields.C:// PP 12/15/95 Added _mergePreconditionFlag to realSetPrecondition.
Node-SG-fields.C:// _mergePreconditionFlag is set when we are merging from a Tanzer formatted
Node-SG-fields.C:// report.  Basically _mergePreconditionFlag says 
Node-SG-fields.C://         some field has changed.  These result in flags to the node that we
Node-SG-fields.C://         put in realsetAnswer and realsetPrecondition.  If the flag is set,
Node-SG-fields.C://         changed (the flag would be ored with a change to effetive answer and
Node-SG-fields.C:        // _specialflag = _precondition.value().specialflag | _specialflag;
Node-SG-fields.C:        _preconditionSpecialflag = _precondition.value().specialflag; 
Node-SG-fields.C:        if (old_value != _precondition.value() || _mergePreconditionFlag )
Node-SG-fields.C:        if (old_effective != effectiveAnswer() || _mergePreconditionFlag ) {
Node-SG-fields.C:	    _mergePreconditionFlag = FALSE;
Node-SG-fields.C:                if (n()->_preconditionSpecialflag & (1<<1)) {
Node-SG-fields.C:                if (n()->_answerSpecialflag & (1<<1)) {
Node-SG-fields.C:// everything is ok, we raise a flag saying that the answer has been changed.
Node-SG-fields.C:                    	_mergePreconditionFlag = TRUE;
Node-SG-fields.C:                    	_mergeAnswerFlag = TRUE;
Node-propagation.C:    // bit 0 is simple flag (if set, then no if, no
Node-propagation.C:    // bit 1 is positive flag (simple && no not)
Node-propagation.C:    // bit 2 is conjunctive flag (positive && no or)
Node-propagation.C:    // bit 3 is disjunctive flag (positive && no and)
Node-propagation.C:    // bit 4 is solved flag (positive and each clause
Node-propagation.C:// This function flags all smartfield children that a parent node's value has
Node-propagation.C:    _preconditionSpecialflag = _precondition.value().specialflag;
Node-propagation.C:                   if (n()->_preconditionSpecialflag & (1<<1)) {
Node-propagation.C:                   if (n()->_answerSpecialflag & (1<<1)) {
Node-propagation.C:    _answerSpecialflag = _answer.value().specialflag;
Node-propagation.C:	// Bit 2 of special flag (where bit 0 is low order)
Node-propagation.C:                   if (n()->_preconditionSpecialflag & (1<<2)) {
Node-propagation.C:                   if (n()->_answerSpecialflag & (1<<2)) {
Node-relevant.C://              then print True.(ANOANSWER flag)
Node-relevant.C://              (ABLANK flag) : Overview
Node-relevant.C:	n()->_highlight = 0; // flag to light up newly true nodes 
Node-relevant.C:               // think that the touchedFlag is working quite right.  In any
Node-relevant.C:           && (n()->touchedFlag() == AFALSE)
Node-relevant.C:               // think that the touchedFlag is working quite right.  In any
Node-relevant.C://                    if (j()->touchedFlag() == AFALSE)
Node-relevant.C:	     || (cloe()->_preconditionSpecialflag & 1) == 1 
Node-relevant.C:   // We don't need || (cloe()->_answerSpecialflag & 1) == 1 
Node-relevant.C:	     || (cloe()->_preconditionSpecialflag & (1<<1)) == 1 
Node.C: * Added flags _mergeAnswerFlag and _mergePreconditionFlag.  These flags
Node.C: * are for merging tanzer reports.  The flags indicate that a precondition
Node.C:      _touchedFlag (AFALSE),
Node.C:      _subsheet_flag(0),
Node.C:      // _specialflag (0) a union of the following two
Node.C:      _preconditionSpecialflag (0), // special flag for precondition formula
Node.C:      _answerSpecialflag (0), // special flag for answer formula
Node.C:      _mergeAnswerFlag(FALSE),
Node.C:      _mergePreconditionFlag(FALSE),
Node.C:    _touchedFlag (AFALSE),
Node.C:    _subsheet_flag(0),
Node.C:    // _specialflag (0) a union of the following two
Node.C:    _preconditionSpecialflag (0), // special flag for precondition formula
Node.C:    _answerSpecialflag (0), // special flag for answer formula
Node.C:      _mergeAnswerFlag(FALSE),
Node.C:      _mergePreconditionFlag(FALSE),
Node.C:      _touchedFlag(AFALSE)
Node.C:    // _specialflag = n._specialflag;
Node.C:    _preconditionSpecialflag = n._preconditionSpecialflag;
Node.C:    _answerSpecialflag = n._answerSpecialflag;
Node.C:    _mergeAnswerFlag = n._mergeAnswerFlag;
Node.C:    _mergePreconditionFlag = n._mergePreconditionFlag;
Node.C://    _contentsModified =  n._contentsModified; // PP copy flags over too
Node.C:    _subsheet_flag = n._subsheet_flag;
Node.C:    >> n._subsheet_flag
Node.C:    << n._subsheet_flag		<< ":"
Node.C:    // Now set up _specialflags.
Node.C:    n._preconditionSpecialflag = 0;
Node.C:    n._answerSpecialflag = 0;
Node.C:    if (formulae.length() > 0) { // _answerSpecialflag will be 0 otherwise
Node.C:	   ) { n._answerSpecialflag |= 1; }
Node.C:	      { n._answerSpecialflag |= (1<<1);}
Node.C:	      { n._answerSpecialflag |= (1<<2);}
Node.C:	   ) { n._answerSpecialflag |= (1<<3);}
Node.C:    if (formulae.length() > 0) { // _preconditionSpecialflag will be 0 otherwise
Node.C:	   ) { n._preconditionSpecialflag |= 1; }
Node.C:	      { n._preconditionSpecialflag |= (1<<1);}
Node.C:	      { n._preconditionSpecialflag |= (1<<2);}
Node.C:	   ) { n._preconditionSpecialflag |= (1<<3);}
Node.C:    << n._subsheet_flag	<< '\n'
Node.C:    << n._subsheet_flag		<< ":"
Node.h: *  Added flags _mergeAnswerFlag and _mergePreconditionFlag.  These flags
Node.h: * are for merging tanzer reports.  The flags indicate that a precondition
Node.h://    int		_contentsModified; // PP these are flags to detect
Node.h:    int			_touchedFlag;      // PP flag for whether user
Node.h:    int			_highlight;      // PP flag for how bright node
Node.h:    // int			_specialflag;// DS used in relevance calculation
Node.h:    int                 _preconditionSpecialflag;
Node.h:    int                 _answerSpecialflag;
Node.h:    // These flags are set to TRUE whenever we are merging in answers or
Node.h:    int _mergeAnswerFlag;
Node.h:    int _mergePreconditionFlag;
Node.h:			// bit 0 is simple flag (if set, then no if, no
Node.h:			// bit 1 is positive flag (simple && no not)
Node.h:			// bit 2 is conjunctive flag (positive && no or)
Node.h:			// bit 3 is disjunctive flag (positive && no and)
Node.h:			// bit 4 is solved flag (positive and each clause
Node.h:    int _preconditionFlag;
Node.h:    // expands to. Will be true if subsheet_flag is true
Node.h:    int		 _subsheet_flag;
Node.h:    int		touchedFlag () const { return _touchedFlag; }
NodeWin.h:		   // this is a bit vector flag for telling
Parser.C:        return n->touchedFlag();
Parser.C:  int flag = TRUE; /* to control reading loop */
Parser.C:  int flag = TRUE; /* to control reading loop */
Question.C:            CString flagList =
Question.C:	    // cerr << "extractQuestionType: flagList = " << flagList << endl;
Question.C:            // now iterate through the flag list.  Flags are separated by
Question.C:            // commas, so we take each flag by getting all of the info before
Question.C:            // the comma and then setting flagList to everything after the
Question.C:            while (flagList != "")
Question.C:                    CString flag = trimWhiteSpace (flagList.before(","));
Question.C:		    // cerr << "extractQuestionType:     flag = " << flag << endl;
Question.C:                    flagList = flagList.after(",");
Question.C:                    // should downcase or upcase flag here.
Question.C:                    if (flag == "text")
Question.C:                    else if (flag == "numeric")
Question.C:                    else if (flag == "singleton")
Question.C:                    else if (flag == "multiple")
Question.C://                     else if (flag == "range")
Question.C:            // no [...] flags.  Use defaults
SheetGraph.C:    // then we will restore the old graph.  Only do this if saveFlag is one.
SheetGraph.C:// based on bit 3 of _preconditionSpecialflag that says that this node does
SheetGraph.C:// Similarly for those nodes' answers whose _answerSpecialflag has
SheetGraph.C:		if (potential()->_preconditionSpecialflag & (1<<3))
SheetGraph.C:		if (potential()->_answerSpecialflag & (1<<3))
SmartField.C: * Added in recalculateOnClick flag, which is set whenever we encounter one
SmartField.C:    int openQuote = 0; // flag to check for open and close quotes
SmartField.C:    int whiteSpace = 0; // flag for whether we encountered whitespace
SmartField.C:                        // otherwise, set the whitespace flag, but do *not*
SmartField.C:                            whiteSpace = 1; // just set the flag, don't copy
SmartField.C:                        openQuote ^= 1; // toggle the openQuote flag with xor
SmartField.C:    // catch that.  Also, the whiteSpace flag might be set, but we don't want
SmartField.C://		reset modified and parent changed flag for this field
SmartField.C://      registered by setting the flag parentChanged by the function
SmartField.C:            // reset modified and parentChanged flags.
SmartField.C:            // inserted node does not yet exist, the parser will flag an error.
SmartField.C:// if modified flag is already set do nothing.  Otherwise set it, and if
SmartField.C:            return; // this field is already flagged, no need to flag again
SmartField.C:    // changed) if the parentChanged flag is not already set
SmartField.C:// this method checks to see whether the _modified flag is set or the
SmartField.C:// parentsChanged flag is set.  If so, then does nothing.  Otherwise sets
SmartField.C:// in resultText.  If there is an error, the error flag is set and resultText
SmartField.C:    // flags is that later directives might depend on the output of the system
SmartField.C:    // flags is that later directives might depend on the output of the system
SmartField.h: * Added in recalculateOnClick flag, which is set whenever we encounter one
SmartField.h: * added insertParents.  Also added a _modified and _parentChanged flag.
SmartField.h: * These flags tell the smartfield when it should be recalculated.  If both
SmartField.h: * flags are false, no recalculation need be done and the current string
SmartField.h:    // parentChange checks to see whether the _modified flag is set or the
SmartField.h:    // parentsChanged flag is set.  If so, then does nothing.  Otherwise sets
SmartField.h:    // if modified flag is already set do nothing.  Otherwise set it, and if
SmartField.h:    int _modified;  // this flag is set whenever the text of the smartfield is
SmartField.h:                    // changed. if this flag is set, we should throw away any
SmartField.h:                    // etc.).  This flag should be set when a smartfield is
SmartField.h:    int _parentChanged; // this flag is set whenever a parent (either a node or
SmartField.h:    int _recalculateOnClick; //this flag is set whenever the contents
SmartField.h:    int _inClick; // this flag is set when filteredAndClick is called.  It
SmartField.h:    // if none of these three flags is set 
SmartField.h:    // we reset the flags when a new filtered text is calculated (after an
SmartField.h:    // When a smartfield first sets either its _modified or _parentChanged flag
SmartField.h:    // propagation, each child sets its parentChanged flag and propagates if
SmartField.h:    // that flag and the modified flag are unset, otherwise does nothing.
SmartField.h:// in resultText.  If there is an error, the error flag is set and resultText
SmartFile.C: * added code to handle the new recalculateOnClick flag.
SmartFile.C: * changed evaluate to check the _modified and _parentChanged flags to decide
SmartFile.C:// filtered text to disk, if the _modified flag or _parentChanged 
SmartFile.C:// or _recalculateOnClick flags are set.
SmartString.C: * added code to handle the new recalculateOnClick flag.
SmartString.C: * changed evaluate() to check the _modifed and _parentChanged flags to decide
Value.C:    specialflag = v.specialflag;
Value.C:	  specialflag = v.specialflag;
Value.C:  // specialflag and formulaType to zero (maybe not). PP 10/27/95
Value.C:    v.specialflag  = 0;
Value.C:    >> v.specialflag;
Value.C:    << v.specialflag  << "\n";
Value.C:    // DS  special flag is a hack for relevance recomputation
Value.C:    if ( x.kind != y.kind  || x.specialflag != y.specialflag )
Value.h:    // kind, specialflag and formulaType is important for all types of values
Value.h:    int specialflag;
constants.h:      /* flag to display string for Maybe, True, False, Front */
constants.h:#define GRAPHICSSYMBOL 0 /* flag to display symbol I drew */
constants.h:#define MANAGESTRING 1 /* flag to display string for MANAGE */
generic.C://	   searched and a boolean flag whiste_space, which is set to true
generic.h://	   searched and a boolean flag whiste_space, which is set to true
parameters.h:      /* flag to display string for Maybe, True, False, Front */
parameters.h:#define GRAPHICSSYMBOL 0 /* flag to display symbol I drew */
parameters.h:#define MANAGESTRING 1 /* flag to display string for MANAGE */
parser-y.tab.C:#define yyerrok yyerrflag = 0
parser-y.tab.C:extern int yyerrflag;
parser-y.tab.C:Value precondition_flag;       /* This is the structure returns to xmsheet */
parser-y.tab.C:int error_flag;
parser-y.tab.C:unsigned int specialflag;
parser-y.tab.C:static unsigned int simpleFlag;
parser-y.tab.C:static unsigned int positiveFlag;
parser-y.tab.C:static unsigned int conjunctiveFlag;
parser-y.tab.C:static unsigned int disjunctiveFlag;
parser-y.tab.C:static unsigned int solvedFlag;
parser-y.tab.C:int nodecount;  /* for setting the above optimization flags */
parser-y.tab.C:int set_former, init_flag=0;
parser-y.tab.C:int in_sst=0;   /* local or global symbol table flag */
parser-y.tab.C:  if (c==0 || error_flag)
parser-y.tab.C:   error_flag=1;  /* syntax error return */
parser-y.tab.C:   if (error_flag != 1) { // we are encountering the first
parser-y.tab.C:       error_flag=1;  /* set syntax error now*/
parser-y.tab.C:   if (init_flag==0)
parser-y.tab.C:      init_flag=1;
parser-y.tab.C:   error_flag=0;
parser-y.tab.C:   Value::setZero(precondition_flag);
parser-y.tab.C:   precondition_flag.kind=Value::LOGIC;
parser-y.tab.C:   precondition_flag.precondition=ANOVAL;  // or ATRUE
parser-y.tab.C:    * These flags are used for determining formula type and to do optimization
parser-y.tab.C:   specialflag=0U;
parser-y.tab.C:   simpleFlag=1U;
parser-y.tab.C:   positiveFlag=1U;
parser-y.tab.C:   conjunctiveFlag=1U;
parser-y.tab.C:   disjunctiveFlag=1U;
parser-y.tab.C:   solvedFlag=1U;
parser-y.tab.C:      int continue_flag = 1;
parser-y.tab.C:      while (continue_flag) {
parser-y.tab.C:      	 continue_flag = yyparse(); // set to 0 if finished
parser-y.tab.C:	 if (error_flag) continue_flag = 0; // error
parser-y.tab.C:      // this table_too_small flag will be set when program array is too small
parser-y.tab.C:      positiveFlag = simpleFlag && positiveFlag;
parser-y.tab.C:      conjunctiveFlag = positiveFlag && conjunctiveFlag;
parser-y.tab.C:      disjunctiveFlag = positiveFlag && disjunctiveFlag;
parser-y.tab.C:      solvedFlag = (conjunctiveFlag || disjunctiveFlag) && solvedFlag;
parser-y.tab.C:      xformulaType = simpleFlag;
parser-y.tab.C:      if (positiveFlag) xformulaType  |= (1 << 1);
parser-y.tab.C:      if (conjunctiveFlag) xformulaType  |= (1 << 2);
parser-y.tab.C:      if (disjunctiveFlag) xformulaType  |= (1 << 3);
parser-y.tab.C:      if (solvedFlag) xformulaType  |= (1 << 4);
parser-y.tab.C:      xformulaType = precondition_flag.formulaType;
parser-y.tab.C:   for (initcode(); !error_flag && (*m_progp).f != STOP; initcode() ) {
parser-y.tab.C:   if (end >0 && !error_flag) {
parser-y.tab.C:   precondition_flag.specialflag=specialflag;
parser-y.tab.C:   precondition_flag.formulaType = xformulaType;
parser-y.tab.C:   if (error_flag==1) {  /*SYNTAX ERROR */
parser-y.tab.C:       Value::setZero(precondition_flag);
parser-y.tab.C:       precondition_flag.kind=Value::ERROR;
parser-y.tab.C:       return precondition_flag;
parser-y.tab.C:          fprintf(stderr,"RETURN %d %d %lf %lf\n",precondition_flag.kind,
parser-y.tab.C:                                       precondition_flag.precondition,
parser-y.tab.C:                                       precondition_flag.lowfloat,
parser-y.tab.C:                                       precondition_flag.highfloat);
parser-y.tab.C:       return precondition_flag;
parser-y.tab.C:#define YYRECOVERING()	(!!yyerrflag)
parser-y.tab.C:#define YYFLAG		(-1000)
parser-y.tab.C:int yyerrflag;			/* error recovery flag */
parser-y.tab.C:	yyerrflag = 0;
parser-y.tab.C:		if ( ( yy_n = yypact[ yy_state ] ) <= YYFLAG )
parser-y.tab.C:			if ( yyerrflag > 0 )
parser-y.tab.C:				yyerrflag--;
parser-y.tab.C:			switch ( yyerrflag )
parser-y.tab.C:				yyerrflag = 3;
parser-y.tab.C:            simpleFlag = 0U;
parser-y.tab.C:            simpleFlag = 0U;
parser-y.tab.C:{ simpleFlag=0U; yyval.inst=yypvt[-4].inst; code(arrayassign); } break;
parser-y.tab.C:            simpleFlag = 0U;
parser-y.tab.C:            simpleFlag = 0U;
parser-y.tab.C:            simpleFlag = 0U;
parser-y.tab.C:            simpleFlag = 0U;
parser-y.tab.C:            simpleFlag=0U;
parser-y.tab.C:            simpleFlag=0U;
parser-y.tab.C:            if (nodecount > 1) solvedFlag=0U;
parser-y.tab.C:            if (nodecount > 1) solvedFlag=0U;
parser-y.tab.C:            simpleFlag=0U;
parser-y.tab.C:                simpleFlag=0U;
parser-y.tab.C:              	simpleFlag=0U;
parser-y.tab.C:              	simpleFlag=0U;
parser-y.tab.C:       		positiveFlag=0U;
parser-y.tab.C:{ disjunctiveFlag=0U; code(and); } break;
parser-y.tab.C:{ conjunctiveFlag=0U; code(or);} break;
parser-y.tab.C:{ simpleFlag = 0U; yyval.inst=yypvt[-1].inst;} break;
parser-y.tab.C:{ simpleFlag = 0U; yyval.inst=yypvt[-1].inst;} break;
parser-y.tab.C:{ simpleFlag = 0U; yyval.inst=yypvt[-1].inst;} break;
parser-y.tab.C:            	simpleFlag = 0U;
parser-y.tab.C:         	if (nodecount > 1) solvedFlag=0U;
parser-y.tab.C:         	if (nodecount > 1) solvedFlag=0U;
parser-y.tab.C:            	simpleFlag = 0U;
parser-y.tab.C:            	simpleFlag = 0U;
parser-y.tab.C:            	simpleFlag = 0U;
parser-y.tab.C:            	simpleFlag = 0U;
parser-y.tab.C:            	simpleFlag = 0U;
parser-y.tab.C:            	simpleFlag = 0U;
parser-y.tab.C:            	simpleFlag = 0U;
parser-y.tab.C:{ simpleFlag=0U;yyval.inst=yypvt[-1].inst;code(trueParser);} break;
parser-y.tab.C:{ simpleFlag=0U;yyval.inst=yypvt[-1].inst;code(falseParser);} break;
parser-y.tab.C:{ simpleFlag=0U;yyval.inst=yypvt[-1].inst;code(possible);} break;
parser-y.tab.C:{ simpleFlag=0U;yyval.inst=yypvt[-1].inst; code(size);} break;
parser-y.tab.C:{ simpleFlag=0U; /*??*/ yyval.inst=code(thisyear);} break;
parser-y.tab.C:{ simpleFlag=0U; /*??*/ yyval.inst=code(thismonth);} break;
parser-y.tab.C:{ simpleFlag=0U; /*??*/ yyval.inst=code(thisdayofmonth);} break;
parser-y.tab.C:{ simpleFlag=0U; /*??*/ yyval.inst=code(thisdayofweek);} break;
parser-y.tab.C:	    simpleFlag=0U; yyval.inst=yypvt[-1].inst; code3(arrayvarpush, (int)yypvt[-3].sym, arraydimension); 
parser-y.tab.C:{ in_contents_sym=1; simpleFlag=0U; yyval.inst=yypvt[-6].inst; code(createsym); } break;
parser-y.tab.C:{ simpleFlag=0U; yyval.inst=yypvt[-1].inst; code(stringlen); } break;
parser-y.tab.C:              	simpleFlag=0U;
parser-y.tab.C:              	simpleFlag=0U;
parser-y.tab.C:			     /*NOTE - */    simpleFlag = 0U; } break;
parser-y.tab.C:               simpleFlag = 0U;
parser-y.tab.C:               simpleFlag = 0U;
parser-y.tab.C:               simpleFlag = 0U; indef=1;} break;
parser.code.C:extern Value precondition_flag;
parser.code.C:extern int error_flag;
parser.code.C:extern unsigned int specialflag;
parser.code.C: * if the program array is too small, then table_too_small flag will be set,
parser.code.C:      error_flag = 1;
parser.code.C://         error_flag=1;  /* syntax error return */
parser.code.C: * if the program array is too small, then table_too_small flag will be set,
parser.code.C:      error_flag = 1;
parser.code.C://         error_flag=1;  /* syntax error return */
parser.code.C:   while( !error_flag && pc && (*pc).f!=STOP && !returning) 
parser.code.C:   if (!error_flag)
parser.code.C:   precondition_flag=(*(stackp-1)).val;  /* the parser return the last */
parser.code.C:   if (error_flag)
parser.code.C:      assign_possible((Datum &) precondition_flag);
parser.code.C:         if (error_flag)
parser.code.C:         if (error_flag)
parser.code.C:   if (error_flag)
parser.code.C:      assign_possible((Datum &) precondition_flag);
parser.code.C:        if (error_flag)
parser.code.C:           if (error_flag)
parser.code.C:         if (error_flag) {
parser.code.C:         if (error_flag)
parser.code.C:   if (!error_flag) {
parser.code.C:   if (!error_flag)
parser.code.C:   specialflag |= 1; 
parser.code.C:   specialflag |= 1; 
parser.code.C:   specialflag |= (1<<1); 
parser.code.C:   specialflag |= (1<<2); 
parser.code.C:   specialflag |= 1; 
parser.code.C:   specialflag |= 1; 
parser.code.C:   specialflag |= 1; 
parser.code.C:   specialflag |= (1<<3); 
parser.code.C:   specialflag |= (1<<3); 
parser.code.C:   specialflag |= (1<<3); 
parser.code.C:   specialflag |= (1<<3); 
parser.code.C:   if (precondition_flag.precondition==ANOVAL)
parser.code.C:       precondition_flag.precondition=ATRUE;
parser.symbol.C:extern int error_flag;
parser.symbol.C://  if (!table_too_small && !error_flag) {
parser.symbol.C: if (!error_flag) {
parser.symbol.C://         error_flag = 1;
y.tab.c:#define yyerrok yyerrflag = 0
y.tab.c:extern int yyerrflag;
y.tab.c:Value precondition_flag;       /* This is the structure returns to xmsheet */
y.tab.c:int error_flag;
y.tab.c:unsigned int specialflag;
y.tab.c:static unsigned int simpleFlag;
y.tab.c:static unsigned int positiveFlag;
y.tab.c:static unsigned int conjunctiveFlag;
y.tab.c:static unsigned int disjunctiveFlag;
y.tab.c:static unsigned int solvedFlag;
y.tab.c:int nodecount;  /* for setting the above optimization flags */
y.tab.c:int set_former, init_flag=0;
y.tab.c:int in_sst=0;   /* local or global symbol table flag */
y.tab.c:  if (c==0 || error_flag)
y.tab.c:   error_flag=1;  /* syntax error return */
y.tab.c:   if (error_flag != 1) { // we are encountering the first
y.tab.c:       error_flag=1;  /* set syntax error now*/
y.tab.c:   if (init_flag==0)
y.tab.c:      init_flag=1;
y.tab.c:   error_flag=0;
y.tab.c:   Value::setZero(precondition_flag);
y.tab.c:   precondition_flag.kind=Value::LOGIC;
y.tab.c:   precondition_flag.precondition=ANOVAL;  // or ATRUE
y.tab.c:    * These flags are used for determining formula type and to do optimization
y.tab.c:   specialflag=0U;
y.tab.c:   simpleFlag=1U;
y.tab.c:   positiveFlag=1U;
y.tab.c:   conjunctiveFlag=1U;
y.tab.c:   disjunctiveFlag=1U;
y.tab.c:   solvedFlag=1U;
y.tab.c:      int continue_flag = 1;
y.tab.c:      while (continue_flag) {
y.tab.c:      	 continue_flag = yyparse(); // set to 0 if finished
y.tab.c:	 if (error_flag) continue_flag = 0; // error
y.tab.c:      // this table_too_small flag will be set when program array is too small
y.tab.c:      positiveFlag = simpleFlag && positiveFlag;
y.tab.c:      conjunctiveFlag = positiveFlag && conjunctiveFlag;
y.tab.c:      disjunctiveFlag = positiveFlag && disjunctiveFlag;
y.tab.c:      solvedFlag = (conjunctiveFlag || disjunctiveFlag) && solvedFlag;
y.tab.c:      xformulaType = simpleFlag;
y.tab.c:      if (positiveFlag) xformulaType  |= (1 << 1);
y.tab.c:      if (conjunctiveFlag) xformulaType  |= (1 << 2);
y.tab.c:      if (disjunctiveFlag) xformulaType  |= (1 << 3);
y.tab.c:      if (solvedFlag) xformulaType  |= (1 << 4);
y.tab.c:      xformulaType = precondition_flag.formulaType;
y.tab.c:   for (initcode(); !error_flag && (*m_progp).f != STOP; initcode() ) {
y.tab.c:   if (end >0 && !error_flag) {
y.tab.c:   precondition_flag.specialflag=specialflag;
y.tab.c:   precondition_flag.formulaType = xformulaType;
y.tab.c:   if (error_flag==1) {  /*SYNTAX ERROR */
y.tab.c:       Value::setZero(precondition_flag);
y.tab.c:       precondition_flag.kind=Value::ERROR;
y.tab.c:       return precondition_flag;
y.tab.c:          fprintf(stderr,"RETURN %d %d %lf %lf\n",precondition_flag.kind,
y.tab.c:                                       precondition_flag.precondition,
y.tab.c:                                       precondition_flag.lowfloat,
y.tab.c:                                       precondition_flag.highfloat);
y.tab.c:       return precondition_flag;
y.tab.c:#define YYRECOVERING()	(!!yyerrflag)
y.tab.c:#define YYFLAG		(-1000)
y.tab.c:int yyerrflag;			/* error recovery flag */
y.tab.c:	yyerrflag = 0;
y.tab.c:		if ( ( yy_n = yypact[ yy_state ] ) <= YYFLAG )
y.tab.c:			if ( yyerrflag > 0 )
y.tab.c:				yyerrflag--;
y.tab.c:			switch ( yyerrflag )
y.tab.c:				yyerrflag = 3;
y.tab.c:            simpleFlag = 0U;
y.tab.c:            simpleFlag = 0U;
y.tab.c:{ simpleFlag=0U; yyval.inst=yypvt[-4].inst; code(arrayassign); } break;
y.tab.c:            simpleFlag = 0U;
y.tab.c:            simpleFlag = 0U;
y.tab.c:            simpleFlag = 0U;
y.tab.c:            simpleFlag = 0U;
y.tab.c:            simpleFlag=0U;
y.tab.c:            simpleFlag=0U;
y.tab.c:            if (nodecount > 1) solvedFlag=0U;
y.tab.c:            if (nodecount > 1) solvedFlag=0U;
y.tab.c:            simpleFlag=0U;
y.tab.c:                simpleFlag=0U;
y.tab.c:              	simpleFlag=0U;
y.tab.c:              	simpleFlag=0U;
y.tab.c:       		positiveFlag=0U;
y.tab.c:{ disjunctiveFlag=0U; code(and); } break;
y.tab.c:{ conjunctiveFlag=0U; code(or);} break;
y.tab.c:{ simpleFlag = 0U; yyval.inst=yypvt[-1].inst;} break;
y.tab.c:{ simpleFlag = 0U; yyval.inst=yypvt[-1].inst;} break;
y.tab.c:{ simpleFlag = 0U; yyval.inst=yypvt[-1].inst;} break;
y.tab.c:            	simpleFlag = 0U;
y.tab.c:         	if (nodecount > 1) solvedFlag=0U;
y.tab.c:         	if (nodecount > 1) solvedFlag=0U;
y.tab.c:            	simpleFlag = 0U;
y.tab.c:            	simpleFlag = 0U;
y.tab.c:            	simpleFlag = 0U;
y.tab.c:            	simpleFlag = 0U;
y.tab.c:            	simpleFlag = 0U;
y.tab.c:            	simpleFlag = 0U;
y.tab.c:            	simpleFlag = 0U;
y.tab.c:{ simpleFlag=0U;yyval.inst=yypvt[-1].inst;code(trueParser);} break;
y.tab.c:{ simpleFlag=0U;yyval.inst=yypvt[-1].inst;code(falseParser);} break;
y.tab.c:{ simpleFlag=0U;yyval.inst=yypvt[-1].inst;code(possible);} break;
y.tab.c:{ simpleFlag=0U;yyval.inst=yypvt[-1].inst; code(size);} break;
y.tab.c:{ simpleFlag=0U; /*??*/ yyval.inst=code(thisyear);} break;
y.tab.c:{ simpleFlag=0U; /*??*/ yyval.inst=code(thismonth);} break;
y.tab.c:{ simpleFlag=0U; /*??*/ yyval.inst=code(thisdayofmonth);} break;
y.tab.c:{ simpleFlag=0U; /*??*/ yyval.inst=code(thisdayofweek);} break;
y.tab.c:	    simpleFlag=0U; yyval.inst=yypvt[-1].inst; code3(arrayvarpush, (int)yypvt[-3].sym, arraydimension); 
y.tab.c:{ in_contents_sym=1; simpleFlag=0U; yyval.inst=yypvt[-6].inst; code(createsym); } break;
y.tab.c:{ simpleFlag=0U; yyval.inst=yypvt[-1].inst; code(stringlen); } break;
y.tab.c:              	simpleFlag=0U;
y.tab.c:              	simpleFlag=0U;
y.tab.c:			     /*NOTE - */    simpleFlag = 0U; } break;
y.tab.c:               simpleFlag = 0U;
y.tab.c:               simpleFlag = 0U;
y.tab.c:               simpleFlag = 0U; indef=1;} break;
yaccparser.y:            simpleFlag = 0U;
yaccparser.y:            simpleFlag = 0U;
yaccparser.y:	 { simpleFlag=0U; $$=$3; code(arrayassign); } 
yaccparser.y:            simpleFlag = 0U;
yaccparser.y:            simpleFlag = 0U;
yaccparser.y:            simpleFlag = 0U;
yaccparser.y:            simpleFlag = 0U;
yaccparser.y:            simpleFlag=0U;
yaccparser.y:            simpleFlag=0U;
yaccparser.y:            if (nodecount > 1) solvedFlag=0U;
yaccparser.y:            if (nodecount > 1) solvedFlag=0U;
yaccparser.y:            simpleFlag=0U;
yaccparser.y:                simpleFlag=0U;
yaccparser.y:              	simpleFlag=0U;
yaccparser.y:              	simpleFlag=0U;
yaccparser.y:       		positiveFlag=0U;
yaccparser.y:	      { disjunctiveFlag=0U; code(and); }
yaccparser.y:	      { conjunctiveFlag=0U; code(or);}
yaccparser.y:		{ simpleFlag = 0U; $$=$5;}
yaccparser.y:		{ simpleFlag = 0U; $$=$5;}
yaccparser.y:		{ simpleFlag = 0U; $$=$5;}
yaccparser.y:            	simpleFlag = 0U;
yaccparser.y:         	if (nodecount > 1) solvedFlag=0U;
yaccparser.y:         	if (nodecount > 1) solvedFlag=0U;
yaccparser.y:            	simpleFlag = 0U;
yaccparser.y:            	simpleFlag = 0U;
yaccparser.y:            	simpleFlag = 0U;
yaccparser.y:            	simpleFlag = 0U;
yaccparser.y:            	simpleFlag = 0U;
yaccparser.y:            	simpleFlag = 0U;
yaccparser.y:            	simpleFlag = 0U;
yaccparser.y:       | TRUE '(' expr ')' { simpleFlag=0U;$$=$3;code(trueParser);}
yaccparser.y:       | FALSE '(' expr ')' { simpleFlag=0U;$$=$3;code(falseParser);}
yaccparser.y:       | POSSIBLE '(' expr ')' { simpleFlag=0U;$$=$3;code(possible);}
yaccparser.y:       | SIZE '(' expr ')' { simpleFlag=0U;$$=$3; code(size);}
yaccparser.y:       | YEAR '(' ')' { simpleFlag=0U; /*??*/ $$=code(thisyear);}
yaccparser.y:       | MONTH '(' ')' { simpleFlag=0U; /*??*/ $$=code(thismonth);}
yaccparser.y:       | DOM '(' ')' { simpleFlag=0U; /*??*/ $$=code(thisdayofmonth);} 
yaccparser.y:       | DOW '(' ')' { simpleFlag=0U; /*??*/ $$=code(thisdayofweek);}  
yaccparser.y:	    simpleFlag=0U; $$=$3; code3(arrayvarpush, (int)$1, arraydimension); 
yaccparser.y:	     { in_contents_sym=1; simpleFlag=0U; $$=$5; code(createsym); }
yaccparser.y:       | STRLEN '(' strelem ')' { simpleFlag=0U; $$=$3; code(stringlen); }
yaccparser.y:              	simpleFlag=0U;
yaccparser.y:              	simpleFlag=0U;
yaccparser.y:              	simpleFlag=0U;
yaccparser.y:              	simpleFlag=0U;
yaccparser.y:			     /*NOTE - */    simpleFlag = 0U; }
yaccparser.y:               simpleFlag = 0U;
yaccparser.y:               simpleFlag = 0U;
yaccparser.y:               simpleFlag = 0U; indef=1;}
yaccparser.y:Value precondition_flag;       /* This is the structure returns to xmsheet */
yaccparser.y:int error_flag;
yaccparser.y:unsigned int specialflag;
yaccparser.y:static unsigned int simpleFlag;
yaccparser.y:static unsigned int positiveFlag;
yaccparser.y:static unsigned int conjunctiveFlag;
yaccparser.y:static unsigned int disjunctiveFlag;
yaccparser.y:static unsigned int solvedFlag;
yaccparser.y:int nodecount;  /* for setting the above optimization flags */
yaccparser.y:int set_former, init_flag=0;
yaccparser.y:int in_sst=0;   /* local or global symbol table flag */
yaccparser.y:  if (c==0 || error_flag)
yaccparser.y:   error_flag=1;  /* syntax error return */
yaccparser.y:   if (error_flag != 1) { // we are encountering the first
yaccparser.y:       error_flag=1;  /* set syntax error now*/
yaccparser.y:   if (init_flag==0)
yaccparser.y:      init_flag=1;
yaccparser.y:   error_flag=0;
yaccparser.y:   Value::setZero(precondition_flag);
yaccparser.y:   precondition_flag.kind=Value::LOGIC;
yaccparser.y:   precondition_flag.precondition=ANOVAL;  // or ATRUE
yaccparser.y:    * These flags are used for determining formula type and to do optimization
yaccparser.y:   specialflag=0U;
yaccparser.y:   simpleFlag=1U;
yaccparser.y:   positiveFlag=1U;
yaccparser.y:   conjunctiveFlag=1U;
yaccparser.y:   disjunctiveFlag=1U;
yaccparser.y:   solvedFlag=1U;
yaccparser.y:      int continue_flag = 1;
yaccparser.y:      while (continue_flag) {
yaccparser.y:      	 continue_flag = yyparse(); // set to 0 if finished
yaccparser.y:	 if (error_flag) continue_flag = 0; // error
yaccparser.y:      // this table_too_small flag will be set when program array is too small
yaccparser.y:      positiveFlag = simpleFlag && positiveFlag;
yaccparser.y:      conjunctiveFlag = positiveFlag && conjunctiveFlag;
yaccparser.y:      disjunctiveFlag = positiveFlag && disjunctiveFlag;
yaccparser.y:      solvedFlag = (conjunctiveFlag || disjunctiveFlag) && solvedFlag;
yaccparser.y:      xformulaType = simpleFlag;
yaccparser.y:      if (positiveFlag) xformulaType  |= (1 << 1);
yaccparser.y:      if (conjunctiveFlag) xformulaType  |= (1 << 2);
yaccparser.y:      if (disjunctiveFlag) xformulaType  |= (1 << 3);
yaccparser.y:      if (solvedFlag) xformulaType  |= (1 << 4);
yaccparser.y:      xformulaType = precondition_flag.formulaType;
yaccparser.y:   for (initcode(); !error_flag && (*m_progp).f != STOP; initcode() ) {
yaccparser.y:   if (end >0 && !error_flag) {
yaccparser.y:   precondition_flag.specialflag=specialflag;
yaccparser.y:   precondition_flag.formulaType = xformulaType;
yaccparser.y:   if (error_flag==1) {  /*SYNTAX ERROR */
yaccparser.y:       Value::setZero(precondition_flag);
yaccparser.y:       precondition_flag.kind=Value::ERROR;
yaccparser.y:       return precondition_flag;
yaccparser.y:          fprintf(stderr,"RETURN %d %d %lf %lf\n",precondition_flag.kind,
yaccparser.y:                                       precondition_flag.precondition,
yaccparser.y:                                       precondition_flag.lowfloat,
yaccparser.y:                                       precondition_flag.highfloat);
yaccparser.y:       return precondition_flag;
