From 6bbee2e13bf1140cbd225da01423bb3c1891136c Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Thu, 25 Aug 2022 15:46:35 -0400 Subject: [PATCH] Created comprehensive test case --- tests/parser/func/main.arf | 122 ++++++++++++++++++++++++++++++++++++- 1 file changed, 119 insertions(+), 3 deletions(-) diff --git a/tests/parser/func/main.arf b/tests/parser/func/main.arf index 39754fd..4b356aa 100644 --- a/tests/parser/func/main.arf +++ b/tests/parser/func/main.arf @@ -1,18 +1,134 @@ :arf --- -func ro basicExternal +func ro aBasicExternal > someInput:Int:mut < someOutput:Int 4 --- external -func ro method +func ro bMethod @ bird:{Bird} > someInput:Int:mut < someOutput:Int 4 --- external -func ro basicPhrases +func ro cBasicPhrases --- + fn 329 983 09 + [fn 329 983 09] + [fn + 329 + 983 + 091] + fn [gn + 329 983 + 091] 123 + +func ro dArgumentTypes + --- + [bird tree butterfly.wing "hello world" + grass:{Int:mut 8}] + +func ro eMath + > x:Int + > y:Int + < z:Int + --- + ++ x + -- y + set z [+ [* 0392 00] 98 x [/ 9832 y] 930] + + # TODO: need tokens |= &= ~= <<= >>= + ! true + ~ 0b01 + # ~= x + % 873 32 + + = 5 5 + != 4 4 + + <= 4 98 + < 4 98 + << 0x0F 4 + # <<= x 4 + + >= 98 4 + > 98 4 + >> 0xF0 4 + # >>= x 4 + + | 0b01 0b10 + # |= x 0b10 + & 0b110 0b011 + # &= x 0b011 + + && true true + || true false + +func ro fReturnDirection + < err:Error + --- + someFunc 498 2980 90 -> thing:Int err + otherFunc -> thing err:Error + + [fn + 329 + 983 + 091] -> thing:Int err + +func ro gControlFlow + --- + if condition + something + + if condition + something + elseif + [otherThing] + else + finalThing + + while [< x 432] + something + + switch value + : 324 + something + [: 93284] + otherThing + : 9128 34738 7328 + multipleCases + : + [defaultThing] + + for index:Size element:Int someArray + something + someNextThing + justMakingSureBlockParsingWorks + + [if condition] + if condition + nestedThing + else + otherThing + else + if condition + nestedThing + else + otherThing + +func hSetPhrase + --- + set x:Int 3 + # TODO: this should be the "location of" phrase. update other things to + # match. + set y:{Int} [. x] + set z:{Int 8} + 398 9 2309 983 -2387 + 478 555 123 + set bird:Bird + .that + .whenYou 99999 + .this 324