mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-05 04:58:00 +02:00
40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
/* This file is part of the software similarity tester SIM.
|
|
Written by Dick Grune, Vrije Universiteit, Amsterdam.
|
|
$Id: sim.h,v 2.7 2005/02/20 17:03:03 dick Exp $
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
|
|
struct position {
|
|
/* position of first and last token of a chunk */
|
|
struct position *ps_next;
|
|
int ps_type; /* first = 0, last = 1 */
|
|
unsigned int ps_tk_cnt; /* in tokens; set by add_run() in Pass 1 */
|
|
unsigned int ps_nl_cnt; /* same, in line numbers; set by Pass2(),
|
|
used by Pass3() to report line numbers
|
|
*/
|
|
};
|
|
|
|
struct text {
|
|
char *tx_fname; /* the file name */
|
|
struct position *tx_pos;/* list of positions in this file that are
|
|
part of a chunk; sorted and updated by
|
|
Pass 2
|
|
*/
|
|
unsigned int tx_start; /* positions in TokenArray[] for the text */
|
|
unsigned int tx_limit;
|
|
unsigned int tx_nl_start;/* possibly newline pointer for pass2 */
|
|
unsigned int tx_nl_limit;
|
|
};
|
|
|
|
extern unsigned int MinRunSize;
|
|
extern int PageWidth;
|
|
extern FILE *OutputFile;
|
|
extern FILE *DebugFile;
|
|
|
|
extern struct text *Text; /* Text[], one for each input file */
|
|
extern int NumberOfTexts; /* number of text records */
|
|
extern int NumberOfNewTexts; /* number of new text records */
|
|
|
|
extern char *progname; /* for error reporting */
|