
%% This file gives a `toy' set of `user' definitions for segment
%% macros - merely to illustrate the method. There is certainly 
%% no claim made for the appropriateness of the feature set, or
%% any of the definitions. 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% User defines required features, as well as their 
% order in segments and their defaults values, by
% a "feature_set" statement, such as:

:- feature_set([cons /n,
                cont /n, 
                nas  /n,
                lat  /n, 
                lab  /n,  
                son  /n, 
                voi  /n, 
                syl  /n,
                back /n,
                high /n, 
                low /n, 
                rnd  /n, 
                tns  /n,
                ant  /n, 
                strd /n, 
                cor  /n 
                ]).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Definitions for phonological segments follow
% (definitions of default valued and uninstantiated 
% segments provided automatically)

macro vowel   = @seg:[cons  =n,
                      cont  =y,
                      son   =y,
                      voi   =y,
                      syl   =y
                     ].

macro stop    = @seg:[cons  =y,
                      cont  =n,
                      son   =n,
                      syl   =n
                     ].


macro nasal   = @seg:[cons  =y,
                      cont  =n,
                      nas   =y,
                      lat   =n,
                      son   =y,
                      voi   =y,
                      syl   =n
                     ].

macro vowel_d = @(vowel/seg_d). 
macro stop_d  = @(stop /seg_d). 
macro nasal_d = @(nasal/seg_d). 

% VOWELS : 

macro schwa = @vowel_d. 
macro 'I'   = @vowel_d:[high=y].          
macro i     = @'I':[tns=y].             
macro 'E'   = @vowel_d:[tns=y].
macro ae    = @vowel_d:[low=y]. 
macro a     = @vowel_d:[low=y,back=y]. 
macro o     = @vowel_d:[back=y,rnd=y,tns=y]. 
macro u     = @o:[high=y]. 

% OBSTRUENTS :

macro t = @stop_d:[ant=y,cor=y]. 
macro d = @t:[voi=y]. 
macro p = @stop_d:[ant=y,lab=y].
macro b = @p:[voi=y]. 
macro k = @stop_d:[high=y,back=y]. 
macro g = @k:[voi=y]. 

macro s = @stop_d:[cont=y,strd=y,ant=y,cor=y].
macro z = @s:[voi=y]. 
macro 'S' = @s:[high=y,ant=n].
macro 'Z' = @z:[high=y,ant=n].

macro h = @stop_d:[cont=y,low=y].

% SONORANTS : 

macro n  = @nasal_d:[cor=y,ant=y].
macro 'N' = @nasal_d:[high=y,back=y].
macro m  = @nasal_d:[lab=y,ant=y].

macro r = @seg_d:[cons=y,son=y,cont=y,lab=y,cor=y].
macro l = @r:[lat=y].

macro y = @seg_d:[son=y,cont=y,cor=y,high=y].
macro w = @seg_d:[son=y,cont=y,lab=y,high=y,back=y].

