add python amalgamate tool
FossilOrigin-Name: 4bab5cee7c6af28e3cbdbf32f5ce4dff7880ad5cdc0020a433b4da8eb876f343
This commit is contained in:
parent
8c99de46cc
commit
0e808f6931
1 changed files with 30 additions and 0 deletions
30
example/amalgamate-python.retro
Normal file
30
example/amalgamate-python.retro
Normal file
|
@ -0,0 +1,30 @@
|
|||
# Amalgamate
|
||||
|
||||
The standard RETRO system is built using the Nga VM[1] and an
|
||||
image file. The Python implementation consists of several files,
|
||||
but it's nice to have a single file copy for easier deployment.
|
||||
This tool combines the pieces into a single source file.
|
||||
|
||||
Output will be written to stdout.
|
||||
|
||||
## Code
|
||||
|
||||
Extract and generate the single file source.
|
||||
|
||||
~~~
|
||||
{{
|
||||
:include-file
|
||||
#6 + s:chop 'vm/nga-python/ s:prepend here swap file:slurp here s:put ;
|
||||
|
||||
:source:line
|
||||
dup 'from_" s:begins-with?
|
||||
[ include-file ] [ s:put nl ] choose ;
|
||||
|
||||
---reveal---
|
||||
|
||||
:amalgamate
|
||||
'vm/nga-python/retro.py [ source:line ] file:for-each-line ;
|
||||
}}
|
||||
|
||||
amalgamate
|
||||
~~~
|
Loading…
Reference in a new issue