1
0
mirror of https://github.com/fumiama/gozel.git synced 2026-06-17 15:54:27 +08:00

feat(gen&zecall): add function support

This commit is contained in:
源文雨
2026-03-22 18:12:12 +08:00
parent e91efbc86f
commit 64f95b23a7
33 changed files with 9568 additions and 265 deletions

View File

@@ -3,6 +3,7 @@ package main
import (
"bufio"
"errors"
"fmt"
"strings"
"unicode"
)
@@ -47,7 +48,7 @@ func getInsideRoundBrakets(txt string) (string, int, error) {
}
func get1sentence(firstln string, scan *bufio.Scanner, ln int) (string, int) {
if strings.Contains(firstln, ";") {
if strings.Contains(firstln, ";") && !strings.HasPrefix(strings.TrimSpace(firstln), "//") {
return firstln, ln
}
bracedepth := 0
@@ -64,13 +65,25 @@ func get1sentence(firstln string, scan *bufio.Scanner, ln int) (string, int) {
bracedepth--
}
sb.WriteString(t)
if strings.Contains(t, ";") && bracedepth == 0 {
content, _, _ := strings.Cut(t, "//")
if strings.Contains(content, ";") && bracedepth == 0 {
return sb.String(), ln
}
}
return "", -1
}
func scanln(name string, scan *bufio.Scanner, ln *int) (s string, isfin bool) {
if !scan.Scan() {
panic(fmt.Sprintf("%s L%d: unexpected EOF", name, *ln))
}
(*ln)++
s = scan.Text()
content, _, _ := strings.Cut(s, "//")
isfin = strings.Contains(content, ";")
return
}
func us2camel(t string) string {
sb := strings.Builder{}
for s := range strings.SplitSeq(t, "_") {