Skip to content

Commit 98e6cfc

Browse files
authored
Merge pull request #13 from Cirru/warning
handle warnings
2 parents 82d9423 + b8f8104 commit 98e6cfc

File tree

5 files changed

+16
-20
lines changed

5 files changed

+16
-20
lines changed

moon.mod.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
{
22
"name": "tiye/cirru-parser",
3-
"version": "0.1.0",
3+
"version": "0.1.1",
44
"deps": {},
55
"readme": "README.md",
66
"repository": "https://github.com/Cirru/parser.mbt",
77
"license": "Apache-2.0",
88
"keywords": ["Cirru"],
99
"source": "src",
10+
"preferred-target": "js",
1011
"description": "parser for Cirru Syntax"
1112
}

src/lib/parser_test.mbt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ test "existed demos" {
1616
for demo in demos {
1717
let demo_file = fsReadSync("./test/cirru/\{demo}.cirru")
1818
let json_file = fsReadSync("./test/data/\{demo}.json")
19-
let tree = Cirru::parse?(demo_file).unwrap().to_json().stringify()
20-
let defined = @json.parse?(json_file).unwrap()
19+
let tree = (try? Cirru::parse(demo_file)).unwrap().to_json().stringify()
20+
let defined = (try? @json.parse(json_file)).unwrap()
2121
let defined_str = defined.stringify()
2222
assert_eq(tree, defined_str)
2323
let formatted = Cirru::format(@json.from_json(defined), {
2424
use_inline: false,
2525
})
26-
let ret = Cirru::parse?(formatted).unwrap().to_json().stringify()
26+
let ret = (try? Cirru::parse(formatted)).unwrap().to_json().stringify()
2727
assert_eq(ret, defined_str)
2828
}
2929
}

src/lib/primes.mbt

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,6 @@ pub impl @json.FromJson for Cirru with from_json(json, path) {
6565
}
6666
}
6767

68-
///|
69-
impl Default for Cirru with default() -> Cirru {
70-
List(Array::new())
71-
}
72-
7368
///|
7469
pub impl Show for Cirru with output(self : Cirru, logger : &Logger) -> Unit {
7570
match self {
@@ -98,7 +93,7 @@ pub impl Compare for Cirru with compare(self, other) -> Int {
9893
match (self, other) {
9994
(Leaf(a), Leaf(b)) => a.compare(b)
10095
(List(xs), List(ys)) => {
101-
let size = @math.minimum(xs.length(), ys.length())
96+
let size = @cmp.minimum(xs.length(), ys.length())
10297
for i = 0; i < size; i = i + 1 {
10398
let x = xs[i]
10499
let y = ys[i]
@@ -149,7 +144,7 @@ pub fn Cirru::is_nested(self : Cirru) -> Bool {
149144
///|
150145
pub fn Cirru::is_comment(self : Cirru) -> Bool {
151146
match self {
152-
Leaf(s) => s.char_at(0) == ';'
147+
Leaf(s) => s.length() > 0 && s[0] == ';'
153148
_ => false
154149
}
155150
}
@@ -167,7 +162,7 @@ priv enum CirruLexState {
167162
Indent
168163
/// Working on a string
169164
Str
170-
} derive(Show)
165+
}
171166

172167
///|
173168
/// lexer is a simpler state machine to tokenize Cirru code
@@ -201,7 +196,7 @@ fn CirruLexItem::is_normal_str(tok : String) -> Bool {
201196
}
202197
let mut i = 0
203198
while i < size {
204-
let c = tok.char_at(i)
199+
let c = tok[i]
205200
match c {
206201
'A'..='Z' => ()
207202
'a'..='z' => ()
@@ -239,7 +234,7 @@ fn escape_cirru_leaf(s : String) -> String {
239234
let size = s.length()
240235
let mut i = 0
241236
while i < size {
242-
let c = s.char_at(i)
237+
let c = s[i]
243238
match c {
244239
'\n' => out += "\\n"
245240
'\t' => out += "\\t"

src/lib/s_expr.mbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ fn format_lispy_expr(self : Cirru, indent : Int) -> String raise FormatError {
5151
if token.is_empty() {
5252
raise FormatError("empty string is invalid")
5353
} else {
54-
let s0 = token.char_at(0)
54+
let s0 = token[0]
5555
if s0 == '|' || s0 == '"' {
5656
"\"" + escape_string(token.substring(start=1)) + "\""
5757
} else if token.contains(" ") ||

src/main/main.mbt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ pub fn main_parser() -> Unit {
1313

1414
let demo_file = fsReadSync("./test/cirru/unfolding.cirru")
1515
let json_file = fsReadSync("./test/data/unfolding.json")
16-
let tree = Cirru::parse?(demo_file)
16+
let tree = try? Cirru::parse(demo_file)
1717
match tree {
1818
Ok(tree) => {
1919
println(tree.to_json().stringify())
20-
match @json.parse?(json_file) {
20+
match (try? @json.parse(json_file)) {
2121
Ok(json) => println(json.stringify())
2222
Err(err) => println(err.to_string())
2323
}
@@ -32,13 +32,13 @@ pub fn main_writer() -> Unit {
3232
let demo = "unfolding"
3333
let demo_file = fsReadSync("./test/cirru/\{demo}.cirru")
3434
let json_file = fsReadSync("./test/data/\{demo}.json")
35-
let defined = @json.parse?(json_file).unwrap()
36-
let tree : Array[Cirru] = @json.from_json?(defined).unwrap()
35+
let defined = (try? @json.parse(json_file)).unwrap()
36+
let tree : Array[Cirru] = (try? @json.from_json(defined)).unwrap()
3737
println("TREE:")
3838
for item in tree {
3939
println(item.to_json().stringify())
4040
}
41-
let ret = Cirru::format?(tree, { use_inline: false }).unwrap()
41+
let ret = (try? Cirru::format(tree, { use_inline: false })).unwrap()
4242
println("Generated:")
4343
println(ret)
4444
println("Expected:")

0 commit comments

Comments
 (0)