Commit Graph

24 Commits (master)

Author SHA1 Message Date
Torsten Paul a820487032 Simple implementation of tail-recursion elimination. 2014-11-26 22:53:10 +01: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
Marius Kintel f1b29e1db9 Removed old stack measurement code 2014-11-24 18:54:51 -05:00
Torsten Paul 1f73807097 Hack to track stack size in function evaluation. 2014-11-24 00:53:41 +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
Oskar Linde dd4e229a46 let()-expression: disable reassignments 2014-05-22 22:24:26 +02:00
Ben Gamari ff466c2189 Switch from #define guards to #pragma once
As well as a few whitespace cleanups
2014-04-28 13:32:19 -04:00
Marius Kintel e30a40f432 minor cleanup of stack handling 2014-04-10 01:23:01 -04:00
Don Bright 0d950338e1 fix issue #694 2014-04-04 23:40:23 -05:00
Marius Kintel d2eecc4e06 access method for parent context 2014-03-16 00:10:45 -03:00
Marius Kintel 9b740b558d Further refactoring of scope/context mechanisms. Mostly related to the new FileContext class. Not quite there yet, but almost 2013-04-26 17:45:03 -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 58bd9c9e3f Cleaned up argument list handling, related to #116 2013-04-18 18:34:14 -04:00
Marius Kintel 73c2a45af6 Reinstate recursion guard to new context handling, fixes the last known subissue of #116 and #328 2013-04-15 20:58:15 -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 9d97afa376 minor namespace fix 2013-03-06 20:49:52 -05:00
Marius Kintel 65fc1d6b01 Detect recursive execution of functions to avoid a stack overflow crash. Fixes #200 2012-10-09 23:32:56 -04:00
Marius Kintel f58c0a3eb5 Some cleanup of the Context class 2011-09-03 18:51:29 +02:00
Marius Kintel 6f632190a0 Ported a bunch of stuff from Qt to STL 2011-09-03 06:10:36 +02:00
Giles Bathgate 744367fda1 Proof of concept implementation of builtin constants. 2011-02-05 16:37:30 +00:00
clifford d3329838b4 Clifford Wolf:
Implemented 'use' statement



git-svn-id: http://svn.clifford.at/openscad/trunk@459 b57f626f-c46c-0410-a088-ec61d464b74c
2010-02-28 13:48:04 +00:00
kintel f3d16e23b9 Multiple non-MDI assumptions were made, setting CWD and assuming it didn't change. Fix required to pass more context to nodes (functions). It's not totally clean, but it's a start. Fixes bugs: opening multiple files simultaneously only loaded the first file, refreshing an scad file referencing an external file failed if another scad file was opened in the meantime.
git-svn-id: http://svn.clifford.at/openscad/trunk@451 b57f626f-c46c-0410-a088-ec61d464b74c
2010-02-23 20:47:54 +00:00
kintel 191dc4857c header file reorg
git-svn-id: http://svn.clifford.at/openscad/trunk@365 b57f626f-c46c-0410-a088-ec61d464b74c
2010-01-30 04:26:05 +00:00