; -*- Mode: Lisp -*- ; ; Author: Henrik Theiling ; ; Description: ; ; Defines lexical words of roots and stems. ; ; ; @@LICENCE@@ ; ;; Overview of the current structure of S7. ; ; All words are with a classifier. ; ; Roots: ; Monosyllabic: c - c - ; Disyllabic: c - c - c v ; ; Stems: ; Monosyllabic: c - c v ; Disyllablic: c - c v c v ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (provide 'words-s7) (in-package 'words-s7) ;; this is our implementation package (require 'words) (use-package 'words) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Structure of Tyl-Sjok (defconstant w-fricative 1) (defconstant w-nasal 1) (defconstant w-plosive 1.5) (defconstant w-nasal-plosive 0.5) (defconstant w-affricate 0.4) (defconstant w-anti-poa 0.8) (defconstant w-fric-plos 0.6) (defconstant w-plos-l 0.8) (defconstant w-alveolar 1) (defconstant w-velar 0.6) (defconstant w-uvular 0.9) (defconstant w-pharyngeal 1) (defconstant w-glottal 0.6) (defconstant w-dental-click 0.8) (defconstant w-alveolar-click 0.6) (defconstant w-palatal-click 0.2) (defconstant w-lateral-click 0.3) (defvar *cons* `( (("n") ,(* w-alveolar w-nasal)) (("s") ,(* w-alveolar w-fricative)) (("t") ,(* w-alveolar w-plosive)) (("nd") ,(* w-alveolar w-nasal-plosive)) (("tkh") ,(* w-alveolar w-anti-poa)) (("ts") ,(* w-alveolar w-affricate)) (("st") ,(* w-alveolar w-fric-plos)) (("tl") ,(* w-alveolar w-plos-l)) (("ng") ,(* w-velar w-nasal)) (("x") ,(* w-velar w-fricative)) (("k") ,(* w-velar w-plosive)) (("ngg") ,(* w-velar w-nasal-plosive)) (("ks") ,(* w-velar w-anti-poa)) (("kx") ,(* w-velar w-affricate)) (("xk") ,(* w-velar w-fric-plos)) (("kh") ,(* w-uvular w-fricative)) (("q") ,(* w-uvular w-plosive)) (("nqq") ,(* w-uvular w-nasal-plosive)) (("qth") ,(* w-uvular w-anti-poa)) (("qkh") ,(* w-uvular w-affricate)) (("khq") ,(* w-uvular w-fric-plos)) (("ql") ,(* w-uvular w-plos-l)) (("n/") ,(* w-dental-click w-nasal)) (("/x") ,(* w-dental-click w-fricative)) (("/k") ,(* w-dental-click w-plosive)) (("n/g") ,(* w-dental-click w-nasal-plosive)) (("n!") ,(* w-alveolar-click w-nasal)) (("!x") ,(* w-alveolar-click w-fricative)) (("!k") ,(* w-alveolar-click w-plosive)) (("n!g") ,(* w-alveolar-click w-nasal-plosive)) (("n=") ,(* w-palatal-click w-nasal)) (("=x") ,(* w-palatal-click w-fricative)) (("=k") ,(* w-palatal-click w-plosive)) (("n=g") ,(* w-palatal-click w-nasal-plosive)) (("n//") ,(* w-lateral-click w-nasal)) (("//x") ,(* w-lateral-click w-fricative)) (("//k") ,(* w-lateral-click w-plosive)) (("n//g") ,(* w-lateral-click w-nasal-plosive)) (("hh") ,(* w-pharyngeal w-fricative)) (("h") ,(* w-glottal w-fricative)) ) ) (defvar *cons0* (mapcar #'(lambda (x) (list (list (concatenate 'string (caar x) "-" ) ) (second x) ) ) *cons* ) ) (defvar *vowel* '( (("a") 1) (("i") 0.5) (("u") 0.7) (("e") 0.7) (("ai") 0.3) (("au") 0.4) (("iu") 0.15) (("ui") 0.2) (("á") 1) (("í") 0.5) (("ú") 0.7) (("é") 0.7) (("ái") 0.3) (("áu") 0.4) (("íu") 0.15) (("úi") 0.2) (("à") 1) (("ì") 0.5) (("ù") 0.7) (("è") 0.7) (("ài") 0.3) (("àu") 0.4) (("ìu") 0.15) (("ùi") 0.2) ) ) (defvar *phonotactics-raw* `( ; roots: ((,*cons0* ,*cons0*) 10) ((,*cons0* ,*cons0* ,*cons* ,*vowel*) 10) ; stems: ((,*cons0* ,*cons* ,*vowel*) 10) ((,*cons0* ,*cons* ,*vowel* ,*cons* ,*vowel*) 10) ) ) (defvar *phonotactics* (make-structure *phonotactics-raw* :global-weight t)) ;; end