I only wanted to add module support but ended improving quite a bit more

namely it now also supports multilines, that is line : concatenation : via : colon, as well as split lines, that is linebreaks after And, +, , etc. And also If/ElseIf conditions are now being measured. In the GUI you can now filter for lines and also open the original code location in the IDE! And the merger is now integrated.
Developed and used on Linux but I tested/adapted it also on Windows so it should work there too. I don't know about MacOS, does the gtk stuff just work there like on Linux? Maybe some CompilerIfs would have to be adapted to Win/Else instead of Linux/Else.
Download:
http://www.wannabephoenix.de/PB/analyze ... alyzer.zip
The new documentation is also available online where you can also see screenshots:
http://www.wannabephoenix.de/PB/analyzer/documentation/
changes.txt wrote:--------------------------------------------------------------------
2018-07-26, analyzer version 3.1
- Code modulized, removed main scope globals etc, changed to utf-8 source files, reorganized code:
- Main.pb is now analyzerTool.pb
- Functions.pb (runtime template) is now analyzerRuntime.pb
- MergeTool.pb is now mergeTool.pb
- Modulized code is now supported by merger and analyzer
- Analyzer now merges code on its own, no separate merging required
- IDE compile/run support for unsaved files / includes / mainfiles / projects
- The merge tool can now add annotation comments for original file/line code locations
- Analyzer now shows original file/line code location and can open original file/line in PB IDE
- Compiler options will now be transferred to output file
- Last PureBasic IDE program path is stored when run as an IDE tool and can be used if run as a commandline program to open file/line in PureBasic IDE
- Support for escaped strings ~"\""
- The merge tool will replace #PB_Compiler_IsMainFile and #PB_Compiler_IsIncludeFile depending on where they occur
- Writing the file analysis.txt is now disabled by default but can be enabled in the preferences file
- Preference for sticky tool window / sticky runtime window
- Automatically disable analyzer for lines of inline !asm and within EnableASM/DisableASM blocks
- Respect keyword word boundaries
- Variable definitions are now being measured
- If/ElseIf conditions are now being measured
- Added a warning if the threadsafe compiler option enabled in user code
- Blocks will be measured even after analyzer:disable
- Control comments changed to analyzer:disable/enable/startblock/endblock to be easier to search/find in code
- GUI:
- analyzer tool now shows information in a log window and asks for confirmations
- runtime has additional tab for ignored/other lines, ability to filter for specific lines, better listicon sorting with OS specific code.
- new documentation
--------------------------------------------------------------------