İngilizceFransızcaİspanyolca

Ad


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
    Facetracknoir
    Facetracknoir
    Modüler kafa takip programı
    çoklu yüz izleyicileri, filtreleri destekler
    ve oyun protokolleri. İzleyiciler arasında
    SM FaceAPI, AIC Atalet Başlığıdır
    izci...
    Facetracknoir'ı indirin
  • 2
    PHP QR Kodu
    PHP QR Kodu
    PHP QR Kodu açık kaynaktır (LGPL)
    QR Kodu oluşturmak için kütüphane,
    2 boyutlu barkod. Dayalı
    libqrencode C kitaplığı, API sağlar
    QR Kod çubuğu oluşturuluyor...
    PHP QR Kodunu İndirin
  • 3
    ücretsiz
    ücretsiz
    Freeciv ücretsiz bir sıra tabanlıdır.
    her birinin yer aldığı çok oyunculu strateji oyunu
    oyuncu bir lider olur
    medeniyeti elde etmek için savaşan
    nihai hedef: olmak...
    Freeciv'i indirin
  • 4
    Guguklu Sandbox
    Guguklu Sandbox
    Cuckoo Sandbox bileşenleri şu amaçlarla kullanır:
    kötü amaçlı yazılımın davranışını izlemek
    Sandbox ortamı; izole edilmiş
    sistemin geri kalanı. otomatik sunuyor
    analiz o...
    Cuckoo Sandbox'ı indirin
  • 5
    LMS-YouTube
    LMS-YouTube
    YouTube videosunu LMS'de oynatın (taşıma
    Triode'dan YouTbe'ye API v3) Bu
    ayrıca alınabilen bir uygulama
    itibaren
    https://sourceforge.net/projects/lms-y...
    LMS-YouTube'u indirin
  • 6
    Windows Sunum Vakfı
    Windows Sunum Vakfı
    Windows Sunum Vakfı (WPF)
    Windows oluşturmak için bir UI çerçevesidir
    masaüstü uygulamaları. WPF, bir
    geniş uygulama geliştirme seti
    özellikleri...
    Windows Sunum Vakfı'nı İndirin
  • Daha fazla »

Linux komutları

Ad