Commit Graph

191 Commits (fe1daec086aa5b20966d4ab9615be137e665adc9)

Author SHA1 Message Date
dellaert 9a77072654 Successfully used TypeListGrammar 2014-12-01 12:14:08 +01:00
dellaert 4d1225cda7 Moved basic parsers to new header file spirit.h 2014-12-01 11:43:19 +01:00
dellaert e82752e269 Successful use of ArgumentListGrammar 2014-12-01 10:47:42 +01:00
dellaert 0e5332ed3e Removed incorrect void, which fixed old problems and even improves on generated code. 2014-12-01 10:30:47 +01:00
dellaert ba51b02cf0 Moving to optionals fixed template dreturn argument!
Merge branch 'qualified' into grammar_wrongtest

Conflicts:
	wrap/Class.cpp
	wrap/Function.h
	wrap/Qualified.h
	wrap/ReturnType.h
	wrap/tests/testWrap.cpp
2014-12-01 09:48:56 +01:00
dellaert 674344ea0e Pushed through use of some grammars 2014-12-01 00:33:54 +01:00
dellaert 0dcd102f5e Saving before restoring 2014-11-30 20:46:47 +01:00
dellaert 6d916c6b75 Semi-private name/namespaces 2014-11-30 20:20:13 +01:00
dellaert e2ab47b610 Added Vector and Matrix to forward declarations 2014-11-29 20:01:48 +01:00
dellaert 1fd0f964ea Allow Eigen type in typedefs 2014-11-29 13:53:59 +01:00
dellaert be00e1c348 Allow Vector and Matrix in list of template values 2014-11-29 13:44:49 +01:00
dellaert 6c24fc2aca Python prototype 2014-11-14 17:47:25 +01:00
dellaert e07402a58a Re-factored matlab_code only emits code: it does not post-process the classes anymore. That is now done in parse_Markup, i.e., the constructor.... 2014-11-14 17:04:45 +01:00
dellaert 7a4748d3dc Simplified method/function hierarchy drastically, and renamed bottom addOverload to initializeOrCheck to reflect what it does. Also, gratuitous re-ordering of addOverload arguments. 2014-11-14 16:44:08 +01:00
dellaert 09e3c7df9f struct Constructor: public ArgumentOverloads 2014-11-13 21:34:59 +01:00
dellaert a5e0adb7e6 Made methods and global functions derive from Function 2014-11-13 12:52:41 +01:00
dellaert 1ea0225030 Big refactor because methods now private member of Class 2014-11-12 23:23:07 +01:00
dellaert 67ab69d5ba Merge remote-tracking branch 'origin/fix/BAD_wrap' into fix/BAD_wrap_checkpoint
Conflicts:
	wrap/Module.cpp
2014-11-12 19:22:03 +01:00
dellaert 34a0913125 Fixed issue with templateArgName overloading 2014-11-12 19:09:30 +01:00
dellaert c8ac7f8980 Cleaned up variables 2014-11-12 18:04:38 +01:00
dellaert 0a23529032 Everything compiles 2014-11-12 14:37:08 +01:00
dellaert 443b710a8d Re-factoring ReturnValue 2014-11-12 13:31:46 +01:00
dellaert 9b9d9a6b54 Eliminated copy/paste 2014-11-12 03:26:13 +01:00
dellaert 77935bd631 Massive edit: new Qualified type groups namespaces with name, eliminates a lot of clutter. 2014-11-12 02:49:23 +01:00
dellaert b8d9d5b6ca Starting down the path of a templated method 2014-11-11 22:38:50 +01:00
dellaert c66d6bd1a4 Added templated class 2014-11-11 18:14:17 +01:00
dellaert 8a555c7e05 Comment 2014-11-11 13:42:25 +01:00
dellaert 2946bcdc82 Slight refactor/comments 2014-11-10 17:56:22 +01:00
dellaert 52cd200718 ReturnValue now emits, eliminated some copy/paste. Also removed unused verbose field/argument in ReturnValue 2014-05-25 14:53:32 -04:00
Richard Roberts 1770f44ad9 Fixed a number of clang warnings 2014-02-23 18:53:48 -05:00
Andrew Melim c378d7379f Remove accidental commit in Module 2013-10-26 22:41:18 +00:00
Andrew Melim 5e29bc5b67 Return set partitions from DFSMap 2013-10-26 22:22:31 +00:00
Alex Cunningham 876edb4197 Added cmake flag to disable serialization for wrapped objects directly, rather than outright disabling serialization. By default GTSAM_WRAP_SERIALIZATION is on, turn it off to ignore serialization flags in gtsam.h 2013-10-24 14:38:04 +00:00
Alex Cunningham 9f9807ef19 Yet even more rebasing 2013-06-20 17:08:29 +00:00
Alex Cunningham 90246a4dab Rebasing... 2013-06-20 17:08:27 +00:00
Alex Cunningham 23de91d44d serialization works for graph and PriorFactor. Added second flag for serialization: can add "void serializable()" or "void serialize()" to allow for either just exporting (necessary if no default constructor), or implementing the full serialization functions 2013-06-19 17:50:05 +00:00
Alex Cunningham f1b1a2f7d2 Added export flags, Values now serializes 2013-06-19 17:50:03 +00:00
Alex Cunningham 8e73619989 Adding codegen components for serialization - in progress 2013-06-19 17:49:57 +00:00
Alex Cunningham c7576deb15 Added flag for serializable to parser, no codegen yet 2013-06-19 17:49:55 +00:00
Duy-Nguyen Ta b1b05887fc allow method starting with uppercase letter to be wrapped in matlab. Wrap Pose3's AdjointMap and Adjoint operator 2013-04-21 19:29:41 +00:00
Richard Roberts 547323cc79 Fixed a bunch of compiler warnings 2013-04-05 21:34:04 +00:00
Richard Roberts 12f8152891 Small bug fix in wrap - for return types, try to parse 'pair' before a simple type to prevent 'pair' spuriously being stored as the namespace of the return type, which causes return type validation to fail for pairs of simple types, i.e. 'pair<int,int>' 2013-01-28 17:41:42 +00:00
Richard Roberts 981c3363e6 Whitespace 2013-01-28 17:41:41 +00:00
Richard Roberts 0898e4a6aa Wrap prints more detailed error message for parse errors 2012-12-03 19:08:16 +00:00
Alex Cunningham d57838b4cb Cleaned up commented code, tweaked formatting 2012-11-27 19:03:23 +00:00
Alex Cunningham 0030a28e45 all tests pass with new hack to parse pointers on arguments 2012-11-27 19:03:22 +00:00
Alex Cunningham 2f44bc0a1a Simple hack around assigning return category flags, tests pass in debug, fail on pointer argument passing in release mode 2012-11-27 19:03:21 +00:00
Alex Cunningham ab7655e5eb Further debugging and tests of parsing issue with return type flags 2012-11-27 19:03:20 +00:00
Alex Cunningham d1b9185918 Trying more variations. Fixed small valgrind issue that didn't actually have an effect 2012-11-27 19:03:19 +00:00
Alex Cunningham 47fcb17ead Small variations on parser to try to debug problem 2012-11-27 19:03:18 +00:00
Alex Cunningham 16ad77cb53 Adding tests and notes to investigate errors parsing return types 2012-11-27 19:03:16 +00:00
Chris Beall 4297d24c96 changed tabs to spaces for consistent indentation in all of GTSAM 2012-10-02 14:40:07 +00:00
Andrew Melim a2474ef354 Starting to add support for STL containers in wrap 2012-09-18 18:36:42 +00:00
Frank Dellaert aeb43bc8fc Used technique described in http://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html to turn off excessive warnings generated by boost lambda headers 2012-09-16 18:07:50 +00:00
Andrew Melim 4752c10e21 Inherited methods show up on doc. ISAM2 for MATLAB now inherets from Bayes Tree 2012-09-08 19:51:23 +00:00
Andrew Melim 6da48bc580 Even more comment improvements for wrap 2012-08-27 15:19:55 +00:00
Richard Roberts cf4a4b4285 wrap turns exceptions into MATLAB errors 2012-08-22 22:40:24 +00:00
Richard Roberts aef5ae269f Added argument and return type checking for global wrapped functions 2012-07-27 19:01:53 +00:00
Richard Roberts bcad0b661c Added workaround for MSVC limitation on number of consecutive loops 2012-07-23 21:27:40 +00:00
Alex Cunningham 656f573c0a Removed from wrap the use of "using namespace xxx" statements - wasn't fully supported before, and now we have real namespace support 2012-07-23 18:24:43 +00:00
Alex Cunningham b7c2177f0b Generating code for global functions now works 2012-07-23 18:24:35 +00:00
Alex Cunningham ece5888cac Removed need in wrap to end namespaces in special non-standard tag - can now just use } 2012-07-23 14:09:44 +00:00
Alex Cunningham e7e564268d global function parsing now tested and working 2012-07-23 14:09:42 +00:00
Alex Cunningham 26fce2d400 Adding support for global functions - parsing works 2012-07-23 14:09:40 +00:00
Richard Roberts 8dbffd4629 Wrap generates Matlab namespaces, so now 'import gtsam.*' allows class names like Values, NonlinearFactor, to be used. Without import, syntax is gtsam.Values, etc. 2012-07-18 15:47:06 +00:00
Richard Roberts b5e10eadb8 Fixed bug where calling 'clear all' only once caused a problem where the wrap module recreated the RTTI table but MATLAB then deletes it, causing an error about the RTTI table being missing later on. 2012-07-17 19:49:36 +00:00
Alex Cunningham 4b772b43cf Simplified include handling in wrap: no more default includes, includes are not associated with a class or a namespace. 2012-07-17 18:30:02 +00:00
Richard Roberts e9f710a1ac More flexible handling of includes in wrap - can now use multiple includes both at the namespace and class levels, and namespace includes do not override the default class-name includes of their enclosed classes. 2012-07-17 15:51:35 +00:00
Alex Cunningham a87d12a7b7 pacified warning 2012-07-14 20:30:30 +00:00
Richard Roberts 4ae96c6642 Check dependencies before class attributes to avoid out-of-range exception 2012-07-13 21:54:57 +00:00
Richard Roberts ce12f3d255 Code cleanup and comments 2012-07-12 22:28:28 +00:00
Richard Roberts 55a153ebc6 Wrapped Cal3DS2, RangeFactor, BearingFactor, and GenericProjectionFactor 2012-07-12 02:11:32 +00:00
Richard Roberts 76e5375dea Added support for multi-argument templates that are then instantiated with typedefs in wrap interface header. 2012-07-12 02:11:29 +00:00
Richard Roberts c4f19a2b96 Can define template classes in wrap interface file with a fixed list of template argument expansions, to quickly generate many classes, e.g. template<T = {gtsam::Point2,gtsam::Point3}> class BetweenFactor ... generates gtsamBetweenFactorPoint2, gtsamBetweenFactorPoint3, etc. 2012-07-11 21:43:16 +00:00
Alex Cunningham 774fcb5ca9 Fixed include sorting bug in wrap 2012-07-11 15:58:01 +00:00
Richard Roberts 1993e6952b Merged from branch 'branches/wrap_mods_inheritance' into branch 'branches/wrap_mods' 2012-07-11 15:45:45 +00:00
Richard Roberts 7c176dd76d Automatic returning of derived-most type in matlab wrapper working but not yet well-tested 2012-07-11 15:44:04 +00:00
Alex Cunningham f3406f3bc9 Small change to wrap to avoid redundant includes in cpp file 2012-07-11 14:54:13 +00:00
Richard Roberts 33a64fc7b5 Removed debug prints 2012-07-10 22:53:35 +00:00
Richard Roberts af11b6c0a0 Create table of RTTI type names at wrap module creation time - will support code to create most derived type from base type in matlab wrapper 2012-07-10 22:51:19 +00:00
Richard Roberts 0c384dc35a Added a check that all wrapped classes involved in a heirarchy are marked virtual 2012-07-10 22:38:21 +00:00
Alex Cunningham 5d58dbd512 Fixed testWrap so that it passes, fixed dependency checking in codegen, fixed warnings 2012-07-10 14:21:58 +00:00
Richard Roberts e915e666b5 Can return abstract base classes from functions in matlab wrapper, i.e. Values::at 2012-07-09 20:19:37 +00:00
Richard Roberts 3c27daae18 wrap_mods_inheritance branch: in progress with inheritance in matlab wrapper 2012-07-08 12:27:39 +00:00
Richard Roberts b460f2a721 Added missing 'typename's 2012-07-05 17:08:40 +00:00
Richard Roberts f774a380ec Implemented method overloading in matlab wrapper, made static functions static in matlab classes 2012-07-05 14:05:00 +00:00
Richard Roberts 8f8975f47f Removed obsolete code for generating matlab wrapper makefiles and build script 2012-07-05 14:04:51 +00:00
Richard Roberts b5937ce35d Modified wrap to generate a single cpp wrapper file containing all wrapped functions, and one .m file per class and static method. 2012-07-05 14:04:36 +00:00
Andrew Melim ead88ae35a Changes to wrap requested by frank. Wrap now allows for multiple includes. Changes to wrap tests 2012-07-02 18:18:11 +00:00
Andrew Melim 02df40bd73 Dependency checking for matlab.h 2012-06-30 01:33:41 +00:00
Andrew Melim 6d776812d3 new wrap! :) 2012-06-26 18:52:27 +00:00
Richard Roberts 90578e2532 Merge remote-tracking branch 'svn/trunk' into windows
Conflicts:
	gtsam.h
	wrap/CMakeLists.txt
2012-06-05 13:11:34 +00:00
Alex Cunningham 9efcf8e17c Added option to include path to mex executable in CMake 2012-06-04 21:01:25 +00:00
Richard Roberts 592a251a05 Fixed path and compile problems with matlab wrapper on windows 2012-05-28 20:48:36 +00:00
Richard Roberts ac150043bd Fixed wrap under windows 2012-05-23 21:23:27 +00:00
Alex Cunningham f8a03ddbca Added better support for "using namespace x" to wrap - only applies to classes *after* it is called 2012-05-04 19:14:58 +00:00
Alex Cunningham f2c7e891c4 Added 'unsigned char' as argument option to wrap, added make targets 2012-05-04 18:50:36 +00:00
Andrew Melim a1da906d33 Memory leak fixed within wrap. Must call 'clear' before 'clear all' and 'clear classes'. Wrap now creates delete_classname files for all wrapped classes. MATLAB classes now derive from the handle superclass. 2012-03-30 05:34:23 +00:00
Alex Cunningham c901ceee27 wrap: forward declarations now allow for namespaces 2012-02-01 15:19:34 +00:00
Frank Dellaert a1aba7d6ff Fixed argument parse error. Somehow it could parse either refs or ptrs, but noth both, and it depended on the order in which the rules were given in the argList_p. I just combined ptr and ref in one and now it works. Go figure. 2012-01-28 19:44:33 +00:00