Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improve the mxs2py doc #30

Merged
merged 1 commit into from
Nov 22, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 5 additions & 8 deletions src/packages/mxs2py/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# mxs2py: a maxscript to python transpiler
![splash](doc/mxs2y.png)
![splash](doc/mxs2py.png)

mxs2py takes a MAXScript program, parses it to a syntax tree, and then produces equivalent Python
code from the syntax tree.
Expand All @@ -9,25 +9,21 @@ code from the syntax tree.
Help python programmers make sense of maxscript samples by providing automatic translation
to python.

## State of the Project (= experimental, not supported)
## State of the Project

This is experimental work and provided only as a sample
This is experimental work

As things are:

- most correct maxcript syntax will be parsed correctly
- parsing errors are very poorly reported (trying to translate invalid maxscript code will not be a fun
- parsing errors are poorly reported (trying to translate invalid maxscript code will not be a fun
experience)
- some maxscript constructs are still not supported by the code generator. Most of the time, when things
cannot be translated to python, a warning is emitted in the generated code explaining why.
- constructs like plugin, tool, custom attributes, etc. are parsed but then the python support is either
inexistant or limited
- some generated python constructions may be correct but awkward (because implementing it this way was
easier)
- I'm interested to see if this is useful to someone before investing more time into it


But: the translator can be used in a lot of situations.

## Example

Expand Down Expand Up @@ -84,6 +80,7 @@ rt.progressend()
```

Which works producing :

![ouput](doc/mxs2pyout.png)

## Under the hood
Expand Down