/** Grammatik: Matrikelnummer * erkennt Matrikelnummern * Top-Level Attribut & Rule : String Matrikel: * Syntax: natuerliche Zahlen, norm. 6 - 7 Stellen */ declarations { String Matrikel: , ; String Adigit: ; String Anatnum: , , , , ; } conceptset {} = { Matrikel := .Matrikel ; }; /* Matrikelnummer kann als Konkatenation der kleineren Zahlengruppen ausgesprochen werden: z.B. "5555555" kann ausgesprochen werden als "fünfundfünfzig fünfundfünfzig fünfundfünfzig fünf", "fünf fünf fünf fünf fünf fünf fünf", "fünfundfünfzig fünfundfünfzig fünfhundert fünfundfünfzig" */ = { Matrikel := .Adigit ~ .Matrikel ; } | { Matrikel :=.Anatnum ~ .Matrikel ; } | { Matrikel := .Anatnum ~ .Matrikel ;} | { Matrikel := .Adigit ; } | { Matrikel := .Anatnum ; } | { Matrikel := .Anatnum ; } ; // natuerliche Zahlen der Laenge 1: 0 bis 9 = null {Adigit := "0";} | eins {Adigit := "1";} | zwei {Adigit := "2";} | zwo {Adigit := "2";} | drei {Adigit := "3";} | vier {Adigit := "4";} | fünf {Adigit := "5";} | sechs {Adigit := "6";} | sieben {Adigit := "7";} | acht {Adigit := "8";} | neun {Adigit := "9";} ; // natuerliche Zahlen der Laenge 2: 10 bis 99 = zehn { Anatnum := "10"; } | elf { Anatnum := "11"; } | zwölf { Anatnum := "12"; } | dreizehn { Anatnum := "13"; } | vierzehn { Anatnum := "14"; } | fünfzehn { Anatnum := "15"; } | sechzehn { Anatnum := "16"; } | siebzehn { Anatnum := "17"; } | achtzehn { Anatnum := "18"; } | neunzehn { Anatnum := "19"; } | zwanzig { Anatnum := "20"; } | einundzwanzig { Anatnum := "21"; } | zweiundzwanzig { Anatnum := "22"; } | zwoundzwanzig { Anatnum := "22"; } | dreiundzwanzig { Anatnum := "23"; } | vierundzwanzig { Anatnum := "24"; } | fünfundzwanzig { Anatnum := "25"; } | sechsundzwanzig { Anatnum := "26"; } | siebenundzwanzig { Anatnum := "27"; } | achtundzwanzig { Anatnum := "28"; } | neunundzwanzig { Anatnum := "29"; } | dreißig { Anatnum := "30"; } | einunddreißig{ Anatnum := "31"; } | zweiunddreißig{ Anatnum := "32"; } | zwounddreißig { Anatnum := "32"; } | dreiunddreißig { Anatnum := "33"; } | vierunddreißig { Anatnum := "34"; } | fünfunddreißig { Anatnum := "35"; } | sechsunddreißig { Anatnum := "36"; } | siebenunddreißig { Anatnum := "37"; } | achtunddreißig { Anatnum := "38"; } | neununddreißig { Anatnum := "39"; } | vierzig { Anatnum := "40"; } | einundvierzig { Anatnum := "41"; } | zweiundvierzig { Anatnum := "42"; } | zwoundvierzig { Anatnum := "42"; } | dreiundvierzig { Anatnum := "43"; } | vierundvierzig { Anatnum := "44"; } | fünfundvierzig { Anatnum := "45"; } | sechsundvierzig { Anatnum := "46"; } | siebenundvierzig { Anatnum := "47"; } | achtundvierzig { Anatnum := "48"; } | neunundvierzig{ Anatnum := "49"; } | fünfzig { Anatnum := "50"; } | einundfünfzig { Anatnum := "51"; } | zweiundfünfzig{ Anatnum := "52"; } | zwoundfünfzig { Anatnum := "52"; } | dreiundfünfzig { Anatnum := "53"; } | vierundfünfzig { Anatnum := "54"; } | fünfundfünfzig { Anatnum := "55"; } | sechsundfünfzig { Anatnum := "56"; } | siebenundfünfzig { Anatnum := "57"; } | achtundfünfzig { Anatnum := "58"; } | neunundfünfzig { Anatnum := "59"; } | sechzig { Anatnum := "60"; } | einundsechzig { Anatnum := "61"; } | zweiundsechzig { Anatnum := "62"; } | zwoundsechzig { Anatnum := "62"; } | dreiundsechzig { Anatnum := "63"; } | vierundsechzig { Anatnum := "64"; } | fünfundsechzig { Anatnum := "65"; } | sechsundsechzig { Anatnum := "66"; } | siebenundsechzig { Anatnum := "67"; } | achtundsechzig { Anatnum := "68"; } | neunundsechzig { Anatnum := "69"; } | siebzig { Anatnum := "70"; } | einundsiebzig { Anatnum := "71"; } | zweiundsiebzig { Anatnum := "72"; } | zwoundsiebzig { Anatnum := "72"; } | dreiundsiebzig { Anatnum := "73"; } | vierundsiebzig { Anatnum := "74"; } | fünfundsiebzig { Anatnum := "75"; } | sechsundsiebzig { Anatnum := "76"; } | siebenundsiebzig { Anatnum := "77"; } | achtundsiebzig { Anatnum := "78"; } | neunundsiebzig { Anatnum := "79"; } | achtzig { Anatnum := "80"; } | einundachtzig { Anatnum := "81"; } | zweiundachtzig { Anatnum := "82"; } | zwoundachtzig { Anatnum := "82"; } | dreiundachtzig { Anatnum := "83"; } | vierundachtzig { Anatnum := "84"; } | fünfundachtzig { Anatnum := "85"; } | sechsundachtzig { Anatnum := "86"; } | siebenundachtzig { Anatnum := "87"; } | achtundachtzig { Anatnum := "88"; } | neunundachtzig { Anatnum := "89"; } | neunzig { Anatnum := "90"; } | einundneunzig { Anatnum := "91"; } | zweiundneunzig { Anatnum := "92"; } | zwoundneunzig { Anatnum := "92"; } | dreiundneunzig { Anatnum := "93"; } | vierundneunzig { Anatnum := "94"; } | fünfundneunzig { Anatnum := "95"; } | sechsundneunzig { Anatnum := "96"; } | siebenundneunzig { Anatnum := "97"; } | achtundneunzig { Anatnum := "98"; } | neunundneunzig { Anatnum := "99"; } ; = zwei { Anatnum := "2";} | zwo { Anatnum := "2";} | drei { Anatnum := "3";} | vier { Anatnum := "4";} | fünf { Anatnum := "5";} | sechs { Anatnum := "6";} | sieben { Anatnum := "7";} | acht { Anatnum := "8";} | neun { Anatnum := "9";} ; // benutzt in Hunderten, z.B. 300, 356, 901 = ein { Anatnum := "1";} | { Anatnum := .Anatnum;} ; // fuer ganze Hunderte = hundert { Anatnum := "100"; } | hundert { Anatnum := .Anatnum ~ "00"; }; // natuerliche Zahlen der Laenge 3: 100 bis 999 = { Anatnum := .Anatnum; } | hundert [und] { Anatnum := "1" ~ .Anatnum; } | hundert [und] { Anatnum := "10" ~ .Adigit; } | hundert [und] { Anatnum := .Anatnum ~ .Anatnum; } | hundert [und] { Anatnum := .Anatnum ~ "0" ~ .Adigit; } ;