master > master: codego - Formulae package
This commit is contained in:
@@ -31,33 +31,33 @@ func (fml Formula) GetExpr() string { return fml.expr }
|
||||
|
||||
func (fml Formula) GetName() string { return fml.name }
|
||||
|
||||
func (fml *Formula) SetSubformulae(subfmls [](*Formula)) {
|
||||
fml.subformulae = subfmls
|
||||
fml.valence = len(subfmls)
|
||||
func (fml *Formula) SetSubformulae(subFmls [](*Formula)) {
|
||||
fml.subformulae = subFmls
|
||||
fml.valence = len(subFmls)
|
||||
}
|
||||
|
||||
func (fml Formula) GetSubFormulae() []Formula {
|
||||
var n int = fml.valence
|
||||
var subfmls = make([]Formula, n)
|
||||
for i, subfml := range fml.subformulae {
|
||||
subfmls[i] = *subfml
|
||||
var subFmls = make([]Formula, n)
|
||||
for i, subFml := range fml.subformulae {
|
||||
subFmls[i] = *subFml
|
||||
}
|
||||
return subfmls
|
||||
return subFmls
|
||||
}
|
||||
|
||||
func (fml Formula) GetAllSubFormulae() []Formula {
|
||||
var subfml = fml.GetSubFormulae()
|
||||
var subFml = fml.GetSubFormulae()
|
||||
var result = []Formula{fml.Copy()}
|
||||
for _, child := range subfml {
|
||||
for _, child := range subFml {
|
||||
result = append(result, child.GetAllSubFormulae()...)
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func (fml Formula) GetAllSubFormulaeStrict() []Formula {
|
||||
var subfml = fml.GetSubFormulae()
|
||||
var subFml = fml.GetSubFormulae()
|
||||
var result = []Formula{}
|
||||
for _, child := range subfml {
|
||||
for _, child := range subFml {
|
||||
result = append(result, child.GetAllSubFormulae()...)
|
||||
}
|
||||
return result
|
||||
@@ -68,13 +68,13 @@ func (fml Formula) GetChild(indexOpt ...int) Formula {
|
||||
if len(indexOpt) > 0 {
|
||||
index = indexOpt[0]
|
||||
}
|
||||
var subfml Formula
|
||||
var subFml Formula
|
||||
if 0 <= index && index < fml.valence {
|
||||
subfml = *(fml.subformulae[index])
|
||||
subFml = *(fml.subformulae[index])
|
||||
} else {
|
||||
panic(fmt.Sprintf("Instance has no child of index %d !", index))
|
||||
}
|
||||
return subfml
|
||||
return subFml
|
||||
}
|
||||
|
||||
func (fml Formula) Pretty(preindentOpt ...string) string {
|
||||
@@ -98,8 +98,8 @@ func (fml Formula) pretty(preindent string, tab string, prepend string, depth in
|
||||
default:
|
||||
var lines string = indent + prepend + fml.kind
|
||||
prepend = "|__ "
|
||||
for _, subfml := range fml.subformulae {
|
||||
lines += "\n" + subfml.pretty(preindent, tab, prepend, depth+1)
|
||||
for _, subFml := range fml.subformulae {
|
||||
lines += "\n" + subFml.pretty(preindent, tab, prepend, depth+1)
|
||||
}
|
||||
return lines
|
||||
}
|
||||
@@ -116,16 +116,16 @@ func (fml Formula) Copy() Formula {
|
||||
}
|
||||
|
||||
func (fml Formula) Deepcopy() Formula {
|
||||
var subfmls = make([](*Formula), len(fml.subformulae))
|
||||
for i, subfml := range fml.subformulae {
|
||||
subfmlCopy := subfml.Deepcopy()
|
||||
subfmls[i] = &subfmlCopy
|
||||
var subFmls = make([](*Formula), len(fml.subformulae))
|
||||
for i, subFml := range fml.subformulae {
|
||||
subFmlCopy := subFml.Deepcopy()
|
||||
subFmls[i] = &subFmlCopy
|
||||
}
|
||||
return Formula{
|
||||
expr: fml.expr,
|
||||
kind: fml.kind,
|
||||
valence: fml.valence,
|
||||
subformulae: subfmls,
|
||||
subformulae: subFmls,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user