Добавлен оператор c++
Этот коммит содержится в:
родитель
43604f262f
коммит
f3ba6030fa
2 изменённых файлов: 54 добавлений и 0 удалений
|
@ -176,6 +176,12 @@ func handleAssignStmt(as *ast.AssignStmt) string {
|
||||||
return code
|
return code
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func handleIncDecStmt(as *ast.IncDecStmt) string {
|
||||||
|
code := handleExpr(as.X)
|
||||||
|
code += as.Tok.String()
|
||||||
|
return code
|
||||||
|
}
|
||||||
|
|
||||||
func handleAssignStmtExpr(e []ast.Expr) string {
|
func handleAssignStmtExpr(e []ast.Expr) string {
|
||||||
ops := make([]string, 0)
|
ops := make([]string, 0)
|
||||||
code := ""
|
code := ""
|
||||||
|
@ -505,6 +511,11 @@ func handleStmt(stmt ast.Stmt, standaloneAssignment bool) string {
|
||||||
if !standaloneAssignment {
|
if !standaloneAssignment {
|
||||||
code += ";"
|
code += ";"
|
||||||
}
|
}
|
||||||
|
case *ast.IncDecStmt:
|
||||||
|
code += handleIncDecStmt(s)
|
||||||
|
if !standaloneAssignment {
|
||||||
|
code += ";"
|
||||||
|
}
|
||||||
case *ast.BranchStmt:
|
case *ast.BranchStmt:
|
||||||
code += handleBranchStmt(s)
|
code += handleBranchStmt(s)
|
||||||
case *ast.CaseClause:
|
case *ast.CaseClause:
|
||||||
|
|
|
@ -835,6 +835,49 @@ var _ = Describe("Go Translator", func() {
|
||||||
`
|
`
|
||||||
Compare(source, expected)
|
Compare(source, expected)
|
||||||
})
|
})
|
||||||
|
It("for i=0; i<10; i++", func() {
|
||||||
|
source := `package test
|
||||||
|
func Setup() {}
|
||||||
|
func Loop() {
|
||||||
|
var i int
|
||||||
|
for i=0; i<10; i++ {
|
||||||
|
i = i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`
|
||||||
|
expected := `
|
||||||
|
void setup();
|
||||||
|
void loop();
|
||||||
|
|
||||||
|
void setup() {}
|
||||||
|
void loop() {
|
||||||
|
int i;
|
||||||
|
for (i=0; i<10; i++) {
|
||||||
|
i = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`
|
||||||
|
Compare(source, expected)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
Describe("Математика", func() {
|
||||||
|
It("i++", func() {
|
||||||
|
source := `package test
|
||||||
|
func Loop() {
|
||||||
|
var i int
|
||||||
|
i++
|
||||||
|
}
|
||||||
|
`
|
||||||
|
expected := `
|
||||||
|
void loop();
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
int i;
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
`
|
||||||
|
Compare(source, expected)
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче