From f02ffe9ef55e9b43326f05bc1d48c402135b97a6 Mon Sep 17 00:00:00 2001 From: bilel Date: Wed, 8 Mar 2023 14:26:07 +0100 Subject: [PATCH 1/9] [ADD] test compilation conditinal --- .../Parser/Compilation/CompilationTests.hs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 tests/unit-tests/CompilationLib/Parser/Compilation/CompilationTests.hs diff --git a/tests/unit-tests/CompilationLib/Parser/Compilation/CompilationTests.hs b/tests/unit-tests/CompilationLib/Parser/Compilation/CompilationTests.hs new file mode 100644 index 0000000..96aaf10 --- /dev/null +++ b/tests/unit-tests/CompilationLib/Parser/Compilation/CompilationTests.hs @@ -0,0 +1,16 @@ +module CompilationLib.Compilation.CompilationTest where +import Test.Tasty (TestTree, testGroup) +import Test.Tasty.HUnit (testCase, (@=?)) +import qualified Parsing.Ast as Ast + +testCompileConditional :: TestTree +testCompileConditional = testGroup "compileConditional" + [ testCase "simple conditional" $ + let ast = Ast.Call "if" [ Ast.Boolean True, Ast.Num 1, Ast.Num 2 ] + reg = (["foo"], []) + RetVal instrs blocks reg' = compileConditional ast reg + in do + assertEqual "instructions" [Conditional (Boolean True) (Num 1) (Num 2)] instrs + assertEqual "blocks" [] blocks + assertEqual "registry" reg reg' + ] \ No newline at end of file From c22465d23392c3b3121938b9ace8b26bc15583b6 Mon Sep 17 00:00:00 2001 From: Nydragon <6582485n@proton.me> Date: Wed, 8 Mar 2023 14:35:02 +0100 Subject: [PATCH 2/9] [Fix] tests --- GLaDOS2023.cabal | 1 + tests/unit-tests/CompilationLib.hs | 4 +++- .../Compilation/CompilationTests.hs | 21 +++++++++++++++++++ .../Parser/Compilation/CompilationTests.hs | 16 -------------- 4 files changed, 25 insertions(+), 17 deletions(-) create mode 100644 tests/unit-tests/CompilationLib/Compilation/CompilationTests.hs delete mode 100644 tests/unit-tests/CompilationLib/Parser/Compilation/CompilationTests.hs diff --git a/GLaDOS2023.cabal b/GLaDOS2023.cabal index bbe2afc..ae22633 100644 --- a/GLaDOS2023.cabal +++ b/GLaDOS2023.cabal @@ -123,6 +123,7 @@ test-suite unit-tests CompilationLib.Parser.CptTests, CompilationLib.Parser.AstTests, CompilationLib.Parser.InfixTests, + CompilationLib.Compilation.CompilationTests, ExecLib.Exec.Infer, ExecLib.Exec.Instructions, ExecLib.Exec.Utils, diff --git a/tests/unit-tests/CompilationLib.hs b/tests/unit-tests/CompilationLib.hs index ef3ebfb..8cb275e 100644 --- a/tests/unit-tests/CompilationLib.hs +++ b/tests/unit-tests/CompilationLib.hs @@ -8,6 +8,7 @@ import CompilationLib.Parser.ArgsTests ( argsSuite ) import CompilationLib.Parser.AstTests ( astSuite ) import CompilationLib.Parser.TokenTests ( tokenSuite ) import CompilationLib.Parser.InfixTests ( infixSuite ) +import CompilationLib.Compilation.CompilationTests (testCompileConditional) compilationLibSuite :: TestTree compilationLibSuite = testGroup "Parsing Testsuite" [ @@ -15,5 +16,6 @@ compilationLibSuite = testGroup "Parsing Testsuite" [ tokenSuite, cptSuite, astSuite, - infixSuite + infixSuite, + testCompileConditional ] \ No newline at end of file diff --git a/tests/unit-tests/CompilationLib/Compilation/CompilationTests.hs b/tests/unit-tests/CompilationLib/Compilation/CompilationTests.hs new file mode 100644 index 0000000..d53ca5c --- /dev/null +++ b/tests/unit-tests/CompilationLib/Compilation/CompilationTests.hs @@ -0,0 +1,21 @@ +module CompilationLib.Compilation.CompilationTests where + +import Test.Tasty (TestTree, testGroup) +import Test.Tasty.HUnit (testCase, (@=?), assertEqual) +import qualified Parsing.Ast as Ast +import Compilation.RetVal (RetVal(RetVal)) +import Parsing.Ast (Expr(Num)) +import qualified Exec.InferType as Type +import qualified Instruction as Type +import Compilation.Compile (compileConditional) +import Instruction (Instruction(Push)) + +testCompileConditional :: TestTree +testCompileConditional = testGroup "compileConditional" + [ testCase "simple conditional" $ + let ast = Ast.Call "if" [ Ast.Boolean True, Ast.Num 1, Ast.Num 2 ] + reg = (["foo"], []) + RetVal instrs blocks reg' = compileConditional ast reg + in do + assertEqual "instructions" [Type.Conditional [Push "#t"] [Push "1"] [Push "2"]] instrs + ] \ No newline at end of file diff --git a/tests/unit-tests/CompilationLib/Parser/Compilation/CompilationTests.hs b/tests/unit-tests/CompilationLib/Parser/Compilation/CompilationTests.hs deleted file mode 100644 index 96aaf10..0000000 --- a/tests/unit-tests/CompilationLib/Parser/Compilation/CompilationTests.hs +++ /dev/null @@ -1,16 +0,0 @@ -module CompilationLib.Compilation.CompilationTest where -import Test.Tasty (TestTree, testGroup) -import Test.Tasty.HUnit (testCase, (@=?)) -import qualified Parsing.Ast as Ast - -testCompileConditional :: TestTree -testCompileConditional = testGroup "compileConditional" - [ testCase "simple conditional" $ - let ast = Ast.Call "if" [ Ast.Boolean True, Ast.Num 1, Ast.Num 2 ] - reg = (["foo"], []) - RetVal instrs blocks reg' = compileConditional ast reg - in do - assertEqual "instructions" [Conditional (Boolean True) (Num 1) (Num 2)] instrs - assertEqual "blocks" [] blocks - assertEqual "registry" reg reg' - ] \ No newline at end of file From e631e35e13ce0cd6e5ce8f7c69e86551a761ab88 Mon Sep 17 00:00:00 2001 From: Nydragon <6582485n@proton.me> Date: Fri, 10 Mar 2023 18:02:44 +0100 Subject: [PATCH 3/9] [Doc] add array bonus documentation --- doc/bonuses.md | 9 --- doc/bonuses.pdf | Bin 0 -> 50683 bytes doc/bonuses_documentation.md | 134 +++++++++++++++++++++++++++++++++++ 3 files changed, 134 insertions(+), 9 deletions(-) delete mode 100644 doc/bonuses.md create mode 100644 doc/bonuses.pdf create mode 100644 doc/bonuses_documentation.md diff --git a/doc/bonuses.md b/doc/bonuses.md deleted file mode 100644 index 3af85dd..0000000 --- a/doc/bonuses.md +++ /dev/null @@ -1,9 +0,0 @@ -## List of Bonuses - -- REPL -- Strings, string operations and character escaping -- Arrays, Nested Arrays and array operation -- Reading from Stdin -- Writing to Stdout -- Floating point numbers and associated functions -- Reading files \ No newline at end of file diff --git a/doc/bonuses.pdf b/doc/bonuses.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b26cabd52116d56283cf383fc1192b65d35f9af0 GIT binary patch literal 50683 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

oWfK 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 NP%A|$Dj_N1{{oyly_Wz0 literal 0 HcmV?d00001 diff --git a/doc/bonuses_documentation.md b/doc/bonuses_documentation.md new file mode 100644 index 0000000..6c6a4c7 --- /dev/null +++ b/doc/bonuses_documentation.md @@ -0,0 +1,134 @@ + +# Bonuses + +- [REPL](#repl) +- [Rigor](#rigor) + - [Syntax Documentation for compiled code](#syntax-documentation-for-compiled-code) +- [Strings, string operations and character escaping](#strings-string-operations-and-character-escaping) +- [Arrays](#arrays) + - [Array Nesting](#array-nesting) + - [Array Operation](#array-operation) + - [Head](#head) + - [Last](#last) + - [Tail](#tail) + - [Init](#init) + - [Join](#join) + - [PushFront](#pushfront) + - [Pushback](#pushback) +- [Input/Output](#inputoutput) + - [Reading from Stdin](#reading-from-stdin) + - [Writing to Stdout](#writing-to-stdout) + - [Reading files](#reading-files) +- [Floating point numbers](#floating-point-numbers) + + +## REPL + +## Rigor + +### Syntax Documentation for compiled code +## Strings, string operations and character escaping + +## Arrays + +We implemented syntactic sugar for LISP style lists so that they may be written using a more familiar style + +`(1 2 3 4 5)` -> `[1, 2, 3, 4, 5]` + +We chose syntactic sugar over native handling as it will result in less written code in project overall. + +Arrays can contain any amount of Atomic values. + +### Array Nesting + +Arrays can have an infinite amount of nesting, to represent 2d arrays, 3d arrays and so on. + +`[[1,2,3,4,5],[1,2,3,4,5]]` + +### Array Operation + +There are a total of 7 array operations: + +#### Head + +`head` returns the first element of an array. + +```lisp +> (define a [1, 2, 3]) +> (head a) +1 +``` + +#### Last + +`last` returns the first element of an array. + +```lisp +> (define a [1, 2, 3]) +> (last a) +3 +``` + +#### Tail + +`tail` returns the array with its first element removed. + +```lisp +> (define a [1, 2, 3]) +> (tail a) +[2,3] +``` + +#### Init + +`init` returns the array with its last element removed. + +```lisp +> (define a [1, 2, 3]) +> (init a) +[1,2] +``` + +#### Join + +`join` concatenates 2 arrays and returns it. + +```lisp +> (define a [1, 2, 3]) +> (define b [4, 5, 6]) +> (join a b) +[1,2,3,4,5,6] +``` + +#### PushFront + +`pushFront` adds an element to the beginning of an array and returns the array. + +```lisp +> (define a [2, 3, 4]) +> (define b 1) +> (pushFront a b) +[1,2,3,4] +``` + +#### Pushback + +`pushBack` adds an element to the end of an array and returns the array. + +```lisp +> (define a [1, 2, 3]) +> (define b 4) +> (pushBack a b) +[1,2,3,4] +``` + + +## Input/Output + +### Reading from Stdin + +### Writing to Stdout +### Reading files + +## Floating point numbers + \ No newline at end of file From 313e5aee8994a7b7cdb8924a3bb31bd32211abfc Mon Sep 17 00:00:00 2001 From: Leon Sautour Date: Fri, 10 Mar 2023 18:13:03 +0100 Subject: [PATCH 4/9] [Doc] add rigor section to bonus.md --- doc/bonuses_documentation.md | 56 +++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/doc/bonuses_documentation.md b/doc/bonuses_documentation.md index 6c6a4c7..5aea8eb 100644 --- a/doc/bonuses_documentation.md +++ b/doc/bonuses_documentation.md @@ -1,32 +1,29 @@ # Bonuses -- [REPL](#repl) -- [Rigor](#rigor) - - [Syntax Documentation for compiled code](#syntax-documentation-for-compiled-code) -- [Strings, string operations and character escaping](#strings-string-operations-and-character-escaping) -- [Arrays](#arrays) - - [Array Nesting](#array-nesting) - - [Array Operation](#array-operation) - - [Head](#head) - - [Last](#last) - - [Tail](#tail) - - [Init](#init) - - [Join](#join) - - [PushFront](#pushfront) - - [Pushback](#pushback) -- [Input/Output](#inputoutput) - - [Reading from Stdin](#reading-from-stdin) - - [Writing to Stdout](#writing-to-stdout) - - [Reading files](#reading-files) -- [Floating point numbers](#floating-point-numbers) +- [Bonuses](#bonuses) + - [REPL](#repl) + - [Strings, string operations and character escaping](#strings-string-operations-and-character-escaping) + - [Arrays](#arrays) + - [Array Nesting](#array-nesting) + - [Array Operation](#array-operation) + - [Head](#head) + - [Last](#last) + - [Tail](#tail) + - [Init](#init) + - [Join](#join) + - [PushFront](#pushfront) + - [Pushback](#pushback) + - [Input/Output](#inputoutput) + - [Reading from Stdin](#reading-from-stdin) + - [Writing to Stdout](#writing-to-stdout) + - [Reading files](#reading-files) + - [Floating point numbers](#floating-point-numbers) + - [Rigor](#rigor) ## REPL -## Rigor - -### Syntax Documentation for compiled code ## Strings, string operations and character escaping ## Arrays @@ -131,4 +128,17 @@ There are a total of 7 array operations: ### Reading files ## Floating point numbers - \ No newline at end of file + +## Rigor + +We would also like to take the time to point out a couple best practices that we implemented rigorously while working on this project. + +Here are a couple of these points : + +- Issue tracking - **Over 60 issues** +- Pull request workflow - **Over 90 pull requests** +- Concise and meaningful commits - **Over 500 commits** +- Commit linting using [commitizen](https://github.com/commitizen/cz-cli) +- Lots of code commenting + +We also added an other BNF style [document](compiled-syntax-description.md) along with some documentation for our custom assembly like language that we compile into. \ No newline at end of file From ab23a51467625a4454fb9c17fb7207c165121ae6 Mon Sep 17 00:00:00 2001 From: Leon Sautour Date: Fri, 10 Mar 2023 18:17:47 +0100 Subject: [PATCH 5/9] [Doc] added floating points section to bonus.md --- doc/bonuses_documentation.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/bonuses_documentation.md b/doc/bonuses_documentation.md index 5aea8eb..65f738a 100644 --- a/doc/bonuses_documentation.md +++ b/doc/bonuses_documentation.md @@ -129,6 +129,8 @@ There are a total of 7 array operations: ## Floating point numbers +Our language supports **floating point numbers** as well as any **corresponding arithmetic operation** and full array support. + ## Rigor We would also like to take the time to point out a couple best practices that we implemented rigorously while working on this project. @@ -141,4 +143,4 @@ Here are a couple of these points : - Commit linting using [commitizen](https://github.com/commitizen/cz-cli) - Lots of code commenting -We also added an other BNF style [document](compiled-syntax-description.md) along with some documentation for our custom assembly like language that we compile into. \ No newline at end of file +We also added **an other BNF style** [document](compiled-syntax-description.md) along with some documentation for our custom assembly like language that we compile into. \ No newline at end of file From 7917422dee59702ff96c3ef27e818fb8616147c6 Mon Sep 17 00:00:00 2001 From: Nydragon <6582485n@proton.me> Date: Fri, 10 Mar 2023 18:22:12 +0100 Subject: [PATCH 6/9] [Doc] add string documentation --- doc/bonuses_documentation.md | 52 ++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/doc/bonuses_documentation.md b/doc/bonuses_documentation.md index 65f738a..a75ff62 100644 --- a/doc/bonuses_documentation.md +++ b/doc/bonuses_documentation.md @@ -1,30 +1,33 @@ # Bonuses -- [Bonuses](#bonuses) - - [REPL](#repl) - - [Strings, string operations and character escaping](#strings-string-operations-and-character-escaping) - - [Arrays](#arrays) - - [Array Nesting](#array-nesting) - - [Array Operation](#array-operation) - - [Head](#head) - - [Last](#last) - - [Tail](#tail) - - [Init](#init) - - [Join](#join) - - [PushFront](#pushfront) - - [Pushback](#pushback) - - [Input/Output](#inputoutput) - - [Reading from Stdin](#reading-from-stdin) - - [Writing to Stdout](#writing-to-stdout) - - [Reading files](#reading-files) - - [Floating point numbers](#floating-point-numbers) - - [Rigor](#rigor) +- [REPL](#repl) +- [Rigor](#rigor) + - [Syntax Documentation for compiled code](#syntax-documentation-for-compiled-code) +- [Arrays](#arrays) + - [Array Nesting](#array-nesting) + - [Array Operation](#array-operation) + - [Head](#head) + - [Last](#last) + - [Tail](#tail) + - [Init](#init) + - [Join](#join) + - [PushFront](#pushfront) + - [Pushback](#pushback) +- [Strings and character escaping](#strings-and-character-escaping) +- [Input/Output](#inputoutput) + - [Reading from Stdin](#reading-from-stdin) + - [Writing to Stdout](#writing-to-stdout) + - [Reading files](#reading-files) +- [Floating point numbers](#floating-point-numbers) +- [Rigor](#rigor-1) ## REPL -## Strings, string operations and character escaping +## Rigor + +### Syntax Documentation for compiled code ## Arrays @@ -119,6 +122,15 @@ There are a total of 7 array operations: [1,2,3,4] ``` +## Strings and character escaping + +It is possible to use strings in our code, they are written using the following syntax : `"Hello World!"`. It is also possible to escape the character `"` to use it inside of strings. + +```lisp +> (print "\"Hello World!\"") +"Hello World!" +``` + ## Input/Output From ba02487a20ee7f611bd80c34ad07608f17879884 Mon Sep 17 00:00:00 2001 From: Leon Sautour Date: Fri, 10 Mar 2023 18:35:15 +0100 Subject: [PATCH 7/9] [Doc] added repl section in bonus.md --- doc/bonuses_documentation.md | 54 ++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/doc/bonuses_documentation.md b/doc/bonuses_documentation.md index a75ff62..5608a62 100644 --- a/doc/bonuses_documentation.md +++ b/doc/bonuses_documentation.md @@ -1,31 +1,43 @@ # Bonuses -- [REPL](#repl) -- [Rigor](#rigor) - - [Syntax Documentation for compiled code](#syntax-documentation-for-compiled-code) -- [Arrays](#arrays) - - [Array Nesting](#array-nesting) - - [Array Operation](#array-operation) - - [Head](#head) - - [Last](#last) - - [Tail](#tail) - - [Init](#init) - - [Join](#join) - - [PushFront](#pushfront) - - [Pushback](#pushback) -- [Strings and character escaping](#strings-and-character-escaping) -- [Input/Output](#inputoutput) - - [Reading from Stdin](#reading-from-stdin) - - [Writing to Stdout](#writing-to-stdout) - - [Reading files](#reading-files) -- [Floating point numbers](#floating-point-numbers) -- [Rigor](#rigor-1) +- [Bonuses](#bonuses) + - [REPL](#repl) + - [Syntax Documentation for compiled code](#syntax-documentation-for-compiled-code) + - [Arrays](#arrays) + - [Array Nesting](#array-nesting) + - [Array Operation](#array-operation) + - [Head](#head) + - [Last](#last) + - [Tail](#tail) + - [Init](#init) + - [Join](#join) + - [PushFront](#pushfront) + - [Pushback](#pushback) + - [Strings and character escaping](#strings-and-character-escaping) + - [Input/Output](#inputoutput) + - [Reading from Stdin](#reading-from-stdin) + - [Writing to Stdout](#writing-to-stdout) + - [Reading files](#reading-files) + - [Floating point numbers](#floating-point-numbers) + - [Rigor](#rigor) ## REPL -## Rigor +All of the following bonus's may be ran in our fully featured interactive prompt. + +You may build it by running... + +``` +make build +``` + +...and then run it by doing + +``` +./sun-tzu_lnk +``` ### Syntax Documentation for compiled code From 517c70cabae915c2971d7d583315654584271b98 Mon Sep 17 00:00:00 2001 From: Nydragon <6582485n@proton.me> Date: Fri, 10 Mar 2023 18:26:22 +0100 Subject: [PATCH 8/9] [Doc] add float examples --- doc/bonuses_documentation.md | 25 ++++++++++++++++++++++++- doc/bonuses_documentation.pdf | Bin 0 -> 61814 bytes 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 doc/bonuses_documentation.pdf diff --git a/doc/bonuses_documentation.md b/doc/bonuses_documentation.md index 5608a62..197b680 100644 --- a/doc/bonuses_documentation.md +++ b/doc/bonuses_documentation.md @@ -153,7 +153,30 @@ It is possible to use strings in our code, they are written using the following ## Floating point numbers -Our language supports **floating point numbers** as well as any **corresponding arithmetic operation** and full array support. +Our language supports **floating point numbers** as well as any **corresponding basic arithmetic operation** and full array support. + +```lisp +> (3.2 + 4.5) +7.7 +``` + + +```lisp +> (3.2 - 4.5) +-1.3 +``` + + +```lisp +> (3.2 * 4.5) +14.400001 +``` + + +```lisp +> (3.2 / 4.5) +0.7111111 +``` ## Rigor diff --git a/doc/bonuses_documentation.pdf b/doc/bonuses_documentation.pdf new file mode 100644 index 0000000000000000000000000000000000000000..43f8c3bb188821cdf0853ddc90421a19d4902641 GIT binary patch literal 61814 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 ofin^K;iBbi>jDBEM$r24 Date: Fri, 10 Mar 2023 18:42:59 +0100 Subject: [PATCH 9/9] [Doc] small tweaks --- GLaDOS2023.cabal | 1 - doc/bonuses.pdf | Bin 50683 -> 0 bytes doc/bonuses_documentation.md | 80 ++++++++++++------ doc/bonuses_documentation.pdf | Bin 61814 -> 69045 bytes tests/unit-tests/CompilationLib.hs | 4 +- .../Compilation/CompilationTests.hs | 21 ----- 6 files changed, 57 insertions(+), 49 deletions(-) delete mode 100644 doc/bonuses.pdf delete mode 100644 tests/unit-tests/CompilationLib/Compilation/CompilationTests.hs diff --git a/GLaDOS2023.cabal b/GLaDOS2023.cabal index ae22633..bbe2afc 100644 --- a/GLaDOS2023.cabal +++ b/GLaDOS2023.cabal @@ -123,7 +123,6 @@ test-suite unit-tests CompilationLib.Parser.CptTests, CompilationLib.Parser.AstTests, CompilationLib.Parser.InfixTests, - CompilationLib.Compilation.CompilationTests, ExecLib.Exec.Infer, ExecLib.Exec.Instructions, ExecLib.Exec.Utils, diff --git a/doc/bonuses.pdf b/doc/bonuses.pdf deleted file mode 100644 index b26cabd52116d56283cf383fc1192b65d35f9af0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50683 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

oWfK zCqtdG$oOpe99lGXSS5;5F$S~=E*=;$XOex4_T&;6{Mk73?ZbZ60+!bFdY4i$2{&=N zN#s8KN~W$F=ZEod5v^`hhbTOZX{fb5Z59rxMgTK+MM6oD1{KvFsZhgWOk&4Uh3?*UhzwoTUs}~o5 zrhHm~_r;a}=GDH77~U--FtDa*Xtyyq1|TG-mn z`T0wAv2^wwKUbgY0^Z#t8Ii8S@mj&X*26hSZT(ir*F@@9+I`y5ia=4Nv4A)TwE{I{ zLgL>#``r0qk%Tta*!;_yg!yB`t&x?9^mVkNOegA|a^wCn5YVZFX+7)Tno7;FNsrl; zl<*_26L>lxxuA9rR7l0YNxY6tl0vFP@}@H5%I5R&^mthR8ANaV&Xr=J`*V@x{K8t@pT#Tb~#m8Zf z-i?-YLE1{B*$Jf@GHbYyCQxcECs^(}S!t@NaGohVv>lsQ>FRnM%lvZg$b8PAccJt& zy2F~5^wF-${;lg)vPXcy+heM~Vp!E`!?Y5-r4``}ZKw#IJ@x)NuwRsdh}EeW(@j!F zff+|`&_M7DDRcQqe=91g4&&}@fysQ2U-2(RmikBOk-T0bl8t!or**dGo~Og{QtmpX z&w$5Z{H@Wzlo@jzxN|}lHq(TOL{=78QAjDWmaGh-*r_zh=D3sWS8byHc9w+0#q*L? zZO6OSqjZ_Y3e8$M&;F|>m2-WMU$L1IBYEnRSvrt%kkN6l3X5Oj#Z` zEfmUppMMG8WrrjcOSD-{GkF_@tD#J=(z5rVLd+a}opb2%lg?e_X-Hk6WGI@Cqt2o- zPxL|xXZ^X8TN_jmhI65t|MPH^0$O{%f1uN@*%ig{t&0%JIk0}0H;%|7bN7o$vcCSt zB<5{Wx8Hh43<$>dg+|-5b%VyIQFA;5vmy!(>}m~sL=nKIot;`4KX&yM{$r^0zz7eb z6?UTK6g(Y|O-%B%K&d8yJ(868yhpL6sdwuHV_5`27|)*c*^@Pp$0uv&d%P+<$X)|n z_IT06JKt2wXgtp@6AfP?90WjR)pkBTCt-XujRbxlplA>9}_Wa1bvOEijR zW{zDH7aPbagO{t#(f_0gtpSfI-ls)hu2ms2HG@i4HeZ@pPKTYtD4co+-yD=FTsLQX zi>R6Vg8?w-Cjp>~bsnVk^p6YAB~yb-45NF!eHkOkdko)ACK%?gxAJvSuRa*dZ(CSx zY1|EiQa>Z7+CYj0!I3eG#mH62fD-n7$gMpd{Ymf*i;?DGZ~0&bmZ3U5z2{WoOd>)a z5u4DhAY2^)Uv>a3adkQ8PEm+8W5O`_J&l7GYC^!nx^T!*#S$m6jIyPFrFXLZmHuh@ zO!s>j{VGA4V|13hLS9irUSfU^Y}h82NrHB)&QZAe}p?_Y;O< zbw)mIcWSQ|F5oiif>~U62rZgmGRi_1VB|%P%0kK=g{`FT5V6(Y5M1elB~9TuqE0}U z#f#h8>Ua>OAo=)%@rY*z-z&JB%S(Io!9A*<7!|+`@dA<;OV9t{1&S zWw4YHr4qFpMqgbTb+0PKwFztqX?fOeesOscMV_+;GYM<~YAL9++ShR;yXZz;Q5(Fu z>=0(DR`YU=5!(Hub5*Kg%@W7&BSe&{ajzEf>D*l;POAwUQDZ?ojrlP z6wTg!u!A?Jba1+!6Af>}aW#jtfSpieT)()Z0&eLLD36^L4d%YlCb|ievXjgB_~V*6 zVPWQpNNdMzMPemQA)R8-WrrU$S~$cmre(&Z7T(P=9Xb^~_B(?l6&WZgxSVu>Y3aZL9t zpxgE&C)vrPj;A6hu?ofV2a*C?9O#vfvEgBC9Wu(yg>@;WzMbp5EbZ)aCLc7dF6MA& z2_d(&*o2EN7<`6btX&z?!g?Jvz0bi@TXp zzA`(@gL@vLxDWax2SevNAyWO&DdqbGpR2af%ZK~{WCUEg6VWXVTFgY4-zF<^>$o46 z*F=<84-3v>TSDuo`N{Y}=^{{J_WU=p?rkaaP4u>r9Ch}ZcDK~e^nV{dHt-VZ4Z_2C z6F%ngmI?7*L7Yib1AG=z*Xyu0o;P<~H$0NfX6J{uPR$d!%#qRZg+_jx!D--MPMCq3 z1+=WJTHCVUrMRSaKu8$XEL%6>J%4D6n!g8=-;>@m*;eUE=f3Z%FztssX~z8*ckaDIEL(oot_U4Uf*(WI)@re%*mpwxV`%KenZ?uBor8|wCOwAfUY7qFXB2$q2sQl!M4sOnJ&B_oz`3oQy zuvFW>g1{egl^=d!2J}gRdtNy1yhON6My}DU?R}+t0LayrM9RRXCL6} zx8o_Gc{RNdg(UEJF`JBAc5!9)SzJE5EuQZt;2|jXF^SD#YN*TmJVK!TlH;lck^NLe zPFrzNrQeBn-O$ane7QW*jNsBmFldDxGGLwvfX!AeVE46akhOwu%RNf26MLL6V~(_Q zJ^P$Y3x3StYBwcP%|GkRNU{eF@8C4dlm2B^C0WF`%jqaxaaP0=L)M<};pf;FC`u&# znj~^Gv@p`i>7raX7l+qPMrB$4d;~`gnB#dwLgqz}*h!*ln(Kbp z+P+{W9kBmZ+*QU!p|@ELpr3pkrJf4yPF;F zyYIDj@4nxbZ#?|F<~N+@oTI<@azw3`V#5ee=VR5^2)Ly(fRLZSJ?YJMD&|Xj)urKn z-^*_+&zu*ofM>6qcWNIF=QBJu6K*q=;Ig(vK2MLWd=-n^#-d*?grOHuHbswLAhVBV z3Aw3?uFiQ*M98{!#~eUquEQY{yr&~FX1c7=okS7Rf_05bH|QHXKWxWXkBVYS2;nSC7wYX+YdFYVm?a z-T27uQh@t&y5f1^l#YV_YJgw`<-F0WD+OeCfdm?fPMDm@h{v1p~VD zPvT#d93!4MDTGX)uB+ChZ-2VP!Uhkm_7+byQK{M<+RLU8H!k0Ot&*mYwO$jyDOg_) zCh#j%YrPY5uz-!D7!ht!V(~CMfXc7ZR^n&Wyf6c1jy>oPBk^HLrKi0Rqb0<%;OU8a-eQV?wIJp#XgqB;oRUGfU0-42L~U}%40BmFPPab z%$zA@CwA1csK`F-$Vutz1`1Qt4cJSbQdN;5*7{P3;X!4W05mJd z-Iq1K)BRidbh`|4kpg3i%ym2AG@ZEev}}{(XOkRb&+&V;zif@8-~m3tQo?JnN)gxhR*?xL;VFzh7gh7-TmjqBHJ(+$IovfjUEA5tF*XpR^ z?v+wb_Y#{fGf{8E;#@R9COxu=VxoI{UIieI9I4An4l28wWC^|L6t(IR8JG3JdhJBk z)8Y=fz$jOZQg=mhfrb!FqQ{jVN|jEka5J$POk@{1)CnK;J>$`vzR)q6Oxk8~ULhc^ z)V|=2HsP*y@0TI>xmjgH<2h|Dm*NemjcfO5G~72!02p;s;DwnQoDI*0rK2X#;L52| zX8X?;huYv4DFo9LFihpQlHLu+lXo7J;(>(|?&#tp=;N;!@`*&q`PlaI^wfqdb)3Y` z8KZ~|JSQ}eyX22|2Fv?DABDX?u`iud+u&I*roPpwUD`g_uV&{Nt+hFE2QMNnrn=VH zz^!B4OSqn;t~cA!6Dg^b_6JpPxu-C?Jwe%f=_qzTHe_?=?jC+V8=+v|rye~oproK< z)K(T+6;Z0A1kzCsUIi3~1TI{!lLVeLd8{u`@_6WlAa*}};R_KrLDt_DkM~J6=u*;I zu{R~E2WrM`>dL}BPoqW?)Rsq)W*H>8s_6*Ua9>9J3&p) zc@HrPX0PkPux9$;_YvsvpN&Fc_f-zj<3%26J_EMC&Gi$K_5x)#?J;`ySkJbWp` zVv!;OND0IkgGEdkLK(d|9YY_qmEPboXuVgV3GMglutW=Gydqh{CetUz<}4#L7++LM z<}OD_S4kR1?z3b_9)GU{BZJN*zQ*#zv7g@%cF?%>(Al!#fzKnRR(T08yZ#3u+(*Y_ z)=z0eEZ@+VNQxMe7nk@1i-y>2C_*Yv)JDjwxkws|KN?$B%T%Z}DN zZ~3%l3k^st`rv(NRn1v_^zn5@O*WNUe9b2i#g5Jqh6?N`IWhMJUaENS!L=PAI%?!K zSF(6pqJLDh&UU-qV~1`v|5R@VB9bRMqQq5>9PY?f_L`|xwYq|e1sI(M;pm#pt=&`) zMYyHKt_uT8i@COXb;jhS^y=bl?9U1DnN#9uPIR;3)Smm3ck&~SuQ1sZF9gV zB@?ModQghLUi*E!Hee2K7j$a}`X_&(6$F z6{Tqu9L}z3@wUAoCp;xFN-p3U!vs z!OPstp}cuF%WIQqWh-a?DybQB8_kd7*C*3}>QxKX+TAIT&mC5V&+`l{c>V2c-SyZq z-gO_;$Z@_Tq68vw*{)vH8($VvY*6{p`jx(Oy_DgQu|c+J{?u4Sz`)e&6M|#{R`#+b zVXton4k&03V8pPot4jO?-*r4{)WLjuix6bdwxzpHVZR2Rc**_s@?eU4UBLbfd|pK1 zTiH5QSZVqdzs#BqU9q6Dk#s5tDcOW9mP4B<>~yj(2Fhp_=~Gx%!iv>##R(|uOW28m z88!+%A4pK%Nm}i*Q_$wZP_+roBeVdnzC{g6Ddt@2w%Jm)4sL(utXM3&)A{`Q_=E&d z``I)4Q?8_m>@x|y_PpBa>-Id+yvF&<9v@NNNTwF$B|5vS&jA8SVtazl;)0!lrQ*%j zUql!$iZA08Nak{iR;vh2Y9luKP{3E#2oxcjE*)H3Ns_LOjgTgpq0Q5TE1Ik4xB9p6 zuBqw?VKpXBRY=UD;az5ee08EC>lI}c6_Mt88b$$GXNnNrhG;oq6RR!p01YO-%l_U# zN&cya+aNPfPw!_mIfeZBl8>TazkB45X(-ej{>8}4^VKJ+$ubUxoA5`t-W3(G*ruzY z+@A0wS0wyglnj$2&w@2A;m=e?u>0PrFi$px4+=f7B%mZQg{jM>VtDQOir}pfd&hVd z{E8l5;Z?OD#KzNznfitO`ogoUr^v^E=IJEO_)*RK&?6nh3yUQizo|drM&SR5H~wF# z84?!e7SN=Pzr@ej{uV!jrU)>yv4Gj2zAS&IX0Sq~x&UARnEl_W8EpSbs$hdEr2P;- z13|^lK+p^hs3*?iJh7C*UXIX z80OEI=1;Z{|CE{WeOdmO%#43c{{JyEg9Dm|@V5fm@1kQ+m9xK7PyP|lXJPvpq*aR? zg5vqeo%@b~gr5b3(q3^Pkrmm-aO{M2o;?VUXB>I-<~3UVt>=J>QN)AWXYOZy$+`Jb zmBT3_`{vOo4s#}%gyPHNq68>0=^sP!d~W2*O%VmmBoUHD+avR} zL~1s>gXRqOoMt1N#l(_)q?xxxw;nLT>z*-GieLQ1nTlM^5EsyUt12I_PYq3{)rzhBO7ykeOvyB$OmlO7&Pv z9tG1IoG609L*0&c%|pD(W)Tq|Mf&J19)>Hf^Y2?NOrCt4ooe2doE&C^BKYtHBk6^I zUa6lp;O7(e_ksCCo9qXI|F5IXu-R_;({!Q07x^txSD+*B;@gh9_c?6F|N1c-s%p%VNcZ|%g zIxg+ouqW3>Gh(1Uaza&}`j__?PYUlhBM0ffk~A@}qd6>6oqpu(01jWeo)l`NY9zZQ_!&=_$q>|J&LG?AgZ(9eXm}0;>Yh5p1xoJsF_tnri=zPt zPxjt9c+Yndd9rt}nbahE6J*|i{e6_+c@79&R29Dn9PcI-MzmfqI6P`}K&Ru)Y@jqJ zV1QenG&q2*&vMqJI}xzu-vHjB(;(K`0v8>`HSnnM3oZ$2a5&6Q-0)`*P4X(2-Ym`a zFx8oYrHs{7r~@ruDjyIO`oWAG1y^ZIKP=D;cSiiMICNmvqLU`RttoeTb%W zkJMJTYo>`;8I~ME$7+gUju2)Uz4~QxdrIMGo9u$s@t#Or5xYc*7>S*o4Ky|}u3m0x zG%zlfkK>n5OV^7-qxS?STAj^(F2-g(x}O$#kiL7UXRtSkQR>M>gLzJydAUkt|MN^f zOb1jl4H*`dk4FiStYfr_Jw@a2mohQcJ{J@?4W- z@6i0mR>if!vH>=<7)cx9ko0H?GO?|6h%$cX>Zz8ey+SX#=&hVz+~%k7k7$L!M{uwC zs{@tkL5l$tVDaUzDH;$^Q=4X$A{}z>}nfM zuRirwN1DFW7@v2K+v=CKS%t8jf0b2NarFDZq^OYRC~hLr*3Qj_lOrhKZ`&<%ubj5p zo$6*ylg;MAqRTl5`%u1^zr)w^Jx}A)%etnQlw#?3hVI)3O7q6b*4?)PJw3OjwASon zKB655lR@^^V_$gC$I*A&FC*GV1W?$FA-92_di8v>1{GSrNF@-~jNn*G9*nsX<8?Ev z5FS~QHqTg|e}XMAN;@0(Th>8RxIXiI)*qDnHu?=}uq^jL@CdtP!qc!`%;^uEmQA#} zj7D(<-OKjX`K|>tpUpKrB8c*LSv6km*@Hhiw)hXyMaYXyO^D{l3rUja^}t56i)YQJ zqnW05e3o(r^2Lr)4Md5ejLK3e3SqoV{SSKDrc-Ap44V#}W9)-E);^K`<ir*S-4jL_Q?p zxiPABO{iXgsyeODFyiuzuI~pr`FC>9FD5UZeIysl3EZ+WLjY0oV2wAvqI~N9_y|lc z77!rX+McAsBblKS_~?1>P@pkUhs&m(D3i}BDwy0Jk}rd!Z=$m|+>m7HyLT*D_<<2m z!Wz34309DpgxMfJoqJw)JwNF5u>I2&;3(3nY|J9k1phk08l3*L`-qD66Q)A3?bS*7 zdo#m?LG>O!Rh9WKw*rB!Ae(iUY(e#rIVN^rv3KU2QhNupy=&HdC|`jwI4h&W3cQrd zXIEtK)$ELD`#E%qQ*)SeePoL03}MI;)G7{5aA_M#p;~y6D3l=05BP?fBbTn%Snqk0 zX*V9Z&VYi`mc^GjysNYrLv7lrdq=2ca`lY~u$M6Pl2l2PXhOF~t*%(%`t=}@x$&6g zk^Rcx`KN#}_15~=)meCp-*hW7Ec~$z`C0pam? z9|L;732ZLyW@(OA%1~973)b>LfwquO0|_ASU z%!&2*{>Cib{;9AfLIYdCdCNtg+HLJVA8)h8iu;R|&3$aGmksXNIm6Qod!zF*m_Ql=>U%69+FS79vQl zfagq~ZN|Y7_oBk1fz>!HQpzWlxeJ)77LcB2w0mzLI~Yn{$smUXBUEO3syWE1IvJnT*X+uAqy zB8!9>@mU}#TyevQaSev;e!(2`{=%6FMg3Tn+Q~7M~4 zC1z)5r4{59xS3wJ)z{Y}F}0(NhCu51w>H=-GUEq|((P_Hh-r=ISM-yoKO7*9Kkff) z5={$X;1eW%OD)8|WR7khFiEYQ>>ub)x@3fo796EbE-Z8s^t#`#>ktYwo2TB{QWIN~ zmWSafh$HMan_}aEn%s9V?gT!}BiTgf!CI7lE96dHDtlfnScrKT>reU$LJ$8$_8>da zu%(6jAXXyuJqH6Fmklj8&H#-S0t8mF+Cz-@%nGDmr=UTgp6=QmlWfy;WH;ygE|J}u z#Kl3YW&!eOgxzc8cukx*+@;o-c7oaE6tsNSMm!2RNxJ-d-^t4PyL49Nb;u^v8y zw+wNxQr->mCMIZvH{D;xEr`2rYonWW*_2h1JyWxjRi9h0^P#@WV6bz)Lp7d`zA3v- z6kZAb`X+Y?YlBwjtp1E%C)4H%L{02%2TSr*663r{C)RQ+Hf!Wgmp->?CrQGgmRfJl z@_Nd!USo-l=njb0E}>L7u7C72a%6uq3yU*Fx3j-HnRz);pYY2rJup+ypdK%zK%p}= zHYP5ckY_pT(6rv0lP^j0OD1ebz|6=wsP6?Dld(vpW9yUF%=Kw+5vk;ijkr)(@)M+q zSJ;@Njf{yY$!0(&(=(TpYUhi{Z@x*s{w)vCr#T4}H3jC(kEc1xHEn9?PtoHjcpkM( zb)P)QYE<#8q^gOevO`atE>L}CAl}y-Q!MC|C9$(5SQpoyBI`?4UcO?4ptHu`dm|S% znym5`IH9wwH-%D0)?v5|{ZjQ*%(5$UtF(f(5=&(%7 z>y1f3oYo8wa}sw!xDQP+xI#K?0)yV>mPl*(G9S!IIj6i>=+6LYx7zX6*yuGm8|^Ou8zEe9s%NW@Hg38*?ed)@3T{rHjSwog@40 zQrMj@f^EGjL6OnAmhZW?)(Y#VQ5FhAz672yJ9uIGmo15THp4!UL<}DtZBKY1Wy86# zl0Y}bQM|~yi#&CAwFMTvHnRr0oH)!n(dkcC-_C?27&hzna~-Iu>Li|}eVrdR-*w9N zahVj1RZBfs3vrz<4Mf~Wj+0?S+iauGTC(>NLB#uYHA|SG>Gf-`B>? zi-lD=84}_W@Lps-cJCjWo<sl$gwPN1PdZT!y2 zE>kpIop*M!5>>~25rM~p;^<OD#`^7GTUSH?G=)1F-y}Ve7(#Jhp_S>UaDV2~@iZ zLL!C=KzGHxX_WzpLj(F(``W|U#+z`t@}3Lta6_I)u~W=0+8w_`ucr8B4m-4mJQL%Q z!zw+{%t6@K91$!!%=n>(lo8=tJKVrP4>3C z_$J!@c>A!#uYIpB)h^EGs8qVg53xGwBFN;CBzZXXh$~7I^+oAl zG$;n=W@-|Vns?wX$iQrV?R4VZ-Qn~^2%+=tGL5^KdS!Nl>$kw7lKFaEF%nn1b+3fJ zXc@gTSgB8L)A@d>cUuj3t3iQcUN&lYHgR*%Z#*Q|6!xhOR6=*OdJu@Ub>z4%miHL2 z!0_p&QwC&2Gqonxb~?FZ*(i5^EugNMCJu9m;SAGxMUY3cnWx%auWO=pD_!8Do(Ft# z@n<_r4F{o7b-Y_;vyj~cBjB}y-9w~fQSdG@!S0jSY#*IQbLG;L7aj0j83 z=u@ zx9&pqvriAq>)By~G&{_YCLhq$MBFM$FpqA~T=2mP$3J#{#*FyfffDAJnSc}H)2nsg z$oE3sX|z131n+N)v}g*w#=pSKetFygXWt@hNa;Xv@(Lz;)Pbj>t&&qj%9D`~z294T z405OHXvFUYOxHpWnew-wXbDy&-yL}wK^%A6^)|*^SuEs@IaRS;M&))=5nLs@J#tkz z{qh!Nq2QgN*IQRCpNc?!PizcDoZ*S6dN?dN`zW~yD%L@7%H*T4N-XrT@J|^kaf8%` zNIlgp{U5g#>}{*hinpgGC+kXc(&|lIuPcdWd4REj`hy>ots@v&5CT}}w~V$YC+CJ4 zuwKVS;GF{GR_iLaohD|dh8ZiX&#EA1YNZUb+h6U@AYijvnKz4t{6> zg>+D^THca%6?vYAoLu$UnwS`+s7<8ov#6L2dsuk0vD!RJHQEmXG=tEL~%ryuw<}*6BpH`yR)&!Jv(*zZ4+;8v%7Z7;hF}+LgJ#sqSYS9 z(Ljq3b`qqH=p-hWX6&N$A%}dAXcPGf@5?nmoeQz_v3saN)(s7M_qiIR2!%yU6)?7shu3Rohe+H~Cc(G`E|Z-#b7XzMD!mY(k82raudJ z^>ar&k71g=WzgsZ+xzaVfJSE$b5CWq(_;w)G>|WGQvw!0m(F+84B`rFb8y?K)KUoV z?Mx}{&g0S^8KhN%8z!es>DLlbFyj;=L#i+@RdY2e>!;jZUraY?UozaSrYqk?lPi|L z9>xm1SYssKb-~l=lNCt z7&sbs>-G%b9OPP{_G#MdOvO3Qwb`weSD!r=-MoEJ7D@WaWE{k2n|Tl4*toy101p(( zHkR92hed0y$V%`{F;AlyzpCI%y^D~;qrCBN{g2H#$lok^y76yKpa%Hz=A} z^j=`~Qt&iDlckQHp`D$Sp(;%XyplqrAQO=Iw6T$rGB>C0A9S*E`il7a8O-Jr9!`ow zX8mlsL$94Drkt+$V_;_|yeP){0M}FWHh|ET0PBgkc!^1<{oFmQSO(+tpXdPaCsUXo z@WB5CxP9kBGw@rO>i!#bgVLY>Z8`Lx5Tc=e@GR^s9PCiA?kCjkKOsc_jJiQv0fK-W z!0&`;s7nr%vkM?)VTKY_q10fO-*C6T%u{~Yt+V~)l=5TR{~~_>m^|rUtMk9$Za=NT z-&o537cCmf+=dzl{h$f|Alm*>gT?!!;y=fJ zY2+uu_Rr+xA4B`8!{3I+$^nMbk(r@9?;rjBAbkHlnm>8OY(H`Q{|Q_IfPcZ3)ZYAy zM|@4^B94Z>@N@+7D9=%p@Jia~<%1onO1WUYq=)Vr&T&~X3|hc)uJY~K6=@QaOdhGZ z*%t%{^%KJ2_|Af;X095;Hb4s$cI0#T4m%?K4LimrQIn8yIzSW zj8CK^)zqq7KYWNgB*mX9P!UFCWTwHYJ2$OLO?YG^y{vhN~^!P0{x(|jdYv#bbi z;=_|q0F<1iRd7Mqw&NQzP7F@cDbuHBviw~9;44Pdj)8r3 z^&J)o!k$g^N=G+=Lq%P|J&TU;w*V^(2s1#I^A$v9avl3P@f`_ef4(G8V*TGp@6T82@5}KIK;ut$=|4mp|GL1x z@`eA}@}JN~2Wvh3$KTzt9y9;_LkePJV`U@NC;dCd0)^JU|B#yhcZ>xH1VE4PFEM6j zsEyKZF#v$=yCvB#zp1R{gCU z8{qdbGc$uY{%nr}1l4``tu7e+`#hLgpwH*;9AMF9ypyCg|^$WGb`(s@I9L&G> z!2jL$- z`(q7Qfh=sluK|z+0RA(^_FZ`6m-c`x>`*(r-(mp3ALkDU&GGr890xS(=J&c_=I^h= zzx%MY)`B__T0e#w|H&FT>3x49m}D$0zPlbm-!SOs{a?0#&S=;{gm;k|S NP%A|$Dj_N1{{oyly_Wz0 diff --git a/doc/bonuses_documentation.md b/doc/bonuses_documentation.md index 197b680..2fe0de4 100644 --- a/doc/bonuses_documentation.md +++ b/doc/bonuses_documentation.md @@ -1,31 +1,31 @@ # Bonuses -- [Bonuses](#bonuses) - - [REPL](#repl) - - [Syntax Documentation for compiled code](#syntax-documentation-for-compiled-code) - - [Arrays](#arrays) - - [Array Nesting](#array-nesting) - - [Array Operation](#array-operation) - - [Head](#head) - - [Last](#last) - - [Tail](#tail) - - [Init](#init) - - [Join](#join) - - [PushFront](#pushfront) - - [Pushback](#pushback) - - [Strings and character escaping](#strings-and-character-escaping) - - [Input/Output](#inputoutput) - - [Reading from Stdin](#reading-from-stdin) - - [Writing to Stdout](#writing-to-stdout) - - [Reading files](#reading-files) - - [Floating point numbers](#floating-point-numbers) - - [Rigor](#rigor) - +- [REPL](#repl) + - [Syntax Documentation for compiled code](#syntax-documentation-for-compiled-code) +- [Arrays](#arrays) + - [Array Nesting](#array-nesting) + - [Array Operation](#array-operation) + - [Head](#head) + - [Last](#last) + - [Tail](#tail) + - [Init](#init) + - [Join](#join) + - [PushFront](#pushfront) + - [Pushback](#pushback) +- [Strings and character escaping](#strings-and-character-escaping) +- [Input/Output](#inputoutput) + - [Reading from Stdin](#reading-from-stdin) + - [Writing to Stdout](#writing-to-stdout) +- [Floating point numbers](#floating-point-numbers) +- [Rigor](#rigor) + + +This Document might be nicer to read on [GitHub](https://github.com/nLatt/GLaDOS-2023/blob/main/doc/bonuses_documentation.md) ## REPL -All of the following bonus's may be ran in our fully featured interactive prompt. +All of the following bonuses may be run in our fully featured interactive prompt. You may build it by running... @@ -146,10 +146,37 @@ It is possible to use strings in our code, they are written using the following ## Input/Output +It is possible to interact with the local filesystem and ask for user input to built interactive programs. + ### Reading from Stdin +```lisp +> (+ (readInt) 2) +in: 3 +out: 5 +``` + +```lisp +> (+ (readInt) (readInt)) +in: 5 +in: 6 +out: 11 +``` + ### Writing to Stdout -### Reading files + +There are 2 functions for writing to stdout, `print` and `println`. + + +```lisp +> (print "Hello World!") +Hello World! -- no newline +``` + +```lisp +> (println "Hello World!") +Hello World! -- newline +``` ## Floating point numbers @@ -189,5 +216,10 @@ Here are a couple of these points : - Concise and meaningful commits - **Over 500 commits** - Commit linting using [commitizen](https://github.com/commitizen/cz-cli) - Lots of code commenting +- Unit Testing - **Over 100** tests +- Integration Testing - **Over 20** end to end integration tests + +We also added **an other ABNF style** [document](compiled-syntax-description.md) along with some documentation for our custom assembly like language that we compile into. + -We also added **an other BNF style** [document](compiled-syntax-description.md) along with some documentation for our custom assembly like language that we compile into. \ No newline at end of file +[Return to the main page](../README.md) \ No newline at end of file diff --git a/doc/bonuses_documentation.pdf b/doc/bonuses_documentation.pdf index 43f8c3bb188821cdf0853ddc90421a19d4902641..48da94fd347437091fff1578b2571ce40bc11ac1 100644 GIT binary patch delta 60909 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

ouI+V{p8Zj?r|0#YT_`X}oU^gA(epX^ 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 delta 54029 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

g`sX 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 LgUiVoS|0i@;VxPJ diff --git a/tests/unit-tests/CompilationLib.hs b/tests/unit-tests/CompilationLib.hs index 8cb275e..ef3ebfb 100644 --- a/tests/unit-tests/CompilationLib.hs +++ b/tests/unit-tests/CompilationLib.hs @@ -8,7 +8,6 @@ import CompilationLib.Parser.ArgsTests ( argsSuite ) import CompilationLib.Parser.AstTests ( astSuite ) import CompilationLib.Parser.TokenTests ( tokenSuite ) import CompilationLib.Parser.InfixTests ( infixSuite ) -import CompilationLib.Compilation.CompilationTests (testCompileConditional) compilationLibSuite :: TestTree compilationLibSuite = testGroup "Parsing Testsuite" [ @@ -16,6 +15,5 @@ compilationLibSuite = testGroup "Parsing Testsuite" [ tokenSuite, cptSuite, astSuite, - infixSuite, - testCompileConditional + infixSuite ] \ No newline at end of file diff --git a/tests/unit-tests/CompilationLib/Compilation/CompilationTests.hs b/tests/unit-tests/CompilationLib/Compilation/CompilationTests.hs deleted file mode 100644 index d53ca5c..0000000 --- a/tests/unit-tests/CompilationLib/Compilation/CompilationTests.hs +++ /dev/null @@ -1,21 +0,0 @@ -module CompilationLib.Compilation.CompilationTests where - -import Test.Tasty (TestTree, testGroup) -import Test.Tasty.HUnit (testCase, (@=?), assertEqual) -import qualified Parsing.Ast as Ast -import Compilation.RetVal (RetVal(RetVal)) -import Parsing.Ast (Expr(Num)) -import qualified Exec.InferType as Type -import qualified Instruction as Type -import Compilation.Compile (compileConditional) -import Instruction (Instruction(Push)) - -testCompileConditional :: TestTree -testCompileConditional = testGroup "compileConditional" - [ testCase "simple conditional" $ - let ast = Ast.Call "if" [ Ast.Boolean True, Ast.Num 1, Ast.Num 2 ] - reg = (["foo"], []) - RetVal instrs blocks reg' = compileConditional ast reg - in do - assertEqual "instructions" [Type.Conditional [Push "#t"] [Push "1"] [Push "2"]] instrs - ] \ No newline at end of file