Move Cephelepod into deprecated_compiler, create captian.sh to handle bootstrapping kraken from backup or from Cephelepod

This commit is contained in:
Nathan Braswell
2016-03-29 12:54:05 -04:00
parent 40c3e428c1
commit c7e50282ad
53 changed files with 51 additions and 19 deletions

2
.gitignore vendored
View File

@@ -20,3 +20,5 @@ bintest.bin
.stfolder
kraken
*.c
kraken_bac
kraken_deprecated

44
captian.sh Executable file
View File

@@ -0,0 +1,44 @@
#!/bin/sh
kraken="kraken"
if [ -s "$kraken" ]
then
#echo "$kraken exists, calling"
echo "$kraken exists!"
else
echo "gotta make $kraken, testing for compilers to do so"
if ! [ -s "${kraken}_bac" ]
then
if ! [ -s "${kraken}_deprecated" ]
then
echo "no ${kraken}_deprecated, using Cephelpod"
cp -r stdlib deprecated_compiler
cp krakenGrammer.kgm deprecated_compiler
cp kraken.krak deprecated_compiler
pushd deprecated_compiler
mkdir build
pushd build
cmake ..
make
popd
mkdir build_kraken
mv kraken.krak build_kraken
pushd build_kraken
../build/kraken kraken.krak
popd
popd
cp deprecated_compiler/build_kraken/kraken/kraken ./kraken_deprecated
else
echo "${kraken}_deprecated exists, calling"
fi
./kraken_deprecated kraken.krak kraken_bac
else
echo "${kraken}_bac exists, calling"
fi
./${kraken}_bac ${kraken}.krak
fi
#./${kraken} $@

5
deprecated_compiler/.gitignore vendored Normal file
View File

@@ -0,0 +1,5 @@
build
build_kraken
krakenGrammer.kgm
krakenGrammer.kgm.comp
stdlib

View File

@@ -3,15 +3,5 @@ correctly importing / running tests is a nightmare with relative paths.
Namespaces
Imports allow renaming of either entire scope or individual members, and can import from within a scope
correct c genration for triple mutually recursive types across 2 files (wehre
A depends on B depends on C, but two of them are in the same file and there's
also pointers for the other two) Will need splitting into multiple C files to
be cleanest, I think)
Fix destructors being placed after return.
Fix functions before declaration? (in class? (this is from an old file))
Template instantiation without explicit type param
Fix // comment right before top level function declaration. Something to do
with the return as /* comment */ does not have that problem
for in or for each loops
Traits on aliases, maybe that keep their old traits?

View File

@@ -1,9 +0,0 @@
Goal = translation_unit ;
translation_unit = function "
" ;
function = "why" typed_return WS code_block ;
typed_return = WS "bad" | ;
code_block = "{" WS "}" ;
WS = "( | )+" | ;