|
|
| ''' |
| Created on ٠٢/٠٧/٢٠١٠ |
| |
| @Created by: Muhammad Altabba |
| ''' |
| from ...Morphology.Cliticlization.CliticsGrammers import CliticsGrammers; |
|
|
| from ...Morphology.Cliticlization.ProcliticGrammer import ProcliticGrammer; |
| from ....Models.Lexicon.LettersConstants import DiacriticsConstants; |
| from ....Models.Tagging.POSTags.ParticlePOS import ParticlePOSConstants; |
| from ....Models.Tagging.POSTags.POS import POSConstants; |
| from ....Models.Tagging.POSTags.CliticlessPOS import CliticlessPOSConstants; |
| from ....Models.Tagging.POSTags.VerbalPOS import VerbalPOSConstants; |
| from ....Models.Tagging.POSTags.NominalPOS import NominalPOSConstants; |
|
|
|
|
| class ProcliticsGrammers(CliticsGrammers): |
| """ |
| # PyUML: Do not remove this line! # XMI_ID:_hUUgWo34Ed-gg8GOK1TmhA |
| """ |
| ''' |
| classdocs |
| ''' |
|
|
| GrammersDict = {}; |
|
|
| def __init__(self): |
| ''' |
| Constructor |
| ''' |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| conjunction = ProcliticGrammer(ParticlePOSConstants.SubClass.Conjunction); |
| |
| resumption = ProcliticGrammer(ParticlePOSConstants.SubClass.Resumption); |
| |
| interrogative = ProcliticGrammer(ParticlePOSConstants.SubClass.Interrogative, \ |
| POSConstants.MainClass.all_Cases, \ |
| CliticlessPOSConstants.CaseAndMood.all_Cases, \ |
| NominalPOSConstants.SubClass.all_Cases, \ |
| VerbalPOSConstants.Aspect.Perfective + VerbalPOSConstants.Aspect.Imperfective\ |
| ); |
| |
| |
| preposition = ProcliticGrammer(ParticlePOSConstants.SubClass.Preposition, \ |
| POSConstants.MainClass.Noun, \ |
| CliticlessPOSConstants.CaseAndMood.GenitiveOrJussive, \ |
| NominalPOSConstants.SubClass.all_Cases); |
| |
| |
| jurative = ProcliticGrammer(ParticlePOSConstants.SubClass.Jurative, \ |
| POSConstants.MainClass.Noun, \ |
| CliticlessPOSConstants.CaseAndMood.GenitiveOrJussive, \ |
| NominalPOSConstants.SubClass.all_Cases - NominalPOSConstants.SubClass.Nominative_Pronoun - NominalPOSConstants.SubClass.Accusative_or_Genitive_Pronoun , \ |
| VerbalPOSConstants.Aspect.all_Cases, \ |
| NominalPOSConstants.Definiteness.all_Cases, |
| True); |
| |
| accusative = ProcliticGrammer(ParticlePOSConstants.SubClass.Accusative, \ |
| POSConstants.MainClass.Verb, \ |
| CliticlessPOSConstants.CaseAndMood.AccusativeOrSubjunctive, \ |
| NominalPOSConstants.SubClass.all_Cases, \ |
| VerbalPOSConstants.Aspect.Imperfective); |
| |
| imperative = ProcliticGrammer(ParticlePOSConstants.SubClass.Imperative, \ |
| POSConstants.MainClass.Verb, \ |
| CliticlessPOSConstants.CaseAndMood.GenitiveOrJussive, \ |
| NominalPOSConstants.SubClass.all_Cases, \ |
| VerbalPOSConstants.Aspect.Imperfective); |
| |
| emphasisStarter = ProcliticGrammer(ParticlePOSConstants.SubClass.EmphasisStarter, \ |
| POSConstants.MainClass.Noun + POSConstants.MainClass.Verb, \ |
| CliticlessPOSConstants.CaseAndMood.all_Cases, \ |
| NominalPOSConstants.SubClass.all_Cases, \ |
| VerbalPOSConstants.Aspect.Imperfective+VerbalPOSConstants.Aspect.Perfective); |
| |
| forthcomingFuturity = ProcliticGrammer(ParticlePOSConstants.SubClass.ForthcomingFuturity, \ |
| POSConstants.MainClass.Verb, \ |
| CliticlessPOSConstants.CaseAndMood.NominativeOrIndicative, \ |
| NominalPOSConstants.SubClass.all_Cases, \ |
| VerbalPOSConstants.Aspect.Imperfective); |
| |
| definite = ProcliticGrammer(ParticlePOSConstants.SubClass.Appendix, \ |
| POSConstants.MainClass.Noun, \ |
| CliticlessPOSConstants.CaseAndMood.all_Cases, \ |
| NominalPOSConstants.SubClass.all_Cases, \ |
| VerbalPOSConstants.Aspect.all_Cases,\ |
| NominalPOSConstants.Definiteness.Definite_by_Itself,\ |
| True); |
| |
| appendix = ProcliticGrammer(ParticlePOSConstants.SubClass.Appendix); |
| |
| self.GrammersDict = {}; |
| self.GrammersDict['ب'] = {}; |
| self.GrammersDict['ب'][DiacriticsConstants.Kasra] = [preposition, jurative]; |
| |
| |
| self.GrammersDict['ك'] = {}; |
| self.GrammersDict['ك'][DiacriticsConstants.Fatha] = [preposition]; |
| |
| self.GrammersDict['ل'] = {}; |
| self.GrammersDict['ل'][DiacriticsConstants.Kasra] = [preposition, imperative]; |
| self.GrammersDict['ل'][DiacriticsConstants.Fatha] = [emphasisStarter, accusative]; |
| |
| self.GrammersDict['س'] = {}; |
| self.GrammersDict['س'][DiacriticsConstants.Fatha] = [forthcomingFuturity]; |
| |
| |
| self.GrammersDict['و'] = {}; |
| self.GrammersDict['و'][DiacriticsConstants.Fatha] = [conjunction, preposition, jurative, appendix]; |
| |
| self.GrammersDict['ف'] = {}; |
| self.GrammersDict['ف'][DiacriticsConstants.Fatha] = [conjunction, resumption]; |
| |
| self.GrammersDict['أ'] = {}; |
| self.GrammersDict['أ'][DiacriticsConstants.Fatha] = [interrogative]; |
| |
| self.GrammersDict['ال'] = {}; |
| self.GrammersDict['ال'][DiacriticsConstants.Fatha, DiacriticsConstants.Sukoon] = [definite]; |
| |
|
|