Bläddra i källkod

перевел формат файлов на xml+zip, уточнил формат хранения

kpmy 10 år sedan
förälder
incheckning
0924a64872

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo0.oxf


BIN
code/XevDemo0.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo1.oxf


BIN
code/XevDemo1.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo10.oxf


BIN
code/XevDemo10.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo11.oxf


BIN
code/XevDemo11.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo12.oxf


BIN
code/XevDemo12.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo13.oxf


BIN
code/XevDemo13.oz


BIN
code/XevDemo14.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo2.oxf


BIN
code/XevDemo2.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo3.oxf


BIN
code/XevDemo3.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo4.oxf


BIN
code/XevDemo4.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo5.oxf


BIN
code/XevDemo5.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo6.oxf


BIN
code/XevDemo6.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo7.oxf


BIN
code/XevDemo7.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo8.oxf


BIN
code/XevDemo8.oz


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 1
code/XevDemo9.oxf


BIN
code/XevDemo9.oz


+ 1 - 1
fw.go

@@ -26,7 +26,7 @@ func close() {
 func main() {
 	flag.Parse()
 	if name == "" {
-		name = "XevDemo11"
+		name = "XevDemo14"
 	}
 	global := new(stdDomain)
 	modList := module.New()

+ 1 - 1
rt2/module/ml.go

@@ -53,7 +53,7 @@ func (l *list) Load(name string) (*mod.Module, error) {
 	ret := l.Loaded(name)
 	if ret == nil {
 		path, _ := os.Getwd()
-		ret = xev.Load(path, name+".oxf")
+		ret = xev.Load(path, name+".oz")
 		l.inner[name] = ret
 	}
 	return ret, nil

+ 11 - 1
xev/cmds.go

@@ -1,10 +1,12 @@
 package xev
 
 import (
+	"archive/zip"
 	"fmt"
 	"fw/cp/module"
 	"io/ioutil"
 	"path/filepath"
+	"ypk/assert"
 )
 
 const CODE = "code"
@@ -12,7 +14,15 @@ const CODE = "code"
 func Load(path, name string) (ret *module.Module) {
 	fmt.Println(path + ` ` + name)
 	var data []byte
-	data, _ = ioutil.ReadFile(filepath.Join(path, CODE, name))
+	r, err := zip.OpenReader(filepath.Join(path, CODE, name))
+	assert.For(err == nil, 40)
+	for _, f := range r.File {
+		if f.Name == CODE {
+			r, _ := f.Open()
+			data, _ = ioutil.ReadAll(r)
+		}
+	}
+	//data, _ = ioutil.ReadFile(filepath.Join(path, CODE, name))
 	fmt.Println(len(data))
 	if data != nil {
 		result := LoadOXF(data)

+ 15 - 3
xev/loader.go

@@ -1,6 +1,9 @@
 package xev
 
-import "encoding/xml"
+import (
+	"encoding/xml"
+	"fmt"
+)
 
 type CptType struct {
 	Form string `xml:"urn:bbcb:component:dev:cpt form,attr"`
@@ -18,6 +21,10 @@ type CptObject struct {
 	Value string `xml:",chardata"`
 }
 
+type Value struct {
+	X string `xml:",chardata"`
+}
+
 type CptNode struct {
 	Class string `xml:"urn:bbcb:component:dev:cpt class,attr"`
 	//опциональные параметры
@@ -25,6 +32,8 @@ type CptNode struct {
 	Enter     string `xml:"urn:bbcb:component:dev:cpt enter,attr"`
 	Operation string `xml:"urn:bbcb:component:dev:cpt operation,attr"`
 	Value     string `xml:",chardata"`
+	Min       *Value `xml:"urn:bbcb:component:dev:cpt min"`
+	Max       *Value `xml:"urn:bbcb:component:dev:cpt max"`
 	Statement string `xml:"urn:bbcb:component:dev:cpt statement,attr"`
 	Proto     string `xml:"urn:bbcb:component:dev:cpt proto,attr"`
 	From      string `xml:"urn:bbcb:component:dev:cpt from,attr"`
@@ -62,9 +71,12 @@ type Result struct {
 	GraphList []Graph `xml:"graph"`
 }
 
-/*
 func traverseNode(n *Node) {
 	fmt.Println(n.Id, n.Data)
+	if n.Data.Nod != nil {
+		fmt.Println(n.Data.Nod.Min)
+		fmt.Println(n.Data.Nod.Max)
+	}
 }
 
 func traverseEdge(e *Edge) {
@@ -90,7 +102,7 @@ func traverse(r *Result) {
 		traverseGraph(&r.GraphList[g])
 	}
 }
-*/
+
 func LoadOXF(data []byte) *Result {
 	r := new(Result)
 	err := xml.Unmarshal(data, r)

Vissa filer visades inte eftersom för många filer har ändrats