aboutsummaryrefslogtreecommitdiff
path: root/public/docs/Code Documentation/Modules/CompileAndRun
diff options
context:
space:
mode:
Diffstat (limited to 'public/docs/Code Documentation/Modules/CompileAndRun')
-rw-r--r--public/docs/Code Documentation/Modules/CompileAndRun/index.html816
1 files changed, 816 insertions, 0 deletions
diff --git a/public/docs/Code Documentation/Modules/CompileAndRun/index.html b/public/docs/Code Documentation/Modules/CompileAndRun/index.html
new file mode 100644
index 0000000..e842528
--- /dev/null
+++ b/public/docs/Code Documentation/Modules/CompileAndRun/index.html
@@ -0,0 +1,816 @@
+
+
+
+
+<!doctype html>
+<html lang="en" class="no-js">
+ <head>
+
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+
+
+
+
+ <meta name="lang:clipboard.copy" content="Copy to clipboard">
+
+ <meta name="lang:clipboard.copied" content="Copied to clipboard">
+
+ <meta name="lang:search.language" content="en">
+
+ <meta name="lang:search.pipeline.stopwords" content="True">
+
+ <meta name="lang:search.pipeline.trimmer" content="True">
+
+ <meta name="lang:search.result.none" content="No matching documents">
+
+ <meta name="lang:search.result.one" content="1 matching document">
+
+ <meta name="lang:search.result.other" content="# matching documents">
+
+ <meta name="lang:search.tokenizer" content="[\s\-]+">
+
+ <link rel="shortcut icon" href="../../../assets/images/favicon.png">
+ <meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.2">
+
+
+
+ <title>CompileAndRun - Luxcena Neo Documentation</title>
+
+
+
+ <link rel="stylesheet" href="../../../assets/stylesheets/application.30686662.css">
+
+
+
+
+ <script src="../../../assets/javascripts/modernizr.74668098.js"></script>
+
+
+
+ <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback">
+ <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
+
+
+ <link rel="stylesheet" href="../../../assets/fonts/material-icons.css">
+
+
+ <link rel="stylesheet" href="../../../assets/luxcena-colors.css">
+
+
+
+
+
+ </head>
+
+ <body dir="ltr">
+
+ <svg class="md-svg">
+ <defs>
+
+
+ </defs>
+ </svg>
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
+ <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
+ <label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
+
+ <a href="#index" tabindex="1" class="md-skip">
+ Skip to content
+ </a>
+
+
+ <header class="md-header" data-md-component="header">
+ <nav class="md-header-nav md-grid">
+ <div class="md-flex">
+ <div class="md-flex__cell md-flex__cell--shrink">
+ <a href="../../.." title="Luxcena Neo Documentation" class="md-header-nav__button md-logo">
+
+ <i class="md-icon"></i>
+
+ </a>
+ </div>
+ <div class="md-flex__cell md-flex__cell--shrink">
+ <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
+ </div>
+ <div class="md-flex__cell md-flex__cell--stretch">
+ <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
+
+ <span class="md-header-nav__topic">
+ Luxcena Neo Documentation
+ </span>
+ <span class="md-header-nav__topic">
+
+ CompileAndRun
+
+ </span>
+
+ </div>
+ </div>
+ <div class="md-flex__cell md-flex__cell--shrink">
+
+ <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
+
+<div class="md-search" data-md-component="search" role="dialog">
+ <label class="md-search__overlay" for="__search"></label>
+ <div class="md-search__inner" role="search">
+ <form class="md-search__form" name="search">
+ <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
+ <label class="md-icon md-search__icon" for="__search"></label>
+ <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
+ &#xE5CD;
+ </button>
+ </form>
+ <div class="md-search__output">
+ <div class="md-search__scrollwrap" data-md-scrollfix>
+ <div class="md-search-result" data-md-component="result">
+ <div class="md-search-result__meta">
+ Type to start searching
+ </div>
+ <ol class="md-search-result__list"></ol>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+
+ </div>
+
+ </div>
+ </nav>
+</header>
+
+ <div class="md-container">
+
+
+
+
+ <main class="md-main" role="main">
+ <div class="md-main__inner md-grid" data-md-component="container">
+
+
+ <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
+ <div class="md-sidebar__scrollwrap">
+ <div class="md-sidebar__inner">
+ <nav class="md-nav md-nav--primary" data-md-level="0">
+ <label class="md-nav__title md-nav__title--site" for="__drawer">
+ <a href="../../.." title="Luxcena Neo Documentation" class="md-nav__button md-logo">
+
+ <i class="md-icon"></i>
+
+ </a>
+ Luxcena Neo Documentation
+ </label>
+
+ <ul class="md-nav__list" data-md-scrollfix>
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../../.." title="Introduction" class="md-nav__link">
+ Introduction
+ </a>
+ </li>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../../../FuturePlan/" title="Plan for the future" class="md-nav__link">
+ Plan for the future
+ </a>
+ </li>
+
+
+
+
+
+
+
+ <li class="md-nav__item md-nav__item--nested">
+
+ <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
+
+ <label class="md-nav__link" for="nav-3">
+ Usage
+ </label>
+ <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+ <label class="md-nav__title" for="nav-3">
+ Usage
+ </label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../../../Usage/Install/" title="Install" class="md-nav__link">
+ Install
+ </a>
+ </li>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../../../Usage/Configuration/" title="Configuration" class="md-nav__link">
+ Configuration
+ </a>
+ </li>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../../../Usage/CLI/" title="CLI" class="md-nav__link">
+ CLI
+ </a>
+ </li>
+
+
+ </ul>
+ </nav>
+ </li>
+
+
+
+
+
+
+
+ <li class="md-nav__item md-nav__item--nested">
+
+ <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
+
+ <label class="md-nav__link" for="nav-4">
+ Scripting
+ </label>
+ <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+ <label class="md-nav__title" for="nav-4">
+ Scripting
+ </label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../../../Scripting/SupportLib/" title="Support Library" class="md-nav__link">
+ Support Library
+ </a>
+ </li>
+
+
+
+
+
+
+
+ <li class="md-nav__item md-nav__item--nested">
+
+ <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4-2" type="checkbox" id="nav-4-2">
+
+ <label class="md-nav__link" for="nav-4-2">
+ Examples
+ </label>
+ <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+ <label class="md-nav__title" for="nav-4-2">
+ Examples
+ </label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../../../Scripting/Examples/strandtest/" title="Strandtest" class="md-nav__link">
+ Strandtest
+ </a>
+ </li>
+
+
+ </ul>
+ </nav>
+ </li>
+
+
+ </ul>
+ </nav>
+ </li>
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+
+ <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5" checked>
+
+ <label class="md-nav__link" for="nav-5">
+ Code Documentation
+ </label>
+ <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+ <label class="md-nav__title" for="nav-5">
+ Code Documentation
+ </label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+
+ <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5-1" type="checkbox" id="nav-5-1" checked>
+
+ <label class="md-nav__link" for="nav-5-1">
+ Modules
+ </label>
+ <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+ <label class="md-nav__title" for="nav-5-1">
+ Modules
+ </label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item md-nav__item--active">
+
+ <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
+
+
+ <label class="md-nav__link md-nav__link--active" for="__toc">
+ CompileAndRun
+ </label>
+
+ <a href="./" title="CompileAndRun" class="md-nav__link md-nav__link--active">
+ CompileAndRun
+ </a>
+
+
+<nav class="md-nav md-nav--secondary">
+
+
+
+ <label class="md-nav__title" for="__toc">Table of contents</label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+ <li class="md-nav__item">
+ <a href="#index" class="md-nav__link">
+ Index
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#locals" class="md-nav__link">
+ Locals
+ </a>
+
+ <nav class="md-nav">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#var-pythonsupportfiles" class="md-nav__link">
+ var pythonSupportFiles
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#exported" class="md-nav__link">
+ Exported
+ </a>
+
+ <nav class="md-nav">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#class-python" class="md-nav__link">
+ class Python
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#method-pythonconstructor" class="md-nav__link">
+ method Python.constructor
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#method-pythoncompile" class="md-nav__link">
+ method Python.compile
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#method-pythonrun" class="md-nav__link">
+ method Python.run
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#python" class="md-nav__link">
+ Python
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#entrypy" class="md-nav__link">
+ Entry.py
+ </a>
+
+</li>
+
+
+
+
+
+ </ul>
+
+</nav>
+
+ </li>
+
+
+ </ul>
+ </nav>
+ </li>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../../Run/" title="Run" class="md-nav__link">
+ Run
+ </a>
+ </li>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../../Design/" title="Design" class="md-nav__link">
+ Design
+ </a>
+ </li>
+
+
+
+
+
+
+
+ <li class="md-nav__item md-nav__item--nested">
+
+ <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5-4" type="checkbox" id="nav-5-4">
+
+ <label class="md-nav__link" for="nav-5-4">
+ API
+ </label>
+ <nav class="md-nav" data-md-component="collapsible" data-md-level="2">
+ <label class="md-nav__title" for="nav-5-4">
+ API
+ </label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../../SocketIO/" title="Socket-IO" class="md-nav__link">
+ Socket-IO
+ </a>
+ </li>
+
+
+ </ul>
+ </nav>
+ </li>
+
+
+ </ul>
+ </nav>
+ </li>
+
+
+ </ul>
+</nav>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
+ <div class="md-sidebar__scrollwrap">
+ <div class="md-sidebar__inner">
+
+<nav class="md-nav md-nav--secondary">
+
+
+
+ <label class="md-nav__title" for="__toc">Table of contents</label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+ <li class="md-nav__item">
+ <a href="#index" class="md-nav__link">
+ Index
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#locals" class="md-nav__link">
+ Locals
+ </a>
+
+ <nav class="md-nav">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#var-pythonsupportfiles" class="md-nav__link">
+ var pythonSupportFiles
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#exported" class="md-nav__link">
+ Exported
+ </a>
+
+ <nav class="md-nav">
+ <ul class="md-nav__list">
+
+ <li class="md-nav__item">
+ <a href="#class-python" class="md-nav__link">
+ class Python
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#method-pythonconstructor" class="md-nav__link">
+ method Python.constructor
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#method-pythoncompile" class="md-nav__link">
+ method Python.compile
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#method-pythonrun" class="md-nav__link">
+ method Python.run
+ </a>
+
+</li>
+
+ </ul>
+ </nav>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#python" class="md-nav__link">
+ Python
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#entrypy" class="md-nav__link">
+ Entry.py
+ </a>
+
+</li>
+
+
+
+
+
+ </ul>
+
+</nav>
+ </div>
+ </div>
+ </div>
+
+
+ <div class="md-content">
+ <article class="md-content__inner md-typeset">
+
+
+
+ <h1>CompileAndRun</h1>
+
+ <h2 id="index">Index</h2>
+<hr />
+<h2 id="locals">Locals</h2>
+<h3 id="var-pythonsupportfiles">var <code class="codehilite"><span class="n">pythonSupportFiles</span></code></h3>
+<p>Points to the files for our python support code. They should be in a subdir of the module itself.</p>
+<h2 id="exported">Exported</h2>
+<h3 id="class-python">class <code class="codehilite"><span class="n">Python</span></code></h3>
+<p>This is exported as Python, just so that we could add other languages later. Used to build and run python-scripts with our support-code.</p>
+<h3 id="method-pythonconstructor">method <code class="codehilite"><span class="n">Python</span><span class="p">.</span><span class="k">constructor</span></code></h3>
+<p>Takes one parameter, which is the full path to the folder where the script is located.</p>
+<p>When initializing the class, this will be called. Can be done like this:</p>
+<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">new</span> <span class="nx">compileRun</span><span class="p">.</span><span class="nx">Python</span><span class="p">(</span><span class="nx">global</span><span class="p">.</span><span class="nx">DirSwap</span> <span class="o">+</span> <span class="s2">&quot;/usrData/usrCode/example&quot;</span><span class="p">);</span>
+</pre></div>
+</td></tr></table>
+
+<h3 id="method-pythoncompile">method <code class="codehilite"><span class="n">Python</span><span class="p">.</span><span class="n">compile</span></code></h3>
+<p>This deletes old build-folder, and makes a new one. It then moves all required files into the build-folder, making us ready for running the script.</p>
+<h3 id="method-pythonrun">method <code class="codehilite"><span class="n">Python</span><span class="p">.</span><span class="n">run</span></code></h3>
+<p>Spawns a new process, starting entry.py in our build-folder. It also attaches event-listners on our class-object. All of them is in the example below:</p>
+<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span> 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="kd">let</span> <span class="nx">sc</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">compileRun</span><span class="p">.</span><span class="nx">Python</span><span class="p">(</span><span class="nx">global</span><span class="p">.</span><span class="nx">DirSwap</span> <span class="o">+</span> <span class="s2">&quot;/usrData/usrCode/example&quot;</span><span class="p">);</span>
+<span class="err">​</span>
+<span class="c1">// When data is printed from the python-script</span>
+<span class="nx">sc</span><span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s2">&quot;stdout::data&quot;</span><span class="p">,</span> <span class="p">(</span><span class="nx">_stdout</span><span class="p">)</span> <span class="p">=&gt;</span> <span class="p">{</span> <span class="p">});</span>
+<span class="c1">// Last write when script closes, any exiting messages</span>
+<span class="nx">sc</span><span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s2">&quot;stdout::end&quot;</span><span class="p">,</span> <span class="p">(</span><span class="nx">_stdout</span><span class="p">)</span> <span class="p">=&gt;</span> <span class="p">{</span> <span class="p">});</span>
+<span class="c1">// When something is printed from the python-script to the error-out. Usually when a `throw` is called</span>
+<span class="nx">sc</span><span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s2">&quot;stderr::out&quot;</span><span class="p">,</span> <span class="p">(</span><span class="nx">_stderr</span><span class="p">)</span> <span class="p">=&gt;</span> <span class="p">{</span> <span class="p">});</span>
+<span class="c1">// Last words when process is dying from an error :`(</span>
+<span class="nx">sc</span><span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s2">&quot;stderr::end&quot;</span><span class="p">,</span> <span class="p">(</span><span class="nx">_stderr</span><span class="p">)</span> <span class="p">=&gt;</span> <span class="p">{</span> <span class="p">});</span>
+<span class="c1">// When script exits, _code is the exit-code</span>
+<span class="nx">sc</span><span class="p">.</span><span class="nx">on</span><span class="p">(</span><span class="s2">&quot;close&quot;</span><span class="p">,</span> <span class="p">(</span><span class="nx">_code</span><span class="p">)</span> <span class="p">=&gt;</span> <span class="p">{</span> <span class="p">});</span>
+</pre></div>
+</td></tr></table>
+
+<h2 id="python">Python</h2>
+<p>This is the support-files for user-made scripts.</p>
+<h2 id="entrypy">Entry.py</h2>
+<p>The entry-point when running a script. A file called script.py, containing the user-script, should be placed next to this file. Starting it should be done like this (Where app-root is where our app.js is located):</p>
+<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="n">python</span> <span class="n">entry</span><span class="p">.</span><span class="n">py</span> <span class="o">&lt;</span><span class="n">pathToAppRoot</span><span class="o">&gt;</span>
+</pre></div>
+</td></tr></table>
+
+
+
+
+
+
+
+
+
+ </article>
+ </div>
+ </div>
+ </main>
+
+
+<footer class="md-footer">
+
+ <div class="md-footer-nav">
+ <nav class="md-footer-nav__inner md-grid">
+
+ <a href="../../../Scripting/Examples/strandtest/" title="Strandtest" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
+ <div class="md-flex__cell md-flex__cell--shrink">
+ <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
+ </div>
+ <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+ <span class="md-flex__ellipsis">
+ <span class="md-footer-nav__direction">
+ Previous
+ </span>
+ Strandtest
+ </span>
+ </div>
+ </a>
+
+
+ <a href="../../Run/" title="Run" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
+ <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+ <span class="md-flex__ellipsis">
+ <span class="md-footer-nav__direction">
+ Next
+ </span>
+ Run
+ </span>
+ </div>
+ <div class="md-flex__cell md-flex__cell--shrink">
+ <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
+ </div>
+ </a>
+
+ </nav>
+ </div>
+
+ <div class="md-footer-meta md-typeset">
+ <div class="md-footer-meta__inner md-grid">
+ <div class="md-footer-copyright">
+
+ powered by
+ <a href="https://www.mkdocs.org">MkDocs</a>
+ and
+ <a href="https://squidfunk.github.io/mkdocs-material/">
+ Material for MkDocs</a>
+ </div>
+
+ </div>
+ </div>
+</footer>
+
+ </div>
+
+ <script src="../../../assets/javascripts/application.c648116f.js"></script>
+
+ <script>app.initialize({version:"1.0.4",url:{base:"../../.."}})</script>
+
+ <script src="../../../assets/luxcena-colors.js"></script>
+
+ <script src="../../../assets/webfont.js"></script>
+
+ <script src="../../../assets/snap.svg-min.js"></script>
+
+ <script src="../../../assets/underscore-min.js"></script>
+
+ <script src="../../../assets/sequence-diagram.min.js"></script>
+
+ <script src="../../../assets/js-sequence.js"></script>
+
+
+ </body>
+</html> \ No newline at end of file