Skip to content

plexicode/PlexiScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PlexiScript

PlexiScript is a CommonScript language designed to build, run, or export UI applications for all major platforms (and PlexiOS). Eventually, the goal is to create a complete matrix of building/running on any platform and exporting from any platform to any platform.

This is still a work in progress and has a few pre-requisites that are not quite ready yet. Currently the CommonScript compiler is built in C#. However, once the compiler and runtime are relatively stable, this will be re-written into CommonScript itself and the compiler will use the Runtime to interpret its own compiler. This will ensure that any platform that has the runtime will automatically have a compiler. The runtime itself is built in Pastel, so this will already run everywhere.

Libraries and Extensions

The built-in libraries for PlexiScript are located in libs/. These are available for import from any user-compiled PlexiScript code. Primarily these call into Plexi's CommonScript extensions.

The etensions achieve various platform-specific behaviors. Each platform implements these functions separately and are injected into the CommonScript runtime for each of the various platforms supported. These are located in the extensions/ directory and separated by platform. A list of all extensions is in extensions/manifest.txt.

Distributable files and .NET Harness

The dist/ directory contains the exported version of the CommonScript + Plexi for each platform. These can be used to build a compiler/interpreter solution for each platform. The source for each is generated by the files in templates/ and assembled by build.py. The .NET solution is located separately in dotnetharness/.

TODO: eventually, this should be unified a bit better.

TODO:

  • design for a better modular export matrix to generate exporters in a plug-in style for each platform. These should follow a consistent format so that more platform combinations don't add more complexity.
  • Compiler libraries once the CommonScript compiler is rewritten into itself.
  • build.py documentation
  • Carry over full set of UI extensions and libraries from prototype repo.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published