Ok - so one of the steps in building CDE is an early phase called the includes phase (make includes). At this point, all of the public header files are exported to exports/include/Dt, DtI, ... Then, the software is built using that include dir. This of course does not work in autotools. Much of the software does things like #include <Dt/something.h>, so in order for the build to succeed, this behavior must be represented/replicated in some way. It seems the usual way of dealing with this is to place all public headers (and in some projects, ALL headers) into a toplevel include directory. We now do this for all public headers - they have been moved from wherever they were and placed in the appropriate spot in includes/ This will break the Imake 'make includes' phase unless the Imakefiles are fixed (remove the HEADERS = stuff, and the incdir defines). This has not been done at this point since in reality, once autotools works properly, there will be no need for the Imake stuff anymore, and I intend to get rid of it. This is just a warning for now - Imake builds in this tree will now fail at the 'includes' stage. This commit is only the migration. In upcoming commits, libtt will be fixed so that the hack being used before to get around this problem is removed as there will no longer be any need. And then the autotools work continues...
138 lines
5.0 KiB
C
138 lines
5.0 KiB
C
/*
|
|
* CDE - Common Desktop Environment
|
|
*
|
|
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
|
|
*
|
|
* These libraries and programs are free software; you can
|
|
* redistribute them and/or modify them under the terms of the GNU
|
|
* Lesser General Public License as published by the Free Software
|
|
* Foundation; either version 2 of the License, or (at your option)
|
|
* any later version.
|
|
*
|
|
* These libraries and programs are distributed in the hope that
|
|
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
* PURPOSE. See the GNU Lesser General Public License for more
|
|
* details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with these libraries and programs; if not, write
|
|
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
* Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
/* $XConsortium: boolpars.h /main/1 1996/03/29 17:03:47 cde-ibm $
|
|
*
|
|
* (c) Copyright 1996 Digital Equipment Corporation.
|
|
* (c) Copyright 1996 Hewlett-Packard Company.
|
|
* (c) Copyright 1996 International Business Machines Corp.
|
|
* (c) Copyright 1996 Sun Microsystems, Inc.
|
|
* (c) Copyright 1996 Novell, Inc.
|
|
* (c) Copyright 1996 FUJITSU LIMITED.
|
|
* (c) Copyright 1996 Hitachi.
|
|
*/
|
|
/*
|
|
* COMPONENT_NAME: austext
|
|
*
|
|
* FUNCTIONS: none
|
|
*
|
|
* ORIGINS: 27
|
|
*
|
|
*
|
|
* (C) COPYRIGHT International Business Machines Corp. 1996
|
|
* All Rights Reserved
|
|
* Licensed Materials - Property of IBM
|
|
* US Government Users Restricted Rights - Use, duplication or
|
|
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
|
|
*/
|
|
#ifndef _boolpars_h
|
|
#define _boolpars_h
|
|
/******************** BOOLPARS.H ********************
|
|
* $Id: boolpars.h /main/1 1996/03/29 17:03:47 cde-ibm $
|
|
* February 1996.
|
|
* Header for boolpars.c AusText/DtSearch yacc-based boolean query parser.
|
|
*
|
|
* FORMAT OF TRUTH TABLE:
|
|
* Pointer to TRUTHTAB struct is main yacc stack value.
|
|
* Represents 256 unsigned chars, every possible permutation of 8 (max)
|
|
* query stems. The unsigned chars ("permutes") are bit vectors.
|
|
* Bit #0 (lowest order) is for first word in stemsarray stems[0],
|
|
* bit #1 is stems[1], etc.
|
|
* Example: truthtab for query consisting of a single word,
|
|
* call it 'A' (assigned bit #0), is the 128 chars 1, 3, 5, 7, ...,
|
|
* ie all bitvector permutations with low order bit turned on.
|
|
* B: (bit #1) is the 128 chars 2, 3, 6, 7, ..., ie all permutations
|
|
* with 2nd bit turned on.
|
|
* A & B: Intersection of truth tables: the 64 chars 3, 7, ...,
|
|
* all the bit vector permutations they have in common.
|
|
* A | B: Union of truth tables: the 192 permutes 1,2,3, 5,6,7, 9,10,11...
|
|
* ~B: Complement of truth table, U - B: the 128 chars 0, 1, 4, 5, ...,
|
|
* ie every bitvector permutation NOT in B.
|
|
*
|
|
* The zero permute (all bits zero) refers to the entire
|
|
* balance of the database containing none of the query stems.
|
|
* Needless to say searches with the zero permute in their
|
|
* truth table will take an incredibly long time!
|
|
*
|
|
* The 'universal set' U is all 256 possible permutes.
|
|
* The 'empty set' is indicated by truthtab.pmsz == 0;
|
|
*
|
|
* The permutes in a truth table are maintained in
|
|
* ascending order for ease of comparisons.
|
|
*
|
|
* Truth table manipulations require and depend on
|
|
* DtSrMAX_STEMCOUNT being defined only as 8.
|
|
*
|
|
* Newly allocated truth tables are maintained on the 'ttlist'
|
|
* using the 'next' field. This is to ensure they are eventually
|
|
* freed to prevent memory leaks.
|
|
*
|
|
* If 'stemno' >= 0 it points to the word in usrblk.stems to which
|
|
* it applies. Stemno == -1 means truth table is not directly
|
|
* associated with a word in usrblk.stems.
|
|
*
|
|
* $Log$
|
|
* Revision 1.1 1996/03/05 15:52:06 miker
|
|
* Initial revision
|
|
*
|
|
*/
|
|
|
|
#define COLLOC_STEM_FORMAT "@%02d%02d%d"
|
|
|
|
/****************************************/
|
|
/* */
|
|
/* TRUTHTAB */
|
|
/* */
|
|
/****************************************/
|
|
/* Truth table returned from boolean_parse() */
|
|
typedef struct tttag {
|
|
struct tttag *next;
|
|
int stemno; /* -1 means not assoc with stems[] array */
|
|
int pmsz; /* number of bytes in permutes array */
|
|
unsigned char *permutes; /* array of bit vector permutations */
|
|
} TRUTHTAB;
|
|
|
|
/****************************************/
|
|
/* */
|
|
/* Globals */
|
|
/* */
|
|
/****************************************/
|
|
extern int qry_has_no_NOTs;
|
|
extern int qry_is_all_ANDs;
|
|
extern int parser_invalid_wordcount;
|
|
extern TRUTHTAB final_truthtab;
|
|
|
|
/****************************************/
|
|
/* */
|
|
/* Function Prototypes */
|
|
/* */
|
|
/****************************************/
|
|
extern void add_syntax_errmsg (int msgno);
|
|
extern TRUTHTAB *boolyac_AND (TRUTHTAB *tt1, TRUTHTAB *tt2);
|
|
extern TRUTHTAB *boolyac_COLLOC (TRUTHTAB *tt1, int colval, TRUTHTAB *tt2);
|
|
extern TRUTHTAB *boolyac_NOT (TRUTHTAB *tt1);
|
|
extern TRUTHTAB *boolyac_OR (TRUTHTAB *tt1, TRUTHTAB *tt2);
|
|
extern TRUTHTAB *copy_final_truthtab (TRUTHTAB *tt);
|
|
|
|
/******************** BOOLPARS.H *********************/
|
|
#endif /* _boolpars_h */
|