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.
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.
C - kääntäjä tukee seuraavia viittä digrafiaa , jotka on kuvattu C99-standardissa [1] .
Digraph | Vastaava symboli |
---|---|
<: | [ |
:> | ] |
<% | { |
%> | } |
%: | # |
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>".
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 "%:" Sdigrafien korvaamisen jälkeen tulee
# määrittelee S "%:" Sja makron vaihtamisen jälkeen siitä tulee
"%:"