aboutsummaryrefslogtreecommitdiffhomepage
path: root/goto.cpp
AgeCommit message (Collapse)AuthorFilesLines
2012-12-04autoconf preparation: move everything into src/ subdirRobin Haberkorn1-147/+0
2012-11-20some minor simplifications of the goto codeRobin Haberkorn1-11/+5
2012-11-20goto table cleanupRobin Haberkorn1-19/+16
2012-11-20make goto tables local to macro invocation: they are declared on the C++ ↵Robin Haberkorn1-128/+55
callstack since macro invocations result in nested macro_execute() calls otherwise a macro could set labels with program counters which are invalid in other macros/the command line
2012-11-16Make sure undo tokens and RB-tree entries are destroyed properlyRobin Haberkorn1-3/+0
* when a pointer to an abstract base class is "deleted", it must have a virtual destructor so the destructor of derived classes is executed * fixes for instance, deletion of save point files when the command line is terminated (undo stack is discarded) * simplified some undotoken code
2012-11-16support different kinds of runtime errors (using C++ exceptions)Robin Haberkorn1-2/+2
* also added some additional range checks (e.g. X command)
2012-11-12distinguish between GOTO, LOOP and CONDITIONAL parse-only modes: fixes loop ↵Robin Haberkorn1-1/+1
branching in conditionals e.g. <0"=1;'...do something...> now works as expected
2012-11-11added <n>O...$ GOTO commandRobin Haberkorn1-1/+32
2012-11-11dump goto table only in DEBUG modeRobin Haberkorn1-0/+6
2012-11-11RBTree class (wrapper around BSD macros) - use for Goto tableRobin Haberkorn1-36/+19
* the other classes (Table, StringTable, StringTableUndo) do not yet work
2012-11-10use namespace "States" instead of "states" structureRobin Haberkorn1-1/+5
has several advantages * better to read * namespace can be "extended" from everywhere allowing the declaration of states in the files that implement them * include file mess could be cleaned up a bit
2012-11-08added commentsRobin Haberkorn1-0/+4
2012-11-08support line termination ($$) as immediate editing command + some fixesRobin Haberkorn1-0/+6
* separate function for immediate editing command processing * undo.clear() to remove and free all undo tokens without executing them * goto_table_clear() to remove and free all goto table entries
2012-11-08added missing transition table initialization for label stateRobin Haberkorn1-0/+5
2012-11-08added support for labels, including the goto label tableRobin Haberkorn1-0/+193
* uses BSD tree macros, might later be abstracted to a C++ table class