-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsemantics.gsam
More file actions
99 lines (83 loc) · 2.29 KB
/
Copy pathsemantics.gsam
File metadata and controls
99 lines (83 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
? this is an example of a comment
this is the second line of the comment
as long as the line starts with indentation
the line is the part of the comment
? following is the semantics of:
- call a function
- save the result in a variable
- give the function keyword arguments
- give the function positional arguments
- give the function options to jump to next function node
- parent node
= save variable
@ keyword1 argument
+ value of keyword argument 1
@ keyword2 argument
+ value of keyword argument 2
+ function call
+ function argument 1
+ argument 1
+ argument 2
? following is the semantics of:
- chain execution of multiple nodes if first possible node
- parent node
+ argument 1
- execute node 1
+ argument 1
- execute node 2
+ argument 1
? following is the semantics of:
- creating a custom function node
- declaring the keyword arguments of the function node
- declaring the positional arguments of the function node
- creating the execution logic of the function node
- setting the return value of the function node
- selecting the next node to execute
* custom node
@ custom name 1
@ custom name 2
@ custom name 3
+ argument variable 1
+ argument variable 2
- execute node
+ argument 1
+ argument 2
- execute node
- execute node
= set return node (value)
: set return path (number)
? following is the semantics of:
- declaring a literal type that is text
- assigning a value to that variable
! text value
= variable name
? following is the semantics of:
- declaring a literal type that is not text
- assigning a value to that variable
- literal type
= variable name
! value
? following is the semantics of:
- importing a material
- materials are node overloads for:
- performing actions
- connecting to external systems
- providing utility functions
- be like a library / imports
$ material imports
$ material imports with prefixes and suffixes
@ prefix
+ text
! material
@ suffix
+ text
! imports
? following is the semantics of:
- control flow powered by node definitions
- special function sets value of return node
- return node is an integer
- it works normally, plus ability to decide the next node
- special function
> path 1
> path 2
> path 3