Skip to content

Commit

Permalink
Merge pull request #600 from nevalang/no_net_syntax
Browse files Browse the repository at this point in the history
feat(e2e,examples,smoke_tests): get rid of "net" keyword
  • Loading branch information
emil14 authored May 7, 2024
2 parents d6f57c4 + a1a7f61 commit 4f25fbd
Show file tree
Hide file tree
Showing 95 changed files with 964 additions and 1,234 deletions.
14 changes: 14 additions & 0 deletions .vscode/bookmarks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"files": [
{
"path": "internal/compiler/analyzer/component_nodes.go",
"bookmarks": [
{
"line": 198,
"column": 1,
"label": ""
}
]
}
]
}
74 changes: 35 additions & 39 deletions e2e/99_bottles_verbose/main/main.neva
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@

component Main(start) (stop) {
nodes { Match<int>, next PrintNext2Lines }
net {
:start -> (99 -> next:n)

next:n -> match:data
-1 -> match:case[0]
:start -> (99 -> next:n)

match:case[0] -> :stop
match:else -> next:n
}
next:n -> match:data
-1 -> match:case[0]

match:case[0] -> :stop
match:else -> next:n
}

component PrintNext2Lines(n int) (n int) {
Expand All @@ -19,12 +18,11 @@ component PrintNext2Lines(n int) (n int) {
first PrintFirstLine
second PrintSecondLine
}
net {
:n -> first:n
first:n -> decr:n
decr:n -> second:n
second:n -> :n
}

:n -> first:n
first:n -> decr:n
decr:n -> second:n
second:n -> :n
}

// === First Line ===
Expand All @@ -37,20 +35,19 @@ const {

component PrintFirstLine(n int) (n int) {
nodes { Match<int>, Println, Printf, Lock<int> }
net {
:n -> [match:data, lock:data]
0 -> match:case[0]
1 -> match:case[1]

match:case[0] -> ($firstLine3 -> println:data)
match:case[1] -> ($firstLine2 -> println:data)
match:else -> printf:args[0]
$firstLine1 -> printf:tpl
:n -> [match:data, lock:data]
0 -> match:case[0]
1 -> match:case[1]

[println:sig, printf:args[0]] -> lock:sig
match:case[0] -> ($firstLine3 -> println:data)
match:case[1] -> ($firstLine2 -> println:data)
match:else -> printf:args[0]
$firstLine1 -> printf:tpl

lock:data -> :n
}
[println:sig, printf:args[0]] -> lock:sig

lock:data -> :n
}

// === Second Line ===
Expand All @@ -64,19 +61,18 @@ const {

component PrintSecondLine(n int) (n int) {
nodes { Match<int>, Lock<int>, Printf, Println }
net {
:n -> [match:data, lock:data]
-1 -> match:case[0]
0 -> match:case[1]
1 -> match:case[2]

match:case[0] -> ($secondLine4 -> println:data)
match:case[1] -> ($secondLine3 -> println:data)
match:case[2] -> ($secondLine2 -> println:data)
match:else -> printf:args[0]
$secondLine1 -> printf:tpl

[println:sig, printf:args[0]] -> lock:sig
lock:data -> :n
}

:n -> [match:data, lock:data]
-1 -> match:case[0]
0 -> match:case[1]
1 -> match:case[2]

match:case[0] -> ($secondLine4 -> println:data)
match:case[1] -> ($secondLine3 -> println:data)
match:case[2] -> ($secondLine2 -> println:data)
match:else -> printf:args[0]
$secondLine1 -> printf:tpl

[println:sig, printf:args[0]] -> lock:sig
lock:data -> :n
}
57 changes: 26 additions & 31 deletions e2e/99_bottles_with_chain/main/main.neva
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@

component Main(start) (stop) {
nodes { Match<int>, next PrintNext2Lines }
net {
:start -> (99 -> next:n -> match:data)
-1 -> match:case[0] -> :stop
match:else -> next:n
}

:start -> (99 -> next:n -> match:data)
-1 -> match:case[0] -> :stop
match:else -> next:n
}

component PrintNext2Lines(n int) (n int) {
Expand All @@ -15,9 +14,7 @@ component PrintNext2Lines(n int) (n int) {
first PrintFirstLine
second PrintSecondLine
}
net {
:n -> first:n -> decr:n -> second:n -> :n
}
:n -> first:n -> decr:n -> second:n -> :n
}

// === First Line ===
Expand All @@ -30,19 +27,18 @@ const {

component PrintFirstLine(n int) (n int) {
nodes { Match<int>, Println, Printf, Lock<int> }
net {
:n -> [match:data, lock:data]

0 -> match:case[0] -> ($firstLine3 -> println:data)
1 -> match:case[1] -> ($firstLine2 -> println:data)
match:else -> [
printf:args[0],
($firstLine1 -> printf:tpl)
]
:n -> [match:data, lock:data]

[println:sig, printf:args[0]] -> lock:sig
lock:data -> :n
}
0 -> match:case[0] -> ($firstLine3 -> println:data)
1 -> match:case[1] -> ($firstLine2 -> println:data)
match:else -> [
printf:args[0],
($firstLine1 -> printf:tpl)
]

[println:sig, printf:args[0]] -> lock:sig
lock:data -> :n
}

// === Second Line ===
Expand All @@ -56,18 +52,17 @@ const {

component PrintSecondLine(n int) (n int) {
nodes { Match<int>, Lock<int>, Printf, Println }
net {
:n -> [match:data, lock:data]

-1 -> match:case[0] -> ($secondLine4 -> println:data)
0 -> match:case[1] -> ($secondLine3 -> println:data)
1 -> match:case[2] -> ($secondLine2 -> println:data)
match:else -> [
printf:args[0],
($secondLine1 -> printf:tpl)
]
:n -> [match:data, lock:data]

[println:sig, printf:args[0]] -> lock:sig
lock:data -> :n
}
-1 -> match:case[0] -> ($secondLine4 -> println:data)
0 -> match:case[1] -> ($secondLine3 -> println:data)
1 -> match:case[2] -> ($secondLine2 -> println:data)
match:else -> [
printf:args[0],
($secondLine1 -> printf:tpl)
]

[println:sig, printf:args[0]] -> lock:sig
lock:data -> :n
}
17 changes: 8 additions & 9 deletions e2e/add_nums_from_stdin_naive/main/main.neva
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,12 @@ component Main(start any) (stop any) {
adder ReducePort<int> { Add<int> }
println Println<int>
}
net {
:start -> scanner1:sig
scanner1:data-> parser1:data
parser1:res -> [adder:port[0], scanner2:sig]
scanner2:data -> parser2:data
parser2:res -> adder:port[1]
adder:res -> println:data
println:sig -> :stop
}

:start -> scanner1:sig
scanner1:data-> parser1:data
parser1:res -> [adder:port[0], scanner2:sig]
scanner2:data -> parser2:data
parser2:res -> adder:port[1]
adder:res -> println:data
println:sig -> :stop
}
40 changes: 0 additions & 40 deletions e2e/add_nums_from_stdin_with_default_any/main.neva

This file was deleted.

37 changes: 37 additions & 0 deletions e2e/add_nums_from_stdin_with_default_any/main/main.neva
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import {
io
strconv
}

component {
Main(start) (stop) {
nodes { Aux, Println }

:start -> aux:sig
[aux:res, aux:err] -> println:data
println:sig -> :stop
}

Aux(sig) (res int, err error) {
nodes {
reader1 IntReader
reader2 IntReader
adder ReducePort<int> { Add<int> }
}

:sig -> reader1:sig
reader1:num -> [adder:port[0], reader2:sig]
[reader1:err, reader2:err] -> :err
reader2:num -> adder:port[1]
adder:res -> :res
}

IntReader(sig any) (num int, err error) {
nodes { io.Scanln, strconv.ParseNum<int> }

:sig -> scanln:sig
scanln:data -> parseNum:data
parseNum:res -> :num
parseNum:err -> :err
}
}
21 changes: 10 additions & 11 deletions e2e/add_nums_from_stdin_with_err_handling/main/main.neva
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,14 @@ component Main(start any) (stop any) {
adder ReducePort<int> { Add<int> }
println Println<any>
}
net {
:start -> scanner1:sig
scanner1:data -> parser1:data
parser1:err -> println:data
parser1:res -> [adder:port[0], scanner2:sig]
scanner2:data -> parser2:data
parser2:err -> println:data
parser2:res -> adder:port[1]
adder:res -> println:data
println:sig -> :stop
}

:start -> scanner1:sig
scanner1:data -> parser1:data
parser1:err -> println:data
parser1:res -> [adder:port[0], scanner2:sig]
scanner2:data -> parser2:data
parser2:err -> println:data
parser2:res -> adder:port[1]
adder:res -> println:data
println:sig -> :stop
}
35 changes: 16 additions & 19 deletions e2e/add_nums_from_stdin_with_multuple_senders/main/main.neva
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,10 @@ import {
component {
Main(start) (stop) {
nodes { Aux, Println<any> }
net {
:start -> aux:sig
[aux:res, aux:err] -> println:data
println:sig -> :stop
}

:start -> aux:sig
[aux:res, aux:err] -> println:data
println:sig -> :stop
}

Aux(sig) (res int, err error) {
Expand All @@ -19,22 +18,20 @@ component {
reader2 IntReader
adder ReducePort<int> { Add<int> }
}
net {
:sig -> reader1:sig
reader1:num -> [adder:port[0], reader2:sig]
[reader1:err, reader2:err] -> :err
reader2:num -> adder:port[1]
adder:res -> :res
}

:sig -> reader1:sig
reader1:num -> [adder:port[0], reader2:sig]
[reader1:err, reader2:err] -> :err
reader2:num -> adder:port[1]
adder:res -> :res
}

IntReader(sig any) (num int, err error) {
IntReader(sig any) (num int, err error) {
nodes { io.Scanln, strconv.ParseNum<int> }
net {
:sig -> scanln:sig
scanln:data -> parseNum:data
parseNum:res -> :num
parseNum:err -> :err
}

:sig -> scanln:sig
scanln:data -> parseNum:data
parseNum:res -> :num
parseNum:err -> :err
}
}
Loading

0 comments on commit 4f25fbd

Please sign in to comment.