aboutsummaryrefslogtreecommitdiff
path: root/generator.go
diff options
context:
space:
mode:
Diffstat (limited to 'generator.go')
-rw-r--r--generator.go44
1 files changed, 19 insertions, 25 deletions
diff --git a/generator.go b/generator.go
index e699f47..7401cee 100644
--- a/generator.go
+++ b/generator.go
@@ -56,8 +56,9 @@ const (
%s
*/
+// Package sqlite is an in-process implementation of a self-contained,
+// serverless, zero-configuration, transactional SQL database engine. (Work In Progress)
%s
-
package bin
import (
@@ -82,8 +83,8 @@ func Xsqlite3PendingByte() int32 { return _sqlite3PendingByte }
prologueTest = `// Code generated by ccgo. DO NOT EDIT.
+// %s
%s
-
package main
import (
@@ -356,7 +357,6 @@ func header(f string) []byte {
var s scanner.Scanner
s.Init(token.NewFileSet().AddFile(f, -1, len(b)), b, nil, scanner.ScanComments)
var buf buffer.Bytes
- fmt.Fprintf(&buf, "/* %s */", filepath.Base(f))
for {
_, tok, lit := s.Scan()
switch tok {
@@ -370,24 +370,18 @@ func header(f string) []byte {
}
func tidyComment(s string) string {
- if strings.HasPrefix(s, "/*") {
- s = s[len("/*") : len(s)-len("*/")]
- }
- a := strings.Split(strings.TrimSpace(s), "\n")
- for i, v := range a {
- if strings.HasPrefix(v, "** ") {
- a[i] = a[i][len("** "):]
- continue
+ switch {
+ case strings.HasPrefix(s, "/*"):
+ a := strings.Split("/"+s[1:len(s)-1], "\n")
+ for i, v := range a {
+ a[i] = "// " + v
}
-
- if v == "**" {
- a[i] = ""
- }
- }
- for i, v := range a {
- a[i] = strings.TrimSpace(v)
+ return strings.Join(a, "\n") + "/\n"
+ case strings.HasPrefix(s, "//"):
+ return "// " + s[2:] + "\n"
+ default:
+ panic("internal error")
}
- return "// " + strings.Join(a, "\n// ") + "\n"
}
func tidyComments(b []byte) string {
@@ -430,7 +424,7 @@ func sqlite() {
log.Fatal(err)
}
- fmt.Fprintf(&b, prologueSqlite, lic, tidyComments(header(sqlite3)))
+ fmt.Fprintf(&b, prologueSqlite, lic, strings.TrimSpace(tidyComments(header(sqlite3))))
macros(&b, asta[0])
b.Write(src)
b2, err := format.Source(b.Bytes())
@@ -472,7 +466,7 @@ func mpTest() {
)
var b bytes.Buffer
- fmt.Fprintf(&b, prologueTest, tidyComments(header(test)))
+ fmt.Fprintf(&b, prologueTest, tag, strings.TrimSpace(tidyComments(header(test))))
b.Write(src)
b2, err := format.Source(b.Bytes())
if err != nil {
@@ -518,7 +512,7 @@ func threadTest1() {
)
var b bytes.Buffer
- fmt.Fprintf(&b, prologueTest, tidyComments(header(test)))
+ fmt.Fprintf(&b, prologueTest, tag, strings.TrimSpace(tidyComments(header(test))))
b.Write(src)
b2, err := format.Source(b.Bytes())
if err != nil {
@@ -563,7 +557,7 @@ func threadTest2() {
)
var b bytes.Buffer
- fmt.Fprintf(&b, prologueTest, tidyComments(header(test)))
+ fmt.Fprintf(&b, prologueTest, tag, strings.TrimSpace(tidyComments(header(test))))
b.Write(src)
b2, err := format.Source(b.Bytes())
if err != nil {
@@ -610,7 +604,7 @@ func threadTest3() {
)
var b bytes.Buffer
- fmt.Fprintf(&b, prologueTest, tidyComments(header(test)))
+ fmt.Fprintf(&b, prologueTest, tag, strings.TrimSpace(tidyComments(header(test))))
b.Write(src)
b2, err := format.Source(b.Bytes())
if err != nil {
@@ -655,7 +649,7 @@ func threadTest4() {
)
var b bytes.Buffer
- fmt.Fprintf(&b, prologueTest, tidyComments(header(test)))
+ fmt.Fprintf(&b, prologueTest, tag, strings.TrimSpace(tidyComments(header(test))))
b.Write(src)
b2, err := format.Source(b.Bytes())
if err != nil {