dal-ast-js 0.0.1-dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,79 @@
1
+ design ("library_manager")
2
+
3
+ behavior createBasket {
4
+ create(name=basket, type="list", role="basket", accepts="book")
5
+ set("basket",[],[])
6
+ set(worldState, ["basket"], basket)
7
+ select(getChoice)
8
+ }
9
+
10
+ behavior getChoice {
11
+ getInput(choice, "\nGet user choice (a for add book, g for get book, else exit): ")
12
+ log("getChoice", "choice", "string", choice )
13
+ isEqual(choice, "a", isAdd)
14
+ isEqual(choice, "g", isGet)
15
+ set(worldState, ["choice"], choice)
16
+ if (isAdd) {
17
+ select(getName)
18
+ }
19
+ if (isGet) {
20
+ select(getBookFromBasket)
21
+ }
22
+ }
23
+
24
+ behavior getBookFromBasket {
25
+ get(basket, worldState, ["basket"])
26
+ removeFromPos(book, basket, 0)
27
+ set(worldState, ["book"], book)
28
+ select(getFirstLetterOfBookName)
29
+ }
30
+
31
+ behavior getFirstLetterOfBookName {
32
+ get(book, worldState, ["book"])
33
+ get(name, book, ["name"])
34
+ getFromPos(firstLetter, name, 0)
35
+ display("f'Got book named {name} and it has first letter {firstLetter}'")
36
+ set(worldState, ["firstLetter"], firstLetter)
37
+ select(getChoice)
38
+ }
39
+
40
+ behavior displayChoice {
41
+ get(choice, worldState, ["choice"])
42
+ display("f'User Choice: {choice}'")
43
+ select(getChoice)
44
+ }
45
+
46
+ behavior getName {
47
+ create(name=name, type="string", role="name")
48
+ getInput(name, "\nPlease enter book name: ")
49
+ log("getName", "name", "string", name )
50
+ set(worldState, ["name"], name)
51
+ select(createBook)
52
+ }
53
+
54
+ behavior createBook {
55
+ get(name, worldState, ["name"])
56
+ create(name=book, type="object", role="book")
57
+ set(book, [], {})
58
+ set(book, ["name"], name)
59
+ set(worldState, ["book"], book)
60
+ remove(worldState, ["name"])
61
+ select(addBookToBasket)
62
+ }
63
+
64
+ behavior addBookToBasket {
65
+ get(book, worldState, ["book"])
66
+ get(basket, worldState, ["basket"])
67
+ insert(basket, [], book, 0)
68
+ set(worldState, ["basket"], basket)
69
+ remove(worldState, ["book"])
70
+ select(showBasket)
71
+ }
72
+
73
+ behavior showBasket {
74
+ get(basket, worldState, ["basket"])
75
+ display("f'Basket Contents: {basket}'")
76
+ select(getChoice)
77
+ }
78
+
79
+ run(createBasket)
@@ -0,0 +1,19 @@
1
+ design ("lexer")
2
+
3
+ behavior sample {
4
+ design ("lexer")
5
+
6
+ if (isEqual) {
7
+ add (1,2)
8
+ } else {
9
+ subtract(1,2)
10
+ }
11
+
12
+ for (counter, 0, 10) {
13
+ square (counter)
14
+ }
15
+
16
+ while (condition) {
17
+ design ("arg1")
18
+ }
19
+ }
@@ -0,0 +1,16 @@
1
+ design ("lexer")
2
+
3
+ behavior sample {
4
+ getInput(name)
5
+ set(isValid,["test"],true)
6
+ while (isValid) {
7
+ set(sampleVar,[],"this is a string")
8
+ }
9
+ }
10
+
11
+ behavior sample2 {
12
+ set(notDone,[],false)
13
+ while (notDone) {
14
+ set(sampleVar2,[],["this is a list"])
15
+ }
16
+ }