-
-
Notifications
You must be signed in to change notification settings - Fork 85
/
fsl.scroll
47 lines (35 loc) · 1.26 KB
/
fsl.scroll
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
import ../code/conceptPage.scroll
id fsl
name Finite State Language
appeared 2016
tags pl
webRepl https://stonecypher.github.io/jssm-viz-demo/graph_explorer.html
conceptDescription Finite State Language, or FSL (pronounced "fossil,") is a programming language to make complex Finite State Machines easy to create and maintain. Finite State Machines can help make your code simpler, easier to test, more provable, and easier to reason about.
relatedConcepts dot
clocExtensions fsl jssm
country Various
originCommunity https://github.com/StoneCypher/jssm/issues
reference https://github.com/StoneCypher/jssm
example
machine_name: "Traffic light";
flow: down;
arrange [Green Yellow];
Off 'Enable' -> Red;
Red 'Next' => Green 'Next' => Yellow 'Next' => Red;
[Red Yellow Green] ~> Off;
// visual styling
state Red : { background-color: pink; corners: rounded; };
state Yellow : { background-color: lightyellow; corners: rounded; };
state Green : { background-color: lightgreen; corners: rounded; };
state Off : {
background-color : steelblue;
text-color : white;
shape : octagon;
linestyle : dashed;
};
lineCommentToken //
hasLineComments true
// A comment
hasComments true
// A comment
hasSemanticIndentation false