master > master: codego main aufgeräumt
This commit is contained in:
parent
8dcf781b96
commit
8778d31676
@ -1,12 +1,12 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"logik/aussagenlogik/rekursion"
|
"logik/aussagenlogik/rekursion"
|
||||||
"logik/aussagenlogik/schema"
|
"logik/aussagenlogik/schema"
|
||||||
"logik/aussagenlogik/syntaxbaum"
|
"logik/aussagenlogik/syntaxbaum"
|
||||||
env "logik/core/environment"
|
env "logik/core/environment"
|
||||||
|
"logik/core/utils"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/lithammer/dedent"
|
"github.com/lithammer/dedent"
|
||||||
@ -31,23 +31,10 @@ var data dataType
|
|||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// Extrahiere Daten
|
// Extrahiere Daten
|
||||||
err := getData()
|
getData()
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// Ausdruck -> Syntaxbaum
|
// Ausdruck -> Syntaxbaum
|
||||||
tree, err := schema.ParseExpr(data.expr)
|
tree := schema.ParseExpr(data.expr)
|
||||||
if err != nil {
|
results := getResults(tree)
|
||||||
return
|
|
||||||
}
|
|
||||||
// Methoden ausführen:
|
|
||||||
results := resultsType{
|
|
||||||
eval: rekursion.RekursivEval(tree, data.interpretation),
|
|
||||||
atoms: rekursion.RekursivAtoms(tree),
|
|
||||||
depth: rekursion.RekursivDepth(tree),
|
|
||||||
length: rekursion.RekursivLength(tree),
|
|
||||||
nParentheses: rekursion.RekursivParentheses(tree),
|
|
||||||
}
|
|
||||||
// Resultate anzeigen:
|
// Resultate anzeigen:
|
||||||
displayResults(tree, results)
|
displayResults(tree, results)
|
||||||
}
|
}
|
||||||
@ -56,12 +43,32 @@ func main() {
|
|||||||
// SONSTIGE METHODEN
|
// SONSTIGE METHODEN
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
func getData() error {
|
func getData() {
|
||||||
env.ENV_FILE_NAME = DATA_ENV
|
env.ENV_FILE_NAME = DATA_ENV
|
||||||
data.expr = env.ReadEnvKey("expr")
|
data.expr = env.ReadEnvKey("expr")
|
||||||
s := env.ReadEnvKey("interpretation")
|
s := env.ReadEnvKey("interpretation")
|
||||||
err := json.Unmarshal([]byte(s), &data.interpretation)
|
utils.JsonToArrayOfStrings(s, &data.interpretation)
|
||||||
return err
|
}
|
||||||
|
|
||||||
|
func getResults(tree syntaxbaum.SyntaxBaum) resultsType {
|
||||||
|
ch1 := make(chan int)
|
||||||
|
ch2 := make(chan []string)
|
||||||
|
ch3 := make(chan int)
|
||||||
|
ch4 := make(chan int)
|
||||||
|
ch5 := make(chan int)
|
||||||
|
go rekursion.RekursivEval(ch1, tree, data.interpretation)
|
||||||
|
go rekursion.RekursivAtoms(ch2, tree)
|
||||||
|
go rekursion.RekursivDepth(ch3, tree)
|
||||||
|
go rekursion.RekursivLength(ch4, tree)
|
||||||
|
go rekursion.RekursivParentheses(ch5, tree)
|
||||||
|
// Methoden ausführen:
|
||||||
|
return resultsType{
|
||||||
|
eval: <-ch1,
|
||||||
|
atoms: <-ch2,
|
||||||
|
depth: <-ch3,
|
||||||
|
length: <-ch4,
|
||||||
|
nParentheses: <-ch5,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func displayResults(tree syntaxbaum.SyntaxBaum, results resultsType) {
|
func displayResults(tree syntaxbaum.SyntaxBaum, results resultsType) {
|
||||||
@ -82,7 +89,7 @@ func displayResults(tree syntaxbaum.SyntaxBaum, results resultsType) {
|
|||||||
* noch nicht implementiert!
|
* noch nicht implementiert!
|
||||||
Challenge: schreibe diese Methoden! (siehe README.md)
|
Challenge: schreibe diese Methoden! (siehe README.md)
|
||||||
`),
|
`),
|
||||||
tree.Expr,
|
tree.GetExpr(),
|
||||||
tree.Pretty(" "),
|
tree.Pretty(" "),
|
||||||
strings.Join(data.interpretation, ", "),
|
strings.Join(data.interpretation, ", "),
|
||||||
results.eval,
|
results.eval,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user