Archived
57 lines
2.5 KiB
EmacsLisp
57 lines
2.5 KiB
EmacsLisp
// lang-ar.el - Arabic NLG tests: VSO assertion, intonation question.
|
|
//
|
|
// Arabic is VSO (Verb-Subject-Object), fusional, RTL script. The word order
|
|
// test verifies that gram_order_constituents places the verb first for "ar".
|
|
// Questions use the intonation strategy (statement word order + "?").
|
|
//
|
|
// Expected outputs (approximate):
|
|
// assert: "يأكل القط السمكة." (VSO: verb-subject-object)
|
|
// question: "يأكل القط السمكة?" (same VSO order, ? punctuation)
|
|
|
|
fn test_assert() -> String {
|
|
// VSO order: verb يأكل (eats), subject القط (the cat), object السمكة (the fish)
|
|
let form: [String] = native_list_empty()
|
|
let form = native_list_append(form, "intent")
|
|
let form = native_list_append(form, "assert")
|
|
let form = native_list_append(form, "agent")
|
|
let form = native_list_append(form, "القط")
|
|
let form = native_list_append(form, "predicate")
|
|
let form = native_list_append(form, "يأكل")
|
|
let form = native_list_append(form, "patient")
|
|
let form = native_list_append(form, "السمكة")
|
|
let form = native_list_append(form, "location")
|
|
let form = native_list_append(form, "")
|
|
let form = native_list_append(form, "tense")
|
|
let form = native_list_append(form, "present")
|
|
let form = native_list_append(form, "aspect")
|
|
let form = native_list_append(form, "simple")
|
|
let form = native_list_append(form, "lang")
|
|
let form = native_list_append(form, "ar")
|
|
return realize(form)
|
|
}
|
|
|
|
fn test_question() -> String {
|
|
// Intonation question: same VSO order, ? punctuation
|
|
let form: [String] = native_list_empty()
|
|
let form = native_list_append(form, "intent")
|
|
let form = native_list_append(form, "question")
|
|
let form = native_list_append(form, "agent")
|
|
let form = native_list_append(form, "القط")
|
|
let form = native_list_append(form, "predicate")
|
|
let form = native_list_append(form, "يأكل")
|
|
let form = native_list_append(form, "patient")
|
|
let form = native_list_append(form, "السمكة")
|
|
let form = native_list_append(form, "location")
|
|
let form = native_list_append(form, "")
|
|
let form = native_list_append(form, "tense")
|
|
let form = native_list_append(form, "present")
|
|
let form = native_list_append(form, "aspect")
|
|
let form = native_list_append(form, "simple")
|
|
let form = native_list_append(form, "lang")
|
|
let form = native_list_append(form, "ar")
|
|
return realize(form)
|
|
}
|
|
|
|
println(test_assert())
|
|
println(test_question())
|