about summary refs log tree commit diff stats
path: root/run_one_test
Commit message (Collapse)AuthorAgeFilesLines
* 5675 - move helpers from subx-common into layersKartik Agaram2019-09-191-1/+1
| | | | | | | | | | | | | | | | This undoes 5672 in favor of a new plan: Layers 000 - 099 are for running without syntax sugar. We use them for building syntax-sugar passes. Layers 100 and up are for running with all syntax sugar. The layers are arranged in approximate order so more phases rely on earlier layers than later ones. I plan to not use intermediate syntax sugar (just sigils without calls, or sigils and calls without braces) anywhere except in the specific passes implementing them.
* 5662Kartik Agaram2019-09-151-1/+1
| | | | Fix several breakages.
* 5638Kartik Agaram2019-09-071-6/+1
|
* 5618Kartik Agaram2019-09-041-3/+9
|
* .Kartik Agaram2019-08-251-1/+1
|
* skip building apps when running a single testKartik Agaram2019-08-251-3/+3
| | | | Environment variables allow me to have non-local effects inside scripts.
* 5509Kartik Agaram2019-08-111-0/+22
artik/mu/commit/subx/ntranslate?h=main&id=90538f232a31c621323ba1b8b93fad57c555b810'>90538f23 ^
27a5b1a8 ^


d9d9ab81 ^


099f0d5d ^

418ea7d3 ^
e97b446a ^
90538f23 ^
6488bfcf ^
90538f23 ^
6488bfcf ^
90538f23 ^
23fd294d ^

6488bfcf ^











90538f23 ^



531f14c9 ^

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
         
                                                                         

                 
                                                        

                                          







                                                                             

                                           
      
 
       
 


                            


                                         

                                         
 
                                        
 
                                         
 
                                          
 

                                                                             











                                                                               



                                         

              
#!/bin/sh
# Translate SubX by running the self-hosted translator natively on Linux.
#
# Possible knobs:
#   Whether to run a phase natively or in emulated mode.
#     This script is for running natively.
#   Whether to stop after a phase.
#     This script assumes inputs are already working so doesn't easily show
#     which phase an error happens in.
#   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

# increase stack
ulimit -S -s 131072  # 128MB

cat $*          |apps/braces   > a.braces

cat a.braces    |apps/calls    > a.calls

cat a.calls     |apps/sigils   > a.sigils

cat a.sigils    |apps/tests    > a.tests

cat a.tests     |apps/assort   > a.assort

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

# A little hack. We want translate_subx to always emit identical binaries to
# the C++ translator. The C++ translator assorts segments before it processes
# string literals, so we follow the same order above.
#
# However, dquotes currently emits a separate data segment for string literals.
# So we need to run assort a second time to clean up after it.
#
# Potential solutions:
#   a) modify C++ translator to process string literals before assorting.
#   b) clean up dquotes to assume assorted segments, and append to the
#   existing data segment.
cat a.dquotes   |apps/assort   > a.assort2

cat a.assort2   |apps/pack     > a.pack

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

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

chmod +x a.elf