Commit 26dd008 1 parent 9809782 commit 26dd008 Copy full SHA for 26dd008
File tree 5 files changed +11
-11
lines changed
WriteYourLanguage.playground/Pages
Conclusion.xcplaygroundpage/Sources
Interpreter.xcplaygroundpage/Sources
Parser.xcplaygroundpage/Sources
5 files changed +11
-11
lines changed Original file line number Diff line number Diff line change 2
2
It's a playground explaining how to create a tiny programming language (Mu).
3
3
4
4
You can download the playground [ here] ( https://github.com/marciok/Mu/releases/download/1.0/WriteYourLanguage.playground.zip )
5
- or check the source code live [ here] ( http://swiftlang.ng.bluemix.net/#/repl/582204a53c6b8052ec3e3b07 )
5
+ or check the source code live [ here] ( http://swiftlang.ng.bluemix.net/#/repl/5825fba6dee52b5745935831 )
6
6
7
7
Or follow the tutorial below.
8
8
@@ -53,10 +53,10 @@ struct Lexer {
53
53
switch $0 {
54
54
case " (" : return Token.parensOpen
55
55
case " )" : return Token.parensClose
56
- case " s" : return Token.op ($0 . description )
56
+ case " s" : return Token.op (String ( $0 ) )
57
57
default :
58
58
if " 0" ... " 9" ~= $0 {
59
- return Token.number (Int ($0 . description )! )
59
+ return Token.number (Int (String ( $0 ) )! )
60
60
}
61
61
}
62
62
Original file line number Diff line number Diff line change @@ -12,10 +12,10 @@ public struct Lexer {
12
12
switch $0 {
13
13
case " ( " : return Token . parensOpen
14
14
case " ) " : return Token . parensClose
15
- case " s " : return Token . op ( $0 . description )
15
+ case " s " : return Token . op ( String ( $0 ) )
16
16
default :
17
17
if " 0 " ... " 9 " ~= $0 {
18
- return Token . number ( Int ( $0 . description ) !)
18
+ return Token . number ( Int ( String ( $0 ) ) !)
19
19
}
20
20
}
21
21
Original file line number Diff line number Diff line change @@ -12,10 +12,10 @@ public struct Lexer {
12
12
switch $0 {
13
13
case " ( " : return Token . parensOpen
14
14
case " ) " : return Token . parensClose
15
- case " s " : return Token . op ( $0 . description )
15
+ case " s " : return Token . op ( String ( $0 ) )
16
16
default :
17
17
if " 0 " ... " 9 " ~= $0 {
18
- return Token . number ( Int ( $0 . description ) !)
18
+ return Token . number ( Int ( String ( $0 ) ) !)
19
19
}
20
20
}
21
21
Original file line number Diff line number Diff line change @@ -28,10 +28,10 @@ struct Lexer {
28
28
switch $0 {
29
29
case " ( " : return Token . parensOpen
30
30
case " ) " : return Token . parensClose
31
- case " s " : return Token . op ( $0 . description )
31
+ case " s " : return Token . op ( String ( $0 ) )
32
32
default :
33
33
if " 0 " ... " 9 " ~= $0 {
34
- return Token . number ( Int ( $0 . description ) !)
34
+ return Token . number ( Int ( String ( $0 ) ) !)
35
35
}
36
36
}
37
37
Original file line number Diff line number Diff line change @@ -12,10 +12,10 @@ public struct Lexer {
12
12
switch $0 {
13
13
case " ( " : return Token . parensOpen
14
14
case " ) " : return Token . parensClose
15
- case " s " : return Token . op ( $0 . description )
15
+ case " s " : return Token . op ( String ( $0 ) )
16
16
default :
17
17
if " 0 " ... " 9 " ~= $0 {
18
- return Token . number ( Int ( $0 . description ) !)
18
+ return Token . number ( Int ( String ( $0 ) ) !)
19
19
}
20
20
}
21
21
You can’t perform that action at this time.
0 commit comments