Mercurial > ~dholland > hg > ag > index.cgi
view anagram/agcore/bpu.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. * * bpu.h - Utility routines for bpe3 */ #ifndef BPU_H #define BPU_H #include "port.h" // for PRINTFFY class AgString;// from agstring.h class Rule; // from rule.h class Token; // from token.h void count_pe_line(const char *s, int k); void define_macro(const char *, const char *, ...) PRINTFFY(2,3); void define_macro_default(const char *, const char *, ...) PRINTFFY(2,3); int find_completions(int s, const unsigned **q); void find_key_tokens(const int *, int, int/* , int*/); unsigned find_token_number(const char *); unsigned char *key_string(int tn); Rule ruleReducedBy(Token, unsigned sn); void select_actions(int); void select_write_fragment(const char *, const char *, const char *); int shift_token(unsigned, unsigned); AgString subs_template(const char *, const char *, const char); void template_string(const char *, const char *, const char); int wpe(const char *fs, ...) PRINTFFY(1,2); int wps(const char *s); int wss(void); void write_code_segment(const char *name); AgString code_segment(const char *name); #endif /* BPU_H */