Hi,

(1) I have imported the module hackySCLC. The build.xml is a dummy. There are lots of trouble writing ant script invoking OS command.

However, I have supplied demo.sh to do the same thing build.xml is supposed to do. Or you can invoke sclc yourself.

(2) Mike's testing files are imported as well. However, there is discrepancy between mike's count and sclc count.

Below is the original sclc output. Attached is the hacked sclc xml output.

Cheers,

Cedric


C:\work\hackySCLC\lib\examples>perl sclc1.pl -recurse .
Lines  Blank  Cmnts   NCSL
===== ===== ===== ===== ==================================================
   36      4     13     19  .\markov.m  (Matlab)
   54      4     25     32  .\matrix_multiply.c  (C)
   56      9     18     29  .\matrix_multiply.f  (FORTRAN)
   88     11     41     46  .\pi_calc.c  (C)
   99     18     46     35  .\pi_calc.f  (FORTRAN)
 1955    164    801   1024  .\sclc1.pl  (Perl)
  443     80     28    335  .\T02_Inner.java  (Java)
  230     20     91    119  .\test.java  (Java)
   54      7     19     28  .\TestStack.java  (Java)
   56      9     38     29  .\theta_logistic.m  (Matlab)
 1955    164    801   1024  ----- Perl -----  (1 file)
  142     15     66     78  ----- C -----  (2 files)
  155     27     64     64  ----- FORTRAN -----  (2 files)
   92     13     51     48  ----- Matlab -----  (2 files)
  727    107    138    482  ----- Java -----  (3 files)
 3071    326   1120   1696  ***** TOTAL *****  (10 files)


Mike Paulding wrote:
Hi Cedric,

I have attached some sample test files for use with SCLC. There are two files for each of the four "starter" languages: C, Java, Fortran and Matlab. I handcounted each of them and ran LOCC over the Java and C files (some were test cases in the LOCC module).

Here is a summary of the files for each language. Note that each file contains the source lines of code (SLOC, code without comments) and comment lines of code (CLOC) metrics within them.

************
JAVA
************
TestStack.java -    SLOC = 28, CLOC = 19
T02_Inner.java -   SLOC = 335, CLOC = 28

************
C/C++
************
matrix_multiply.c - SLOC = 32, CLOC = 18
pi_calc.c -             SLOC = 46, CLOC = 31

************
FORTRAN
************
matrix_multiply.f - SLOC = 29, CLOC = 18
pi_calc.f -             SLOC = 35, CLOC = 46

************
MATLAB
************
markov.m -          SLOC = 19, CLOC = 13
theta_logistic.m -  SLOC = 29, CLOC = 18

Please let me know if there are any discrepancies between the hand and LOCC count and that produced by SCLC.

Best regards,
Mike

Philip Johnson wrote:

Hi Cedric,

Great start! To facilitate development and evaluation of this system, could you please do the following:

* import a new CVS module called hackySCLC

* create a src/ directory containing your version of sclc.pl

* create a lib/examples directory containing files of example code in a variety of languages. Relatively short files of Java, C, C++, Matlab, and Fortran would do for starters. Mike, can you help supply Cedric with some sample code ASAP?

* create a build.xml file. For starters, the default target should simply invoke the sclc.pl program on the example code, putting the resulting XML in the build/ directory. Later, we can augment this into a testing framework (save "correct" versions of the XML files, run the sclc version, and compare the output to the oracle versions, etc.)

* create a README.html file that gives pointers to installation of PERL and any required libraries.

Once this is done, it will be easy for all of us to see the XML that is generated by different languages, contribute new example code to see what happens, and simplify testing and evolution. Please let us know when this is available so we can check it out!

Cheers,
Philip



--On Thursday, August 18, 2005 1:43 AM -1000 "Qin ZHANG (Cedric)" <[EMAIL PROTECTED]> wrote:

Hi,

I hacked the original script and now it outputs xml instead of plain
text. Usage is still the same. Please notice that this is just a
proof-of-concept hack, not the final product.

Please try it and let me know what needs to be improved. At this stage, I am more interested in user requirements, such as what should command line
option be and what should the xml output be.

The script uses perl XML::DOM library. If you are on a recent linux
distribution, you should be ok. If you are on windows using active state
perl, you need to download the libary from www.cpan.org yourself.

Thanks.

Cedric



<?xml version="1.0"?>
<sclc>

<file lines="443" blank="80" cmnts="28" ncsl="335" aesl="2010" fname="lib/examples/T02_Inner.java" language="Java"/>

<file lines="54" blank="7" cmnts="19" ncsl="28" aesl="168" fname="lib/examples/TestStack.java" language="Java"/>

<file lines="36" blank="4" cmnts="13" ncsl="19" aesl="285" fname="lib/examples/markov.m" language="Matlab"/>

<file lines="54" blank="4" cmnts="25" ncsl="32" aesl="80" fname="lib/examples/matrix_multiply.c" language="C"/>

<file lines="56" blank="9" cmnts="18" ncsl="29" aesl="145" fname="lib/examples/matrix_multiply.f" language="FORTRAN"/>

<file lines="88" blank="11" cmnts="41" ncsl="46" aesl="115" fname="lib/examples/pi_calc.c" language="C"/>

<file lines="99" blank="18" cmnts="46" ncsl="35" aesl="175" fname="lib/examples/pi_calc.f" language="FORTRAN"/>

<file lines="230" blank="20" cmnts="91" ncsl="119" aesl="714" fname="lib/examples/test.java" language="Java"/>

<file lines="1955" blank="164" cmnts="801" ncsl="1024" aesl="15360" fname="lib/examples/test.pl" language="Perl"/>

<file lines="56" blank="9" cmnts="38" ncsl="29" aesl="435" fname="lib/examples/theta_logistic.m" language="Matlab"/>

</sclc>

Reply via email to