github.com/nevalang/neva@v0.23.1-0.20240507185603-7696a9bb8dda/e2e/add_nums_from_stdin_with_multuple_senders/main/main.neva (about) 1 import { 2 io 3 strconv 4 } 5 6 component { 7 Main(start) (stop) { 8 nodes { Aux, Println<any> } 9 10 :start -> aux:sig 11 [aux:res, aux:err] -> println:data 12 println:sig -> :stop 13 } 14 15 Aux(sig) (res int, err error) { 16 nodes { 17 reader1 IntReader 18 reader2 IntReader 19 adder ReducePort<int> { Add<int> } 20 } 21 22 :sig -> reader1:sig 23 reader1:num -> [adder:port[0], reader2:sig] 24 [reader1:err, reader2:err] -> :err 25 reader2:num -> adder:port[1] 26 adder:res -> :res 27 } 28 29 IntReader(sig any) (num int, err error) { 30 nodes { io.Scanln, strconv.ParseNum<int> } 31 32 :sig -> scanln:sig 33 scanln:data -> parseNum:data 34 parseNum:res -> :num 35 parseNum:err -> :err 36 } 37 }