view anagram/agcore/cd.h @ 6:607e3be6bad8

Adjust to the moving target called the C++ standard. Apparently nowadays it's not allowed to define an explicit copy constructor but not an assignment operator. Consequently, defining the explicit copy constructor in terms of the implicit/automatic assignment operator for general convenience no longer works. Add assignment operators. Caution: not tested with the IBM compiler, but there's no particular reason it shouldn't work.
author David A. Holland
date Mon, 30 May 2022 23:46:22 -0400
parents 13d2b8934445
children
line wrap: on
line source

/*
 * AnaGram, A System for Syntax Directed Programming
 * Copyright 1993-1999 Parsifal Software. All Rights Reserved.
 * See the file COPYING for license and usage terms.
 *
 * cd.h - Conflict Derivation module
 */

#ifndef CD_H
#define CD_H

class Token;       // from token.h
struct tsd;        // from tsd.h
struct tuple_dict; // from dict.h


extern int conflict_token;
extern tsd *token_derivation;

extern char *tried;

int         find_gotos(int, const unsigned **);
int         new_next_state(int state_number, unsigned token_number);
Token       transitionToken(unsigned fromState, unsigned toState);
int         x2d(int, int);
int         x3(tsd *isl, int sx, int fn, int fx);
int         x3a(tsd *isl, int sx, int fn, int fx);
int         x9x(int);
tuple_dict *xis(unsigned sn);

#endif /* CD_H */