İngilizceFransızcaİspanyolca

OnWorks favicon'u

cpphs - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında cpphs çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen komut cpph'leridir.

Program:

ADI


cpphs - Haskell için serbestleştirilmiş cpp-a benzeri önişlemci

SİNOPSİS


cpph'ler [DOSYA ADI|SEÇENEK] ...

TANIM


cpph'ler liberalleştirilmiş bir yeniden uygulamasıdır. cpp (1) C ön işlemcisi, içinde ve için
Haskell.

Neden cpp'yi yeniden uygulamalısınız? Doğru veya yanlış, C ön işlemcisi Haskell'de yaygın olarak kullanılmaktadır.
kaynak kodu. Farklı derleyiciler için koşullu derleme sağlar, farklı
aynı derleyicinin sürümleri ve farklı işletim sistemi platformları. Ayrıca zaman zaman kullanılır
belirli platforma özgü ayrıntı biçimlerini etkinleştirebilen makro dili için
örnek tanımlarının ve FFI'nin sıkıcı standart oluşturma oluşturma gibi doldurma
beyanlar. Bununla birlikte, bariz estetiğin yanı sıra cpp ile ilgili iki sorun vardır.
olanlar:

Bazı Haskell sistemleri için, özellikle Windows'ta Hugs, gerçek bir cpp tarafından mevcut değildir.
Varsayılan.

Diğer Haskell sistemleri için bile, gcc 3.x serisi tarafından sağlanan ortak cpp
Haskell'in sözdizimi ile uyumlu olmayan şekillerde ustaca değişiyor. Orada var
her zaman örneğin, dize boşlukları ve asal karakterlerle ilgili sorunlar olmuştur.
tanımlayıcılar. Bu sorunlar sadece daha da kötüleşecek.

Bu nedenle, cpp'ye her ikisi de daha uyumlu olan bir alternatif sunmaya çalışmak doğru görünüyordu.
Haskell ve kendisi Haskell'de yazılmıştır, böylece derleyicilerle dağıtılabilir.

cpph'ler hemen hemen tüm özelliklerle uyumludur ve -geleneksel cpp tarzı.
İki modu vardır:

yalnızca koşullu derleme (--nomakro),

ve tam makro genişletme (varsayılan).

In --nomakro modunda cpph'ler yalnızca koşullu derleme eylemleri gerçekleştirir, yani #Dahil etmekVar,
#Eğer, ve #ifdef'ler metin değiştirme tanımlarına göre işlenir (her ikisi de komut-
satır ve dahili), ancak parametreli makro genişletme yapılmaz. Dolu
uyumluluk modu (varsayılan), metin değişiklikleri ve makro genişletmeler de
cpp olmayan metnin kalan gövdesinde işlenir.

Çalışma Özellikleri:

#ifdef basit koşullu derleme

#Eğer tanımlı(), &&, ||, ==, vb. öğelerin tam boole dili.

#elif zincirleme koşul cümleleri

#tanımlamak
satır içi tanımlar (metin değiştirmeler ve makrolar)

#undef tanımların satır içi iptali

#Dahil etmek
dosya eklenmesi

#hat satır numarası yönergeleri

\n # direktifin tamamında satır devamlılığı

/ ** / bir makro tanımı içinde belirteç dizilimi

## ANSI tarzı belirteç katantasyonu

# ANSI tarzı belirteç dizgeleştirme

__DOSYA__
DIY hata mesajları için özel metin değişimi

__HAT__
DIY hata mesajları için özel metin değişimi

__TARİH__
özel metin değiştirme

__ZAMAN__
özel metin değiştirme

Makro genişletme özyinelemelidir. Bir makro adının yeniden tanımlanması bir uyarı oluşturmaz.
Makrolar komut satırında şu şekilde tanımlanabilir: -D tıpkı metinsel değiştirmeler gibi. Makro
adların Haskell tanımlayıcıları olmasına izin verilir, örneğin asal ` ve ters tik ile
C'den biraz daha gevşek olan ancak yine de operatör içermeyebilirler
semboller.

Çıktıdaki satırların numaralandırılması, daha sonraki herhangi bir işlemcinin verebilmesi için korunur.
anlamlı hata mesajları. Bir dosya olduğunda #Dahil etmek'NS, cpph'ler uçlar #hat için direktifler
aynı neden. Numaralandırma, satır devamlarının varlığında bile doğru olmalıdır.
istemiyorsan #hat nihai çıktıdaki direktifler, --noline seçeneği.

cpp yönergelerindeki herhangi bir sözdizimi hatası, stderr'e bir mesaj verir ve programı durdurur.
#include'd dosyası bulunamaması, stderr için bir uyarı oluşturur, ancak işleme devam eder.

Komut satırında istediğiniz sayıda dosya adı verebilirsiniz. Sonuçlar
standart çıktı.

-Dsym metinsel bir değiştirme tanımlayın (varsayılan değer 1'dir)

-Dsym=val
belirli bir değere sahip metinsel bir değiştirme tanımlayın

-Iyol #include'lar için arama yoluna bir dizin ekleyin

-Odosya çıktı için bir dosya belirtin (varsayılan stdout'tur)

--nomakro
yalnızca #ifdef'leri ve #include'ları işleyin,
makroları genişletme

--noline
çıktıdan #line pisliklerini kaldırın

--şerit
C tarzı yorumları dışarıda bile boşluklara dönüştürün
cpp direktifleri

--karmalar
ANSI # stringise operatörünü ve ## için
makrolar içinde belirteç dizilimi

--Metin girişi Haskell kodu olarak değil, düz metin olarak ele alın

--Yerleşim
makro genişletmelerde yeni satırları koru

--yanık
okuryazar tarzı yorumları kaldır

--versiyon
cpph'lerin sürüm numarasını rapor et ve durdur

Varsayılan olarak tanımlanmış HİÇBİR metin değişikliği yoktur. (Normal cpp genellikle tanımlara sahiptir
makine, işletim sistemi vb. için. İsterseniz bunlar kolayca cpphs kaynak koduna eklenebilir.)
Arama yolu şu sırayla aranır: -I seçenekler, bunun dışında
çağıran dosya, ardından geçerli dizin her zaman önce aranır. Yine yok
varsayılan arama yolu (ve yine, bu kolayca değiştirilebilir).

FARKLILIKLARI DAN CPP


Genel olarak, cpphs, -geleneksel davranış, ANSI C değil ve
standart cpp'den aşağıdaki ana farklar.

genel

The # herhangi bir cpp yönergesini tanıtan, bir satırın ilk sütununda olmalıdır (oysa
ANSI, önce boşluk bırakılmasına izin verir # ).

üretir #hat n "Dosya" sözdizimi değil # n "Dosya" varyant.

C yorumları yalnızca cpp yönergelerinden kaldırılır. Diğerlerinden soyutlanmıyorlar
Metin. Örneğin, Haskell'de aşağıdakilerin hepsinin geçerli operatör olduğunu düşünün.
semboller: /* */ * / * Ancak, C-yorum kaldırmayı şuradan açabilirsiniz: --şerit seçeneği.

Makro dil

Kabul eder / ** / bir makro tanımında belirteç yapıştırma için. Yine de, /* */ (herhangi bir metinle
aç/kapat yorumu arasına) boşluk ekler.

ANSI ## belirteç yapıştırma operatörü ile kullanılabilir --karmalar bayrak. Bu önlemek için
aynı ada sahip herhangi bir geçerli Haskell operatörünü yanlış yorumlamak.

Bir dizgenin içinde bile (çift veya tekli) makro biçimsel parametresini gerçek ile değiştirir.
alıntı). Bu - geleneksel davranıştır, ANSI'de desteklenmez.

tanır # bir makro tanımında dizgileştirme operatörü, yalnızca --karmalar
seçenek. (Bu bir ANSI eklemesidir, yalnızca alıntılanan dizeleştirme (yukarıda)
ANSI tarafından yasaklanmıştır.)

Metinsel bir değiştirme tanımındaki boşlukları tam olarak korur (modulo yeni satırlar),
ancak önde gelen ve sondaki boşluk ortadan kalkar.

Bir makro tanımındaki (ve onu izleyen) boşlukları tam olarak korur (modulo
yeni satırlar), ancak baştaki boşluk elimine edilir.

Makro çağrı bağımsız değişkenleri içindeki boşlukları tam olarak korur (yeni satırlar dahil), ancak önde
ve sondaki boşluk ortadan kaldırılır.

İle --Yerleşim seçenek, metin değiştirme veya makro tanımındaki satır devamları
makro çağrısında satır sonları olarak korunur. (İçindeki düzene duyarlı kod için kullanışlıdır.
Haskell.)

onworks.net hizmetlerini kullanarak cpph'leri çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

  • 1
    paket dosya yöneticisi
    paket dosya yöneticisi
    Bu, Total War paketi dosya yöneticisidir.
    proje, sürüm 1.7'den başlayarak. A
    Warscape'e kısa bir giriş
    modlama: ...
    packfilemanager'ı indirin
  • 2
    IPerf2
    IPerf2
    Ölçmek için bir ağ trafiği aracı
    Metriklerle TCP ve UDP performansı
    hem verim hem de gecikme süresi civarında. NS
    hedefler aktif bir şekilde sürdürmeyi içerir
    iperf kodu...
    IPerf2'yi indirin
  • 3
    fre:ac - ücretsiz ses dönüştürücü
    fre:ac - ücretsiz ses dönüştürücü
    fre:ac ücretsiz bir ses dönüştürücü ve CD'dir
    çeşitli formatlar ve kodlayıcılar için ripper.
    MP3, MP4/M4A, WMA, Ogg özelliklerine sahiptir
    Vorbis, FLAC, AAC ve Bonk biçimi
    destek, ...
    fre:ac indir - ücretsiz ses dönüştürücü
  • 4
    matplotlib
    matplotlib
    Matplotlib kapsamlı bir kütüphanedir
    statik, hareketli ve
    Python'da etkileşimli görselleştirmeler.
    Matplotlib kolay şeyleri kolaylaştırır ve
    zor şey...
    Matplotlib'i indirin
  • 5
    Bot Adam
    Bot Adam
    Chatbot mantığınızı bir kez yazın ve
    mevcut olanlardan birine bağlayın
    Amazon dahil mesajlaşma servisleri
    Alexa, Facebook Messenger, Slack,
    Telgraf, hatta sen...
    BotMan'i indirin
  • 6
    Joplin
    Joplin
    Joplin ücretsiz ve açık bir kaynaktır
    not alma ve yapılacaklar uygulaması
    çok sayıda notu işleyebilir
    Markdown formatı, bunları organize edin
    defterler ve...
    İndir Joplin
  • Daha fazla »

Linux komutları

Ad