From 90538f232a31c621323ba1b8b93fad57c555b810 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Sat, 20 Jul 2019 23:59:23 -0700 Subject: [PATCH] 5431 - starting to translate std lib Currently failing at layer 54: ``` $ time ./translate 049memory_layout.subx 05[0-4]*.subx; ./subx run a.elf test leaky-get-or-insert-slice: too many segments ``` Emulation is also damn slow. But running in native mode is fast. --- subx/ntranslate | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 subx/ntranslate diff --git a/subx/ntranslate b/subx/ntranslate new file mode 100755 index 00000000..0cde1721 --- /dev/null +++ b/subx/ntranslate @@ -0,0 +1,33 @@ +#!/bin/sh +# Translate SubX using the self-hosted translator. +# +# Possible knobs: +# Whether to run a phase directly or emulated. +# This script is for running natively. +# 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 + +build + +echo `cat $* |grep -v '^\s*#\|^\s*$' |wc -l` lines + +cat $* |apps/tests > a.tests + +cat a.tests |apps/dquotes > a.dquotes + +cat a.dquotes |apps/assort > a.assort + +cat a.assort |apps/pack > a.pack + +cat a.pack |apps/survey > a.survey + +cat a.survey |apps/hex > a.elf + +xxd a.elf > a.xxd