Sign in to follow this  
Followers 0
Valik

Lines of code.

12 posts in this topic

Decided to find a tool to count how big AutoIt is. I found this. Here are the results:

http://cloc.sourceforge.net v 1.08  T=391.0 s (20.0 files/s, 3209.4 lines/s)
-------------------------------------------------------------------------------
Language          files     blank   comment      code    scale   3rd gen. equiv
-------------------------------------------------------------------------------
HTML               7106     70907       321    670272 x   1.90 =     1273516.80
C++                 267     29483     28317    139905 x   1.51 =      211256.55
C                    99     20149     49232    135253 x   0.77 =      104144.81
C/C++ Header        258      7201     11790     29932 x   1.00 =       29932.00
Bourne Shell         11      3850      4793     28949 x   3.81 =      110295.69
m4                    2       863        43      7321 x   1.00 =        7321.00
Assembly             20      1166      1965      3443 x   0.25 =         860.75
Teamcenter def        6         2         0      1861 x   1.00 =        1861.00
yacc                  1       156        17      1039 x   1.51 =        1568.89
Tcl/Tk                1        19         2       920 x   4.00 =        3680.00
CSS                   8       144        72       815 x   1.00 =         815.00
make                  5       159       114       773 x   2.50 =        1932.50
Python                7       103       237       631 x   4.20 =        2650.20
Pascal                1        76       127       617 x   0.88 =         542.96
Perl                  4       116        93       426 x   4.00 =        1704.00
lex                   1        50         7       345 x   1.00 =         345.00
DOS Batch            10        46        39       183 x   0.63 =         115.29
IDL                   1         5         0       159 x   3.80 =         604.20
Visual Basic         18        70        76       118 x   2.76 =         325.68
Javascript            1        20         4        92 x   1.48 =         136.16
-------------------------------------------------------------------------------
SUM:               7827    134585     97249   1023054 x   1.71 =     1753608.48
-------------------------------------------------------------------------------

A bit of qualification: Most of the HTML is auto-generated. I think the C code is PCRE and SQLite. Some of the C++ code is SciTE/Scintilla. A couple things I can't account for unless they are files in 3rd-party source trees. Also keep in mind this tool does not count AutoIt lines. I actually wish it did because that would be a huge number with all the libraries, examples, test, build scripts, et cetera.

Share this post


Link to post
Share on other sites



I seem to recall that at some time, there were 14 projects on SourceForge that were using AutoItV3 as their source language.


David Nuttall
Nuttall Computer Consulting

An Aquarius born during the Age of Aquarius

AutoIt allows me to re-invent the wheel so much faster.

I'm off to write a wizard, a wonderful wizard of odd...

Share this post


Link to post
Share on other sites

You can add AutoIt. http://cloc.sourceforge.net/#custom_lang

Share this post


Link to post
Share on other sites

I suspected it was possible but didn't expect it to be so "easy". Thanks for the link, Richard. If I find time I'll see if I can get it working with AutoIt and then give a full report including AutoIt files.

Share this post


Link to post
Share on other sites

It wasn't hard to find. It's a little more than half way down the page you already linked to.

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

Here's a new count that includes AutoIt:

http://cloc.sourceforge.net v 1.08  T=482.0 s (21.3 files/s, 4059.8 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
HTML                          7104          70893            321         670214
C++                            267          29461          28194         139903
C                               99          20149          49232         135253
AutoIt                        2448          27352         563220         111525
C/C++ Header                   258           7202          11791          29935
Bourne Shell                    12           3856           4793          29012
m4                               2            863             44           7320
Assembly                        20           1166           1965           3443
Teamcenter def                   6              2              0           1861
yacc                             1            156             17           1039
Tcl/Tk                           1             19              2            920
CSS                              8            144             72            815
make                             5            159            114            773
Python                           7            103            237            631
Pascal                           1             76            127            617
Perl                             4            116             93            426
lex                              1             50              7            345
DOS Batch                       10             46             39            183
IDL                              1              5              0            159
Visual Basic                    18             70             76            118
Javascript                       1             20              4             92
-------------------------------------------------------------------------------
SUM:                         10274         161908         660348        1134584
-------------------------------------------------------------------------------

The count may be a bit inflated because I don't know how to get cloc to detect #cs ... #ce. Following the instructions at the link Richard provided I ran:

cloc-1.08.exe --write-lang-def=my_definitions.txt

I added the following lines to my_definitions.txt:

AutoIt
    filter remove_matches ^\s*;
    extension au3
    extension auh
    3rd_gen_scale 1.0

Invoked on my AutoIt working copy as such:

cloc-1.08.exe --read-lang-def=my_definitions.txt -no3 <Path to AutoIt working copy>
Edited by Valik

Share this post


Link to post
Share on other sites

Only about 1.1 million lines of code. Sounds like AutoIt is well on its way to becoming a medium sized program.

Share this post


Link to post
Share on other sites

No, it's only around 300,000 lines. Most of the code is auto-generated HTML.

Share this post


Link to post
Share on other sites

Still a small program than.

Share this post


Link to post
Share on other sites

I would still call AutoIt medium sized. What it lacks in lines of code it makes up for in number of files. There are 7201 unique files in a fresh SVN Export. Practically every function has a TXT file (which is converted to HTML) and an example AU3 file. Any behavioral change to the language requires writing/updating the source code, documentation and example. In some cases it requires updating other examples that use the specified feature. For that task I am using grepWin to find stuff in the files. Also, we obviously use Subversion and this would be a colossal nightmare without it. The project can still be maintained by a single individual... but usage of good tools is pretty much a requirement at this point. You can tell when I started using grepWin because I started being more thorough about tracking down all instances of a particular change such as finding and removing all references to ColorMode, ensuring all the AdlibEnable()/AdlibDisable() stuff is using the new AdlibRegister()/AdlibUnRegister(), et cetera.

Share this post


Link to post
Share on other sites

I've never written a program over probably 50000 lines. That number may even be pushing it.

It's good to know you all work hard.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0