Commit Graph

67 Commits (cc4b633e436ce028b911345b987e48ba5e96fae8)

Author SHA1 Message Date
Marius Kintel cc1f9e1353 quickfix: Increase parser stack depth to allow for larger designs 2015-03-08 19:36:30 -04:00
Torsten Paul dda527dabd Show error/warning status in viewport. 2015-01-07 03:14:46 +01:00
Torsten Paul a820487032 Simple implementation of tail-recursion elimination. 2014-11-26 22:53:10 +01:00
Marius Kintel 2e8d93d5be Some Expression refactoring 2014-11-25 17:08:14 -05:00
Marius Kintel 2644b19ce7 Reimplemented serialization of expression to string after last refactoring 2014-11-25 15:05:36 -05:00
Marius Kintel 4cd712d24d Merge remote-tracking branch 'origin/master' into stack-size-hack
Conflicts:
	src/context.h
	src/control.cc
	src/evalcontext.h
	src/localscope.cc
	src/module.cc
2014-11-25 11:25:37 -05:00
Torsten Paul dc8f559b85 Use class hierarchy for the different types of expressions. 2014-11-24 23:37:42 +01:00
Torsten Paul 6ed14dafb0 Remove big switch statement from expression evaluation.
The switch statement causes a huge stack overhead that is very bad for
evaluating recursive functions.
2014-11-24 00:53:46 +01:00
Marius Kintel 406e6e1bac #409 Pass Value objects as shared_ptr instances instead of by Value to battle excess stack usage 2014-11-23 00:59:17 -05:00
Marius Kintel ea1d561c46 Support variable assignment in local blocks. This should fix #347 but more testing is needed 2014-11-17 00:57:36 -05:00
Torsten Paul d46b8a8465 Handle UTF-8 multi-byte characters in the lexer. 2014-06-23 23:21:16 +02:00
Oskar Linde c67ef30b75 Merge remote-tracking branch 'origin/list-comprehensions' into list-comprehensions-and-let 2014-05-22 21:37:49 +02:00
Oskar Linde b611ed5eac Add list-comprehensions 2014-05-03 17:24:44 +02:00
Oskar Linde ed3041c551 Add a let() expression 2014-05-03 11:19:30 +02:00
Marius Kintel 2cba2a1b55 Merge branch 'master' into text-module
Conflicts:
	scripts/macosx-build-homebrew.sh
	scripts/mingw-x-build-dependencies.sh
	scripts/uni-build-dependencies.sh
	scripts/uni-get-dependencies.sh
	src/GeometryEvaluator.h
	src/MainWindow.ui
	src/clipper-utils.h
	src/mainwin.cc
	tests/CMakeLists.txt
2014-04-26 22:08:31 -04:00
Torsten Paul d8a1b5f7eb Convert Assignment to use shared pointers for Expressions (fixes #709). 2014-03-30 19:16:50 +02:00
Torsten Paul 2a59fa7bfb Fix memory leak in lexer for $var assignments. 2014-03-30 19:04:49 +02:00
Torsten Paul bb45e7e52a Add implementation of text() module. 2014-02-02 18:00:44 -05:00
Torsten Paul 00a329f0bd Add support for handling negative step values in ranges (fixes #500). 2013-11-11 01:31:44 +01:00
Vicnet f6343949eb reorder parser predicat to better understanding 2013-09-13 14:42:45 +02:00
Vicnet d9a66f2cb0 Indent parser file for better clarity 2013-09-13 08:17:39 +02:00
Marius Kintel b45a93aad2 Related to #399, reverted assignment evaluation order to be the same as in 2013.01 as the new implementation broke existing scripts. Added some experimental commented out code, which can be used as reference in the future 2013-06-13 10:29:39 -04:00
Marius Kintel bd0248e109 Fixed a bug where changing a file during a large automatic reload could cause a crash 2013-06-13 01:16:26 -04:00
Marius Kintel ffe750d87e Temporarily deactivate new feature: variable declarations in child block 2013-05-05 01:22:02 +02:00
Marius Kintel ada8185c76 Backported to bison 2.4 2013-05-05 01:17:18 +02:00
Marius Kintel ba20c0e800 Modified parse to allow overloading of variables in local blocks. Also did some minor cleanups while at it. Test cases missing 2013-04-26 18:32:19 -04:00
Marius Kintel 9a297ecee5 Refactoring: Split out FileModule from Module, Added LocalScope renamed some confusing 'evaluate' methods to 'instantiate', added FileContext (not yet used) 2013-04-26 17:45:03 -04:00
Marius Kintel b4568a09df Refactored assignments and assignments_var into one component 2013-04-26 17:43:40 -04:00
Marius Kintel a96f3f3c67 Gave up on tabs. The only change is indentation 2013-04-26 17:37:59 -04:00
Marius Kintel 58bd9c9e3f Cleaned up argument list handling, related to #116 2013-04-18 18:34:14 -04:00
Marius Kintel a37813a899 Refactored context handling into using separate Module contexts and Eval contexts. This allows for recursive module calls, and cascading children. I believe this fixes issue #116 2013-04-09 00:28:16 -04:00
Marius Kintel 1b8b7aa5fa I think this should fix issue #217 2013-04-05 01:30:09 -04:00
Marius Kintel 40d9ffe6a4 Changed redeclaration of assignment so that the last declaration defines the order. This hopefully fixes the confusing error message discussed on the mailing list nov 27-30 (Variable bug) 2013-03-11 17:54:49 -04:00
Marius Kintel 0cea83a35d Fixed weakness in parser causing modifier characters not to work in front of 'if' statements. Fixes #197 2012-10-07 15:24:08 -04:00
Marius Kintel fa9811c0f3 bugfix: parser errors wasn't treated correctly, causing cmd-line tools to return without an error code, as well as error highlighting in the editor being broken 2012-10-06 18:01:17 -04:00
Marius Kintel 3b375d8c11 Merge branch 'master' into value 2012-03-31 23:22:41 +02:00
Marius Kintel c869c6e6b2 Remove superfluous debug output. Fixes #103 2012-03-29 02:04:47 +02:00
Marius Kintel 327310f190 Rewrote the Value class to be based on boost::variant - this should reduce memory footprint and improve performance 2012-03-28 00:05:58 +02:00
Marius Kintel eaeec7aa9a Comment out some debug info to let tests pass 2012-02-15 01:32:37 +01:00
Marius Kintel b9d218e137 Initial implementation of ModuleCache and dependency tracking of used modules 2012-02-15 01:32:37 +01:00
Marius Kintel eff1f7f8c9 Ported printutils away from Qt 2012-01-25 03:11:12 +01:00
donb 65a1c9cf6c add boosty.h for compatability with boost <1.44 2012-01-14 05:02:15 +01:00
Marius Kintel fdce8d15fc Merge branch 'master' into boost_filesystem
Conflicts:
	boost.pri
	src/lexer.l
	tests/CMakeLists.txt
2012-01-04 23:07:32 +01:00
Marius Kintel ef7ab1c275 Small clarification of Don's Windows parser crash fix 2012-01-03 20:35:14 +01:00
Don Bright c765f5162f fix crash bug rpt by nop head - 'use <x.scad>' when x.scad doesnt exist 2012-01-01 21:30:39 -06:00
Marius Kintel cbabbaed70 Merge branch 'master' into boost_filesystem
Conflicts:
	openscad.pro
	src/module.h
2011-12-26 16:37:00 +01:00
Marius Kintel 4ff2d1af44 Some light refactoring attempts, didn't get very far.. 2011-12-26 16:34:47 +01:00
Marius Kintel 9293b591c7 Ported currentdir handling from Qt to boost filesystem 2011-12-25 00:22:03 +01:00
Marius Kintel a5ea98c4a4 Ported parser code from QFile to boost filesystem 2011-12-24 23:27:44 +01:00
Marius Kintel cb56f700b1 de-Qt'ified printutils 2011-10-31 23:56:35 +01:00