Skip to content

Commit c9557bd

Browse files
authored
Merge pull request #3 from dpaz/master
Add npath tool
2 parents b36de4a + d282392 commit c9557bd

18 files changed

+8616
-0
lines changed

cmd/bblfsh-tools/main.go

+1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ func main() {
1616
parser.AddCommand("dummy", "", "Run dummy tool", &Dummy{})
1717
parser.AddCommand("tokenizer", "", "Run tokenizer tool", &Tokenizer{})
1818
parser.AddCommand("cyclomatic", "", "Run cyclomatic complexity tool", &CyclomaticComp{})
19+
parser.AddCommand("npath", "", "Run npath complexity calculation", &NPath{})
1920

2021
if _, err := parser.Parse(); err != nil {
2122
if flagsErr, ok := err.(*flags.Error); ok {

cmd/bblfsh-tools/npath.go

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package main
2+
3+
import "github.com/bblfsh/tools"
4+
5+
type NPath struct {
6+
Common
7+
}
8+
9+
func (c *NPath) Execute(args []string) error {
10+
return c.execute(args, tools.NPath{})
11+
}

fixtures/npath/do_while.java

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Code {
2+
void code() {
3+
int i = 0;
4+
do {
5+
System.out.println(i);
6+
i++;
7+
} while (i < 10&& i<20);
8+
}
9+
}
10+

fixtures/npath/do_while.java.json

+373
Large diffs are not rendered by default.

fixtures/npath/for.java

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
class Code {
2+
void code() {
3+
for (int i = 0; i < 10; i++) {
4+
System.out.println(i);
5+
}
6+
}
7+
}

fixtures/npath/for.java.json

+366
Large diffs are not rendered by default.

fixtures/npath/ifelse.java

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
class Code {
2+
void code() {
3+
if (true) {
4+
System.out.println(true);
5+
} else {
6+
System.out.println(false);
7+
}
8+
}
9+
}

fixtures/npath/ifelse.java.json

+350
Large diffs are not rendered by default.

fixtures/npath/someFuncs.java

+83
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
class Code {
2+
3+
public int minFunction(int n1, int n2) {
4+
int min;
5+
if (n1 > n2)
6+
min = n2;
7+
else
8+
min = n1;
9+
10+
return min;
11+
}
12+
13+
public static void printMax( double... numbers) {
14+
if (numbers.length == 0) {
15+
System.out.println("No argument passed");
16+
return;
17+
}
18+
19+
double result = numbers[0];
20+
21+
for (int i = 1; i < numbers.length; i++){
22+
if (numbers[i] > result){
23+
result = numbers[i];
24+
System.out.println("The max value is " + result);
25+
}
26+
}
27+
28+
}
29+
30+
public void reverse(){
31+
int num=0;
32+
int reversenum =0;
33+
System.out.println("Input your number and press enter: ");
34+
//This statement will capture the user input
35+
Scanner in = new Scanner(System.in);
36+
//Captured input would be stored in number num
37+
num = in.nextInt();
38+
//While Loop: Logic to find out the reverse number
39+
while( num != 0 )
40+
{
41+
reversenum = reversenum * 10;
42+
reversenum = reversenum + num%10;
43+
num = num/10;
44+
}
45+
46+
System.out.println("Reverse of input number is: "+reversenum);
47+
}
48+
49+
public static boolean isPrime(int num) {
50+
if (num % 2 == 0){
51+
return false;
52+
}
53+
for (int i = 3; i * i <= num; i += 2){
54+
if (num % i == 0){ return false;}
55+
}
56+
57+
return true;
58+
}
59+
60+
public static void printMoreThan(int a){
61+
62+
for (int i : new int[]{0, 1, 2, 3, 4, 5, 6, 7, 9}) {
63+
if (i >a){
64+
System.out.println(i);
65+
}
66+
}
67+
68+
}
69+
70+
public static void printTriangle(int a){
71+
for (int i = 0; i < a; i++)
72+
{
73+
for (int j = a; j > i; j--)
74+
{
75+
System.out.print(" ");
76+
}
77+
for (int k = 1; k <= i + 1; k++) {
78+
System.out.print(" *");
79+
}
80+
System.out.print("\n");
81+
}
82+
}
83+
}

0 commit comments

Comments
 (0)