InglesPransesEspanyol

OnWorks favicon

cpphs-hugs - Online sa Cloud

Magpatakbo ng cpphs-hugs sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command na cpphs-hugs na maaaring patakbuhin sa OnWorks free hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


cpphs - liberalisadong cpp-a-like preprocessor para sa Haskell

SINOPSIS


cpphs [FILENAME|OPTION] ...

DESCRIPTION


cpphs ay isang liberalisadong muling pagpapatupad ng cpp Na (1), ang C pre-processor, sa at para sa
Haskell.

Bakit muling ipatupad ang cpp? Tama man o mali, ang C pre-processor ay malawakang ginagamit sa Haskell
source code. Nagbibigay-daan ito sa conditional compilation para sa iba't ibang compiler, iba
mga bersyon ng parehong compiler, at iba't ibang mga platform ng OS. Ginagamit din ito paminsan-minsan
para sa macro language nito, na maaaring paganahin ang ilang mga anyo ng detalyeng partikular sa platform-
pagpuno, tulad ng nakakapagod na pagbuo ng boilerplate ng mga kahulugan ng halimbawa at FFI
mga deklarasyon. Gayunpaman, mayroong dalawang problema sa cpp, bukod sa halatang aesthetic
mga:

Para sa ilang mga sistema ng Haskell, lalo na ang Hugs sa Windows, ang isang tunay na cpp ay hindi magagamit ng
default.

Kahit na para sa iba pang mga Haskell system, ang karaniwang cpp na ibinigay ng gcc 3.x series
ay bahagyang nagbabago sa mga paraan na hindi tugma sa syntax ng Haskell. meron
palaging problema sa, halimbawa, string gaps, at pangunahing mga character sa
mga identifier. Ang mga problemang ito ay lalala lamang.

Kaya, tila tama na subukang magbigay ng alternatibo sa cpp, na parehong mas tugma sa
Haskell, at mismong nakasulat sa Haskell upang maipamahagi ito sa mga compiler.

cpphs ay medyo kumpleto ang tampok, at tugma sa -tradisyonal estilo ng cpp.
Mayroon itong dalawang mga mode:

conditional compilation lamang (--nomacro),

at buong macro-expansion (default).

In --nomacro fashion, cpphs gumaganap lamang ng mga pagkilos na may kondisyong pagsasama-sama, ibig sabihin # isamaay,
#kung's, at #ifdef's ay pinoproseso ayon sa mga kahulugan ng pagpapalit ng teksto (parehong command-
linya at panloob), ngunit walang ginawang parameterised macro expansion. nang buo
compatibility mode (ang default), textual na kapalit at macro expansion ay din
naproseso sa natitirang katawan ng hindi-cpp na teksto.

Paggawa Mga Tampok:

#ifdef simpleng conditional compilation

#kung ang buong boolean na wika ng tinukoy (), &&, ||, ==, atbp.

#elif nakakadena na kondisyon

# tukuyin
mga in-line na kahulugan (mga pagpapalit ng text at macro)

#undef in-line na pagbawi ng mga kahulugan

# isama
pagsasama ng file

#linya mga direktiba ng numero ng linya

\n mga pagpapatuloy ng linya sa lahat ng # na direktiba

/ ** / token catenation sa loob ng macro definition

## ANSI-style token catenation

# ANSI-style token stringisation

__FILE__
espesyal na kapalit ng text para sa DIY error messages

__LINE__
espesyal na kapalit ng text para sa DIY error messages

__DATE__
espesyal na pagpapalit ng teksto

__TIME__
espesyal na pagpapalit ng teksto

Ang macro expansion ay recursive. Ang redefinition ng isang macro name ay hindi bumubuo ng babala.
Maaaring tukuyin ang mga macro sa command-line na may -D parang textual na kapalit lang. Macro
pinahihintulutan ang mga pangalan na maging Haskell identifier eg may prime ` at backtick ´
mga character, na bahagyang mas maluwag kaysa sa C, ngunit maaaring hindi pa rin sila kasama ang operator
mga simbolo.

Ang pagbilang ng mga linya sa output ay pinapanatili upang ang anumang susunod na processor ay makapagbigay
makabuluhang mensahe ng error. Kapag ang isang file ay # isama'd, cpphs pagsingit #linya mga direktiba para sa
ang parehong dahilan. Dapat na tama ang pagnunumero kahit na may mga pagpapatuloy ng linya.
Kung ayaw mo #linya mga direktiba sa huling output, gamitin ang --noline pagpipilian.

Ang anumang mga error sa syntax sa mga direktiba ng cpp ay nagbibigay ng mensahe sa stderr at huminto sa programa.
Ang pagkabigong makahanap ng #include'd file ay nagdudulot ng babala sa stderr, ngunit nagpapatuloy ang pagproseso.

Maaari kang magbigay ng anumang bilang ng mga filename sa command-line. Ang mga resulta ay nakatakda sa
karaniwang output.

-Dsym tukuyin ang isang textual na kapalit (default na halaga ay 1)

-Dsym=Val
tukuyin ang isang textual na kapalit na may isang tiyak na halaga

-Ilandas magdagdag ng direktoryo sa path ng paghahanap para sa #include's

-Ofile tukuyin ang isang file para sa output (default ay stdout)

--nomacro
iproseso lamang ang #ifdef's at #include's,
huwag palawakin ang mga macro

--noline
alisin ang #line droppings mula sa output

--strip
i-convert ang C-style na mga komento sa whitespace, kahit sa labas
mga direktiba ng cpp

--hashes
kilalanin ang ANSI # stringise operator, at ## para sa
token catenation, sa loob ng macros

--text ituring ang input bilang plain text, hindi Haskell code

--layout
panatilihin ang mga bagong linya sa loob ng mga macro expansion

--walang liwanag
alisin ang literate-style na mga komento

--bersyon
iulat ang numero ng bersyon ng mga cpph at huminto

WALANG textual na kapalit na tinukoy bilang default. (Ang normal na cpp ay karaniwang may mga kahulugan
para sa makina, OS, atbp. Ang mga ito ay madaling maidagdag sa cpphs source code kung gusto mo.)
Hinahanap ang path ng paghahanap sa pagkakasunud-sunod ng -I mga pagpipilian, maliban na ang direktoryo ng
calling file, pagkatapos ay ang kasalukuyang direktoryo, ay palaging hinahanap muna. Muli, wala
default na landas sa paghahanap (at muli, madali itong mabago).

Mga pagkakaiba-iba MULA SA CPP


Sa pangkalahatan, ang mga cpph ay batay sa -tradisyonal pag-uugali, hindi ANSI C, at mayroong
sumusunod sa mga pangunahing pagkakaiba mula sa karaniwang cpp.

Pangkalahatan

Ang # na nagpapakilala ng anumang direktiba ng cpp ay dapat nasa unang column ng isang linya (samantalang
Pinahihintulutan ng ANSI ang whitespace bago ang # ).

Bumubuo ng #linya n "filename"syntax, hindi ang # n "filename"variant.

Ang mga komentong C ay inaalis lamang sa loob ng mga direktiba ng cpp. Hindi sila nahubaran sa iba
text. Isaalang-alang halimbawa na sa Haskell, lahat ng sumusunod ay wastong operator
simbolo: /* */ * / * Gayunpaman, maaari mong i-on ang pag-alis ng C-comment gamit ang --strip pagpipilian.

Macro wika

Tumatanggap / ** / para sa token-paste sa isang macro definition. gayunpaman, /* */ (kasama ang anumang teksto
sa pagitan ng open/close comment) ay naglalagay ng whitespace.

Ang ANSI ## Ang operator ng token-paste ay magagamit sa --hashes bandila. Ito ay upang maiwasan
misinterpreting anumang wastong Haskell operator na may parehong pangalan.

Pinapalitan ang isang macro na pormal na parameter ng aktwal, kahit na sa loob ng isang string (doble o single
sinipi). Ito ay -tradisyonal na pag-uugali, hindi suportado sa ANSI.

Kinikilala ang # stringisation operator sa isang macro definition lang kung gagamitin mo ang --hashes
opsyon. (Ito ay isang karagdagan ng ANSI, kailangan lamang dahil ang naka-quote na stringisation (sa itaas) ay
ipinagbabawal ng ANSI.)

Pinapanatili nang eksakto ang whitespace sa loob ng isang textual na kapalit na kahulugan (modulo newlines),
ngunit ang nangunguna at sumusunod na espasyo ay inalis.

Pinapanatili ang whitespace sa loob ng isang macro definition (at sumusunod dito) nang eksakto (modulo
newlines), ngunit ang nangungunang espasyo ay inalis.

Pinapanatili ang whitespace sa loob ng mga argumento ng macro call nang eksakto (kabilang ang mga bagong linya), ngunit nangunguna
at ang trailing space ay inalis.

Kasama ang --layout opsyon, mga pagpapatuloy ng linya sa isang textual na kapalit o macro definition
ay pinapanatili bilang mga line-break sa macro call. (Kapaki-pakinabang para sa layout-sensitive na code sa
Haskell.)

Gumamit ng cpphs-hugs online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    Tagapamahala ng PAC
    Tagapamahala ng PAC
    Ang PAC ay isang Perl/GTK na kapalit para sa
    SecureCRT/Putty/etc (linux
    ssh/telnet/... gui)... Nagbibigay ito ng GUI
    upang i-configure ang mga koneksyon: mga user,
    mga password, EXPECT na regulasyon...
    I-download ang PAC Manager
  • 2
    GeoServer
    GeoServer
    Ang GeoServer ay isang open-source na software
    server na nakasulat sa Java na nagpapahintulot sa mga user
    upang ibahagi at i-edit ang geospatial na data.
    Idinisenyo para sa interoperability, ito
    naglalathala ng...
    I-download ang GeoServer
  • 3
    Alitaptap III
    Alitaptap III
    Isang libre at open-source na personal na pananalapi
    manager. Mga tampok ng Alitaptap III a
    double-entry bookkeeping system. Kaya mo
    mabilis na pumasok at ayusin ang iyong
    mga transaksyon i...
    I-download ang Alitaptap III
  • 4
    Mga Extension ng Apache OpenOffice
    Mga Extension ng Apache OpenOffice
    Ang opisyal na katalogo ng Apache
    Mga extension ng OpenOffice. Mahahanap mo
    mga extension mula sa mga diksyunaryo hanggang
    mga tool para mag-import ng mga PDF file at para kumonekta
    may ext...
    I-download ang Apache OpenOffice Extension
  • 5
    MantisBT
    MantisBT
    Ang Mantis ay isang madaling ma-deploy, web
    nakabatay sa bugtracker upang tulungan ang bug ng produkto
    pagsubaybay. Nangangailangan ito ng PHP, MySQL at a
    web server. Tingnan ang aming demo at naka-host
    nag-aalok...
    I-download ang MantisBT
  • 6
    LAN Messenger
    LAN Messenger
    Ang LAN Messenger ay isang p2p chat application
    para sa intranet na komunikasyon at hindi
    nangangailangan ng isang server. Isang iba't ibang mga madaling gamiting
    mga tampok ay suportado kasama ang
    abiso...
    I-download ang LAN Messenger
  • Marami pa »

Linux command

  • 1
    abidw
    abidw
    abidw - i-serialize ang ABI ng isang ELF
    Ang file na abidw ay nagbabasa ng isang nakabahaging aklatan sa ELF
    format at naglalabas ng representasyong XML
    ng ABI nito sa karaniwang output. Ang
    pinalabas...
    Takbo ng abidw
  • 2
    abilint
    abilint
    abilint - patunayan ang isang abigail ABI
    representasyon abilint parses the native
    XML na representasyon ng isang ABI bilang inilabas
    ni abidw. Kapag na-parse na nito ang XML
    kumatawan...
    Tumakbo abilint
  • 3
    coresendmsg
    coresendmsg
    coresendmsg - magpadala ng mensahe ng CORE API
    sa core-daemon na daemon ...
    Patakbuhin ang coresendmsg
  • 4
    core_server
    core_server
    core_server - Ang pangunahing server para sa
    SpamBayes. DESCRIPTION: Kasalukuyang nagsisilbi
    ang web interface lamang. Naka-plug in
    Ang mga tagapakinig para sa iba't ibang mga protocol ay TBD.
    Ito ...
    Patakbuhin ang core_server
  • 5
    fwflash
    fwflash
    fwflash - programa upang mag-flash ng file ng imahe
    sa isang konektadong NXT device...
    Patakbuhin ang fwflash
  • 6
    fwts-collect
    fwts-collect
    fwts-collect - mangolekta ng mga log para sa fwts
    pag-uulat ng bug. ...
    Patakbuhin ang fwts-collect
  • Marami pa »

Ad