3 Star 0 Fork 1

Gitee 极速下载/ntt

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/nokia/ntt
克隆/下载
interpreter.go 1.31 KB
一键复制 编辑 原始数据 按行查看 历史
Matthias Simon 提交于 2022-09-11 10:42 . Simplify repository layout (#614)
package main
import (
"sync"
"github.com/hashicorp/go-multierror"
"github.com/nokia/ntt/interpreter"
"github.com/nokia/ntt/runtime"
"github.com/nokia/ntt/ttcn3"
)
func interpret(args []string) error {
files, err := parse(args...)
if err != nil {
return err
}
if err := check(files...); err != nil {
return err
}
env := runtime.NewEnv(nil)
if err := load(env, files...); err != nil {
return err
}
// TODO(5nord) execute all control parts
return nil
}
// parse TTCN-3 files and return a list of syntax trees.
func parse(files ...string) ([]*ttcn3.Tree, error) {
result := make([]*ttcn3.Tree, len(files))
var wg sync.WaitGroup
wg.Add(len(files))
for i, file := range files {
go func(i int, file string) {
defer wg.Done()
result[i] = ttcn3.ParseFile(file)
}(i, file)
}
wg.Wait()
// collect all syntax errors
var err error
for _, file := range result {
if file.Err != nil {
err = multierror.Append(err, file.Err)
}
}
return result, err
}
func check(files ...*ttcn3.Tree) error {
return nil
}
// load TTCN-3 files by executing them.
func load(env *runtime.Env, files ...*ttcn3.Tree) error {
var err error
for _, file := range files {
result := interpreter.Eval(file.Root, env)
if rerr, ok := result.(*runtime.Error); ok {
err = multierror.Append(err, rerr)
}
}
return err
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors/ntt.git
git@gitee.com:mirrors/ntt.git
mirrors
ntt
ntt
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385