about summary refs log blame commit diff stats
path: root/translate
blob: 4838f1d2c10d2dbec26fe7509ba7930f1fc066b5 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16















                                                                                                                 
             
 

                                                  


                                                         









                                                        
#!/bin/sh
# Translate SubX using the self-hosted translator.
#
# Possible knobs:
#   Whether to run a phase directly or emulated.
#     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
set -v

ALL=1 ./build

echo `cat $* |grep -v '^\s*#\|^\s*$' |wc -l` lines

cat $*          |./subx_bin run apps/tests    > a.tests

cat a.tests     |./subx_bin run apps/dquotes  > a.dquotes

cat a.dquotes   |./subx_bin run apps/assort   > a.assort

cat a.assort    |./subx_bin run apps/pack     > a.pack

cat a.pack      |./subx_bin run apps/survey   > a.survey

cat a.survey    |./subx_bin run apps/hex      > a.elf

xxd a.elf                                     > a.xxd