Python: добавлен безымянный import и оба вида приведены в соответствие
Этот коммит содержится в:
родитель
b26ef37282
коммит
ee76ec40a8
2 изменённых файлов: 49 добавлений и 41 удалений
|
@ -457,18 +457,11 @@ func handleIfStmt(stmt *ast.IfStmt) string {
|
||||||
func handleImportSpec(spec ast.Spec) string {
|
func handleImportSpec(spec ast.Spec) string {
|
||||||
s := spec.(*ast.ImportSpec)
|
s := spec.(*ast.ImportSpec)
|
||||||
code := ""
|
code := ""
|
||||||
if s.Name != nil {
|
libName := strings.Trim(s.Path.Value, "\"")
|
||||||
name := handleIdent(s.Name)
|
if s.Name == nil {
|
||||||
if val, ok := mapping[name]; ok {
|
code = "import " + libName + "\n"
|
||||||
name = val
|
|
||||||
}
|
|
||||||
if name != "" {
|
|
||||||
if name != "controller" {
|
|
||||||
code = "#include <" + name + ".h>\n"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
code = "from " + strings.Trim(s.Path.Value, "\"") + " import *\n"
|
code = "from " + libName + " import *\n"
|
||||||
}
|
}
|
||||||
return code
|
return code
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,7 @@ var _ = Describe("Go Translator to Python/Skidl", func() {
|
||||||
It("Importing skidl", func() {
|
It("Importing skidl", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import (
|
import (
|
||||||
"skidl"
|
. "skidl"
|
||||||
)
|
)
|
||||||
`
|
`
|
||||||
expected := `from skidl import *
|
expected := `from skidl import *
|
||||||
|
@ -40,13 +40,28 @@ main()
|
||||||
It("Importing skidl and FreeCAD", func() {
|
It("Importing skidl and FreeCAD", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import (
|
import (
|
||||||
"skidl"
|
. "skidl"
|
||||||
"FreeCAD"
|
. "FreeCAD"
|
||||||
)
|
)
|
||||||
`
|
`
|
||||||
expected := `from skidl import *
|
expected := `from skidl import *
|
||||||
from FreeCAD import *
|
from FreeCAD import *
|
||||||
|
|
||||||
|
main()
|
||||||
|
`
|
||||||
|
Compare(source, expected)
|
||||||
|
})
|
||||||
|
|
||||||
|
It("Importing inline", func() {
|
||||||
|
source := `package test
|
||||||
|
import (
|
||||||
|
"skidl"
|
||||||
|
"FreeCAD"
|
||||||
|
)
|
||||||
|
`
|
||||||
|
expected := `import skidl
|
||||||
|
import FreeCAD
|
||||||
|
|
||||||
main()
|
main()
|
||||||
`
|
`
|
||||||
Compare(source, expected)
|
Compare(source, expected)
|
||||||
|
@ -54,7 +69,7 @@ main()
|
||||||
|
|
||||||
It("Variables declaration", func() {
|
It("Variables declaration", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
var (
|
var (
|
||||||
a = 1
|
a = 1
|
||||||
|
@ -81,7 +96,7 @@ main()
|
||||||
|
|
||||||
It("Simple bool assignment", func() {
|
It("Simple bool assignment", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
t := true
|
t := true
|
||||||
|
@ -100,7 +115,7 @@ main()
|
||||||
|
|
||||||
It("Empty Array assignment", func() {
|
It("Empty Array assignment", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
a := []any{}
|
a := []any{}
|
||||||
|
@ -119,7 +134,7 @@ main()
|
||||||
|
|
||||||
It("Inited array assignment", func() {
|
It("Inited array assignment", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
a := []any{1, 2, x}
|
a := []any{1, 2, x}
|
||||||
|
@ -136,7 +151,7 @@ main()
|
||||||
|
|
||||||
It("Array append", func() {
|
It("Array append", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
append(a, 1)
|
append(a, 1)
|
||||||
|
@ -153,7 +168,7 @@ main()
|
||||||
|
|
||||||
It("Deep property assign", func() {
|
It("Deep property assign", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
a.b.c = 1
|
a.b.c = 1
|
||||||
|
@ -170,7 +185,7 @@ main()
|
||||||
|
|
||||||
It("Function Declaration", func() {
|
It("Function Declaration", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {}
|
func main() {}
|
||||||
`
|
`
|
||||||
|
@ -185,7 +200,7 @@ main()
|
||||||
|
|
||||||
It("Func call", func() {
|
It("Func call", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
generate_netlist()
|
generate_netlist()
|
||||||
|
@ -202,7 +217,7 @@ main()
|
||||||
|
|
||||||
It("Func return", func() {
|
It("Func return", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func myfunc(p1, p2 any) any {
|
func myfunc(p1, p2 any) any {
|
||||||
return 5
|
return 5
|
||||||
|
@ -224,7 +239,7 @@ main()
|
||||||
|
|
||||||
It("Net Declaration", func() {
|
It("Net Declaration", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
vin := Net("3.3v")
|
vin := Net("3.3v")
|
||||||
|
@ -241,7 +256,7 @@ main()
|
||||||
|
|
||||||
It("Nets Declaration", func() {
|
It("Nets Declaration", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
vin := Net("3.3v")
|
vin := Net("3.3v")
|
||||||
|
@ -260,7 +275,7 @@ main()
|
||||||
|
|
||||||
It("Part Declaration", func() {
|
It("Part Declaration", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
ESP32 := Part("RF_Module", "ESP32-WROOM-32", TEMPLATE, footprint == "RF_Module:ESP32-WROOM-32")
|
ESP32 := Part("RF_Module", "ESP32-WROOM-32", TEMPLATE, footprint == "RF_Module:ESP32-WROOM-32")
|
||||||
|
@ -277,7 +292,7 @@ main()
|
||||||
|
|
||||||
It("Parts Declaration", func() {
|
It("Parts Declaration", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
ESP32 := Part("RF_Module", "ESP32-WROOM-32", TEMPLATE, footprint == "RF_Module:ESP32-WROOM-32")
|
ESP32 := Part("RF_Module", "ESP32-WROOM-32", TEMPLATE, footprint == "RF_Module:ESP32-WROOM-32")
|
||||||
|
@ -296,7 +311,7 @@ main()
|
||||||
|
|
||||||
It("Values Declaration", func() {
|
It("Values Declaration", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
esp32 := ESP32(value == "ESP32")
|
esp32 := ESP32(value == "ESP32")
|
||||||
|
@ -315,7 +330,7 @@ main()
|
||||||
|
|
||||||
It("Values with params Declaration", func() {
|
It("Values with params Declaration", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
tr_tok_verh := tr_npn(value == "tr Tok verh NPN")
|
tr_tok_verh := tr_npn(value == "tr Tok verh NPN")
|
||||||
|
@ -332,7 +347,7 @@ main()
|
||||||
|
|
||||||
It("Assignments += by name ", func() {
|
It("Assignments += by name ", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
esp32["GND"] += gnd
|
esp32["GND"] += gnd
|
||||||
|
@ -351,7 +366,7 @@ main()
|
||||||
|
|
||||||
It("Assignments += by index", func() {
|
It("Assignments += by index", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
esp32[1] += gnd
|
esp32[1] += gnd
|
||||||
|
@ -372,7 +387,7 @@ main()
|
||||||
|
|
||||||
XIt("Assignments += by index of function call", func() {
|
XIt("Assignments += by index of function call", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
vkl_iface = vkl_iface_part(1)[0]
|
vkl_iface = vkl_iface_part(1)[0]
|
||||||
|
@ -389,7 +404,7 @@ main()
|
||||||
|
|
||||||
It("Assignments &", func() {
|
It("Assignments &", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
tr_vkl["G"] & vkl
|
tr_vkl["G"] & vkl
|
||||||
|
@ -410,7 +425,7 @@ main()
|
||||||
|
|
||||||
It("Value Assignment", func() {
|
It("Value Assignment", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
vkl_iface.value = "k vkl"
|
vkl_iface.value = "k vkl"
|
||||||
|
@ -433,7 +448,7 @@ main()
|
||||||
|
|
||||||
It("Condition", func() {
|
It("Condition", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
if a > 2 {
|
if a > 2 {
|
||||||
|
@ -461,7 +476,7 @@ main()
|
||||||
|
|
||||||
It("Condition complex", func() {
|
It("Condition complex", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
if a > 2 {
|
if a > 2 {
|
||||||
|
@ -498,7 +513,7 @@ main()
|
||||||
|
|
||||||
It("For with range", func() {
|
It("For with range", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
for v := range list {
|
for v := range list {
|
||||||
|
@ -518,7 +533,7 @@ main()
|
||||||
|
|
||||||
It("Function decl/call", func() {
|
It("Function decl/call", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
func vdiv(inp, outp, param string) {
|
func vdiv(inp, outp, param string) {
|
||||||
r1 := r(value == 1000)
|
r1 := r(value == 1000)
|
||||||
|
@ -551,7 +566,7 @@ main()
|
||||||
|
|
||||||
It("Subcircuit function decorator", func() {
|
It("Subcircuit function decorator", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
//@subcircuit
|
//@subcircuit
|
||||||
func vdiv(inp, outp, param string) {
|
func vdiv(inp, outp, param string) {
|
||||||
|
@ -586,7 +601,7 @@ main()
|
||||||
|
|
||||||
It("Package function decorator", func() {
|
It("Package function decorator", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
//@package
|
//@package
|
||||||
func vdiv(inp, outp, param string) {
|
func vdiv(inp, outp, param string) {
|
||||||
|
@ -621,7 +636,7 @@ main()
|
||||||
|
|
||||||
It("Interfaces", func() {
|
It("Interfaces", func() {
|
||||||
source := `package test
|
source := `package test
|
||||||
import "skidl"
|
import . "skidl"
|
||||||
|
|
||||||
//@subcircuit
|
//@subcircuit
|
||||||
func mem_module(intfc any) {
|
func mem_module(intfc any) {
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче