Digráf (C nyelvek)

A digráf (a C nyelvcsaládban ) két vagy több karakterből álló sorozat, amelyet a fordító egy vagy több karakterként értelmez. Ellentétben a trigráfokkal , a digráfok előfeldolgozó általi helyettesítése lexikális elemzés után történik, és csak akkor, ha a digráf egyetlen token.  

Történelem

A digráfusokat a C90 nyelvbe (ISO/IEC 9899:1990) az „1. ​​módosítás” vezeti be. Az első módosítást 1994-ben hagyták jóvá, 1995-ben fogadták el, és 1999-ben bekerült a C99 szabványba (ISO/IEC 9899:1999).

Digráfok táblázata C

A C fordító a következő öt digráfot támogatja , amelyeket a C99 szabvány [1] ír le .

Kétjegyű mássalhangzó Egyenértékű szimbólum
<: [
:> ]
<% {
%> }
%: #

C++ digráf táblázat

A C++ nyelvi szabvány nem csak két karakterből álló sorozatokat hív meg digráfokat, és felismeri [2] , hogy egy ilyen kifejezés helytelen.

A C++ nyelv támogatja az összes C-digráfot és trigráfot , valamint a következő táblázatban szereplő digráfusokat.

Kétjegyű mássalhangzó Egyenértékű sorrend
%:%: ##
és &&
bitor |
vagy ||
xor ^
kompl ~
bitand &
and_eq &=
or_eq |=
xor_eq ^=
nem !
not_eq !=

A felsorolt ​​digráfok a " " kivételével %:%:a C nyelven konstansként állnak rendelkezésre #define. <iso646.h>A konstansok az 1995-től származó "Normative addendum 1" ISO szabvány C kiegészítésében található " " fejlécfájlban vannak meghatározva . A C-vel való kompatibilitás megőrzése érdekében a C++ szabvány egy üres " " fejlécfájlt határoz meg <ciso646>.

Példák

A kód

%: idézet meghatározása ( x ) %: x idézet ( x )

digráfok behelyettesítése után válik

# idézet meghatározása ( x ) # x idézet ( x )

és a makró cseréje után azzá válik

"x"

A kód

%: definiálja S "%:" S

digráfok behelyettesítése után válik

# definiálja S "%:" S-t

és a makró cseréje után azzá válik

"%:"

Lásd még

Jegyzetek

  1. Sok C karakter archiválva : 2012. január 20. a Wayback Machine -nél 
  2. Archivált másolat . Letöltve: 2014. november 18. Az eredetiből archiválva : 2019. május 8.