CUNY-CL / latin_scansion

Apache License 2.0
0 stars 2 forks source link

Pron #9

Closed jillianchang closed 3 years ago

kylebgorman commented 3 years ago

That's an interesting one. For the scope of this grammar, I think we should not include any word-word generalizations. (Linguists sometimes call these sandhi rules, a term that comes from Sanskrit traditional grammar.)

We will need to add generalizations of this sort (though maybe not this particular one: it doesn't have any specific metrical consequences...) at a later stage. Since many of these are optional, we can make the rules optional and then let the metrical constraints determine whether or not they apply. For instance, the rule of elision (vowel-vowel coalescence) doesn't always apply, but when the meter doesn't work unless it applies, we can infer that it did...

On Thu, Jul 8, 2021 at 12:58 PM jillianchang @.***> wrote:

@.**** commented on this pull request.

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r666368466:

\ No newline at end of file

+# • The clitics -que, -ne and -ue should designate eow.

+# • When final m was followed by a plosive or nasal consonant,

+# it was assimilated to the following consonant.

A little confused about what the rule would be for this phenomena: [image: IMG_0857] https://user-images.githubusercontent.com/57687959/124962050-27ec3700-dfec-11eb-9704-0bff2b68eaf8.jpg

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/CUNY-CL/LatinScansion/pull/9#pullrequestreview-702301162, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABG4OLIXSMVV35RT7MDBWLTWXKLJANCNFSM477NRWQQ .

jillianchang commented 3 years ago

That's an interesting one. For the scope of this grammar, I think we should not include any word-word generalizations. (Linguists sometimes call these sandhi rules, a term that comes from Sanskrit traditional grammar.) We will need to add generalizations of this sort (though maybe not this particular one: it doesn't have any specific metrical consequences...) at a later stage. Since many of these are optional, we can make the rules optional and then let the metrical constraints determine whether or not they apply. For instance, the rule of elision (vowel-vowel coalescence) doesn't always apply, but when the meter doesn't work unless it applies, we can infer that it did... On Thu, Jul 8, 2021 at 12:58 PM jillianchang @.> wrote: @*.** commented on this pull request. ------------------------------ In grammars/pron.grm <#9 (comment)>: > \ No newline at end of file +# • The clitics -que, -ne and -ue should designate eow. +# • When final m was followed by a plosive or nasal consonant, +# it was assimilated to the following consonant. A little confused about what the rule would be for this phenomena: [image: IMG_0857] https://user-images.githubusercontent.com/57687959/124962050-27ec3700-dfec-11eb-9704-0bff2b68eaf8.jpg — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#9 (review)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABG4OLIXSMVV35RT7MDBWLTWXKLJANCNFSM477NRWQQ .

Is this referring to the final m generalization?

jillianchang commented 3 years ago

How does the "quu" and "nguu" rule addition look to you?

kylebgorman commented 3 years ago

The latter, I believe. I may have not mentioned it earlier b/c it isn't very important for metrics but I guess we might as well get it right...

Easiest way to do this is to change c to [k] early on...

On Thu, Jul 8, 2021 at 4:50 PM jillianchang @.***> wrote:

@.**** commented on this pull request.

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r666509569:

+

+# These words form an "ui" dipthong, rather than the normal hiatus.

+ui_exceptions = Optimize[CDRewrite[("hui": "huj") |

  • ("huic" : "hujk") |

  • ("cui" : "kuj"), bow, eow, sigma_star]];

+# These words form an "ei" dipthong, rather than the normal hiatus.

+ei_exceptions = Optimize[CDRewrite[("dein": "dẽːj") |

  • ("deinde" : "dẽːjde") |

  • ("deinceps" : "dẽːjkeps") |

  • ("ei" : "ej") |

  • ("hei" : "hej"), bow, eow, sigma_star]];

+# As a result of the change from Old Latin "quo" and "nguo" to

+# "guu" and "nguu," loss of the preceding "u" occured.

+u_loss = Optimize[CDRewrite[("nguu": "ngu") |

Would a word like "cīnxērunt" be [kiːnkseːrunt] or [kiːŋkseːrunt]?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r666509569, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABG4OLK36THBXE7XTPIHOTTWYFRJANCNFSM477NRWQQ .

kylebgorman commented 3 years ago

Sure, will get back to you with some suggestions later. The naming stuff is always tricky.

On Thu, Jul 8, 2021 at 5:42 PM jillianchang @.***> wrote:

@.**** commented on this pull request.

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r666537125:

\ No newline at end of file +# it was assimilated to the following consonant (doesn't matter for metrics)

Would you be able to help me with the variable names for the rewrite rules? I don't know the proper verb/terminology for most of them.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/CUNY-CL/LatinScansion/pull/9#pullrequestreview-702524185, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABG4OK5G343E374GMP42HDTWYLV7ANCNFSM477NRWQQ .

jillianchang commented 3 years ago

Thanks for the suggestions.

On Jul 9, 2021, at 10:55 AM, Kyle Gorman @.***> wrote:

@kylebgorman commented on this pull request.

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r667009220:

@@ -0,0 +1,172 @@ +# Converts normalized Latin lines to its broad phonetic transcription. + +import 'byte.grm' as b; + +# Note: the Romans never used "v" or "j," but some secondary sources do. +graphemes = since this only accepts one grapheme at a time I'd call it grapheme.

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r667009327:

@@ -0,0 +1,172 @@ +# Converts normalized Latin lines to its broad phonetic transcription. + +import 'byte.grm' as b; + +# Note: the Romans never used "v" or "j," but some secondary sources do. +graphemes =

  • "a" | "b" | "c" | "d" | "e" | "f" | "g" |
  • "h" | "i" | "j" | "k" | "l" | "m" | "n" |
  • "o" | "p" | "q" | "r" | "s" | "t" | "u" |
  • "v" | "w" | "x" | "y" | "z" | "ā" | "ē" |
  • "ī" | "ō" | "ū" | b.kSpace;
  • +phonemes = same here with phoneme.

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r667009917:

  • ("huic" : "hujk") |
  • ("cui" : "kuj"), bow, eow, sigma_star]];
  • +# These words form an "ei" dipthong, rather than the normal hiatus. +ei_exceptions = Optimize[CDRewrite[("dein": "dẽːj") |

  • ("deinde" : "dẽːjde") |
  • ("deinceps" : "dẽːjkeps") |
  • ("ei" : "ej") |
  • ("hei" : "hej"), bow, eow, sigma_star]];
  • +# As a result of the change from Old Latin "quo" and "nguo" to +# "guu" and "nguu," loss of the preceding "u" occured. +u_loss = Optimize[CDRewrite[("nguu": "ngu") |

  • ("quu" : "cu"), "", "", sigma_star]];
  • +qu_as_kw = Optimize[CDRewrite["qu" : "kw", "", "", sigma_star]]; You could just call this qu

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r667010082:

+qu_as_kw = Optimize[CDRewrite["qu" : "kw", "", "", sigma_star]]; + +# When an "i" occurs intervocalically (between two vowels), +# it is realized as a glide: [jj]. +geminate_intervocalic_i = Optimize[CDRewrite["i" : "jj",

  • vowels - ("i" | "ī"),
  • vowels - ("i" | "ī"), sigma_star]];
  • +# The Romans wrote various Greek letters as digraphs: "ph," "ch," and "th." +# Most likely, they were pronounced as [p, k, t], respectively. +digraphs = Optimize[CDRewrite[("ph" : "p") |

  • ("ch" : "k") |
  • ("th" : "t"), "", "", sigma_star]];
  • +# "bs" was pronounced as [ps] and "bt" was pronounced as [pt]. +b_as_p = Optimize[CDRewrite["b" : "p", "", "s" | "t", sigma_star]]; b_devoicing

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r667010842:

+# it is realized as a glide: [jj]. +geminate_intervocalic_i = Optimize[CDRewrite["i" : "jj",

  • vowels - ("i" | "ī"),
  • vowels - ("i" | "ī"), sigma_star]];
  • +# The Romans wrote various Greek letters as digraphs: "ph," "ch," and "th." +# Most likely, they were pronounced as [p, k, t], respectively. +digraphs = Optimize[CDRewrite[("ph" : "p") |

  • ("ch" : "k") |
  • ("th" : "t"), "", "", sigma_star]];
  • +# "bs" was pronounced as [ps] and "bt" was pronounced as [pt]. +b_as_p = Optimize[CDRewrite["b" : "p", "", "s" | "t", sigma_star]];

  • +# Word-final "m" and "n" indicates vowel lengthening and nasalization. +nasalized_m_n = Optimize[CDRewrite[("a" : "ãː") | nasalization. Also combine this with the following rule into a single variable (by @ing them together inside of an Optimize).

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r667011231:

+ +# "bs" was pronounced as [ps] and "bt" was pronounced as [pt]. +b_as_p = Optimize[CDRewrite["b" : "p", "", "s" | "t", sigma_star]]; + +# Word-final "m" and "n" indicates vowel lengthening and nasalization. +nasalized_m_n = Optimize[CDRewrite[("a" : "ãː") |

  • ("e" : "ẽː") |
  • ("i" : "ĩː") |
  • ("o" : "õː") |
  • ("u" : "ũː" ), "", ("m" | "n") eow, sigma_star]]; +delete_m_n = Optimize[CDRewrite[("m" | "n") : "",
  • "",
  • eow, sigma_star]];
  • +# If "gu" proceeds "n" and precedes a vowel, it is pronounced with a glide. +gu_glide = Optimize[CDRewrite["gu" : "gw", "n", vowels, sigma_star]]; ngu

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r667011393:

  • ("o" : "õː") |
  • ("u" : "ũː" ), "", ("m" | "n") eow, sigma_star]]; +delete_m_n = Optimize[CDRewrite[("m" | "n") : "",
  • "",
  • eow, sigma_star]];
  • +# If "gu" proceeds "n" and precedes a vowel, it is pronounced with a glide. +gu_glide = Optimize[CDRewrite["gu" : "gw", "n", vowels, sigma_star]];

  • +unconditioned_rewrites = Optimize[CDRewrite[("c" : "k") |

  • ("x" : "ks") |
  • ("v" : "w") |
  • ("y" : "u"), "", "", sigma_star]];
  • +# "n" is pronounced [ŋ] before velar sounds [k, g]. +n_rule = Optimize[CDRewrite["n" : "ŋ", "", "k" | "g", sigma_star]]; nasal_place_assimilation

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r667011451:

+delete_m_n = Optimize[CDRewrite[("m" | "n") : "",

  • "",
  • eow, sigma_star]];
  • +# If "gu" proceeds "n" and precedes a vowel, it is pronounced with a glide. +gu_glide = Optimize[CDRewrite["gu" : "gw", "n", vowels, sigma_star]];

  • +unconditioned_rewrites = Optimize[CDRewrite[("c" : "k") |

  • ("x" : "ks") |
  • ("v" : "w") |
  • ("y" : "u"), "", "", sigma_star]];
  • +# "n" is pronounced [ŋ] before velar sounds [k, g]. +n_rule = Optimize[CDRewrite["n" : "ŋ", "", "k" | "g", sigma_star]];

  • +gn_rule = Optimize[CDRewrite[("gn" : "ŋn"), "", "", sigma_star]]; gn

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r667011533:

  • eow, sigma_star]];
  • +# If "gu" proceeds "n" and precedes a vowel, it is pronounced with a glide. +gu_glide = Optimize[CDRewrite["gu" : "gw", "n", vowels, sigma_star]];

  • +unconditioned_rewrites = Optimize[CDRewrite[("c" : "k") |

  • ("x" : "ks") |
  • ("v" : "w") |
  • ("y" : "u"), "", "", sigma_star]];
  • +# "n" is pronounced [ŋ] before velar sounds [k, g]. +n_rule = Optimize[CDRewrite["n" : "ŋ", "", "k" | "g", sigma_star]];

  • +gn_rule = Optimize[CDRewrite[("gn" : "ŋn"), "", "", sigma_star]];

  • +diphthongs = Optimize[CDRewrite[("ae" : "aj") | diphthongization

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r667011638:

+ +unconditioned_rewrites = Optimize[CDRewrite[("c" : "k") |

  • ("x" : "ks") |
  • ("v" : "w") |
  • ("y" : "u"), "", "", sigma_star]];
  • +# "n" is pronounced [ŋ] before velar sounds [k, g]. +n_rule = Optimize[CDRewrite["n" : "ŋ", "", "k" | "g", sigma_star]];

  • +gn_rule = Optimize[CDRewrite[("gn" : "ŋn"), "", "", sigma_star]];

  • +diphthongs = Optimize[CDRewrite[("ae" : "aj") |

  • ("oe" : "oj") |
  • ("au" : "aw"), "", "", sigma_star]];
  • +macrons = Optimize[CDRewrite[("ā" : "aː") | long_monophthongs

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r667009708:

+ +# These words form an "ui" dipthong, rather than the normal hiatus. +ui_exceptions = Optimize[CDRewrite[("hui": "huj") |

  • ("huic" : "hujk") |
  • ("cui" : "kuj"), bow, eow, sigma_star]];
  • +# These words form an "ei" dipthong, rather than the normal hiatus. +ei_exceptions = Optimize[CDRewrite[("dein": "dẽːj") |

  • ("deinde" : "dẽːjde") |
  • ("deinceps" : "dẽːjkeps") |
  • ("ei" : "ej") |
  • ("hei" : "hej"), bow, eow, sigma_star]];
  • +# As a result of the change from Old Latin "quo" and "nguo" to +# "guu" and "nguu," loss of the preceding "u" occured. +u_loss = Optimize[CDRewrite[("nguu": "ngu") | The latter. Name seems clear enough here.

In grammars/pron.grm https://github.com/CUNY-CL/LatinScansion/pull/9#discussion_r667011900:

\ No newline at end of file +# it was assimilated to the following consonant (doesn't matter for metrics) Added some suggestonis above.

Add a final newline at the end: Git prefers that.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/CUNY-CL/LatinScansion/pull/9#pullrequestreview-703131312, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANYD7F5ID7YYW3DVSTQLPMLTW4EWNANCNFSM477NRWQQ.

jillianchang commented 3 years ago

Is there a way I could pull these approved changes into my remote main branch?

kylebgorman commented 3 years ago

Sure. First, merge the PR. Then, add the upstream remote (CUNY-CL/LatinScansion). I think it'll look something like:

git remote add upstream @.***:CUNY-CL/LatinScansion.git

if you're using SSH, or

git remote add upstream https://github.com/CUNY-CL/LatinScansion.git

if you're using HTTPS. (I use SSH, because with some additional, non-trivial setup, I don't have to enter my password anymore: https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh .)

FYI: "upstream" here is the name you're giving to the remote (though it's a standard one), not a keyword like "remote" or "add".

Then, you can do:

git pull upstream master

to sync your fork with upstream.

K

On Sat, Jul 10, 2021 at 10:47 PM jillianchang @.***> wrote:

Is there a way I could pull these approved changes into my remote main branch?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/CUNY-CL/LatinScansion/pull/9#issuecomment-877732477, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABG4OO22P46PKJI7EHN763TXEA5NANCNFSM477NRWQQ .