wip restructuring
This commit is contained in:
+8
-2
@@ -3,13 +3,19 @@
|
|||||||
- architecture needs more careful thought but only after something
|
- architecture needs more careful thought but only after something
|
||||||
works
|
works
|
||||||
- too fuzzy right now
|
- too fuzzy right now
|
||||||
|
- ytree with tokens
|
||||||
|
- dialyze
|
||||||
|
- makefile
|
||||||
|
- consolidate
|
||||||
|
|
||||||
|
# TODONE
|
||||||
|
|
||||||
- undo gs_ naming fuckery.. everything is `gsc_*`. it's just
|
- undo gs_ naming fuckery.. everything is `gsc_*`. it's just
|
||||||
needlessly confusing. for now let's name new things gsc_* and then
|
needlessly confusing. for now let's name new things gsc_* and then
|
||||||
go back and undo the stupidity
|
go back and undo the stupidity
|
||||||
|
|
||||||
# TONOTDO
|
# TODONT
|
||||||
|
|
||||||
- barf for outputs, slurp for inputs
|
- barf for outputs, slurp for inputs
|
||||||
- rename parser layers sequentially
|
- rename parser layers sequentially
|
||||||
|
|
||||||
# TODONE
|
|
||||||
|
|||||||
@@ -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
|
|
||||||
```
|
|
||||||
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
# Bash harness for GSC command line tool
|
# Bash harness for GSC command line tool
|
||||||
#
|
#
|
||||||
|
# based on similar harness for sfp
|
||||||
|
#
|
||||||
# gsc foo bar baz
|
# gsc foo bar baz
|
||||||
# -> zx rundir \
|
# -> zx rundir /home/pharpend/src/ioecs/gsc \
|
||||||
# /home/pharpend/src/ioecs/gsc/cli \
|
|
||||||
# --libs=gsc:/home/pharpend/src/ioecs/gsc \
|
|
||||||
# foo bar baz
|
# foo bar baz
|
||||||
|
|
||||||
zx_exists() {
|
zx_exists() {
|
||||||
@@ -27,8 +27,12 @@ fi
|
|||||||
FP_THIS_FILE=$(readlink -f "${BASH_SOURCE[0]}")
|
FP_THIS_FILE=$(readlink -f "${BASH_SOURCE[0]}")
|
||||||
FP_THIS_DIR=$(dirname -- "${FP_THIS_FILE}")
|
FP_THIS_DIR=$(dirname -- "${FP_THIS_FILE}")
|
||||||
FP_PRJ_DIR=$(dirname -- "${FP_THIS_DIR}")
|
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
|
# # compute libs string
|
||||||
# LIB_PARTS=()
|
# LIB_PARTS=()
|
||||||
# for depname in "${LOCAL_DEPS[@]}"; do
|
# for depname in "${LOCAL_DEPS[@]}"; do
|
||||||
@@ -37,9 +41,9 @@ FP_CLI_DIR="${FP_PRJ_DIR}/cli"
|
|||||||
# IFS=,
|
# IFS=,
|
||||||
# LOCAL_LIBS="${LIB_PARTS[*]}"
|
# LOCAL_LIBS="${LIB_PARTS[*]}"
|
||||||
# unset IFS
|
# unset IFS
|
||||||
|
#
|
||||||
LOCAL_LIBS="gsc:${FP_PRJ_DIR}"
|
#LOCAL_LIBS=""
|
||||||
|
#
|
||||||
#echo "zx rundir $FP_CLI_DIR --libs=$LOCAL_LIBS $@"
|
##echo "zx rundir $FP_CLI_DIR --libs=$LOCAL_LIBS $@"
|
||||||
|
#
|
||||||
zx rundir $FP_CLI_DIR --libs=$LOCAL_LIBS $@
|
##zx rundir $FP_CLI_DIR --libs=$LOCAL_LIBS $@
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{"src/*", [debug_info, {i, "include/"}, {outdir, "ebin/"}]}.
|
|
||||||
@@ -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]}]}.
|
|
||||||
@@ -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,[]}.
|
|
||||||
@@ -1,15 +1,16 @@
|
|||||||
{name,"Gajumaru Sophia Compiler"}.
|
{name,"Gajumaru Sophia Compiler"}.
|
||||||
{type,lib}.
|
{type,lib}.
|
||||||
{modules,[]}.
|
{modules,[]}.
|
||||||
|
{mod, "gsc_cli"}
|
||||||
{author,"Peter Harpending"}.
|
{author,"Peter Harpending"}.
|
||||||
{prefix,"gs"}.
|
{prefix,"gsc"}.
|
||||||
{desc,"Exploratory sophia compiler rewrite"}.
|
{desc,"Exploratory sophia compiler rewrite"}.
|
||||||
{package_id,{"otpr","gsc",{0,1,0}}}.
|
{package_id,{"otpr","gsc",{0,1,0}}}.
|
||||||
{deps,[]}.
|
{deps,[]}.
|
||||||
{key_name,none}.
|
{key_name,none}.
|
||||||
{a_email,"peterharpending@qpq.swiss"}.
|
{a_email,"peterharpending@qpq.swiss"}.
|
||||||
{c_email,"peterharpending@qpq.swiss"}.
|
{c_email,"peterharpending@qpq.swiss"}.
|
||||||
{copyright,"Peter Harpending"}.
|
{copyright,"2026 QPQ AG"}.
|
||||||
{file_exts,[]}.
|
{file_exts,[]}.
|
||||||
{license,"GPL-3.0-only"}.
|
{license,"GPL-3.0-only"}.
|
||||||
{repo_url,"https://git.qpq.swiss/QPQ-AG/gsc"}.
|
{repo_url,"https://git.qpq.swiss/QPQ-AG/gsc"}.
|
||||||
|
|||||||
Reference in New Issue
Block a user