lgram

A command-line utility for drilling Latin grammar.
git clone git://git.jtobin.io/lgram.git
Log | Files | Refs | README

pron (13262B)


      1 #!/usr/bin/env bash
      2 
      3 # e.g.
      4 
      5 # ego (personalia, nominativus)
      6 #
      7 # I
      8 #
      9 # example: I am a man
     10 
     11 # meus (possessiva, masculinum)
     12 #
     13 # mine
     14 #
     15 # example: that boy is mine
     16 
     17 # eius (demonstrativa, gen, masculinum, singularis)
     18 #
     19 # example: the book of that man (his)
     20 
     21 # pron, type, case, gender, number, translation, english example, .. optional ..
     22 
     23 DATA=$(cat << EOF
     24 ego,persōnālia,nōm,NA,NA,I,I am a man
     25 tū,persōnālia,nōm,NA,NA,you,you are a man
     26 nōs,persōnālia,nōm,NA,NA,we,we are men
     27 vōs,persōnālia,nōm,NA,NA,you all,you are men
     28 mē,persōnālia,acc,NA,NA,me,you see me
     29 tē,persōnālia,acc,NA,NA,you,I see you
     30 sē,persōnālia,acc,NA,NA,him/her/it,I see him
     31 nōs,persōnālia,acc,NA,NA,us,they see us
     32 vōs,persōnālia,acc,NA,NA,you all,they see you
     33 mihi,persōnālia,dat,NA,NA,to me,she gives it to me
     34 tibi,persōnālia,dat,NA,NA,to you,she gives it to you
     35 sibi,persōnālia,dat,NA,NA,to him/her/it,she gives it to him
     36 nōbis,persōnālia,dat,NA,NA,to us,she gives it to us
     37 vōbis,persōnālia,dat,NA,NA,to you all,she gives it to you
     38 mē,persōnālia,abl,NA,NA,by me,she stands by me
     39 tē,persōnālia,abl,NA,NA,by you,she stands by you
     40 sē,persōnālia,abl,NA,NA,by him/her/it,she stands by him
     41 nōbis,persōnālia,abl,NA,NA,by us,she stands by us
     42 vōbis,persōnālia,abl,NA,NA,by you all,she stands by you
     43 meus,possessīva,NA,masculīnum,NA,mine,that boy is mine
     44 mea,possessīva,NA,fēminīnum,NA,mine,that girl is mine
     45 meum,possessīva,NA,neutrum,NA,mine,that thing is mine
     46 tuus,possessīva,NA,masculīnum,NA,yours,that boy is yours
     47 tua,possessīva,NA,fēminīnum,NA,yours,that girl is yours
     48 tuum,possessīva,NA,neutrum,NA,yours,that thing is yours
     49 suus,possessīva,NA,masculīnum,NA,his/hers/its,that boy is his
     50 sua,possessīva,NA,fēminīnum,NA,his/hers/its,that girl is his
     51 suum,possessīva,NA,neutrum,NA,his/hers/its,that thing is his
     52 noster,possessīva,NA,masculīnum,NA,ours,that boy is ours
     53 nostra,possessīva,NA,fēminīnum,NA,ours,that girl is ours
     54 nostrum,possessīva,NA,neutrum,NA,ours,that thing is ours
     55 vester,possessīva,NA,masculīnum,NA,ye'res (irishism),that boy is ye'res
     56 vestra,possessīva,NA,fēminīnum,NA,ye'res (irishism),that girl is ye'res
     57 vestrum,possessīva,NA,neutrum,NA,ye'res (irishism),that thing is ye'res
     58 is,dēmōnstrātīva,nōm,masculīnum,singulāris,he,that man is happy
     59 iī,dēmōnstrātīva,nōm,masculīnum,plūrālis,they,those men are happy
     60 ea,dēmōnstrātīva,nōm,fēminīnum,singulāris,she,that woman is happy
     61 eae,dēmōnstrātīva,nōm,fēminīnum,plūrālis,they,those women are happy
     62 id,dēmōnstrātīva,nōm,neutrum,singulāris,it,that thing is blue
     63 ea,dēmōnstrātīva,nōm,neutrum,plūrālis,they,those things are blue
     64 eum,dēmōnstrātīva,acc,masculīnum,singulāris,him,behold that man
     65 eōs,dēmōnstrātīva,acc,masculīnum,plūrālis,them,behold those men
     66 eam,dēmōnstrātīva,acc,fēminīnum,singulāris,her,behold that woman
     67 eās,dēmōnstrātīva,acc,fēminīnum,plūrālis,them,behold those women
     68 id,dēmōnstrātīva,acc,neutrum,singulāris,it,behold that thing
     69 ea,dēmōnstrātīva,acc,neutrum,plūrālis,them,behold those things
     70 eius,dēmōnstrātīva,gen,masculīnum,singulāris,of his,the book of that man
     71 eōrum,dēmōnstrātīva,gen,masculīnum,plūrālis,of theirs,the book of those men
     72 eius,dēmōnstrātīva,gen,fēminīnum,singulāris,of hers,the book of that woman
     73 eārum,dēmōnstrātīva,gen,fēminīnum,plūrālis,of theirs,the book of those women
     74 eius,dēmōnstrātīva,gen,neutrum,singulāris,of it,the book of that thing
     75 eōrum,dēmōnstrātīva,gen,neutrum,plūrālis,of theirs,the book of those things
     76 eī,dēmōnstrātīva,dat,masculīnum,singulāris,to him,give the book to that man
     77 iīs,dēmōnstrātīva,dat,masculīnum,plūrālis,to them,give the book to those men
     78 eī,dēmōnstrātīva,dat,fēminīnum,singulāris,to her,give the book to that woman
     79 iīs,dēmōnstrātīva,dat,fēminīnum,plūrālis,to them,give the book to those women
     80 eī,dēmōnstrātīva,dat,neutrum,singulāris,to it,give the book to that thing
     81 iīs,dēmōnstrātīva,dat,neutrum,plūrālis,to them,give the book to those things
     82 eō,dēmōnstrātīva,abl,masculīnum,singulāris,about him,I don't want to talk about that man
     83 iīs,dēmōnstrātīva,abl,masculīnum,plūrālis,about them,I don't want to talk about those men
     84 eā,dēmōnstrātīva,abl,fēminīnum,singulāris,about her,I don't want to talk about that woman
     85 iīs,dēmōnstrātīva,abl,fēminīnum,plūrālis,about them,I don't want to talk about those women
     86 eō,dēmōnstrātīva,abl,neutrum,singulāris,about it,I don't want to talk about that thing
     87 iīs,dēmōnstrātīva,abl,neutrum,plūrālis,about them,I don't want to talk about those things
     88 hic,dēmōnstrātīva,nōm,masculīnum,singulāris,this one,this one is happy
     89 hī,dēmōnstrātīva,nōm,masculīnum,plūrālis,these ones,these ones are happy
     90 haec,dēmōnstrātīva,nōm,fēminīnum,singulāris,this one,this one is happy
     91 hae,dēmōnstrātīva,nōm,fēminīnum,plūrālis,these ones,these ones are happy
     92 hoc,dēmōnstrātīva,nōm,neutrum,singulāris,this one,this one is blue
     93 haec,dēmōnstrātīva,nōm,neutrum,plūrālis,these ones,these ones are blue
     94 hunc,dēmōnstrātīva,acc,masculīnum,singulāris,this one,behold this one
     95 hōs,dēmōnstrātīva,acc,masculīnum,plūrālis,these ones,behold these ones
     96 hanc,dēmōnstrātīva,acc,fēminīnum,singulāris,this one,behold this one
     97 hās,dēmōnstrātīva,acc,fēminīnum,plūrālis,these ones,behold these ones
     98 hoc,dēmōnstrātīva,acc,neutrum,singulāris,this one,behold this one
     99 haec,dēmōnstrātīva,acc,neutrum,plūrālis,these ones,behold these ones
    100 huius,dēmōnstrātīva,gen,masculīnum,singulāris,of this one,the book of this one
    101 hōrum,dēmōnstrātīva,gen,masculīnum,plūrālis,of these ones,the book of these ones
    102 huius,dēmōnstrātīva,gen,fēminīnum,singulāris,of this one,the book of this one
    103 hārum,dēmōnstrātīva,gen,fēminīnum,plūrālis,of these ones,the book of these ones
    104 huius,dēmōnstrātīva,gen,neutrum,singulāris,of this one,the book of this one
    105 hōrum,dēmōnstrātīva,gen,neutrum,plūrālis,of these ones,the book of these ones
    106 huic,dēmōnstrātīva,dat,masculīnum,singulāris,to this one,give the book to this one
    107 hīs,dēmōnstrātīva,dat,masculīnum,plūrālis,to these ones,give the book to these ones
    108 huic,dēmōnstrātīva,dat,fēminīnum,singulāris,to this one,give the book to this one
    109 hīs,dēmōnstrātīva,dat,fēminīnum,plūrālis,to these ones,give the book to these ones
    110 huic,dēmōnstrātīva,dat,neutrum,singulāris,to this one,give the book to this one
    111 hīs,dēmōnstrātīva,dat,neutrum,plūrālis,to these ones,give the book to these ones
    112 hōc,dēmōnstrātīva,abl,masculīnum,singulāris,about this one,I don't want to talk about this one
    113 hīs,dēmōnstrātīva,abl,masculīnum,plūrālis,about these ones,I don't want to talk about these ones
    114 hāc,dēmōnstrātīva,abl,fēminīnum,singulāris,about this one,I don't want to talk about this one
    115 hīs,dēmōnstrātīva,abl,fēminīnum,plūrālis,about these ones,I don't want to talk about these ones
    116 hōc,dēmōnstrātīva,abl,neutrum,singulāris,about this one,I don't want to talk about this one
    117 hīs,dēmōnstrātīva,abl,neutrum,plūrālis,about these ones,I don't want to talk about these ones
    118 ille,dēmōnstrātīva,nōm,masculīnum,singulāris,that one,that one is happy
    119 illī,dēmōnstrātīva,nōm,masculīnum,plūrālis,those ones,those ones are happy
    120 illa,dēmōnstrātīva,nōm,fēminīnum,singulāris,that one,that one is happy
    121 illae,dēmōnstrātīva,nōm,fēminīnum,plūrālis,those ones,those ones are happy
    122 illud,dēmōnstrātīva,nōm,neutrum,singulāris,that one,that one is blue
    123 illa,dēmōnstrātīva,nōm,neutrum,plūrālis,those ones,those ones are blue
    124 illum,dēmōnstrātīva,acc,masculīnum,singulāris,that one,behold that one
    125 illōs,dēmōnstrātīva,acc,masculīnum,plūrālis,those ones,behold those ones
    126 illam,dēmōnstrātīva,acc,fēminīnum,singulāris,that one,behold that one
    127 illās,dēmōnstrātīva,acc,fēminīnum,plūrālis,those ones,behold those ones
    128 illud,dēmōnstrātīva,acc,neutrum,singulāris,that one,behold that one
    129 illa,dēmōnstrātīva,acc,neutrum,plūrālis,those ones,behold those ones
    130 illīus,dēmōnstrātīva,gen,masculīnum,singulāris,of that one,the book of that one
    131 illōrum,dēmōnstrātīva,gen,masculīnum,plūrālis,of those ones,the book of those ones
    132 illīus,dēmōnstrātīva,gen,fēminīnum,singulāris,of that one,the book of that one
    133 illārum,dēmōnstrātīva,gen,fēminīnum,plūrālis,of those ones,the book of those ones
    134 illīus,dēmōnstrātīva,gen,neutrum,singulāris,of that one,the book of that one
    135 illōrum,dēmōnstrātīva,gen,neutrum,plūrālis,of those ones,the book of those ones
    136 illī,dēmōnstrātīva,dat,masculīnum,singulāris,to that one,give the book to that one
    137 illīs,dēmōnstrātīva,dat,masculīnum,plūrālis,to those ones,give the book to those ones
    138 illī,dēmōnstrātīva,dat,fēminīnum,singulāris,to that one,give the book to that one
    139 illīs,dēmōnstrātīva,dat,fēminīnum,plūrālis,to those ones,give the book to those ones
    140 illī,dēmōnstrātīva,dat,neutrum,singulāris,to that one,give the book to that one
    141 illīs,dēmōnstrātīva,dat,neutrum,plūrālis,to those ones,give the book to those ones
    142 illō,dēmōnstrātīva,abl,masculīnum,singulāris,about that one,I don't want to talk about that one
    143 illīs,dēmōnstrātīva,abl,masculīnum,plūrālis,about those ones,I don't want to talk about those ones
    144 illā,dēmōnstrātīva,abl,fēminīnum,singulāris,about that oneI don't want to talk about that one
    145 illīs,dēmōnstrātīva,abl,fēminīnum,plūrālis,about those ones,I don't want to talk about those ones
    146 illō,dēmōnstrātīva,abl,neutrum,singulāris,about that one,I don't want to talk about that one
    147 illīs,dēmōnstrātīva,abl,neutrum,plūrālis,about those ones,I don't want to talk about those ones
    148 quis,interrogātīvum,nōm,masculīnum,singulāris,who,who is that man?
    149 quī,interrogātīvum,nōm,masculīnum,plūrālis,who,who are those men?
    150 quae,interrogātīvum,nōm,fēminīnum,singulāris,which,which woman is that?,adiectīva
    151 quae,interrogātīvum,nōm,fēminīnum,plūrālis,who,who are those women?
    152 quid,interrogātīvum,nōm,neutrum,singulāris,what,what is that thing?
    153 quae,interrogātīvum,nōm,neutrum,plūrālis,what,what are those things?
    154 quem,interrogātīvum,acc,masculīnum,singulāris,whom,whom did they capture?
    155 quōs,interrogātīvum,acc,masculīnum,plūrālis,whom,whom did they capture?
    156 quam,interrogātīvum,acc,fēminīnum,singulāris,whom,what did the woman whom the boy saw do?,adiectīva
    157 quās,interrogātīvum,acc,fēminīnum,plūrālis,whom,whom did they capture?
    158 quid,interrogātīvum,acc,neutrum,singulāris,what,he saw what?
    159 quae,interrogātīvum,acc,neutrum,plūrālis,what,he saw a bunch of what?
    160 cuius,interrogātīvum,gen,masculīnum,singulāris,whose,whose dog is barking?
    161 quōrum,interrogātīvum,gen,masculīnum,plūrālis,whose,whose names did you write down?
    162 cuius,interrogātīvum,gen,fēminīnum,singulāris,which,which woman does the house belong to?,adiectīva
    163 quārum,interrogātīvum,gen,fēminīnum,plūrālis,whose,whose mothers are they?
    164 cuius,interrogātīvum,gen,neutrum,singulāris,whose,whose rock is this?
    165 quōrum,interrogātīvum,gen,neutrum,plūrālis,whose,whose names did you write down?
    166 cui,interrogātīvum,dat,masculīnum,singulāris,to whom,to whom did he speak?
    167 quibus,interrogātīvum,dat,masculīnum,plūrālis,to whom,to whom did she present?
    168 cui,interrogātīvum,dat,fēminīnum,singulāris,to which,to which girl did he give the gift?,adiectīva
    169 quibus,interrogātīvum,dat,fēminīnum,plūrālis,to whom,to whom did she present?
    170 cui,interrogātīvum,dat,neutrum,singulāris,to what,to what did she owe it?
    171 quibus,interrogātīvum,dat,neutrum,plūrālis,to what,to which men did she owe it?
    172 quō,interrogātīvum,abl,masculīnum,singulāris,about who,who are you talking about?
    173 quibus,interrogātīvum,abl,masculīnum,plūrālis,about who,who are the talking about?
    174 quā,interrogātīvum,abl,fēminīnum,singulāris,about which,which women are you talking about?,adiectīva
    175 quibus,interrogātīvum,abl,fēminīnum,plūrālis,about who,who are you talking about?
    176 quō,interrogātīvum,abl,neutrum,singulāris,about what,what are you talking about?
    177 quibus,interrogātīvum,abl,neutrum,plūrālis,about what,what are you talking about?
    178 EOF
    179 )
    180 
    181 # this could probably all be better-organized; what to do with relative?
    182 # quī,relātīvum,nōm,masculīnum,singulāris,who,who loved me
    183 
    184 prompt() {
    185   read -p '' -n 1 -r <&1
    186   if [[ $REPLY =~ ^[Qq]$ ]]; then
    187     exit 0
    188   fi
    189 }
    190 
    191 IFS="|"
    192 
    193 if [[ ! -z "$@" ]]; then
    194   for arg in "$@"; do
    195     echo $arg
    196     DATA=$(grep -E "$arg" <<< "$DATA")
    197   done
    198 
    199   if [[ -z "$DATA" ]]; then
    200     echo "no results"
    201     exit 1
    202   fi
    203 fi
    204 
    205 LOOP=true
    206 
    207 while $LOOP; do
    208 
    209   clear
    210 
    211   cont=$(shuf -n 1 <<< "$DATA")
    212 
    213   wd=$(cut -f 1 -d, <(echo -n "$cont"))
    214   ty=$(cut -f 2 -d, <(echo -n "$cont"))
    215 
    216   echo "$wd ($ty)"
    217 
    218   prompt
    219 
    220   echo "$(cut -f 6 -d, <<< "$cont")"
    221   echo
    222 
    223   echo "case:    $(cut -f 3 -d, <<< "$cont")"
    224   echo "gender:  $(cut -f 4 -d, <<< "$cont")"
    225   echo "number:  $(cut -f 5 -d, <<< "$cont")"
    226   echo "example: $(cut -f 7 -d, <<< "$cont")"
    227 
    228   prompt
    229 
    230 done