From e9b3337ae43845c5a63b2cf3315fe23f42be4f18 Mon Sep 17 00:00:00 2001 From: Gabriel <68819302+obsidianical@users.noreply.github.com> Date: Thu, 16 Dec 2021 10:08:08 +0100 Subject: [PATCH] added animal class --- sm-test-files/animals-example/animal.sm | 26 +++++++++++++++++++++++++ sm-test-files/animals-example/cat.sm | 0 sm-test-files/animals-example/dog.sm | 0 3 files changed, 26 insertions(+) create mode 100644 sm-test-files/animals-example/animal.sm create mode 100644 sm-test-files/animals-example/cat.sm create mode 100644 sm-test-files/animals-example/dog.sm diff --git a/sm-test-files/animals-example/animal.sm b/sm-test-files/animals-example/animal.sm new file mode 100644 index 0000000..4e096d8 --- /dev/null +++ b/sm-test-files/animals-example/animal.sm @@ -0,0 +1,26 @@ +&& ++name declares a class +&& '++name declares an abstract class +&& all of that is, of course, a statement so ¡! + +¡'++animal + && +}}type{{ declares a property of a class + && "+}}type{{ declares a static property of a class + + ¡"+}}string{{ name!; + ¡+}}string{{ speed!; + + && ### declares the constructor + ¡### /}}string{{ name\ /speed\ | + ¡<=/"Created animal named " + name\!; + + && +var refers to a property, like this. in other languages + && you can only assign values to static variables once in this language + ¡+name < name!; + ¡+speed < speed!; + ! + + && +# declares a method + ¡+#walk /distance\ | + ¡<=/¿+name + " walked " + (+speed * +distance)?\!; + ! +! diff --git a/sm-test-files/animals-example/cat.sm b/sm-test-files/animals-example/cat.sm new file mode 100644 index 0000000..e69de29 diff --git a/sm-test-files/animals-example/dog.sm b/sm-test-files/animals-example/dog.sm new file mode 100644 index 0000000..e69de29