| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> Computer Programmeringssprog >> Content
    Hvad er betydningen af ​​unions regelmæssige og ikke -regulære sprog inden for feltteoretisk datalogi?
    I feltteoretisk datalogi er begrebet forening af regelmæssige og ikke-regulære sprog af flere grunde, primært fordi det fremhæver begrænsningerne i regelmæssige sprog og kraften i mere udtryksfulde formalismer. Her er en sammenbrud af betydningen:

    1. Demonstrerer grænserne for almindelige sprog:

    * Pumping af lemma: Regelmæssige sprog er kendetegnet ved pumpelemmaet. Dette lemma giver en måde at bevise, at visse sprog ikke * er * regelmæssige. Hvis et sprog kan påvises at krænke pumpe-lemmaet, er det påviseligt ikke-regelmæssigt.

    * Union med et almindeligt sprog kan ikke "regulere" et ikke-regulært sprog: Foreningen af ​​et almindeligt sprog med et ikke-regelmæssigt sprog er altid ikke-regelmæssigt . Dette skyldes, at hvis fagforeningen var regelmæssig, og du kunne tage krydset med komplementet til det almindelige sprog, ville du sidde med det originale ikke-regelmæssige sprog. Da regelmæssige sprog er lukket under kryds og komplement, ville dette modsige originalsprogets ikke-regularitet.

    * Illustrerende eksempler: Overvej det klassiske ikke-regelmæssige sprog L1 ={0 n 1 n | n ≥ 0} (strenge med lige antal 0s og 1s). Hvis du tager noget almindeligt sprog, skal du sige L2 ={0 * 1 * }, og Union It med L1 (L1 ∪ L2), det resulterende sprog vil stadig være ikke-regulært. Dette styrker, at regelmæssighed ikke er en egenskab, der kan "tilføjes" ved blot at kombinere med et andet almindeligt sprog. Den ikke-regularitet af L1 vil "inficere" fagforeningen.

    2. Illustrerende behovet for mere magtfulde formalismer:

    * ud over endelige statsmaskiner: Regelmæssige sprog kan genkendes af endelig statsautomat (FSA'er eller DFAS/NFA'er). Det faktum, at forening med et almindeligt sprog ikke "gør" til et ikke-regelmæssigt sprog, indebærer, at FSA'er ikke kan håndtere de kompleksiteter, der kræves for at genkende visse mønstre.

    * kontekstfrie sprog og videre: Når du støder på sprog som L1 (0 n 1 n ), du er klar over, at FSA'er er utilstrækkelige. Dette fører til overvejelse af kontekstfri grammatik (CFG'er) og Pushdown Automata (PDA'er). CFG'er kan generere, og PDA'er kan genkende sprog som L1. Yderligere kan du støde på kontekstfølsomme eller rekursivt antydelige sprog, der kræver grammatik, der er endnu mere magtfulde.

    * Hierarki af sprog: Konceptet passer inden for Chomsky -hierarkiet af formelle sprog:

    * Regelmæssige sprog (type 3): Anerkendt af FSAS. Genereret af almindelige grammatik.

    * kontekstfrie sprog (type 2): Anerkendt af PDA'er. Genereret af kontekstfri grammatik.

    * kontekstfølsomme sprog (type 1): Anerkendt af lineær afgrænset automata (LBA'er). Genereret af kontekstfølsomme grammatikker.

    * Rekursivt nævnte sprog (type 0): Anerkendt af Turing Machines (TMS). Genereret af ubegrænset grammatikker.

    Foreningen af ​​et regelmæssigt og ikke-regelmæssigt sprog understreger, at du træder * ud * af den almindelige sprogkategori og ind i et af de højere niveauer af hierarkiet.

    3. Praktiske implikationer i kompilatordesign og parsing:

    * leksikalsk analyse: Kompilatorer bruger ofte regelmæssige udtryk (som definerer regelmæssige sprog) til leksikalsk analyse (scanning af kildekoden og brud på tokens som identifikatorer, nøgleord og operatører).

    * Syntaksanalyse: Syntaks for de fleste programmeringssprog er * ikke * regelmæssig. Kontekstfri grammatik (CFG'er) bruges til parsing (kontrol af kodens struktur mod grammatikken).

    * Anerkendelse og håndteringsfejl: I kompilatordesign kan der være tilfælde, hvor du har brug for at kombinere regelmæssige udtryk med mere komplekse parsing -regler. At forstå begrænsningerne i regelmæssige sprog hjælper dig med at vælge de rigtige værktøjer og teknikker til forskellige faser af samlingen. For eksempel, hvis du prøver at håndhæve en kontekstfølsom regel ved hjælp af kun regelmæssige udtryk, vil du mislykkes. Du har brug for en mere kraftfuld parsingmekanisme.

    4. Undecidability:

    * Nogle problemer, der involverer fagforeninger med regelmæssige og ikke-regulære sprog, bliver ubestridelige. For eksempel er det at bestemme, om foreningen af ​​et almindeligt sprog og et Turing-genkendeligt sprog er, at sættet af alle mulige strenge kan være ubestridelige. Dette understreger kompleksiteten og begrænsningerne i beregningen.

    Kortfattet:

    Betydningen af ​​at forening af regelmæssige og ikke-regulære sprog inden for feltteoretisk datalogi ligger i dens evne til at:

    * Demonstrer tydeligt begrænsningerne i regelmæssige sprog og endelig tilstandsautomat.

    * Motiver behovet for mere kraftfulde formalismer som kontekstfri grammatik og Turing-maskiner.

    * Giv en konkret forståelse af Chomsky -hierarkiet.

    * Informer designet til kompilatorer og parsere.

    * Fremhæv begrebet unødelighed i visse beregningsproblemer.

    Ved at udforske disse fagforeninger får vi en dybere påskønnelse af den udtryksfulde kraft og begrænsninger af forskellige beregningsmodeller og de typer problemer, de effektivt kan løse.

    Forrige :

    næste :
      Relaterede artikler
    ·Hvorvidt c sprog er systemsoftware eller applikationsso…
    ·Hvordan udføres computerkodning? 
    ·Hvad er en computerkompilator, og hvordan fungerer den …
    ·Hvad er rektor for programmeringssprog? 
    ·Hvilke ord, som et programmeringssprog har afsat til eg…
    ·Sådan Set Form Værdier i en NET Windows Forms Applica…
    ·Hvad er de logiske data Entity Begreber 
    ·Hvordan til at afkode fejlkorrigerende koder via lineæ…
    ·Hvilket program kan oversætte mnemoniske koder, der br…
    ·Sådan opdaterer Vælg T-SQL 
      Anbefalede Artikler
    ·Sådan tilføjes Controls til Google Maps API 
    ·Sådan Pass data fra en form til en Query Access 
    ·Hvordan installerer du PHP? 
    ·Sådan Tilføj rækker til DataView 
    ·Sådan Indsæt i en tre- dimensionelle array ved hjælp…
    ·Sådan Clear & Udfylde lister i Visual Basic 2010 
    ·Sådan får du den celle-ID Placering af GSM -netværke…
    ·Sådan oprettes PDF-filer med PHP 
    ·Sådan Tag et skærmbillede i Java 
    ·Sådan oprettes en fil Upload Rutinemæssig i PHP 
    Copyright © Computer Viden https://www.computerdk.com