Open snomos opened 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.
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
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 :)
I like hiding the generated files dirs, in a way it works how normal c++ etc. projects build .deps
.
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?
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.
For me,
other
does not appear the obvious place for so central a lexc file asroot.lexc
. But I don't have strong opinion where to put that file, other than keep it underfst/lexc/
or evenfst/
, 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 ofphon_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 theroot.lexc
file could be useful. Then, of course, afst/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 🙂
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.
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
.
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.
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
...
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.
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.
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.
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.
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.
I've tested all langs now I think I'm gonna push this to everyone over the weekend...
it's in github now. Remember to git pull
before you start working and report regressions over here.
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
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
Ok, I will have a look
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
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).
/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.
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
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.
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.
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.
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
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?
should be moved from
src/Makefile.am
tosrc/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.
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.
Another cleanup step:
src/scripts/
inside the src/fst/
dir - unless the script is really not related to FST processingHere'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
src/Makefile.am
cleanupTick off the ones done:
lang-apu/src/Makefile.am
lang-est-x-utee/src/Makefile.am
lang-esu/src/Makefile.am
lang-fao/src/Makefile.am
lang-fin/src/Makefile.am
lang-fit/src/Makefile.am
lang-fkv/src/Makefile.am
lang-kca/src/Makefile.am
lang-koi/src/Makefile.am
lang-krl/src/Makefile.am
lang-lut/src/Makefile.am
lang-mdf/src/Makefile.am
lang-mhr/src/Makefile.am
lang-mns/src/Makefile.am
lang-mrj/src/Makefile.am
lang-myv/src/Makefile.am
lang-nds/src/Makefile.am
lang-nno/src/Makefile.am
lang-olo/src/Makefile.am
lang-rus/src/Makefile.am
lang-sjd/src/Makefile.am
lang-sje/src/Makefile.am
lang-sma/src/Makefile.am
lang-smn/src/Makefile.am
lang-som/src/Makefile.am
lang-swe/src/Makefile.am
lang-tqn/src/Makefile.am
lang-vep/src/Makefile.am
lang-vot-x-ext-kkankain/src/Makefile.am
lang-vot/src/Makefile.am
lang-vro/src/Makefile.am
scr/scripts/
Tick off each lang as it is done:
lang-bxr/src/scripts
lang-cor/src/scripts
lang-est-x-plamk/src/scripts
lang-est-x-utee/src/scripts
lang-fao/src/scripts
lang-fin/src/scripts
lang-fit/src/scripts
lang-fkv/src/scripts
lang-hdn/src/scripts
lang-iku/src/scripts
lang-mdf/src/scripts
lang-mhr/src/scripts
lang-mns/src/scripts
lang-mrj/src/scripts
lang-myv/src/scripts
lang-nob/src/scripts
lang-non/src/scripts
lang-rmu-x-testing/src/scripts
lang-rus/src/scripts
lang-sjd-x-private/src/scripts
lang-sjd/src/scripts
lang-sje/src/scripts
lang-sma/src/scripts
lang-sme/src/scripts
lang-smj/src/scripts
lang-smn/src/scripts
lang-sms/src/scripts
lang-udm/src/scripts
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.
The present dir structure in
src
is:The target dir structure will be:
Arguments pro:
src/fst/
dirsrc/
there is now only two dirs, named after technology being used. Opens up for natural additions of new technologies as they emerge or are neededArguments contra:
Reorg DONE
Cleanup tasks pending:
src/Makefile.am
to the relevant file withinsrc/fst/
src/scripts/
to withinsrc/fst/