EnglishFrenchSpanyol

Ad


Favicon OnWorks

cpphs - Dalam talian dalam Awan

Jalankan cpphs dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan cpphs yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


cpphs - prapemproses cpp-a-like meliberalisasikan untuk Haskell

SINOPSIS


cpphs [NAMA FAIL|OPTION]...

DESCRIPTION


cpphs adalah pelaksanaan semula yang diliberalisasikan cpp (1), pra-pemproses C, dalam dan untuk
Haskell.

Mengapa melaksanakan semula cpp? Betul atau salah, pra-pemproses C digunakan secara meluas dalam Haskell
kod sumber. Ia membolehkan kompilasi bersyarat untuk penyusun yang berbeza, berbeza
versi pengkompil yang sama, dan platform OS yang berbeza. Ia juga kadang-kadang digunakan
untuk bahasa makronya, yang boleh membolehkan bentuk butiran khusus platform tertentu-
pengisian, seperti penjanaan boilerplate yang membosankan bagi definisi contoh dan FFI
pengisytiharan. Walau bagaimanapun, terdapat dua masalah dengan cpp, selain daripada estetika yang jelas
satu:

Untuk sesetengah sistem Haskell, terutamanya Hugs pada Windows, cpp benar tidak tersedia oleh
lalai.

Malah untuk sistem Haskell yang lain, cpp biasa disediakan oleh siri gcc 3.x
sedang berubah secara halus dalam cara yang tidak serasi dengan sintaks Haskell. Di sana ada
selalu bermasalah dengan, contohnya, jurang rentetan dan aksara utama dalam
pengecam. Masalah-masalah ini hanya akan menjadi lebih teruk.

Jadi, nampaknya betul untuk cuba menyediakan alternatif kepada cpp, kedua-duanya lebih serasi dengannya
Haskell, dan dirinya sendiri ditulis dalam Haskell supaya ia boleh diedarkan dengan penyusun.

cpphs adalah ciri-ciri yang cukup lengkap, dan serasi dengan -tradisional gaya cpp.
Ia mempunyai dua mod:

kompilasi bersyarat sahaja (--nomacro),

dan pengembangan makro penuh (lalai).

In --nomacro mod, cpphs hanya melakukan tindakan penyusunan bersyarat, iaitu #include,
#jika's, dan #ifdef's diproses mengikut definisi penggantian teks (kedua-dua arahan-
talian dan dalaman), tetapi tiada pengembangan makro berparameter dilakukan. Sepenuhnya
mod keserasian (lalai), penggantian teks dan pengembangan makro juga
diproses dalam kandungan teks bukan cpp yang tinggal.

Ciri-ciri Kerja:

#ifdef kompilasi bersyarat mudah

#jika bahasa boolean penuh takrif(), &&, ||, ==, dsb.

#elif syarat berantai

#tentukan
takrifan dalam talian (penggantian teks dan makro)

#undef pembatalan takrifan dalam talian

#include
kemasukan fail

#garisan arahan nombor baris

\n sambungan talian dalam semua # arahan

/ ** / catenation token dalam definisi makro

## Katenasi token gaya ANSI

# Rentetan token gaya ANSI

__FAIL__
penggantian teks khas untuk mesej ralat DIY

__LINE__
penggantian teks khas untuk mesej ralat DIY

__TARIKH__
penggantian teks khas

__MASA__
penggantian teks khas

Pengembangan makro adalah rekursif. Takrifan semula nama makro tidak menghasilkan amaran.
Makro boleh ditakrifkan pada baris arahan dengan -D sama seperti penggantian teks. Makro
nama dibenarkan untuk menjadi pengecam Haskell cth dengan prima ` dan backtick ´
aksara, yang lebih longgar sedikit daripada dalam C, tetapi mereka masih mungkin tidak termasuk operator
simbol.

Penomboran baris dalam output dikekalkan supaya mana-mana pemproses kemudian boleh memberi
mesej ralat yang bermakna. Apabila fail adalah #include'd, cpphs sisipan #garisan arahan untuk
sebab yang sama. Penomboran harus betul walaupun terdapat sambungan baris.
Sekiranya anda tidak mahu #garisan arahan dalam output akhir, gunakan --noline pilihan.

Sebarang ralat sintaks dalam arahan cpp memberikan mesej kepada stderr dan menghentikan program.
Kegagalan untuk mencari fail #include'd menghasilkan amaran kepada stderr, tetapi pemprosesan diteruskan.

Anda boleh memberikan sebarang bilangan nama fail pada baris arahan. Keputusan dikatenasikan pada
keluaran standard.

-Dsym tentukan penggantian teks (nilai lalai ialah 1)

-Dsym=val
mentakrifkan penggantian teks dengan nilai tertentu

-Ijalan tambahkan direktori pada laluan carian untuk #include's

-Ofail tentukan fail untuk output (lalai ialah stdout)

--nomacro
hanya proses #ifdef dan #include,
jangan kembangkan makro

--noline
keluarkan najis #garisan daripada output

--jalur
tukar komen gaya C kepada ruang putih, walaupun di luar
arahan cpp

--cincang
mengenali pengendali ANSI # stringise, dan ## untuk
katetasi token, dalam makro

- teks layan input sebagai teks biasa, bukan kod Haskell

--susun atur
mengekalkan baris baharu dalam pengembangan makro

--tak bercahaya
buang komen ala celik

--versi
laporkan nombor versi cpph dan hentikan

TIADA penggantian teks yang ditakrifkan secara lalai. (Cpp biasa biasanya mempunyai definisi
untuk mesin, OS, dll. Ini boleh ditambah dengan mudah pada kod sumber cpphs jika anda mahu.)
Laluan carian dicari mengikut urutan -I pilihan, kecuali bahawa direktori
memanggil fail, kemudian direktori semasa, sentiasa dicari dahulu. Sekali lagi, tidak ada
laluan carian lalai (dan sekali lagi, ini boleh ditukar dengan mudah).

PERBEZAAN DARIPADA CPP


Secara amnya, cpphs adalah berdasarkan kepada -tradisional tingkah laku, bukan ANSI C, dan mempunyai
berikutan perbezaan utama daripada cpp standard.

Umum

. # yang memperkenalkan sebarang arahan cpp mestilah dalam lajur pertama baris (sedangkan
ANSI membenarkan ruang kosong sebelum # ).

Menghasilkan #garisan n "nama fail" sintaks, bukan # n "nama fail" pelbagai.

Komen C hanya dialih keluar dari dalam arahan cpp. Mereka tidak dilucutkan daripada yang lain
teks. Pertimbangkan sebagai contoh bahawa dalam Haskell, semua yang berikut adalah pengendali yang sah
simbol: /* */ * / * Walau bagaimanapun, anda boleh menghidupkan pengalihan keluar C-komen dengan --jalur pilihan.

Makro bahasa

Menerima / ** / untuk penampalan token dalam definisi makro. Walau bagaimanapun, /* */ (dengan sebarang teks
antara komen buka/tutup) memasukkan ruang kosong.

ANSI ## pengendali penampal token tersedia dengan --cincang bendera. Ini untuk mengelak
salah tafsir mana-mana pengendali Haskell yang sah dengan nama yang sama.

Menggantikan parameter formal makro dengan yang sebenar, walaupun di dalam rentetan (double atau single
dipetik). Ini adalah tingkah laku tradisional, tidak disokong dalam ANSI.

Mengiktiraf # operator stringisation dalam definisi makro hanya jika anda menggunakan --cincang
pilihan. (Ia adalah tambahan ANSI, hanya diperlukan kerana rentetan yang dipetik (di atas) adalah
dilarang oleh ANSI.)

Mengekalkan ruang putih dalam definisi penggantian teks dengan tepat (modul baris baharu),
tetapi ruang depan dan belakang dihapuskan.

Mengekalkan ruang putih dalam definisi makro (dan mengekorinya) dengan tepat (modulo
baris baharu), tetapi ruang utama dihapuskan.

Mengekalkan ruang putih dalam argumen panggilan makro dengan tepat (termasuk baris baharu), tetapi mendahului
dan ruang belakang dihapuskan.

Dengan --susun atur pilihan, sambungan baris dalam penggantian teks atau definisi makro
dikekalkan sebagai pemisah talian dalam panggilan makro. (Berguna untuk kod sensitif reka letak dalam
Haskell.)

Gunakan cpphs dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

  • 1
    facetracknoir
    facetracknoir
    Program pengesanan kepala modular yang
    menyokong berbilang penjejak muka, penapis
    dan protokol permainan. Antara penjejak
    ialah SM FaceAPI, Ketua Inersia AIC
    Penjejak ...
    Muat turun facetracknoir
  • 2
    Kod QR PHP
    Kod QR PHP
    Kod QR PHP ialah sumber terbuka (LGPL)
    perpustakaan untuk menjana Kod QR,
    Kod bar 2 dimensi. Berdasarkan
    perpustakaan libqrencode C, menyediakan API untuk
    mencipta bar Kod QR...
    Muat turun Kod QR PHP
  • 3
    freeciv
    freeciv
    Freeciv ialah berasaskan giliran percuma
    permainan strategi berbilang pemain, di mana setiap
    pemain menjadi ketua a
    tamadun, berjuang untuk mendapatkan
    matlamat akhir: menjadi...
    Muat turun Freeciv
  • 4
    Kotak Pasir Cuckoo
    Kotak Pasir Cuckoo
    Kotak Pasir Cuckoo menggunakan komponen untuk
    memantau tingkah laku perisian hasad dalam a
    Persekitaran kotak pasir; terpencil daripada
    selebihnya sistem. Ia menawarkan automatik
    analisis o...
    Muat turun Kotak Pasir Cuckoo
  • 5
    LMS-YouTube
    LMS-YouTube
    Mainkan video YouTube pada LMS (pengalihan daripada
    Triode's to YouTbe API v3) Ini adalah
    aplikasi yang juga boleh diambil
    dari
    https://sourceforge.net/projects/lms-y...
    Muat turun LMS-YouTube
  • 6
    Yayasan Persembahan Windows
    Yayasan Persembahan Windows
    Yayasan Persembahan Windows (WPF)
    ialah rangka kerja UI untuk membina Windows
    aplikasi desktop. WPF menyokong a
    set luas pembangunan aplikasi
    ciri-ciri...
    Muat turun Windows Presentation Foundation
  • Lebih »

Arahan Linux

Ad