Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Computer Programspråk >> Content

    Skillnaden mellan vanlig grammatik och kontext-fri grammatik

    Grammatik betyder något helt annat för lingvister och dataprogrammerare än vad det gör för de flesta människor . Medan de flesta av oss tänker på grammatik som en uppsättning etikett regler för socialt acceptabelt språkbruk , lingvister och programmerare tänker på grammatik som något betydligt mer kraftfull : Den uppsättning regler som kan generera alla och alla möjliga uttryck i en given verklig eller konstgjord språk eller fragment av ett språk . Regelbundna och kontext - fria grammatiker är de två logiskt möjliga typer av grammatik och skiljer sig från varandra i de typer av regler som de tillåter och vilka typer av uttryck de kan producera . Origins

    lingvisten Noam Chomsky utvecklade begreppen kontext - fria och regelbundna grammatiker i hans 1959 arbete " På vissa formella egenskaper Grammars . " Han posited det finns flera grundläggande grammatiska former , vilka skiljer sig från varandra i fråga om komplexiteten i de språkliga uttrycken som de kan producera . Regelbundna grammatiker är enklare och mindre produktiva än kontext - fria grammatiker .
    Skillnaden mellan reglerna

    Regelbundna och kontext - fria grammatiker skiljer sig i de typer av regler som de tillåter . Reglerna för kontext - fria grammatiker tillåter möjliga meningar som kombinationer av orelaterade enskilda ord ( som Chomsky kallar " terminaler " ) och grupper av ord ( fraser , eller vad Chomsky kallar "icke - terminaler " ) . Context - grammatiker låta enskilda ord och fraser i valfri ordning och tillåta meningar med ett antal enskilda ord och fraser . Regelbundna grammatiker , å andra sidan , att endast enskilda ord tillsammans med en enda fras per mening . Dessutom måste fraser i reguljära grammatiker visas i samma position i varje mening eller en fras , som genereras av grammatiken .
    Structures

    Eftersom kontext - fria grammatiker göra ett större antal av regler än regelbundna grammatiker , kan de generera ett bredare spektrum av strukturer än vanliga grammatiker . Till exempel kan de innebär olika möjliga konstruktioner av fraser , t.ex. " en flicka från staden med pengar problem " ( här , kommer strukturerna varierar beroende på om " med pengar problem " beskriver staden eller flickan ) . Regelbundna grammatiker inte kan göra this.Rather , kan de genererar bara enkla uttryck som består av strängar av enstaka , strukturellt oberoende ord och eventuellt en större fras ( t.ex. " väldigt , väldigt smarta människor " ) .
    använder

    Context - grammatiker används i naturligt språk för att generera och analysera språkliga data eftersom de kan fånga många av kännetecknen för begreppet mänskligt språk , såsom deras potential för oändligt rekursiva strukturer . Regelbundna grammatiker , som genererar endast en delmängd av de uttryck för sammanhang - grammatiker , används också för behandling av naturligt språk . Men de kan replikera endast eller bearbeta korta och grammatiskt enkla språkliga uttryck , såsom korta uttryck som normalt återfinns i informell dialog .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur du gör din egen spel text äventyr
    ·Hur man skriver ett förfarande i Pascal
    ·Hur man gör en Marquee i ett begränsat område på en…
    ·Grunderna i SQL
    ·Hur Synkronisera till Changelist
    ·Hur man skriver ut en ekvation som en sträng
    ·Hur importerar jag Apps till Xcode
    ·Hur man skapar ett program som kommer att visa en kalen…
    ·Hur man gör en arbetsgrupp Trådram
    ·Hur man gör PC-spel
    Utvalda artiklarna
    ·Lägga till ett attribut till nod i C #
    ·Hur till utgång citattecken i VBS
    ·Hur man kompilerar ett C + + i Dev - C
    ·Hur konvertera en ansökan till en ActiveX-kontroll
    ·Hur man skriver ett program i Java som Ingångar ord på…
    ·Avinstallera ett program med PowerShell
    ·Skaffa läget av en lista i Python
    ·Hur Omvänd en kö i C + +
    ·Regular Expression Handledning för Python 2.5
    ·VTC Java Tutorial
    Copyright © Dator Kunskap http://www.dator.xyz