An easy to understand language built from Python.
Project description
Mavro (mavrolang)
Info
What is Mavro
Mavro is a simple language built from Python. It is lightweight and flexible.
Installation
pip install mavro
Start using Mavro
- Open an IDE or text editor (PyCharm Community Edition or PyCharm Professional Edition is recommended)
- Open a terminal
- Run the following snippet in your terminal:
mavro -c
- You can navigate to the main.mav file in your IDE or text editor, and start coding!
- When you want to run your project, use one of the following commands:
mavro # Runs ./main.mav mavro path/to/my/directory/ # Runs ./path/to/my/directory/main.mav mavro my_mavro_file.mav # Runs ./my_mavro_file.mav mavro path/to/my/mavro_file.mav # Runs ./path/to/my/mavro_file.mav
Keyword list (57: 30 imported from python, 27 new)
- and - imported from python. Only returns true if both the left-hand AND right-hand conditions are true.
- as - imported from python. Gives something an alias, like an import or context manager.
- assert - imported from python. Raises an AssertionError if the condition is false.
- async - imported from python. Creates an asynchronous function.
- await - imported from python. Wait for a function to complete in an asynchronous function.
- break - imported from python. Breaks out of a loop.
- case - imported from python. Works hand in hand with the
matchkeyword to create amatch-casestructure. - catch - NEW. Works basically identically to python's
exceptkeyword. - class - imported from python. Create a class.
- const - NEW. Defines a constant variable.
- constructor - NEW. Create a constructor for an object. Python equivalent:
def __init__ - continue - imported from python. Skip to the next iteration of a loop.
- del - imported from python. Delete something.
- else - imported from python. Defines what happens if an
ifstatement fails. - else if - NEW. An
ifstatement that only runs if the previousifstatement fails. Python equivalent:elif - end - NEW. Breaks out of indentation.
- entrypoint - NEW. Define the entrypoint function of a Mavro file.
- enumeration - NEW. Defines an Enum. Python equivalent:
class Foo(enum.Enum) - extends - NEW. Defines inheritance in a class definition. Python equivalent:
class Foo(Bar) - false - NEW. A wrapper for python's
False - finally - imported from python. Paired with the
trykeyword. ALWAYS runs, no matter what. - for - imported from python. Creates a loop that iterates over an iterable object.
- from - imported from python. Has two usages: 1. Import a specific object from a module. 2. Define from what an exception is raised.
- function - NEW. Defines a function. Python equivalent:
def - global - imported from python. Finds a global variable and places it in the local scope.
- if - imported from python. Run a block of code if a condition is met.
- import - imported from python. Import a python module or package. It is not compatible with Mavro modules and packages.
- in - imported from python. Checks if an iterable object contains a value.
- is - imported from python. Compare the IDs of two objects.
- lambda - imported from python. Create an anonymous function.
- let - NEW. Defines a variable that can be changed.
- manager - NEW. Create a context manager for an object. Python equivalent:
with - match - imported from python. Works hand in hand with the
casekeyword to create amatch-casestructure. - method - NEW. Create a method.
- nonlocal - imported from python. Creates a nonlocal variable.
- not - imported from python. Inverts a boolean value.
- null - NEW. A wrapper for python's
None - only private - NEW. The following code (until a usage of
end) can only be run if the file was built directly, not as a requirement. - only public - NEW. The following code (until a usage of
end) can only be run if the file was built as (or as part of) a requirement by therequirypackage, not directly. - openfile - NEW. Opens a file with customizable permissions. Python equivalent:
with open - or - imported from python. Returns true if the left-hand OR right-hand values are true.
- package - NEW. Imports a Mavro package. These packages include for. ex.
requiry, which is used to import Mavro files. - pass - imported from python. Does absolutely nothing. It is practically useless since Mavro doesn't require anything after an indent.
- public - NEW. Makes the function, class, method, or constant public.
- raise - imported from python. Raises a fatal error.
- return - imported from python. Returns a value from a function.
- require - NEW. Retrieve a Mavro module. Wrapper for
mavro.pkg.requiry::findService - savelocation - NEW. Save all global and local variables in the current location to a variable called
here. Required to accesspublicstuff. - starter - NEW. Create a function that runs when the object is run using
startprocess - startprocess - NEW. Run an object's starter method.
- static - NEW. Makes function static.
- true - NEW. A wrapper for python's
True - try - NEW. Try a block of code for errors, etc.
- until - NEW. Loops until a condition is true. Python equivalent:
while not - while - imported from python. Loops while a condition is true.
- yield - imported from python. Yields a value from a generator function.# mavro
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mavro-0.12.tar.gz
(13.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
Mavro-0.12-py3-none-any.whl
(18.3 kB
view details)
File details
Details for the file mavro-0.12.tar.gz.
File metadata
- Download URL: mavro-0.12.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e723d37b0f7616077fd309d0d3d67d01ff74014e507c528e961cd597ca37e0c
|
|
| MD5 |
c2594f4ff1a138ae1dc7e33a7350a935
|
|
| BLAKE2b-256 |
375a07a1de1d291e642ee300f7536a4f99fe219692cc73e3c6d29f2a9d970eeb
|
File details
Details for the file Mavro-0.12-py3-none-any.whl.
File metadata
- Download URL: Mavro-0.12-py3-none-any.whl
- Upload date:
- Size: 18.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3af3dff758451502129defba74de4c240e890c3f986845b7e55c0e5e1f1f4679
|
|
| MD5 |
269241c6f6bd25d26a0654fac9f9fac3
|
|
| BLAKE2b-256 |
1e024650f534cb3a42938c85c0fe38e12c45dbd1bd31e915cf890b2e183250c9
|