From 80c16288bb990d6eb8be6a8834b8c8c6555f2cd9 Mon Sep 17 00:00:00 2001 From: Maxwell Jeffress Date: Wed, 30 Apr 2025 17:40:38 +1000 Subject: [PATCH] Make a readme, examples directory --- README.md | 113 ++++++++++++++++++++++++++++ bogus | Bin 397040 -> 397040 bytes names.bo => examples/names.bo | 0 password.bo => examples/password.bo | 0 test.bo => examples/test.bo | 0 test.fish | 2 + 6 files changed, 115 insertions(+) create mode 100644 README.md rename names.bo => examples/names.bo (100%) rename password.bo => examples/password.bo (100%) rename test.bo => examples/test.bo (100%) diff --git a/README.md b/README.md new file mode 100644 index 0000000..580686d --- /dev/null +++ b/README.md @@ -0,0 +1,113 @@ +# Bogus - a statically typed, interpreted language + +Bogus is a programming language with the intention of having the most readable code possible (without getting into things like block coding or LLM's). The interpreter is written in C++. + +**Bogus is NOT intended for production use at present.** If you build your mission-critical application with Bogus, good luck. Things are going to break very often. + +## Compiling bogus + +If you've got [bob](https://git.maxwellj.xyz/max/bob) installed, make use of the supplied Bobfile by running `bob`. Otherwise, run: + +```bash +g++ src/*.cpp -o bogus +``` + +## Using bogus + +``` +Usage: bogus [file] +Options: + --debug Enable debug mode + --help Show this help message +``` + +Debug mode is useful for reporting bugs, which are going to be very frequent (of course). If something doesn't work and you're sure the syntax is right, create an issue in this repo. + +## Writing bogus + +Print things: + +``` +println "Hello!"; +``` + +Print things without a new line using `println`. + +Set a variable: + +``` +let str myString "This is a string variable"; +``` + +Note: Valid types are `int` (equivalent to C++ `int`), `dec` (equivalent to C++ `double`), `str` (equivalent to C++ `string`), and `bool` (equivalent to C++ `bool`) + +Use a variable: + +``` +let int myNum 5; + +println myNum; +``` + +Change a variable: + +``` +let int myNum 7; + +myNum = 10; + +myNum ++; +myNum --; + +myNum += 3; +myNum -= 2; + +``` + +Do some math: + +``` +println 9 + 10; +``` + +Get user input from the console: + +``` +let str userInput input; + +println input; +``` + +Use an `if` statement to compare things: + +``` +let int myInt 4; +let int myOtherInt 3; + +if myInt == myOtherInt { + println "The variables are the same!"; +} + +myOtherInt = 4; + +if myInt == myOtherInt { + println "The variables are now the same after changing it"; +} +``` + +More features will be added in future. + +## Planned features + +* Lists: It's a list of stuff. `str` will become a list of characters (meaning a `chr` type will be made). +* `while` statements: Come on, we gotta have a Turing complete language! +* File input/output: I feel this is going to be complex. + +## Far-off features + +Note: These features are not guaranteed to come to fruition. I am very good at getting distracted by other things. + +* Functions +* Network requests +* Libraries and importing files +* Webserver diff --git a/bogus b/bogus index c0915a436e402b4bf1753d93607f8134eecdda13..080e1d7d5cf6721967081db62ed3624bb2c7bbbc 100755 GIT binary patch delta 34363 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 z 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 delta 34832 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