Digrafi (C-kielet)

Digrafi ( C -  kieliperheessä ) on kahden tai useamman merkin sarja, jonka kääntäjä tulkitsee yhdeksi tai useammaksi merkiksi. Toisin kuin trigrafit , esiprosessorin digraafin korvaaminen suoritetaan leksikaalisen analyysin jälkeen ja vain, jos digraafi on yksi merkki.

Historia

Digrafit on lisätty C90-kieleen (ISO/IEC 9899:1990) tarkistuksella "Amendment one". Muutos yksi hyväksyttiin vuonna 1994, hyväksyttiin vuonna 1995 ja sisällytettiin C99-standardiin (ISO/IEC 9899:1999) vuonna 1999.

Digraafien taulukko C

C - kääntäjä tukee seuraavia viittä digrafiaa , jotka on kuvattu C99-standardissa [1] .

Digraph Vastaava symboli
<: [
:> ]
<% {
%> }
%: #

C++-digraafitaulukko

C++-kielistandardi kutsuu digrafeja paitsi kahden merkin sarjoja ja tunnistaa [2] , että tällainen termi on virheellinen.

C++-kieli tukee kaikkia C-kampaajia ja trigrafioita sekä seuraavan taulukon digrafeja.

Digraph Vastaava sekvenssi
%:%: ##
ja &&
bitor |
tai ||
xor ^
kompl ~
bitand &
ja_eq &=
or_eq |=
xor_eq ^=
ei !
not_eq !=

Luetteloidut digrafit, paitsi " %:%:", ovat saatavilla C-kielellä vakioina #define. Vakiot on määritelty otsikkotiedostossa " <iso646.h>", joka sisältyy ISO-standardin C-täydennykseen "Normative addendum 1" vuodelta 1995. Yhteensopivuuden säilyttämiseksi C:n kanssa C++-standardi määrittelee tyhjän otsikkotiedoston " <ciso646>".

Esimerkkejä

Koodi

%: määrittele lainaus ( x ) %: x lainaus ( x )

digrafien korvaamisen jälkeen tulee

# määrittele lainaus( x ) # x lainaus ( x )

ja makron vaihtamisen jälkeen siitä tulee

"x"

Koodi

%: määrittele S "%:" S

digrafien korvaamisen jälkeen tulee

# määrittelee S "%:" S

ja makron vaihtamisen jälkeen siitä tulee

"%:"

Katso myös

Muistiinpanot

  1. Paljon C-merkkejä Arkistoitu 20. tammikuuta 2012 Wayback Machinessa 
  2. Arkistoitu kopio . Haettu 18. marraskuuta 2014. Arkistoitu alkuperäisestä 8. toukokuuta 2019.