Skip to main content

optional

Description​

optional is a header operator allowing the expression of "add <something> to field <F>", or add nothing". E.g., optional F is equivalent to adding the alternation of F:x with the empty grammar.

Usage examples​

Just for illustration, consider the following grammar.

A = glossoptional text
pastba

This produces two entries: {gloss:past, text:ba} and {gloss:past}, because optional text:ba can either add ba to text or just add the empty string.

Why would we want to use this?​

The above is not the usual use case (it'd be more readable just to add another line to the table rather than use optional); optional is usually used with embed to express the possible absence of a morpheme. For example, consider this grammar:

Root = textgloss
ganrun
ikjump
 
Evid =textgloss
adirect
bahearsay
tsuinfer
 
Stem =embedoptional embed
RootEvid

In this grammar, optional embed: Evid is a way of expressing that the evidentiality morpheme is optional. (In this simple example, yes, we could have just added another line to the Stem symbol, but in a more complex grammar we might not want to double the number of lines in Stem just for this. When the column is always optional, it's best to express this in a columnar way with optional rather than adding rows.)

Also note that, by the rules of Gramble syntax, we can't express the ability to leave out evidentiality by adding a line to Evid that's empty in every field -- it would just be interpreted as an empty line and ignored. optional lets you get around that.