aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/expressions.cpp
AgeCommit message (Collapse)AuthorFilesLines
2015-03-02use g_assert_not_reached() instead of g_assert(false): works around Clang++ ↵Robin Haberkorn1-1/+1
warnings * Clang++ does not see that the PC will never go beyong g_assert(false), and so reports about possible unitialized variables
2015-02-11updated copyright to 2015Robin Haberkorn1-1/+1
2014-11-14added ^# (XOR) operatorRobin Haberkorn1-0/+3
also changed precedence of + operator (higher than minus). the effects of this should be minimal
2014-11-14fixed number formatting for radix > 10Robin Haberkorn1-1/+1
this fixes the "\" command and ^E\ string building characters
2014-11-11refactored SciTECO runtime errors: moved from parser.cpp to error.cppRobin Haberkorn1-5/+5
* the GError expection has been renamed to GlibError, to avoid nameclashes when working from the SciTECO namespace
2014-11-11added all of SciTECO's declarations to the "SciTECO" namespaceRobin Haberkorn1-0/+4
normally, since SciTECO is not a library, this is not strictly necessary since every library should use proper name prefixes or namespaces for all global declarations to avoid name clashes. However * you cannot always rely on that * Scintilla does violate the practice of using prefixes or namespaces. The public APIs are OK, but it does define global functions/methods, e.g. for "Document" that clashed with SciTECO's "TECODocument" class at link-time. Scintilla can put its definitions in a namespace, but this feature cannot be easily enabled without patching Scintilla. * a "SciTECO" namespace will be necessary if "SciTECO" is ever to be turned into a library. Even if this library will have only a C-linkage API, it must ensure it doesn't clutter the global namespace. So the old "TECODocument" class was renamed back to "Document" (SciTECO::Document).
2014-11-09prevent assertions when pushing operators without corresponding operandsRobin Haberkorn1-4/+14
instead throw an error. The error could theoretically be thrown earlier instead of only when trying to perform a calculation. test cases: "++", "+1+", etc.
2014-08-02ensure that expressions.eval(true) pops the brace "operator"Robin Haberkorn1-3/+2
test case: 1<()> * an empty brace (or content that does not leave anything on the stack) resulted in the brace op to be left on the stack which makes the op stack inconsistent
2014-02-15updated Copyright to year 2014Robin Haberkorn1-1/+1
2014-02-15catch division by zero errorsRobin Haberkorn1-8/+29
* C++ runtime does not automatically throw an exception
2013-03-17^E\ string building character to format numberRobin Haberkorn1-0/+21
* new Expressions::format() * may be used format numbers as part of arrays (Q-Register names)
2013-02-22use typedef for SciTECO integers and make it configurable at configure timeRobin Haberkorn1-11/+11
* storage size should always be 64 (gint64) to aid macro portability * however, for performance reasons users compiling from source might explicitly compile with 32 bit integers
2013-01-19updated copyright (2012-2013)Robin Haberkorn1-1/+1
2012-12-04added copyright notice to every source fileRobin Haberkorn1-0/+17
2012-12-04first working version of autotools based build-systemRobin Haberkorn1-0/+4
2012-12-04autoconf preparation: move everything into src/ subdirRobin Haberkorn1-0/+201