From 5f01ed06280e46d94c48156ec02e972f217a155c Mon Sep 17 00:00:00 2001 From: Phuntsok Drak-pa Date: Sun, 15 Sep 2019 15:25:51 +0200 Subject: [PATCH] moved elisp function from header to Emacs config The project is now dependent on my Spacemacs layer `conlanging' https://labs.phundrak.fr/phundrak/conlang-layer --- eittlanda.org | 8 ++--- headers/headers.org | 55 -------------------------------- img/nyqy/vowel-feature-tree.png | Bin 12920 -> 12957 bytes nyqy-old.org | 9 ++---- nyqy.org | 18 +++++------ taso.org | 6 ++-- 6 files changed, 17 insertions(+), 79 deletions(-) diff --git a/eittlanda.org b/eittlanda.org index b628e1b..de0dbe3 100644 --- a/eittlanda.org +++ b/eittlanda.org @@ -685,7 +685,6 @@ #+NAME: vow-dot #+BEGIN_SRC emacs-lisp :noweb yes :exports none :eval yes :cache yes - <> (setq-local eittlandic-vowels '("vowels" ("[high]" @@ -706,10 +705,10 @@ ("[low]" ("/æ/")) ("{low}" ("/e/"))) ("{tense}" ("/ɑ/")))))) - (tree-to-dot eittlandic-vowels) + (conlanging/tree-to-dot eittlandic-vowels) #+END_SRC - #+RESULTS[5d8b0c4772f3a9108690df7c578138d3eb4206af]: vow-dot + #+RESULTS[b7b678da629a411fee0918a5634d09a825f51e14]: vow-dot : graph{node[shape=plaintext];graph[bgcolor="transparent"];0[label="vowels"];1[label="[high]"];0 -- 1;11[label="[rnd]"];1 -- 11;111[label="[front]"];11 -- 111;1111[label="/y/"];111 -- 1111;112[label="{front}"];11 -- 112;1121[label="/u/"];112 -- 1121;12[label="{rnd}"];1 -- 12;121[label="/i/"];12 -- 121;2[label="{high}"];0 -- 2;21[label="[rnd]"];2 -- 21;211[label="[tense]"];21 -- 211;2111[label="[front]"];211 -- 2111;21111[label="/ø/"];2111 -- 21111;2112[label="{front}"];211 -- 2112;21121[label="/o/"];2112 -- 21121;212[label="{tense}"];21 -- 212;2121[label="[front]"];212 -- 2121;21211[label="/œ/"];2121 -- 21211;2122[label="{front}"];212 -- 2122;21221[label="/ɔ/"];2122 -- 21221;22[label="{rnd}"];2 -- 22;221[label="[tense]"];22 -- 221;2211[label="[low]"];221 -- 2211;22111[label="/æ/"];2211 -- 22111;2212[label="{low}"];221 -- 2212;22121[label="/e/"];2212 -- 22121;222[label="{tense}"];22 -- 222;2221[label="/ɑ/"];222 -- 2221;} #+BEGIN_SRC dot :file img/eittlanda/vowel-feature-tree.png :var input=vow-dot :exports results :cache yes @@ -907,7 +906,6 @@ #+NAME: cons-dot #+BEGIN_SRC emacs-lisp :noweb yes :exports none :eval yes :cache yes - <> (setq-local eittlandic-consonants '("consonants" ("[occ]" @@ -946,7 +944,7 @@ ("[rnd]" ("/w/")) ("{rnd}" ("/j/"))) ("{dor}" ("/h/")))))) - (tree-to-dot eittlandic-consonants) + (conlanging/tree-to-dot eittlandic-consonants) #+END_SRC #+RESULTS[c1e5eb5b47dfd5f34797276fc1515955532b2d14]: cons-dot diff --git a/headers/headers.org b/headers/headers.org index 0372a40..22eeb38 100644 --- a/headers/headers.org +++ b/headers/headers.org @@ -9,61 +9,6 @@ #+OPTIONS: H:4 broken_links:mark email:t ^:{} tex:dvisvgm #+KEYWORDS: conlang idéolangue langue langues linguistique phundrak drakpa -# ### CODE ##################################################################### - -#+NAME: tree-dot -#+BEGIN_SRC emacs-lisp :noweb yes :exports none :eval yes - (defun declare-node (node-text node-generation) - "Declares a node in the graphviz source code. The node’s identifier will be - ~node-generation~, and it will bear the label ~node-text~." - (concat (number-to-string node-generation) - "[label=\"" - node-text - "\"];")) - - (defun make-link (previous-node current-node) - "This creates a link in the graphviz source code between the two nodes - bearing ~previous-node~ and ~current-node~ respectively as their node - identifier." - (concat (number-to-string previous-node) " -- " - (number-to-string current-node) ";")) - - (defun tree-to-dot-helper (tree current-generation previous-generation) - "Helper to ~tree-to-dot~ that translates an Elisp tree with any number of - children per node to a corresponding graphviz file that can be executed from - dot. - Arguments: - - tree :: tree-to-convert - - current-generation :: Generation number, incremented when changing from a node - to another node from the same generation, multiplied by 10 when going from - a node to one of its children. - - previous-generation :: generation number from previous named node" - (cond - ((null tree) "") - ((atom (car tree)) ;; '("text" () () ()) - (concat (declare-node (car tree) current-generation) - (make-link previous-generation current-generation) - (tree-to-dot-helper (cdr tree) - (+ 1 (* 10 current-generation)) - current-generation))) - ((listp (car tree)) ;; '(() () ()) - (concat (tree-to-dot-helper (car tree) ;; child of current node - current-generation - previous-generation) - (tree-to-dot-helper (cdr tree) - (+ 1 current-generation) - previous-generation))))) - - (defun tree-to-dot (tree) - "Returns a graphviz’s dot compatible string representing an Elisp tree" - (if (null tree) "" - (concat - "graph{node[shape=plaintext];graph[bgcolor=\"transparent\"];" - (declare-node (car tree) 0) - (tree-to-dot-helper (cdr tree) 1 0) - "}"))) -#+END_SRC - # ### LaTeX #################################################################### #+LATEX_CLASS: conlang diff --git a/img/nyqy/vowel-feature-tree.png b/img/nyqy/vowel-feature-tree.png index 9f9d67a705c12bba3fda68eb57080ef095044618..f1dd520a34997c1d0a5eb0a66435fd3cb46f5626 100644 GIT binary patch literal 12957 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 literal 12920 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 diff --git a/nyqy-old.org b/nyqy-old.org index 50adcc7..30d9147 100644 --- a/nyqy-old.org +++ b/nyqy-old.org @@ -188,7 +188,6 @@ #+NAME: cons-tree #+BEGIN_SRC emacs-lisp :noweb yes :exports none :eval yes :cache yes - <> (setq-local nyqy-consonants '("[cons]" ("[son]" @@ -213,7 +212,7 @@ ("{voice}" ("[cor]") ("{cor}")))))) - (tree-to-dot nyqy-consonants) + (conlanging/tree-to-dot nyqy-consonants) #+END_SRC #+BEGIN_SRC dot :file img/nyqy/consonant-feature-tree.png :var input=cons-tree :exports results :eval yes :cache yes @@ -308,7 +307,6 @@ #+NAME: vow-tree #+BEGIN_SRC emacs-lisp :noweb yes :exports none :eval yes :cache yes - <> (setq-local nyqy-vowels '("[vowel]" ("[back]" @@ -325,7 +323,7 @@ ("{tense}" ("[high]" ("i")) ("{high}" ("e")))))) - (tree-to-dot nyqy-vowels) + (conlanging/tree-to-dot nyqy-vowels) #+END_SRC #+BEGIN_SRC dot :file img/nyqy/vowel-feature-tree.png :var input=vow-tree :exports results :eval yes :cache yes @@ -704,7 +702,6 @@ #+NAME: basic-syntax-tree #+BEGIN_SRC emacs-lisp :noweb yes :exports none :eval yes :cache yes - <> (setq-local nyqy-syntax-tree '("S" ("Obl") @@ -726,7 +723,7 @@ ("Tense") ("V") ("Neg"))))))) - (tree-to-dot nyqy-syntax-tree) + (conlanging/tree-to-dot nyqy-syntax-tree) #+END_SRC #+BEGIN_SRC dot :file img/nyqy/basic-syntax.png :var input=basic-syntax-tree :exports results :eval yes :cache yes diff --git a/nyqy.org b/nyqy.org index 2aa156e..03461ac 100644 --- a/nyqy.org +++ b/nyqy.org @@ -421,7 +421,6 @@ #+NAME: vow-tree #+BEGIN_SRC emacs-lisp :noweb yes :exports none :eval yes :cache yes - <> (setq-local nyqy-vowels '("[vowel]" ("[back]" @@ -438,7 +437,7 @@ ("{tense}" ("[high]" ("i")) ("{high}" ("e")))))) - (tree-to-dot nyqy-vowels) + (conlanging/tree-to-dot nyqy-vowels) #+END_SRC #+BEGIN_SRC dot :file img/nyqy/vowel-feature-tree.png :var input=vow-tree :exports results :eval yes :cache yes @@ -457,7 +456,6 @@ :END: #+NAME: cons-tree #+BEGIN_SRC emacs-lisp :noweb yes :exports none :eval yes :cache yes - <> (setq-local nyqy-consonants '("[cons]" ("[son]" @@ -482,7 +480,7 @@ ("{voice}" ("[cor]") ("{cor}")))))) - (tree-to-dot nyqy-consonants) + (conlanging/tree-to-dot nyqy-consonants) #+END_SRC #+BEGIN_SRC dot :file img/nyqy/consonant-feature-tree.png :var input=cons-tree :exports results :eval yes :cache yes @@ -624,9 +622,9 @@ | d͡ʒ | ɮ | | | s | x | | w | l | | | z | ɣ | - Ainsi, la phrase {{{nyqy(ňe pom qy)}}} ne se prononce pas *{{{phon(ɴɛ pɔm - qy)}}}, et la phrase {{{nyqy(qi bú pim mo coq)}}} se ne prononce pas - *{{{phon(qɪ bʊ pɪm mɔ t͡ʃɔq)}}}. + Ainsi, la phrase {{{nyqy(ňe pom qy)}}} ne se prononce pas *{{{phon(ɴɛ pɔm + qy)}}}, et la phrase {{{nyqy(qi bú pim mo coq)}}} se ne prononce pas + *{{{phon(qɪ bʊ pɪm mɔ t͡ʃɔq)}}}. ** Structure des mots :PROPERTIES: @@ -762,7 +760,6 @@ #+NAME: basic-syntax-tree #+BEGIN_SRC emacs-lisp :noweb yes :exports none :eval yes :cache yes - <> (setq-local nyqy-syntax-tree '("S" ("Obl") @@ -784,9 +781,12 @@ ("Tense") ("V") ("Neg"))))))) - (tree-to-dot nyqy-syntax-tree) + (conlanging/tree-to-dot nyqy-syntax-tree) #+END_SRC + #+RESULTS[24286e618306da25dc9283fdc01819e3b5d77394]: basic-syntax-tree + : graph{node[shape=plaintext];graph[bgcolor="transparent"];0[label="S"];1[label="Obl"];0 -- 1;2[label="S'"];0 -- 2;21[label="NPerg"];2 -- 21;211[label="NP"];21 -- 211;22[label="VP"];2 -- 22;221[label="NPdat"];22 -- 221;2211[label="NP"];221 -- 2211;222[label="VP'"];22 -- 222;2221[label="NPabs"];222 -- 2221;22211[label="NP"];2221 -- 22211;222111[label="S"];22211 -- 222111;222112[label="NP'"];22211 -- 222112;2221121[label="Adj"];222112 -- 2221121;2221122[label="N"];222112 -- 2221122;2222[label="V'"];222 -- 2222;22221[label="Mood"];2222 -- 22221;22222[label="Tense"];2222 -- 22222;22223[label="V"];2222 -- 22223;22224[label="Neg"];2222 -- 22224;} + #+BEGIN_SRC dot :file img/nyqy/basic-syntax.png :var input=basic-syntax-tree :exports results :eval yes :cache yes $input #+END_SRC diff --git a/taso.org b/taso.org index e96fbdb..82efa5b 100644 --- a/taso.org +++ b/taso.org @@ -169,7 +169,6 @@ #+NAME: vowel-tree #+BEGIN_SRC emacs-lisp :noweb yes :exports none :eval yes :cache yes - <> (setq-local taso-vowels '("vowel" ("[high]" @@ -198,7 +197,7 @@ ("{frnt}" ("[tense]" ("ɤ")) ("{tense}" ("a"))))))) - (tree-to-dot taso-vowels) + (conlanging/tree-to-dot taso-vowels) #+END_SRC #+BEGIN_SRC dot :file img/taso/vowel-feature-tree.png :var input=vowel-tree :exports results :eval yes :cache yes @@ -226,7 +225,6 @@ :END: #+NAME: cons-tree #+BEGIN_SRC emacs-lisp :noweb yes :exports none :eval yes :cache yes - <> (setq-local taso-consonants '("consonant" ("[son]" @@ -277,7 +275,7 @@ ("{cont}" ("[voice]" ("b")) ("{voice}" ("p")))))))) - (tree-to-dot taso-consonants) + (conlanging/tree-to-dot taso-consonants) #+END_SRC #+BEGIN_SRC dot :file img/taso/consonant-feature-tree.png :var input=cons-tree :exports results :eval yes :cache yes