1function isVowel(x) { 2 return ("aeiouAEIOU".indexOf(x) != -1); 3} 4 5function getPresentTheme(infinitive) { 6 return infinitive.split("").slice(0, -1).join(""); 7} 8 9function getVerbalRoot(infinitive) { 10 return infinitive.split("").slice(0, -2).join(""); 11} 12 13function getPerfectTheme(infinitive, type) { 14 15 // irregulars 16 switch (infinitive) { 17 case 'ceder': return "cess"; 18 case 'creder': return "cred"; 19 case 'morir': return "mort"; 20 case 'mover': return "mot"; 21 case 'nascer': return "nat"; 22 case 'seder': return "sess"; 23 case 'sentir': return "sens"; 24 case 'tener': return "tent"; 25 case 'venir': return "vent"; 26 case 'verter': return "vers"; 27 default: 28 break; 29 } 30 31 var rootLetters = []; 32 if (type == 'er') { 33 rootLetters = infinitive.split("").slice(0, -2); 34 if (rootLetters[rootLetters.length - 1] == "d") { 35 rootLetters[rootLetters.length - 1] = "s"; 36 } else if (rootLetters[rootLetters.length - 1] == "r") { 37 rootLetters[rootLetters.length - 1] = "s"; 38 } else if (isVowel(rootLetters[rootLetters.length - 1])) { 39 rootLetters.push("t"); 40 } 41 } else if (type == 'ir' || type == 'ar') { 42 rootLetters = infinitive.split("").slice(0, -1); 43 rootLetters.push("t"); 44 } 45 return rootLetters.join(""); 46} 47 48function getType(infinitive) { 49 return infinitive.split("").slice(-2).join(""); 50} 51 52function getDerivatives(infinitive, perfectTheme, presentTheme, verbalRoot, type) { 53 54 var derivatives = [ 55 { 56 "infinitive": infinitive, 57 "form used": "perfect theme", 58 "formula": "li + perfect theme + e", 59 "derivative": "li " + perfectTheme + "e", 60 "derivative type": "noun or adjective", 61 "explanation": "noun or adjective", 62 "example": "li response" 63 }, 64 { 65 "infinitive": infinitive, 66 "form used": "perfect theme", 67 "formula": "perfect theme + ion" , 68 "derivative": perfectTheme + "ion", 69 "derivative type": "noun", 70 "explanation": "action, also result and location of it", 71 "example": "colaboration" 72 }, 73 { 74 "infinitive": infinitive, 75 "form used": "perfect theme", 76 "formula": "perfect theme + or" , 77 "derivative": perfectTheme + "or", 78 "derivative type": "noun", 79 "explanation": "acting person, thing or factor", 80 "example": "administrator" 81 }, 82 { 83 "infinitive": infinitive, 84 "form used": "perfect theme", 85 "formula": "perfect theme + ori" , 86 "derivative": perfectTheme + "ori", 87 "derivative type": "adjective", 88 "explanation": "destined toward, should act as (adjective of -or)", 89 "example": "administratori" 90 }, 91 { 92 "infinitive": infinitive, 93 "form used": "perfect theme", 94 "formula": "perfect theme + iv" , 95 "derivative": perfectTheme + "iv", 96 "derivative type": "adjective", 97 "explanation": "acting as such, capable of", 98 "example": "administrativ" 99 }, 100 { 101 "infinitive": infinitive, 102 "form used": "perfect theme", 103 "formula": "perfect theme + ura" , 104 "derivative": perfectTheme + "ura", 105 "derivative type": "noun", 106 "explanation": "concrete action or its result", 107 "example": "scritura" 108 }, 109 { 110 "infinitive": infinitive, 111 "form used": "verbal root", 112 "formula": "verbal root + age" , 113 "derivative": verbalRoot + "age", 114 "derivative type": "noun", 115 "explanation": "activity, mainly industrial or professional, also its result, location or time, also its expenses", 116 "example": "viage, espionage, portage" 117 }, 118 { 119 "infinitive": infinitive, 120 "form used": "verbal root", 121 "formula": "verbal root + achar" , 122 "derivative": verbalRoot + "achar", 123 "derivative type": "verb", 124 "explanation": "verb with negative, pejorative meaning", 125 "example": "plorachar" 126 }, 127 { 128 "infinitive": infinitive, 129 "form used": "verbal root", 130 "formula": "verbal root + era" , 131 "derivative": verbalRoot + "era", 132 "derivative type": "", 133 "explanation": "", 134 "example": "" 135 }, 136 { 137 "infinitive": infinitive, 138 "form used": "verbal root", 139 "formula": "verbal root + ard" , 140 "derivative": verbalRoot + "ard", 141 "derivative type": "noun", 142 "explanation": "people with a bad quality", 143 "example": "mentard" 144 }, 145 { 146 "infinitive": infinitive, 147 "form used": "verbal root", 148 "formula": "verbal root + on" , 149 "derivative": verbalRoot + "on", 150 "derivative type": "noun", 151 "explanation": "person characterized by an internal or natural quality", 152 "example": "novon" 153 }, 154 { 155 "infinitive": infinitive, 156 "form used": "verbal root", 157 "formula": "verbal root + ore" , 158 "derivative": verbalRoot + "ore", 159 "derivative type": "noun", 160 "explanation": "status or measurable quality", 161 "example": "calore" 162 }, 163 { 164 "infinitive": infinitive, 165 "form used": "verbal root", 166 "formula": "verbal root + uore" , 167 "derivative": verbalRoot + "uore", 168 "derivative type": "noun", 169 "explanation": "location or utensil", 170 "example": "reservuore" 171 }, 172 { 173 "infinitive": infinitive, 174 "form used": "verbal root", 175 "formula": "verbal root + aci" , 176 "derivative": verbalRoot + "aci", 177 "derivative type": "adjective", 178 "explanation": "tending towards something", 179 "example": "tending towards something" 180 }, 181 { 182 "infinitive": infinitive, 183 "form used": "verbal root", 184 "formula": "verbal root + isar" , 185 "derivative": verbalRoot + "isar", 186 "derivative type": "verb", 187 "explanation": "act in a manner / as", 188 "example": "terrorisar" 189 }, 190 { 191 "infinitive": infinitive, 192 "form used": "verbal root", 193 "formula": "verbal root + ificar" , 194 "derivative": verbalRoot + "ificar", 195 "derivative type": "verb", 196 "explanation": "act in a manner. also forms adjectives:: pacific, magnific, specific", 197 "example": "verificar" 198 }, 199 { 200 "infinitive": infinitive, 201 "form used": "verbal root", 202 "formula": "verbal root + ear" , 203 "derivative": verbalRoot + "ear", 204 "derivative type": "verb", 205 "explanation": "dynamic state of coming and going", 206 "example": "flammear" 207 } 208 ] 209 210 211 if (type == "ar") { 212 derivatives.push({ 213 "infinitive": infinitive, 214 "form used": "verbal root", 215 "formula": "li verbal root + a", 216 "derivative": "li " + verbalRoot + "a", 217 "derivative type": "noun", 218 "explanation": "noun (indicating activity, location or time)", 219 "example": "li pensa" 220 }) 221 } 222 derivatives.push({ 223 "infinitive": infinitive, 224 "form used": "verbal root", 225 "formula": "li verbal root + e", 226 "derivative": "li " + verbalRoot + "e", 227 "derivative type": "noun", 228 "explanation": "noun (general ending)", 229 "example": "li pense" 230 }) 231 232 if (type == "ir") { 233 derivatives.push({ 234 "infinitive": infinitive, 235 "form used": "present theme", 236 "formula": "present theme + entie", 237 "derivative": presentTheme + "entie", 238 "derivative type": "noun", 239 "explanation": "continuing state", 240 "example": "tolerantie", 241 }) 242 } else { 243 derivatives.push({ 244 "infinitive": infinitive, 245 "form used": "present theme", 246 "formula": "present theme + ntie", 247 "derivative": presentTheme + "ntie", 248 "derivative type": "noun", 249 "explanation": "continuing state", 250 "example": "tolerantie" 251 }) 252 } 253 254 if (type == "ir") { 255 derivatives.push({ 256 "infinitive": infinitive, 257 "form used": "present theme", 258 "formula": "present theme + ente/o/a", 259 "derivative": presentTheme + "ente/o/a", 260 "derivative type": "noun", 261 "explanation": "doer of the verb", 262 "example": "consonante", 263 }) 264 } else { 265 derivatives.push({ 266 "infinitive": infinitive, 267 "form used": "present theme", 268 "formula": "present theme + nte/o/a", 269 "derivative": presentTheme + "nte/o/a", 270 "derivative type": "noun", 271 "explanation": "doer of the verb", 272 "example": "consonante" 273 }) 274 } 275 276 if (type == "ir") { 277 derivatives.push({ 278 "infinitive": infinitive, 279 "form used": "present theme", 280 "formula": "present theme + end", 281 "derivative": presentTheme + "end", 282 "derivative type": "noun", 283 "explanation": "to do", 284 "example": "multiplicand", 285 }) 286 } else { 287 derivatives.push({ 288 "infinitive": infinitive, 289 "form used": "present theme", 290 "formula": "present theme + nd", 291 "derivative": presentTheme + "nd", 292 "derivative type": "noun", 293 "explanation": "to do", 294 "example": "multiplicand"
295 }) 296 } 297 298 if (type == "er" && isVowel(verbalRoot.split("").slice(-1))) { 299 derivatives.push({ 300 "infinitive": infinitive, 301 "form used": "verbal root", 302 "formula": "verbal root + ment", 303 "derivative": verbalRoot + "ment", 304 "derivative type": "noun", 305 "explanation": "concrete action or its result, or serving to / serving as", 306 "example": "guvernament", 307 }) 308 } else { 309 derivatives.push({ 310 "infinitive": infinitive, 311 "form used": "present theme", 312 "formula": "present theme + ment", 313 "derivative": presentTheme + "ment", 314 "derivative type": "noun", 315 "explanation": "concrete action or its result, or serving to / serving as", 316 "example": "", 317 }) 318 } 319 320 if (type == "ar") { 321 derivatives.push({ 322 "infinitive": infinitive, 323 "form used": "verbal root", 324 "formula": "verbal root + abil", 325 "derivative": verbalRoot + "abil", 326 "derivative type": "adjective", 327 "explanation": "of transitive verbs: what one can do, of intransitive verbs: what can do", 328 "example": "", 329 },{ 330 "infinitive": infinitive, 331 "form used": "verbal root", 332 "formula": "verbal root + ada", 333 "derivative": verbalRoot + "ada", 334 "derivative type": "noun", 335 "explanation": "continuing action", 336 "example": "", 337 }) 338 } else { 339 derivatives.push({ 340 "infinitive": infinitive, 341 "form used": "verbal root", 342 "formula": "verbal root + ibil", 343 "derivative": verbalRoot + "ibil", 344 "derivative type": "adjective", 345 "explanation": "of transitive verbs: what one can do, of intransitive verbs: what can do", 346 "example": "", 347 },{ 348 "infinitive": infinitive, 349 "form used": "verbal root", 350 "formula": "verbal root + ida", 351 "derivative": verbalRoot + "ida", 352 "derivative type": "noun", 353 "explanation": "continuing action", 354 "example": "", 355 }) 356 } 357 358 return derivatives 359}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.