Introduction

Welcome to the homepage of Punjabi resources in Shahmukhi script. These resources are reported in the following publication and made available under GNU General Public License.

Resources

Running Morphology

First you need to install Grammatical Framework (GF) first. Instructions to install could be found here.

Now to run morphology, after unzipping morphology.zip, run following commands in console:

  cd morphology
  gf MainPnb.gf 
  ma "پینا"

where ma stands for morphological analysis and MainPnb.gf is the main file.

To see a complete paradigm do following:

  gf MainPnb.gf
  i -retain MorphoPnb.gf
  cc mkAdj1 "بَھیڑا"

The result will be as followed:

variants {variants {{s : ResPnb.Gender => ResPnb.Number => ResPnb.Case => Str
                       = table ResPnb.Gender {
                           ResPnb.Masc => table ResPnb.Number {
                                            ResPnb.Sg => table ResPnb.Case {
                                                           ResPnb.Dir => "بَھیڑا";
                                                           ResPnb.Obl => "بَھیڑے";
                                                           ResPnb.Voc => "بَھیڑیا";
                                                           ResPnb.Abl => "بَھیڑیوں"
                                                         };
                                            ResPnb.Pl => table ResPnb.Case {
                                                           ResPnb.Dir => "بَھیڑے";
                                                           ResPnb.Obl => "بَھیڑیاں";
                                                           ResPnb.Voc => "بَھیڑیو";
                                                           ResPnb.Abl => []
                                                         }
                                          };
                           ResPnb.Fem => table ResPnb.Number {
                                           ResPnb.Sg => table ResPnb.Case {
                                                          ResPnb.Dir => "بَھیڑی";
                                                          ResPnb.Obl => "بَھیڑی";
                                                          ResPnb.Voc => "بَھیڑی";
                                                          ResPnb.Abl => "بَھیڑیوں"
                                                        };
                                           ResPnb.Pl => table ResPnb.Case {
                                                          ResPnb.Dir => "بَھیڑی";
                                                          ResPnb.Obl => "بَھیڑیاں";
                                                          ResPnb.Voc => "بَھیڑیو";
                                                          ResPnb.Abl => []
                                                        }
                                         }
                         }};
                    {s : ResPnb.Gender => ResPnb.Number => ResPnb.Case => Str
                       = table ResPnb.Gender {
                           ResPnb.Masc => table ResPnb.Number {
                                            ResPnb.Sg => table ResPnb.Case {
                                                           ResPnb.Dir => "بَھیڑا";
                                                           ResPnb.Obl => "بَھیڑے";
                                                           ResPnb.Voc => "بَھیڑے";
                                                           ResPnb.Abl => "بَھیڑیوں"
                                                         };
                                            ResPnb.Pl => table ResPnb.Case {
                                                           ResPnb.Dir => "بَھیڑے";
                                                           ResPnb.Obl => "بَھیڑیاں";
                                                           ResPnb.Voc => "بَھیڑیو";
                                                           ResPnb.Abl => []
                                                         }
                                          };
                           ResPnb.Fem => table ResPnb.Number {
                                           ResPnb.Sg => table ResPnb.Case {
                                                          ResPnb.Dir => "بَھیڑی";
                                                          ResPnb.Obl => "بَھیڑی";
                                                          ResPnb.Voc => "بَھیڑی";
                                                          ResPnb.Abl => "بَھیڑیوں"
                                                        };
                                           ResPnb.Pl => table ResPnb.Case {
                                                          ResPnb.Dir => "بَھیڑی";
                                                          ResPnb.Obl => "بَھیڑیاں";
                                                          ResPnb.Voc => "بَھیڑیو";
                                                          ResPnb.Abl => []
                                                        }
                                         }
                         }}};
          variants {{s : ResPnb.Gender => ResPnb.Number => ResPnb.Case => Str
                       = table ResPnb.Gender {
                           ResPnb.Masc => table ResPnb.Number {
                                            ResPnb.Sg => table ResPnb.Case {
                                                           ResPnb.Dir => "بَھیڑا";
                                                           ResPnb.Obl => "بَھیڑے";
                                                           ResPnb.Voc => "بَھیڑیا";
                                                           ResPnb.Abl => "بَھیڑیوں"
                                                         };
                                            ResPnb.Pl => table ResPnb.Case {
                                                           ResPnb.Dir => "بَھیڑے";
                                                           ResPnb.Obl => "بَھیڑیاں";
                                                           ResPnb.Voc => "بَھیڑیو";
                                                           ResPnb.Abl => []
                                                         }
                                          };
                           ResPnb.Fem => table ResPnb.Number {
                                           ResPnb.Sg => table ResPnb.Case {
                                                          ResPnb.Dir => "بَھیڑی";
                                                          ResPnb.Obl => "بَھیڑی";
                                                          ResPnb.Voc => "بَھیڑیے";
                                                          ResPnb.Abl => "بَھیڑیوں"
                                                        };
                                           ResPnb.Pl => table ResPnb.Case {
                                                          ResPnb.Dir => "بَھیڑی";
                                                          ResPnb.Obl => "بَھیڑیاں";
                                                          ResPnb.Voc => "بَھیڑیو";
                                                          ResPnb.Abl => []
                                                        }
                                         }
                         }};
                    {s : ResPnb.Gender => ResPnb.Number => ResPnb.Case => Str
                       = table ResPnb.Gender {
                           ResPnb.Masc => table ResPnb.Number {
                                            ResPnb.Sg => table ResPnb.Case {
                                                           ResPnb.Dir => "بَھیڑا";
                                                           ResPnb.Obl => "بَھیڑے";
                                                           ResPnb.Voc => "بَھیڑے";
                                                           ResPnb.Abl => "بَھیڑیوں"
                                                         };
                                            ResPnb.Pl => table ResPnb.Case {
                                                           ResPnb.Dir => "بَھیڑے";
                                                           ResPnb.Obl => "بَھیڑیاں";
                                                           ResPnb.Voc => "بَھیڑیو";
                                                           ResPnb.Abl => []
                                                         }
                                          };
                           ResPnb.Fem => table ResPnb.Number {
                                           ResPnb.Sg => table ResPnb.Case {
                                                          ResPnb.Dir => "بَھیڑی";
                                                          ResPnb.Obl => "بَھیڑی";
                                                          ResPnb.Voc => "بَھیڑیے";
                                                          ResPnb.Abl => "بَھیڑیوں"
                                                        };
                                           ResPnb.Pl => table ResPnb.Case {
                                                          ResPnb.Dir => "بَھیڑی";
                                                          ResPnb.Obl => "بَھیڑیاں";
                                                          ResPnb.Voc => "بَھیڑیو";
                                                          ResPnb.Abl => []
                                                        }
                                         }
                         }}}}

Please send your feedback and suggestions at humayoun{@}gmail.com


Last update: Tue Nov 2 19:01:42 2010

eXTReMe Tracker