View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from

4.5 | 2 ratings Rate this file 7 Downloads (last 30 days) File Size: 7.03 KB File ID: #39649 Version: 1.0




This Matlab function calculates the (effective) source lines of (Matlab) code.

| Watch this File

File Information

This Matlab function calculates the (effective) source lines of (Matlab) code.
It is possible to call it for any function name that is in Matlab's current
search path, a filename, or a directory. If you call the function for a
directory, then recursion is used to calculate the sloc count for all files
in the folder and its sub-folders.

A function to show a sorted list of files (sorted by SLOC, ascending) is also

Please have a look into 'example.m' to see how to use the code.

It is also possible to change the function that processes individual files.
This way you can, e.g., integrate/use a C++/C or .txt handler. Currently,
there are actually two places where you can do it: First, you can modify/
extend 'calcsloc' or you completely replace 'calcsloc' with an interface-
compatible version.

Of course similar packages exist such as, e.g.,
  sloc (
  slocDir (
However, this code is a rewrite that features more functionality and directly
bundles the functionality of slocDir with sloc. Nevertheless, if you don't
like this package, I would suggest that you check the packages referenced
above, maybe they are more like what you are searching for.

MATLAB release MATLAB 8.0 (R2012b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
26 Jul 2016 Craig Cole

Don't need perfection, just good relative estimates, and this did the trick simply.

02 Jun 2015 Sebastian

Nice work. This is exactly what I needed for my project. Maybe some annotations:
- Comments behind code are not counted
- Multiple statements on one line are not considered
- The example uses "dct" command of the Signal Processing Toolbox, using something like "repmat" would be working on more installations, though

Contact us