Mercurial > ~dholland > hg > ag > index.cgi
view tests/agcl/parsifal/pex2.syn @ 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
[ case sensitive = off disregard white space lexeme {while body text} ] space = ' ' + '\t' eof = 0 white space -> space -> comment while loop $ -> while head, while body text, false while condition -> while head, while body text, while iteration..., false while condition while head -> "!while" =save_loop_head << PCB.pointer; while body text // skips to find end of loop -> [~eof - space, ~eof?...], while body terminator ={save_loop_tail << PCB.pointer; save_loop_top >> PCB.pointer; // Restore top of loop save_loop_top << PCB.pointer; // Save top of loop } while body terminator -> "!endw" | "!endwhile" true while condition, false while condition -> expression:x ={ if (x.value.lval) return; CHANGE_REDUCTION(false_while_condition); save_loop_tail >> PCB.pointer; save_loop_head >> junk; } while iteration -> true while condition, while body, while body terminator ={ save_loop_top >> PCB.pointer; // Restore top of loop save_loop_top << PCB.pointer; // Save top of loop } while body -> [section | eol...]/..., while body terminator