diff --git a/DONT_README.md b/DONT_README.md index 4dec60f..30f336c 100644 --- a/DONT_README.md +++ b/DONT_README.md @@ -3,13 +3,19 @@ - architecture needs more careful thought but only after something works - too fuzzy right now +- ytree with tokens +- dialyze +- makefile +- consolidate + +# TODONE + - undo gs_ naming fuckery.. everything is `gsc_*`. it's just needlessly confusing. for now let's name new things gsc_* and then go back and undo the stupidity -# TONOTDO +# TODONT - barf for outputs, slurp for inputs - rename parser layers sequentially -# TODONE diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..827b42a --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +all: + +clean: + rm diff --git a/README.md b/README.md deleted file mode 100644 index d6233de..0000000 --- a/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# gsc = gajumaru sophia compiler - -**This is _NOT_ the official Sophia compiler.** If you're looking for -that see https://git.qpq.swiss/QPQ-AG/sophia - -This is an incomplete prototype rewrite of the legacy (official) -sophia compiler in straightforward Erlang. It grew out of my (Peter -Harpending) own efforts to document the language and its relationship -to FATE (the gajumaru virtual machine). - -The goal for version 0.1 is to mirror the success behavior of the -legacy sophia compiler. - -# Setup - -``` -git clone https://git.qpq.swiss/QPQ-AG/gsc.git -``` - -Add the following to `~/.bashrc` or wheremstever: - -``` -export PATH=$PATH:/path/to/gsc/bin -``` - -To test run - -``` -gsc --help -``` diff --git a/bin/gsc b/bin/gsc index 9347aa0..25d7bb8 100755 --- a/bin/gsc +++ b/bin/gsc @@ -2,10 +2,10 @@ # Bash harness for GSC command line tool # +# based on similar harness for sfp +# # gsc foo bar baz -# -> zx rundir \ -# /home/pharpend/src/ioecs/gsc/cli \ -# --libs=gsc:/home/pharpend/src/ioecs/gsc \ +# -> zx rundir /home/pharpend/src/ioecs/gsc \ # foo bar baz zx_exists() { @@ -27,8 +27,12 @@ fi FP_THIS_FILE=$(readlink -f "${BASH_SOURCE[0]}") FP_THIS_DIR=$(dirname -- "${FP_THIS_FILE}") FP_PRJ_DIR=$(dirname -- "${FP_THIS_DIR}") -FP_CLI_DIR="${FP_PRJ_DIR}/cli" +# simplified +zx rundir $FP_PRJ_DIR + + +# commented out legacy code in case need it later: # # compute libs string # LIB_PARTS=() # for depname in "${LOCAL_DEPS[@]}"; do @@ -37,9 +41,9 @@ FP_CLI_DIR="${FP_PRJ_DIR}/cli" # IFS=, # LOCAL_LIBS="${LIB_PARTS[*]}" # unset IFS - -LOCAL_LIBS="gsc:${FP_PRJ_DIR}" - -#echo "zx rundir $FP_CLI_DIR --libs=$LOCAL_LIBS $@" - -zx rundir $FP_CLI_DIR --libs=$LOCAL_LIBS $@ +# +#LOCAL_LIBS="" +# +##echo "zx rundir $FP_CLI_DIR --libs=$LOCAL_LIBS $@" +# +##zx rundir $FP_CLI_DIR --libs=$LOCAL_LIBS $@ diff --git a/cli/.gitignore b/cli/.gitignore deleted file mode 100644 index 20177b4..0000000 --- a/cli/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -.eunit -deps -*.o -*.beam -*.plt -*.swp -erl_crash.dump -ebin/*.beam -doc/*.html -doc/*.css -doc/edoc-info -doc/erlang.png -rel/example_project -.concrete/DEV_MODE -.rebar diff --git a/cli/Emakefile b/cli/Emakefile deleted file mode 100644 index 68c7b67..0000000 --- a/cli/Emakefile +++ /dev/null @@ -1 +0,0 @@ -{"src/*", [debug_info, {i, "include/"}, {outdir, "ebin/"}]}. diff --git a/cli/ebin/gsc_cli.app b/cli/ebin/gsc_cli.app deleted file mode 100644 index b409547..0000000 --- a/cli/ebin/gsc_cli.app +++ /dev/null @@ -1,7 +0,0 @@ -{application,gsc_cli, - [{description,"GSC CLI and test suite"}, - {registered,[]}, - {included_applications,[]}, - {applications,[stdlib,kernel]}, - {vsn,"0.1.0"}, - {modules,[gsc_cli]}]}. diff --git a/cli/zomp.meta b/cli/zomp.meta deleted file mode 100644 index cf2cd57..0000000 --- a/cli/zomp.meta +++ /dev/null @@ -1,18 +0,0 @@ -{name,"GSC CLI"}. -{type,cli}. -{modules,[]}. -{mod,"gsc_cli"}. -{author,"Peter Harpending"}. -{prefix,none}. -{desc,"GSC CLI and test suite"}. -{package_id,{"otpr","gsc_cli",{0,1,0}}}. -{deps,[{"otpr","sophia",{9,0,0}},{"otpr","gsc",{0,1,0}}]}. -{key_name,none}. -{a_email,"peterharpending@qpq.swiss"}. -{c_email,"peterharpending@qpq.swiss"}. -{copyright,"Peter Harpending"}. -{file_exts,[]}. -{license,"GPL-3.0-only"}. -{repo_url,[]}. -{tags,[]}. -{ws_url,[]}. diff --git a/cli/include/ansi.hrl b/include/ansi.hrl similarity index 100% rename from cli/include/ansi.hrl rename to include/ansi.hrl diff --git a/cli/priv/doi.txt b/priv/doi.txt similarity index 100% rename from cli/priv/doi.txt rename to priv/doi.txt diff --git a/cli/scratch/argparse b/scratch/argparse similarity index 100% rename from cli/scratch/argparse rename to scratch/argparse diff --git a/cli/scratch/gsc_test_file b/scratch/gsc_test_file similarity index 100% rename from cli/scratch/gsc_test_file rename to scratch/gsc_test_file diff --git a/cli/scratch/sophia_syntax.md b/scratch/sophia_syntax.md similarity index 100% rename from cli/scratch/sophia_syntax.md rename to scratch/sophia_syntax.md diff --git a/cli/scratch/test_ntree.erl b/scratch/test_ntree.erl similarity index 100% rename from cli/scratch/test_ntree.erl rename to scratch/test_ntree.erl diff --git a/cli/src/gsc_cli.erl b/src/gsc_cli.erl similarity index 100% rename from cli/src/gsc_cli.erl rename to src/gsc_cli.erl diff --git a/cli/ct/aegora_base_contract-1.aes b/test/ct/aegora_base_contract-1.aes similarity index 100% rename from cli/ct/aegora_base_contract-1.aes rename to test/ct/aegora_base_contract-1.aes diff --git a/cli/ct/aegora_sales_contract-1.aes b/test/ct/aegora_sales_contract-1.aes similarity index 100% rename from cli/ct/aegora_sales_contract-1.aes rename to test/ct/aegora_sales_contract-1.aes diff --git a/cli/ct/evil.aes b/test/ct/evil.aes similarity index 100% rename from cli/ct/evil.aes rename to test/ct/evil.aes diff --git a/cli/ct/gym.aes b/test/ct/gym.aes similarity index 100% rename from cli/ct/gym.aes rename to test/ct/gym.aes diff --git a/cli/ct/hello.aes b/test/ct/hello.aes similarity index 100% rename from cli/ct/hello.aes rename to test/ct/hello.aes diff --git a/cli/ct/tokenizers_agree/ak_base58_char.aes b/test/ct/tokenizers_agree/ak_base58_char.aes similarity index 100% rename from cli/ct/tokenizers_agree/ak_base58_char.aes rename to test/ct/tokenizers_agree/ak_base58_char.aes diff --git a/cli/ct/tokenizers_agree/ak_base58_digit_0.aes b/test/ct/tokenizers_agree/ak_base58_digit_0.aes similarity index 100% rename from cli/ct/tokenizers_agree/ak_base58_digit_0.aes rename to test/ct/tokenizers_agree/ak_base58_digit_0.aes diff --git a/cli/ct/tokenizers_agree/ak_base58_five_split.aes b/test/ct/tokenizers_agree/ak_base58_five_split.aes similarity index 100% rename from cli/ct/tokenizers_agree/ak_base58_five_split.aes rename to test/ct/tokenizers_agree/ak_base58_five_split.aes diff --git a/cli/ct/tokenizers_agree/ak_base58_hex.aes b/test/ct/tokenizers_agree/ak_base58_hex.aes similarity index 100% rename from cli/ct/tokenizers_agree/ak_base58_hex.aes rename to test/ct/tokenizers_agree/ak_base58_hex.aes diff --git a/cli/ct/tokenizers_agree/ak_base58_kwd_let.aes b/test/ct/tokenizers_agree/ak_base58_kwd_let.aes similarity index 100% rename from cli/ct/tokenizers_agree/ak_base58_kwd_let.aes rename to test/ct/tokenizers_agree/ak_base58_kwd_let.aes diff --git a/cli/ct/tokenizers_agree/ak_base58_lower_l.aes b/test/ct/tokenizers_agree/ak_base58_lower_l.aes similarity index 100% rename from cli/ct/tokenizers_agree/ak_base58_lower_l.aes rename to test/ct/tokenizers_agree/ak_base58_lower_l.aes diff --git a/cli/ct/tokenizers_agree/ak_base58_tvar.aes b/test/ct/tokenizers_agree/ak_base58_tvar.aes similarity index 100% rename from cli/ct/tokenizers_agree/ak_base58_tvar.aes rename to test/ct/tokenizers_agree/ak_base58_tvar.aes diff --git a/cli/ct/tokenizers_agree/ct_base58_upper_O.aes b/test/ct/tokenizers_agree/ct_base58_upper_O.aes similarity index 100% rename from cli/ct/tokenizers_agree/ct_base58_upper_O.aes rename to test/ct/tokenizers_agree/ct_base58_upper_O.aes diff --git a/cli/ct/tokenizers_agree/div01_bytes.aes b/test/ct/tokenizers_agree/div01_bytes.aes similarity index 100% rename from cli/ct/tokenizers_agree/div01_bytes.aes rename to test/ct/tokenizers_agree/div01_bytes.aes diff --git a/cli/ct/tokenizers_agree/div02_char_hex_lower.aes b/test/ct/tokenizers_agree/div02_char_hex_lower.aes similarity index 100% rename from cli/ct/tokenizers_agree/div02_char_hex_lower.aes rename to test/ct/tokenizers_agree/div02_char_hex_lower.aes diff --git a/cli/ct/tokenizers_agree/div03_char_hexbrace_lower.aes b/test/ct/tokenizers_agree/div03_char_hexbrace_lower.aes similarity index 100% rename from cli/ct/tokenizers_agree/div03_char_hexbrace_lower.aes rename to test/ct/tokenizers_agree/div03_char_hexbrace_lower.aes diff --git a/cli/ct/tokenizers_agree/div04_multiline_string.aes b/test/ct/tokenizers_agree/div04_multiline_string.aes similarity index 100% rename from cli/ct/tokenizers_agree/div04_multiline_string.aes rename to test/ct/tokenizers_agree/div04_multiline_string.aes diff --git a/cli/ct/tokenizers_agree/div05_bcom_eof.aes b/test/ct/tokenizers_agree/div05_bcom_eof.aes similarity index 100% rename from cli/ct/tokenizers_agree/div05_bcom_eof.aes rename to test/ct/tokenizers_agree/div05_bcom_eof.aes diff --git a/cli/ct/tokenizers_agree/div06_bcom_in_expr.aes b/test/ct/tokenizers_agree/div06_bcom_in_expr.aes similarity index 100% rename from cli/ct/tokenizers_agree/div06_bcom_in_expr.aes rename to test/ct/tokenizers_agree/div06_bcom_in_expr.aes diff --git a/cli/ct/tokenizers_agree/div07_bcom_nested.aes b/test/ct/tokenizers_agree/div07_bcom_nested.aes similarity index 100% rename from cli/ct/tokenizers_agree/div07_bcom_nested.aes rename to test/ct/tokenizers_agree/div07_bcom_nested.aes diff --git a/cli/ct/tokenizers_agree/div08_bcom_simple.aes b/test/ct/tokenizers_agree/div08_bcom_simple.aes similarity index 100% rename from cli/ct/tokenizers_agree/div08_bcom_simple.aes rename to test/ct/tokenizers_agree/div08_bcom_simple.aes diff --git a/cli/ct/tokenizers_agree/div09_str_bslash_nl.aes b/test/ct/tokenizers_agree/div09_str_bslash_nl.aes similarity index 100% rename from cli/ct/tokenizers_agree/div09_str_bslash_nl.aes rename to test/ct/tokenizers_agree/div09_str_bslash_nl.aes diff --git a/cli/ct/tokenizers_agree/div10_char_nonascii.aes b/test/ct/tokenizers_agree/div10_char_nonascii.aes similarity index 100% rename from cli/ct/tokenizers_agree/div10_char_nonascii.aes rename to test/ct/tokenizers_agree/div10_char_nonascii.aes diff --git a/cli/ct/tokenizers_agree/div11_char_high_codepoint.aes b/test/ct/tokenizers_agree/div11_char_high_codepoint.aes similarity index 100% rename from cli/ct/tokenizers_agree/div11_char_high_codepoint.aes rename to test/ct/tokenizers_agree/div11_char_high_codepoint.aes diff --git a/cli/ct/tokenizers_agree/div12_string_high_codepoint.aes b/test/ct/tokenizers_agree/div12_string_high_codepoint.aes similarity index 100% rename from cli/ct/tokenizers_agree/div12_string_high_codepoint.aes rename to test/ct/tokenizers_agree/div12_string_high_codepoint.aes diff --git a/cli/ct/tokenizers_agree/div13_col_drift_2byte_str.aes b/test/ct/tokenizers_agree/div13_col_drift_2byte_str.aes similarity index 100% rename from cli/ct/tokenizers_agree/div13_col_drift_2byte_str.aes rename to test/ct/tokenizers_agree/div13_col_drift_2byte_str.aes diff --git a/cli/ct/tokenizers_agree/div14_col_drift_3byte_str.aes b/test/ct/tokenizers_agree/div14_col_drift_3byte_str.aes similarity index 100% rename from cli/ct/tokenizers_agree/div14_col_drift_3byte_str.aes rename to test/ct/tokenizers_agree/div14_col_drift_3byte_str.aes diff --git a/cli/ct/tokenizers_agree/div15_col_drift_4byte_str.aes b/test/ct/tokenizers_agree/div15_col_drift_4byte_str.aes similarity index 100% rename from cli/ct/tokenizers_agree/div15_col_drift_4byte_str.aes rename to test/ct/tokenizers_agree/div15_col_drift_4byte_str.aes diff --git a/cli/ct/tokenizers_agree/div16_col_drift_bcom.aes b/test/ct/tokenizers_agree/div16_col_drift_bcom.aes similarity index 100% rename from cli/ct/tokenizers_agree/div16_col_drift_bcom.aes rename to test/ct/tokenizers_agree/div16_col_drift_bcom.aes diff --git a/cli/ct/tokenizers_agree/div17_col_drift_multi.aes b/test/ct/tokenizers_agree/div17_col_drift_multi.aes similarity index 100% rename from cli/ct/tokenizers_agree/div17_col_drift_multi.aes rename to test/ct/tokenizers_agree/div17_col_drift_multi.aes diff --git a/cli/ct/tokenizers_agree/id_quotes.aes b/test/ct/tokenizers_agree/id_quotes.aes similarity index 100% rename from cli/ct/tokenizers_agree/id_quotes.aes rename to test/ct/tokenizers_agree/id_quotes.aes diff --git a/cli/ct/tokenizers_agree/naked_ak.aes b/test/ct/tokenizers_agree/naked_ak.aes similarity index 100% rename from cli/ct/tokenizers_agree/naked_ak.aes rename to test/ct/tokenizers_agree/naked_ak.aes diff --git a/cli/ct/tokenizers_agree/sg_base58_underscore.aes b/test/ct/tokenizers_agree/sg_base58_underscore.aes similarity index 100% rename from cli/ct/tokenizers_agree/sg_base58_underscore.aes rename to test/ct/tokenizers_agree/sg_base58_underscore.aes diff --git a/cli/ct/tokenizers_agree/sg_base58_upper_I.aes b/test/ct/tokenizers_agree/sg_base58_upper_I.aes similarity index 100% rename from cli/ct/tokenizers_agree/sg_base58_upper_I.aes rename to test/ct/tokenizers_agree/sg_base58_upper_I.aes diff --git a/cli/ct/types.aes b/test/ct/types.aes similarity index 100% rename from cli/ct/types.aes rename to test/ct/types.aes diff --git a/cli/src/gsc_test_file.erl b/test/gsc_test_file.erl similarity index 100% rename from cli/src/gsc_test_file.erl rename to test/gsc_test_file.erl diff --git a/cli/src/gsc_test_ntree.erl b/test/gsc_test_ntree.erl similarity index 100% rename from cli/src/gsc_test_ntree.erl rename to test/gsc_test_ntree.erl diff --git a/cli/src/gsc_test_tokens.erl b/test/gsc_test_tokens.erl similarity index 100% rename from cli/src/gsc_test_tokens.erl rename to test/gsc_test_tokens.erl diff --git a/cli/src/ts_utils.erl b/test/ts_utils.erl similarity index 100% rename from cli/src/ts_utils.erl rename to test/ts_utils.erl diff --git a/zomp.meta b/zomp.meta index b37ac30..b28d213 100644 --- a/zomp.meta +++ b/zomp.meta @@ -1,15 +1,16 @@ {name,"Gajumaru Sophia Compiler"}. {type,lib}. {modules,[]}. +{mod, "gsc_cli"} {author,"Peter Harpending"}. -{prefix,"gs"}. +{prefix,"gsc"}. {desc,"Exploratory sophia compiler rewrite"}. {package_id,{"otpr","gsc",{0,1,0}}}. {deps,[]}. {key_name,none}. {a_email,"peterharpending@qpq.swiss"}. {c_email,"peterharpending@qpq.swiss"}. -{copyright,"Peter Harpending"}. +{copyright,"2026 QPQ AG"}. {file_exts,[]}. {license,"GPL-3.0-only"}. {repo_url,"https://git.qpq.swiss/QPQ-AG/gsc"}.