3c7c3da5273e83f4c102d821dc322cce44dda521
This change introduces the TaskScheduler, which queues and processes Tasks on a separate thread. The Task class provides a common interface for deriving all specific tasks. A task can split it's processing into multiple update calls. The TaskScheduler will update a task until it is finished or interrupt it when necessary. TaskGroups can be used to bundle multiple Tasks together. So far only TaskGroupSequential was implemented which runs the Tasks in the set order. TaskParseCxx utilizes the CxxParser to parse each source file in a single update call. Parsing can be interrupted using the ESC key. The Statusbar shows the parsing progress.
Masterproject
Setup
External Software
- QT 5.2.1
- CxxTest 4.3
- Valgrind 3.9.0(linux, macOS)
- Clang & LLVM (installation guide http://clang.llvm.org/docs/LibASTMatchersTutorial.html)
- Boost 1.55 ()
- Eigen 3.2.3
Environment Variables
- QT_DIR - ...\Qt\Qt5.2.1\5.2.1<IDE>\
- CXX_TEST_DIR - .../cxxtest-4.3/
- CLANG_DIR - .../clang-llvm/
- BOOST_155_DIR - .../boost_1_55_0
- EIGEN_DIR - .../eigen
For Win32:
- VLD_DIR - .../Visual Leak Detector
Settings
Run setup script: $ ./script/setup.sh
Languages
C++
63.4%
Java
32.7%
CMake
1.6%
Shell
1.1%
CSS
0.6%
Other
0.4%