giellalt / template-lang-und

A template repo for new languages, as well as to update existing language repos with.
https://giellalt.uit.no/
GNU Lesser General Public License v3.0
2 stars 1 forks source link

Move all fst builds inside the `src/fst/` dir #8

Open snomos opened 3 years ago

snomos commented 3 years ago

The present dir structure in src is:

src/
├── cg3
├── filters
├── fst
│   ├── affixes
│   ├── generated_files
│   ├── incoming
│   └── stems
├── hyphenation
├── orthography
├── phonetics
├── tagsets
└── transcriptions

The target dir structure will be:

src/
├── cg3
└── fst
    ├── affixes
    ├── customised_filters # former: src/filters/
    ├── generated_files
    ├── generated_tag_filters # former: src/filters/
    ├── incoming
    ├── orthography
    ├── phonetic_transcription # former: src/phonetics/
    ├── shared_filters # former: src/filters/
    ├── stems
    ├── syllabification # former: src/hyphenation/
    ├── tagsets
    └── transcriptions

Arguments pro:

Arguments contra:


Reorg DONE


Cleanup tasks pending:

aarppe commented 3 years ago

This would be a logical conclusion of the directory reorganization, and it has occurred to me that keeping e.g. orthography under its own main directory has not been consistent with having all FST-related source under one directory.

It is true that it clutters the fst directory, and I must admit there have been times when I've recalled fondly the old quasi-linguistic directory structure, but all structures have their pros and cons.

As a minor modification, the proposed new structure would in the case of crk be the logical place to locate the subdirectory derivation. I know it could be argued that this could be put under affixes and/or stems, our implementation is a beast of its own, as it has its own lexc and xfscript rewrite rule files.

snomos commented 3 years ago

Here is a slightly more hierarchical suggestion for the new layout:

src/
├── cg3
└── fst
    ├── affixes
    ├── filters # former: src/filters/
    │   ├── customised
    │   ├── generated
    │   └── shared
    ├── generated_files
    ├── incoming
    ├── orthography
    ├── phonetic_transcription # former: src/phonetics/
    ├── stems
    ├── syllabification # former: src/hyphenation/
    ├── tagsets
    ├── test # former: ROOT/tests/src/morphology, phonology, etc
    └── transcriptions
snomos commented 3 years ago

After discussions, this is the present suggestion for the fst directory structure:

src/
├── cg3
├── fst
│   ├── filters # former: src/filters/
│   │   ├── custom
│   │   ├── generated
│   │   └── shared
│   ├── lexc
│   │   ├── affixes
│   │   ├── .generated # ie from xml or another source, no version control
│   │   ├── incoming
│   │   ├── other # contains root.lexc, compounding, clitics etc
│   │   ├── .shared # former generated_files/, sources from giella_shared, no version control
│   │   └── stems
│   ├── orthography
│   ├── syllabification # former: src/hyphenation/
│   ├── tagsets
│   ├── test # former: ROOT/tests/src/morphology, phonology, etc
│   └── transcriptions # including former: src/phonetics/ as text2ipa or similar
├── new_tech # added as needed
...

Comments welcome :)

flammie commented 3 years ago

I like hiding the generated files dirs, in a way it works how normal c++ etc. projects build .deps.

snomos commented 3 years ago

Summary so far: leaving out the dirs not under version control (and created only when needed), and adding one dir for the twolc/xfscript sources for phonology processes (to get all src files out of src/fst/), we end up with this:

src/
├── cg3
├── fst
│   ├── filters
│   │   ├── custom
│   │   ├── generated
│   │   └── shared
│   ├── lexc
│   │   ├── affixes
│   │   ├── incoming
│   │   ├── other # contains root.lexc, compounding, clitics etc
│   │   └── stems
│   ├── orthography
│   ├── phon_src # twolc/xfscript src files
│   ├── syllabification # former: src/hyphenation/
│   ├── tagsets
│   ├── test
│   └── transcriptions
├── new_tech # added as needed
...

If there are no further comments, this is what I will start working towards. @aarppe & @eddieantonio?

aarppe commented 3 years ago

For me, other does not appear the obvious place for so central a lexc file as root.lexc. But I don't have strong opinion where to put that file, other than keep it under fst/lexc/ or even fst/, as creating a subdirectory for it alone would be odd.

Otherwise, this is starting to look quite similar to the previous directory organization, which did have its upsides. This would be even more so, if for consistency's sake we'd use phonology/ instead of phon_src/

Beyond this, it occurred to me whether separating the Multichar_Symbols section (and any other non-LEXICON sections) from the actual LEXICON Root section in the root.lexc file could be useful. Then, of course, a fst/lexc/root/ subdirectory could make sense.

snomos commented 3 years ago

For me, other does not appear the obvious place for so central a lexc file as root.lexc. But I don't have strong opinion where to put that file, other than keep it under fst/lexc/ or even fst/, as creating a subdirectory for it alone would be odd.

Maybe fst/lexc/ would be a good location - it is lexc, after all, but you are right that it does not fit well with other/. And given its special status, it should be ok directly within the lexc/ dir.

Otherwise, this is starting to look quite similar to the previous directory organization, which did have its upsides. This would be even more so, if for consistency's sake we'd use phonology/ instead of phon_src/

I see your point. I wanted to avoid linguistic terms, since they can easily be wrongly interpreted. After all, that dir is there only to move source files out of src/fst/, and contains only twolc or xfscript files. But a dir name like twolc_or_xfscript/ does not feel good either 😄

Beyond this, it occurred to me whether separating the Multichar_Symbols section (and any other non-LEXICON sections) from the actual LEXICON Root section in the root.lexc file could be useful. Then, of course, a fst/lexc/root/ subdirectory could make sense.

What would be the benefit of splitting that file into multiple parts? I am not necessarily opposing it, I just would like to see arguments for doing this change. Change for the sake of change should be avoided 🙂

Trondtr commented 3 years ago

What about core instead of other? root.lexc is of course "core", but so are the other files typically found here: compounds, clitics, in the sense that they are the files where all paths meet.

snomos commented 3 years ago

A counterargument is that not all languages have compounds, or clitics. In that sense they fit well within an other category, as opposed to root.lexc.

Trondtr commented 3 years ago

Well, for the languages not having compounds nor clitics there should be no files to bother about. For these languages, the core (or, for that matter, other) catalogue will contain one file only, root.lexc, which I, for one, think is ok. My suggestion was actually one of renaming. Any language content with having one and only one file root.lexc in other should be even happier to have this unique file in core.

snomos commented 3 years ago

Another take on the reorg:

src/
├── cg3/
├── fst/
│   ├── filters/
│   │   ├── custom/
│   │   ├── generated/
│   │   └── shared/
│   ├── lexc/
│   │   ├── root.lexc # and possibly multichar.lexc
│   │   ├── affixes/
│   │   ├── incoming/
│   │   ├── other/ # contains compounding, clitics etc
│   │   └── stems/
│   ├── orthography/
│   ├── twolc_xfst/
│   ├── syllabification/ # former: src/hyphenation/
│   ├── tagsets/
│   ├── test/
│   └── transcriptions/
├── new_tech # added as needed
...
aarppe commented 3 years ago

The "original sin" here is that we have already split up the single overall LEXC file needed for FST compilation into multiple constituent LEXC files, in order to separate the updatable parts from the more constant ones. In this respect one might further split the current root.lexc file to the part that genuinely contains the initial LEXICON Root, and the list of multicharacter symbols, which can be quite lengthy. I suppose one could have other files for the other initial fields one might have, e.g. for definitions etc. - which we haven't used but some others have.

Not that I'm necessarily advocating this split to be a categorical requirement, but it could be useful for some developer groups as an option.

aarppe commented 3 years ago

What would be worth exploring, and allowing for, is that it is possible to control specifically how the FSTs are compiled from the various component parts. I can imagine some circumstances where one might want, or need, to incorporate some constituent FST as a precompiled and potentially preweighted element, e.g. substitute defined DRV for DRV-FST within the regular inflectional FST. Currently, incorporating the source LEXC for derivation among the rest does not produce the desired result, potentially due to a need to keep separate the diachronic rewrite rules that have to be applied only the derivational content from the synchronic inflectional rewrite rules.

snomos commented 2 years ago

Almost a year later, this is what it will be (planning to start this work pretty soon now):

src/
├── cg3/
├── fst/
│   ├── filters/
│   │   ├── custom/
│   │   ├── generated/
│   │   └── shared/
│   ├── morphology/
│   │   ├── root.lexc # and possibly multichar.lexc
│   │   ├── affixes/
│   │   ├── incoming/
│   │   ├── other/ # contains compounding, clitics etc
│   │   ├── phonology.XXX
│   │   └── stems/
│   ├── orthography/
│   ├── phonetics/
│   ├── syllabification/ # former: src/hyphenation/
│   ├── tagsets/
│   ├── test/
│   ├── transcriptions/
├── new_tech # added as needed
...

It is essentially the same as the last one, only with dir names sorted alphabetically.

To @aarppe 's comments on structure within the lexc dir: the dirs and names are just to separate various types of files, and does not have any bearing on the actual build structure. Anyone can change the structure for a given language, as long as the file references in the Makefile are updated as well.

This should give enough flexibility to adjust the layout as fit for any given language.

Trondtr commented 7 months ago

A revision calls for changes of paths, at least here :

giella-core/devtools/init.d/lookup-init.sh 
giella-core/scripts/sent-proc.sh
... all lang-XXX makefiles

and no doubt other places.

flammie commented 6 months ago

I'm now testing this on all langs, I will only test with plain ./configure and ./configure --enable-all-tools so far before pushing changes, make only; there's few temporeary regressions to make check that will be dealt with in following change over https://github.com/giellalt/template-lang-und/issues/8. I think for most language developers the main effect will be the move of lexc's to src/fst/morphology.

flammie commented 6 months ago

I've tested all langs now I think I'm gonna push this to everyone over the weekend...

flammie commented 6 months ago

it's in github now. Remember to git pull before you start working and report regressions over here.

snomos commented 6 months ago

Excellent! One bug with SME:

Making all in src
Making all in fst
Making all in morphology
/Applications/Xcode.app/Contents/Developer/usr/bin/make .generated/.stamp
/Applications/Xcode.app/Contents/Developer/usr/bin/make .generated/.stamp
  GEN      generated_files/smi-sme-acronyms.lexc
  CP       generated_files/mul-sme-symbols.lexc
  GEN      generated_files/smi-sme-digits.lexc
  CP       generated_files/mul-sme-punctuation.lexc
  GEN      .generated/.stamp
  GEN      generated_files/smi-sme-abbreviations.lexc
  GEN      generated_files/smi-sme-propernouns.lexc
  GEN      .generated/.stamp
  GEN      generated_files/smi-sme-arabic_roman_digits.lexc
  CP       .generated/url.tmp.lexc
  GEN      generated_files/smi-sme-abbreviations.lexc
/Applications/Xcode.app/Contents/Developer/usr/bin/make .generated/.stamp
  GEN      generated_files/smi-sme-acronyms.lexc
  HTWOLC   .generated/phonology.hfst
  GEN      generated_files/smi-sme-propernouns.lexc
make[4]: `.generated/.stamp' is up to date.
  HLEXC    .generated/.generated/url.tmp.hfst
  GEN      lexicon.lexc
/usr/local/bin/hfst-lexc: Could not open '.generated/.generated/url.tmp.hfst'. No such file or directory
make[3]: *** [.generated/.generated/url.tmp.hfst] Error 1
make[3]: *** Waiting for unfinished jobs....
rm .generated/phonology.hfst
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
flammie commented 6 months ago

I'm guessing this is apple's make since it doesn't appear on mine or CI's... :-)

make V=1
make .generated/.stamp
make[1]: Verzeichnis „/home/flammie/github/giellalt/lang-sme/src/fst/morphology“ wird betreten
make[1]: „.generated/.stamp“ ist bereits aktuell.
make[1]: Verzeichnis „/home/flammie/github/giellalt/lang-sme/src/fst/morphology“ wird verlassen
cp -f /home/flammie/github/giellalt/lang-sme/./../shared-mul/src/fst/url.lexc .generated/url.tmp.lexc
cp -f .generated/url.tmp.lexc url.lexc
make .generated/.stamp
make[1]: Verzeichnis „/home/flammie/github/giellalt/lang-sme/src/fst/morphology“ wird betreten
make[1]: „.generated/.stamp“ ist bereits aktuell.
make[1]: Verzeichnis „/home/flammie/github/giellalt/lang-sme/src/fst/morphology“ wird verlassen
"/usr/bin/hfst-lexc" \
    -v --format=foma   --alignStrings -o .generated/url.hfst url.lexc
Reading from url.lexc, writing to .generated/url.hfst
Parsing lexc file url.lexc
Root...2 protocol...16 protocolend...1 mtprotocolend...1 userdomain...2 user...1 userend...4 domain...3 predomain...1 realdomain...1 numericdomain_ipv4...1 enddomain...2 path...2 pathcontent...1 endlex...1 topdomainlist...Compiling... Morphotaxing... # Morphotaxing... Root Morphotaxing... domain Morphotaxing... enddomain Morphotaxing... endlex Morphotaxing... mtprotocolend Morphotaxing... numericdomain_ipv4 Morphotaxing... path Morphotaxing... pathcontent Morphotaxing... predomain Morphotaxing... protocol Morphotaxing... protocolend Morphotaxing... realdomain Morphotaxing... topdomainlist Morphotaxing... user Morphotaxing... userdomain Morphotaxing... userend 
Inserting regular expressions...

Writing... done
rm url.lexc
snomos commented 6 months ago

Ok, I will have a look

flammie commented 6 months ago

I've seen similar problems while testing, it may be possible to move some targets to non-temporary directory to workaround, e.g. have url.hfst in some DISTFILES

ilm024 commented 6 months ago

I am having trouble:

make

*** Compiling smj - Lule Sami. ***

CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh '/Users/ilm024/langtech/git/giellalt/lang-smj/build-aux/missing' autoconf
Making all in .

*** Compiling smj - Lule Sami. ***

CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh '/Users/ilm024/langtech/git/giellalt/lang-smj/build-aux/missing' autoconf
make[1]: Nothing to be done for `all-am'.
Making all in src
Making all in fst

*** Compiling smj - Lule Sami. ***

CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh '/Users/ilm024/langtech/git/giellalt/lang-smj/build-aux/missing' autoconf
make[2]: *** No rule to make target `root.lexc', needed by `lexicon.tmp.lexc'.  Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

I have tried with both "git pull" and also "gut pull" and then Autogen in lang-smj. Also in giella-core (git pull --rebase&&./autogen.sh&&./configure&&make).

snomos commented 6 months ago

/usr/local/bin/hfst-lexc: Could not open '.generated/.generated/url.tmp.hfst'. No such file or directory

This is fixed in latest push to giella-core. There might be other issues still.

flammie commented 6 months ago

I am having trouble:

make

*** Compiling smj - Lule Sami. ***

CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh '/Users/ilm024/langtech/git/giellalt/lang-smj/build-aux/missing' autoconf
Making all in .

*** Compiling smj - Lule Sami. ***

CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh '/Users/ilm024/langtech/git/giellalt/lang-smj/build-aux/missing' autoconf
make[1]: Nothing to be done for `all-am'.
Making all in src
Making all in fst

*** Compiling smj - Lule Sami. ***

CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh '/Users/ilm024/langtech/git/giellalt/lang-smj/build-aux/missing' autoconf
make[2]: *** No rule to make target `root.lexc', needed by `lexicon.tmp.lexc'.  Stop.
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

I have tried with both "git pull" and also "gut pull" and then Autogen in lang-smj. Also in giella-core (git pull --rebase&&./autogen.sh&&./configure&&make).

sounds like git might have stopped pull with a conflict and ended up with halfways old version since it stops in src/fst and not src/fst/morphology like that, could test with a backup and clean build like:

mv -v lang-smj lang-smj.bak
git clone git@github.com:giellalt/lang-smj
cd lang-smj
./autogen.sh
./configure
make
trondtynnol commented 6 months ago

Custom build rules are not moved from src/Makefile.am to src/fst/Makefile.am (at least for sjd-x-private). I can fix it myself for that repo, but it could potentially be a problem elsewhere too.

flammie commented 6 months ago

Custom build rules are not moved from src/Makefile.am to src/fst/Makefile.am (at least for sjd-x-private). I can fix it myself for that repo, but it could potentially be a problem elsewhere too.

There will be few of those, in practice all custom rules in src/Makefile.am and src/fst/Makefile.am had to go through some conflict resolution which most of the time was easy to resolve.

Trondtr commented 6 months ago

It seems I have a related problem: After reorganisation all filters stopped working, I get Der1, CmpN/SgN etc, coming through into the standard analysers. So, if I understand the above correctly, all rules under

#################################################                                                                          
#### Add language-specific build rules here: ####     

should be moved from src/Makefile.am to src/fst/Makefile.am ?

If so, should that be done automatically or just one language at a time? I am not sure how different the makefiles are.

Trondtr commented 6 months ago

Here are the line numbers of all src/Makefile.am, ordered after how many of each file. 31 files have variation, the remaining 112 are identical:


   1     1092 lang
   1      341 lang
   1      266 lang
   1      195 lang
   1      185 lang
   1      184 lang
   1      183 lang
   2      165 lang
   1      162 lang
   1      158 lang
   1      148 lang
   2       91 lang
   1       75 lang
   1       63 lang
   1       61 lang
   1       57 lang
   1       52 lang
   1       40 lang
   1       39 lang
   1       28 lang
   2       25 lang
   6       24 lang
   1       23 lang
 112       14 lang
Trondtr commented 6 months ago

Here are the deviant ones:

    1092 lang-est-x-utee/src/Makefile.am
     341 lang-sma/src/Makefile.am
     266 lang-smn/src/Makefile.am
     195 lang-vro/src/Makefile.am
     185 lang-fit/src/Makefile.am
     184 lang-fkv/src/Makefile.am
     183 lang-olo/src/Makefile.am
     165 lang-sje/src/Makefile.am
     165 lang-mdf/src/Makefile.am
     162 lang-lut/src/Makefile.am
     158 lang-tqn/src/Makefile.am
     148 lang-fao/src/Makefile.am
      91 lang-rus/src/Makefile.am
      91 lang-fin/src/Makefile.am
      75 lang-esu/src/Makefile.am
      63 lang-mrj/src/Makefile.am
      61 lang-myv/src/Makefile.am
      57 lang-mhr/src/Makefile.am
      52 lang-som/src/Makefile.am
      40 lang-kca/src/Makefile.am
      39 lang-mns/src/Makefile.am
      28 lang-apu/src/Makefile.am
      25 lang-vep/src/Makefile.am
      25 lang-koi/src/Makefile.am
      24 lang-vot/src/Makefile.am
      24 lang-vot-x-ext-kkankain/src/Makefile.am
      24 lang-swe/src/Makefile.am
      24 lang-sjd/src/Makefile.am
      24 lang-nno/src/Makefile.am
      24 lang-krl/src/Makefile.am
      23 lang-nds/src/Makefile.am

So, should we take the 31 manually and the 112 automatically?

snomos commented 6 months ago

should be moved from src/Makefile.am to src/fst/Makefile.am ?

If so, should that be done automatically or just one language at a time? I am not sure how different the makefiles are.

You can assume that the 112 identical makefiles have no local addition, and can be done automatically. The rest have to be done manually, but @flammie might have done quite a bit already.

flammie commented 6 months ago

it is the ones where gut template apply produced src/Makefile.am.rej should be "merged" over already but some have also been reported and fixed, whether I missed the rej file or just git randomness there are probably several that need to be fixed manually.

snomos commented 4 months ago

Another cleanup step:

Here's a list of all src/scripts/ files:

lang-bxr/src/scripts/urj-Cyrl-bxr-conversion.pl
lang-cor/src/scripts/smi-smn-conversion.pl
lang-est-x-plamk/src/scripts/tagshuffle.pl
lang-est-x-utee/src/scripts/tagshuffle.pl
lang-fao/src/scripts/all_fst_output_as_table.pl
lang-fao/src/scripts/all_fst_output_as_table.sh
lang-fao/src/scripts/faofixutf8.pl
lang-fin/src/scripts/gtify.bash
lang-fin/src/scripts/regtify.bash
lang-fit/src/scripts/smi-fit-conversion.pl
lang-fkv/src/scripts/all_fst_output_as_table.pl
lang-fkv/src/scripts/all_fst_output_as_table.sh
lang-fkv/src/scripts/smi-fkv-conversion.pl
lang-hdn/src/scripts/ascii_to_haida.pl
lang-iku/src/scripts/l2s.pl
lang-iku/src/scripts/latin2syllabics.xfscript
lang-iku/src/scripts/s2l.pl
lang-iku/src/scripts/s2l.xfst
lang-iku/src/scripts/syll.xfst
lang-iku/src/scripts/syllabics2latin.xfscript
lang-mdf/src/scripts/urj-mdf-conversion.pl
lang-mdf/src/scripts/urj-mdf-conversion.pl~
lang-mhr/src/scripts/smi-mhr-conversion.pl
lang-mns/src/scripts/luima_seripos.pl
lang-mns/src/scripts/urj-mns-conversion.pl
lang-mrj/src/scripts/urj-mrj-conversion.pl
lang-myv/src/scripts/urj-Cyrl-myv-conversion.pl
lang-nob/src/scripts/abbr_grep.pl
lang-nob/src/scripts/nobDB_txt2xml.xsl
lang-nob/src/scripts/preprocess
lang-nob/src/scripts/setning
lang-nob/src/scripts/smi-nob-conversion.pl
lang-non/src/scripts/fsttags2cg.sh
lang-rmu-x-testing/src/scripts/smi-rmu-conversion.pl
lang-rus/src/scripts/update-weighted-files.sh
lang-sjd-x-private/src/scripts/find_duplicates.sh
lang-sjd-x-private/src/scripts/urj-Cyrl-sjd-conversion.pl
lang-sjd/src/scripts/map_sjd_windows1251_to_unicode.xsl
lang-sjd/src/scripts/sjd_windows1251_to_unicode.xml
lang-sje/src/scripts/smj2sje-num.pl
lang-sma/src/scripts/smi-sma-conversion.pl
lang-sme/src/scripts/build-semtag-conversion-seds.pl
lang-sme/src/scripts/extract-all-lemmas.sh
lang-sme/src/scripts/extract-semtags-from-lexc.sh
lang-sme/src/scripts/punct-digits-conversion.pl
lang-sme/src/scripts/replace-semtags.sed
lang-sme/src/scripts/semtags.txt
lang-sme/src/scripts/stemmer.xfscript
lang-sme/src/scripts/uniqCG.sh
lang-smj/src/scripts/sma-smj-conversion.py
lang-smj/src/scripts/sme-smj-conversion.py
lang-smj/src/scripts/smi-smj-conversion.pl
lang-smn/src/scripts/clean_cg
lang-smn/src/scripts/convert-TSV-to-yaml.pl
lang-smn/src/scripts/convert-dict-yaml-to-norm-yaml.pl
lang-smn/src/scripts/sme-smn-lemma.xfscript
lang-smn/src/scripts/smi-smn-conversion.pl
lang-smn/src/scripts/smn-sme-lemma.xfscript
lang-smn/src/scripts/verbs_replacetagswithpron.sh
lang-sms/src/scripts/all_fst_output_as_table.pl
lang-sms/src/scripts/copy-dicts-sms2X-to-stems.sh
lang-sms/src/scripts/newwords-to-xml.pl
lang-sms/src/scripts/smi-sms-conversion.pl
lang-udm/src/scripts/urj-Cyrl-udm-conversion.pl

64 files, 28 repos:

lang-bxr
lang-cor
lang-est-x-plamk
lang-est-x-utee
lang-fao
lang-fin
lang-fit
lang-fkv
lang-hdn
lang-iku
lang-mdf
lang-mhr
lang-mns
lang-mrj
lang-myv
lang-nob
lang-non
lang-rmu-x-testing
lang-rus
lang-sjd-x-private
lang-sjd
lang-sje
lang-sma
lang-sme
lang-smj
lang-smn
lang-sms
lang-udm
snomos commented 4 months ago

src/Makefile.am cleanup

Tick off the ones done:

snomos commented 4 months ago

Move scr/scripts/

Tick off each lang as it is done:

flammie commented 4 months ago

I moved scripts that were only for lexc conversion and fixed some relevant makefiles, for the rest I do not know enough to guess where they are used from.