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