about summary refs log blame commit diff stats
path: root/translate_subx_emulated
blob: 0f013dfc2b64062d0a0ae96da3e5af148049ad4d (plain) (tree)
1
2
3
4
5
6
7
8
         

                                                                          

                 
                                                        

                                                              







                                                                             


                                           
 
       
 
                                                             
                                                            
                                                             
                                                            
                                                              
                                                             
                                                           
pre { line-height: 125%; } td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } td.line
#!/bin/sh
# Translate SubX by running the self-hosted translator in emulated mode on
# Linux or BSD or Mac.
#
# Possible knobs:
#   Whether to run a phase natively or in emulated mode.
#     Just always emulate for now since we debug on non-Linux.
#   Whether to stop after a phase.
#     Just always run all phases, but print out phases so it's clear where an
#     error happens.
#   Whether to trace a phase. Whether to always trace or rerun with tracing
#   enabled after an error.
#     Leave tracing to other scripts. We save intermediate files so it's easy
#     to rerun a single phase afterwards.
#   Whether to run a phase with debug information. (Need to juggle multiple
#   sets of debug files.)
#     Again, that's for subsequent scripts.

set -e

./build

cat $*          |./bootstrap_bin run apps/braces   > a.braces
cat a.braces    |./bootstrap_bin run apps/calls    > a.calls
cat a.calls     |./bootstrap_bin run apps/sigils   > a.sigils
cat a.sigils    |./bootstrap_bin run apps/tests    > a.tests
cat a.tests     |./bootstrap_bin run apps/dquotes  > a.dquotes
cat a.dquotes   |./bootstrap_bin run apps/assort   > a.assort
cat a.assort    |./bootstrap_bin run apps/pack     > a.pack
cat a.pack      |./bootstrap_bin run apps/survey   > a.survey
cat a.survey    |./bootstrap_bin run apps/hex      > a.elf

chmod +x a.elf
="p">{ srand(time(NULL)); break; } // undo non-determinism in later tests :(before "End Reset") srand(0);