GoGPT Best VPN GoSearch

OnWorks favicon'u

otags - 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 otag'leri çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü 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 otag'larıdır.

Program:

ADI


otags - OCaml kaynaklarından emacs ve vi/vim için etiket dosyaları oluşturun

SİNOPSİS


otaglar [STATİK-SEÇENEK] ... [DOSYA] ... [DİNAMİK SEÇENEK] ... [DOSYA] ...

AÇIKLAMA


otaglar üretir Etiketler için dosyalar emacs ve etiketler için dosyalar vi/gayret bu editörlere
doğrudan işlev ve değer tanımlarına atlama yeteneği (kullanım M-. Emacs'ta ve ^] in
vi[m] imleç sembol üzerindeyken).

otaglar kullanım camlp4 ayrıştırmak için. Bu, normal ifadeye dayalı etiketlemeden daha kesindir.
Olumsuz yönde otaglar yalnızca sözdizimsel olarak doğru dosyaları etiketleyebilir. Üstelik, otaglar is
OCaml sürüme özel: Derlenecek kaynaklar OCaml versiyon XY genel olarak olabilir,
sadece etiketlenmek otaglar versiyon XY.

otaglar tüm dosyaları etiketleyebilir camlp4 ayrıştırabilir. dahili olarak otaglar bir tutar akım ayrıştırıcı
liste seçeneklerle değiştirilebilir -pc (listeyi temizle), -pa (listeye ekleyin) ve -pr
(Varsayılana sıfırla). Varsayılan değer akım ayrıştırıcı liste standarda karşılık gelir
OCaml sözdizimi (ayrıştırıcıları içeren r ve o, bkz. STANDART CAMLP4 AYRIŞTIRMA UZANTILARI
aşağıda). Her kaynak dosya bir camlp4 tüm ayrıştırma uzantılarının içinde bulunduğu ayrıştırıcı
itibaren akım ayrıştırıcı liste yüklenmiştir. NS camlp4 standart ayrıştırıcılar bağlantılıdır
otaglar ve eğer akım ayrıştırıcı liste yalnızca bu tür ayrıştırıcıları içerir, ardından ayrıştırma modülü
dahili olarak inşa edin. Aksi takdirde harici bir camlp4 süreç başlatılır.

otaglar infix operatörleri dahil olmak üzere yapılardaki ve imzalardaki tüm üst düzey öğeleri etiketler ve
iç içe modüller ve imzalar. Ayrıca sınıflardaki örnek değişkenleri ve yöntemleri etiketler ve
sınıf türleri. dosya adları DOSYA varsa, komut satırında arabirimler olarak ayrıştırılır.
.mli soneki ve varsa uygulama olarak .ml son ek. (Ayrıca bkz. dinamik
seçenekleri -intf ve -uygulama.)

otaglar bir dizin ağacındaki tüm dosyaları etiketleyebilir (eğer isteğe bağlıysa) -r verilmiş). olan dosyalar
tarafından oluşturuldu ocamllex or ocamlyacc veya ön işleme gerektiren camlp4 makro
Ancak ayrıştırıcı, bu araçların çalıştırıldığı dizinde etiketlenmelidir.
Bunun nedeni, satır yönergelerinin ocamllex ve ocamlyacc oluşturulan dosyalara koy
oluşturma işleminin geçerli çalışma dizinine göredir. İçin camlp4
makro ayrıştırıcı bir DAHİL direktif mevcut çalışma ile ilgili olarak çözülebilir
dizini camlp4 işlem. Bu nedenle, bu tür dosyaları farklı bir yerden etiketlerseniz
dizinde bir hata mesajı alacaksınız.

Tüm dizin ağaçlarını özyinelemeli olarak etiketlerken, aşağıdakilerden istisnalar belirtilebilir:
akım ayrıştırıcı liste ayrıştırıcı ipuçları dosyasında veya dizin ağacında, seçeneğe bakın -ayrıştırıcı-ipuçları ve
AYRIŞTIRMA İPUÇLARI DOSYALARI aşağıdadır.

Etiket dosyaları, mutlak ve/veya göreli dosya adları içerebilir. Otag'lar dosya adlarını kullanır
etiketler dosyası için komut satırı. Komut satırında göreli dosya adlarını belirtme
bu nedenle size ilgili dosya adlarına sahip bir etiket dosyası verecektir. Açıkçası, bir etiket dosyası ile
göreli dosya adları, yalnızca bulunduğu dizinde bulunuyorsa çalışır. otaglar oldu
başladı. Otag'lar bir ebeveyne göreli dosya adlarına sahip bir etiket dosyası yazmayı destekler
seçenek aracılığıyla dizin -yol ekle, aşağıdaki ÖRNEKLER'e bakın.

STATİK SEÇENEKLER


Statik seçenekler, programdaki konumlarından bağımsız olarak tüm program akışında etkili olur.
Komut satırı.

-r Dizinlere inin. Bu seçenekle, eğer biri DOSYA argümanlar bir
rehber otaglar bu dizin ağacındaki tüm dosyaları özyinelemeli olarak etiketleyecektir.

-o dosyası
Etiketleri şuraya yaz: dosya. Varsayılan, Etiketler (için emacs) Ve etiketler için vi (Eğer -vi
seçeneği verilir) geçerli dizinde. Eğer dosya bir çizgidir ( - ) etiketler
standart çıktıya yazılır.

-a Mevcut bir TAGS dosyasına ekleyin (yalnızca emacs TAGS dosyaları için çalışır).

-vi için etiketler oluşturun vi ve varsayılan çıktı dosyasını şu şekilde değiştirin etiketler.

-I dir Dizin dizini camlp4 harici için nesne dosyaları için arama yolu camlp4
aramaları ayrıştırma.

-add-path yolu
Ekle yol etiketler dosyasındaki her göreli dosya adının önünde. yararlı olduğunda
etiketler dosyasını bir üst dizine koymak istiyorsunuz.

-parser-ipuçları dosyası
Ayrıştırıcı ipuçlarını belirtilen dosya veya dizin ağacında uygulayın. Her ne zaman otaglar etiketler
ayrıştırıcı ipuçları dosyasında görünen bir dosya, orada belirtilen ayrıştırıcıları kullanır
onun yerine akım ayrıştırıcı liste, bkz. aşağıdaki İPUÇLARI DOSYALARININ AYRILMASI. Bu seçenek
birkaç ipucu dosyasını işlemek için birden çok kez verilebilir. Eğer dosya o zaman bir dizindir
o ağaçtaki tüm dosyalar ayrıştırıcı ipuçları dosyaları olarak işlenir.

-version
Sürümü yazdırın ve çıkın.

-v Ayrıntılı. Dosya adlarını ayrıştırıldıkça ve harici olarak komut satırlarını yazdırın
başladı camlp4 ayrıştırma işlemleri (varsa). Eğer -v ilk komut satırı argümanıdır
istisnalar için geriye dönük izler etkinleştirilir ve bir istisna kaçarsa yazdırılır ve
sona erer otaglar (bu, bir hatayı takdir edeceğim bir hata olarak kabul edilir)
rapor).

-q Sessiz ol.

-help Seçenek listesini yazdırın.

--help için takma ad -Yardım

DİNAMİK SEÇENEKLER


Dinamik seçenekler yalnızca onları komut satırında izleyen bağımsız değişkenleri etkiler.

-intf DOSYA
Ayrıştırma ve etiketleme DOSYA arayüz olarak.

-impl DOSYA
Ayrıştırma ve etiketleme DOSYA uygulama olarak.

-pc Temizle akım ayrıştırıcı liste.

-pa ayrıştırıcı
Ekle ayrıştırıcı için akım ayrıştırıcı liste. Eğer ayrıştırıcı standartlardan biri değil
ile dağıtılan ayrıştırıcılar camlp4 daha sonra aşağıdaki dosya(lar) ayrıştırılır
ayrı camlp4 süreç(ler). ayrıştırıcı tarafından kabul edilmelidir camlp4 - ayrıştırıcı, Yani,
standart bir camlp4 ayrıştırıcı adı veya bir bayt kodu dosyası olmalıdır (.cmo) veya kütüphane
(.cma).

-pr Sıfırla akım ayrıştırıcı liste varsayılan değerine (standart ayrıştırma OCaml olmadan
uzantılar).

-pp Yazdır akım ayrıştırıcı liste.

-dış
Zorla otaglar Aşağıdaki tüm dosyaları harici bir dosyayla ayrıştırmak için camlp4 proses.

-Stajyer
(Varsayılan) dahili ayrıştırmaya geri dönün.

AYRIŞTIRMA İPUÇLARI DOSYALAR


Ayrıştırma ipuçları dosyaları, belirli dosyalar için ayrıştırıcıları belirten basit metin dosyalarıdır. Bu
seçenekle özyinelemeli olarak etiketleme yaparken kullanışlıdır -r. İşte bazı dosyalar için bir örnek
the OCaml dağıtım:

tamam:
camlp4/examples/parse_files.ml
veya rq g:
camlp4/examples/macros.ml
camlp4/examples/arith.ml
rf hata ayıklama:
camlp4/Camlp4Bin.ml
camlp4/mkcamlp4.ml
camlp4/camlp4prof.ml
camlp4/camlp4prof.mli

Ayrıştırıcı ipuçları dosyalarının formatı aşağıdaki gibidir. ``#' ile başlayan boş satırlar ve satırlar
göz ardı edilir. Ayrıştırıcı ipuçları dosyası, rastgele sayıda bölümden oluşur. Her bölüm
bir boşlukla kullanılacak ayrıştırıcıyı belirten iki nokta üst üste sonlandırılmış bir satırla başlar
ayrıştırıcı adlarının ayrılmış listesi (seçenek tarafından kabul edilenler gibi) -pa). geri kalanı
bölüm, her satırda bir dosya adları içerir. Baştaki ve sondaki beyaz boşluk yok sayılır.

ÖRNEKLER


Etiket biraz Dosyaları in the orijinal ve biraz in the revize sözdizimi:

otaglar orijinal.ml -pc -pa r revize.ml -pr orijinal.ml

The -pc için gereklidir, çünkü camlp4, orijinal OCaml sözdizimi bir uzantısıdır
gözden geçirilmiş sözdizimi. Bu nedenle, varsayılan akım ayrıştırıcı liste ayrıştırıcıyı içerir r zaten
ve ekleme r değiştirmez akım ayrıştırıcı liste.

Etiket Dosyaları ile alıntılar (orijinal ana bilgisayar sözdizimi ve gözden geçirilmiş alıntı sözdizimi):

otaglar -pa rq alıntı.ml

Etiket Dosyaları o kullanım the seksplib uzantı:

otaglar -I /usr/lib/ocaml/tür-dönüştürme -I /usr/lib/ocaml/sexplib -pa pa_type_conv.cmo
-pa pa_sexp_conv.cmo use_sexp.ml

The -I seçenekler dizinleri belirtir pa_type_conv.cmo ve pa_sexp_conv.cmo vardır
sistem üzerinde yer almaktadır.

Etiket Dosyaları in a Alt dizin koruma the etiketler dosya in ebeveyn rehber

cd alt dizin; otaglar -o ../ETİKETLER -yol ekle alt dizin Kendi ID’n ile mağazalarını oluştur

Bu karmaşık prosedür, yalnızca içinde dosyalar varsa gereklidir. alt dizin çizgi ile
göreli dosya adlarını içeren yönergeler (örneğin, ocamllex or
ocamlyacc içeride koşmak alt dizin) ve materyali olan başka alt dizinler olduğunda
eklenmeli ../ETİKETLER. Göreceli satır yönergelerine sahip hiçbir dosya yoksa,
basitçe kullanın"otaglar -r" içeren dizinde alt dizin. başka yoksa
etiketler dosyasının yerleştirilebileceği alt dizinler alt dizin -o veya -add-path kullanmadan.

STANDART CAMLP4 AYRIŞTIRMA UZANTILAR


Şu anda standarda atıfta bulunan adlar ve takma adlar hakkında herhangi bir belge bulunmamaktadır. camlp4
modülleri ayrıştırma. Ayrıca bu modüller arasındaki bağımlılıklar çoğunlukla belgelenmemiştir. NS
bilgi için tek kaynak dosyadır camlp4/Camlp4Bin.ml içinde OCaml dağılımı.

Aşağıdaki liste, aşağıdaki tanımlayıcıları açıklar: camlp4 - ayrıştırıcı özel olarak davranır. Bu
bu nedenle standart listesi camlp4 ayrıştırıcılar Bu tanımlayıcılar için durum değil
önemli (bunlar dize.küçük harf eşleştirmeden önce). bağımlılıklar
burada listelenenler tarafından otomatik olarak sihirli bir şekilde tedavi edilir camlp4 ve otaglar.

r, ocamlr, ocaml revize edilmiş, pa_r.cmo, camlp4ocamlrevisedparser.cmo
Akış ayrıştırıcıları olmadan revize edilmiş sözdizimi.

rr, yeniden, ocaml yeniden yüklendi, camlp4ocamlreloadedparser.cmo
Gözden geçirilmiş sözdiziminin varyantı (bilinmeyen kullanım).

o, ocaml, pa_o.cmo, camlp4ocamlparser.cmo
Akış ayrıştırıcıları olmayan orijinal sözdizimi. Ayrıştırıcıya bağlıdır r.

rp, ayrıştırıcı, pa_rp.cmo, camlp4ocamlrevisedparserparser.cmo
Akış ayrıştırıcıları ile gözden geçirilmiş sözdizimi. (OCaml 5134 ve önceki sürümler için 3.12.0 numaralı hataya bakın.)
Ayrıştırıcıya bağlıdır r.

op, ayrıştırıcı, pa_op.cmo, camlp4ocamlparserparser.cmo
Akış ayrıştırıcıları ile orijinal sözdizimi. Ayrıştırıcıya bağlıdır r, o, rp

g, dilbilgisi, pa_extend.cmo, pa_extend_m.cmo, camlp4grammarparser.cmo
Dilbilgisi uzantıları.

m, makro, pa_macro.cmo, camlp4macroparser.cmo
Makrolar ve koşullar.

q, camlp4quotationexpander.cmo
Yansıtıcı Alıntılar. Bu ayrıştırma uzantısı, geçerli ana bilgisayar sözdizimini alır ve
o geçerli sözdizimini kullanarak alıntı genişleticiler ekler, böylece ortaya çıkan dilbilgisi
yansıtıcıdır: Daha sonra ana bilgisayar sözdizimini değiştirmek, teklifi de etkiler
sözdizimi. Modüle bağlıdır Camlp4QuotationOrtak (ortak fiyat teklifi altyapısı).

rq, q_mlast.cmo, camlp4ocamlrevisedquotationexpander.cmo
Gözden Geçirilmiş Alıntılar. Düzeltilmiş sözdiziminde alıntılar ekler. Ev sahibi ve teklif
ayrıştırma bağımsız kalır. Modüle bağlıdır Camlp4QuotationOrtak (Yaygın
teklif altyapısı).

oq, camlp4ocamoriginalquotationexpander.cmo
Orijinal alıntılarla orijinal OCaml. Orijinal OCaml'yi yükler (akış olmadan
ayrıştırıcılar) ana bilgisayar sözdizimi ve tırnak sözdizimi olarak. Ana bilgisayar ve tırnak sözdizimi
bağımsız (yansıtıcı değil). Ayrıştırıcıya bağlıdır ocamlr, ocaml ve modül
Camlp4QuotationOrtak

rf Tam revize edildi. Akış ayrıştırıcıları, dilbilgisi uzantıları, liste ile gözden geçirilmiş sözdizimini kurar
kavramalar ve makrolar ve yansıtıcı alıntılar ekler. bağlıdır
ayrıştırıcılar/modüller r, rp, Camlp4QuotationOrtak, q, g, abone ol, m.

of Orijinal dolu. Akış ayrıştırıcıları, dilbilgisi uzantıları, liste ile orijinal OCaml'yi kurar
anlamalar ve makrolar oluşturur ve yansıtıcı alıntılar ekler (yani alıntılar
orijinal sözdizimi). (OCaml 5129 ve önceki sürümler için hata #3.12.0'a bakın.)
ayrıştırıcılar/modüller r, o, rp, op, Camlp4QuotationOrtak, q, g, abone ol ve m.

abone ol, camlp4listcomprehension.cmo
Anlayışları listeleyin.

ayıklamak, camlp4debug ayrıştırıcı, camlp4debugparser.cmo
Hata ayıklama ifadeleri ayıklamak ve camlp4_debug. Bu açıklamaların genişletilmesi
ortam değişkeninin değerine bağlıdır STATIC_CAMLP4_DEBUG öyle ki ayrıca
üretilen etiket girişleri bu değişkene bağlı olabilir.

TANI


Ayrıştırma hataları normal olarak bildirilir camlp4 hata mesajları. için hiçbir etiket oluşturulmaz
Hata üreten dosyalar. Bu durumda etiketleme sonraki dosya ile devam eder.

Bir satırın bulunduğu dosyada "Orijinal kaynak mevcut değil" hatası bildirilir.
yönergesi bulunamıyor. Bu, eğer olabilir otaglar farklı başladı
Hatalı dosyayı oluşturan programdan daha fazla dizin.

Otag'lar ile bir dosyayı işlemeye çalışırken "Ayrıştırıcı listesi ..." için boş olarak bulunur.
boş akım ayrıştırıcı liste. Bu, hayır olduğunda olur -pa seçenek takip eder -pc.

Otag'lar "Üst düzey yönergesi şurada bulundu ... Dosyayı atla" yazdırır. üst düzey içeren dosyalar için
direktifler. Sorun şu ki, soyut sözdizimi ağacındaki konum bilgisi
üst düzey direktiflerden sonra yanlış, bkz. hata #5127.

Sonlandıran istisnalardan ve iddialardan kaçmak otaglar bug olarak kabul edilir. Eğer onlar
gerçekleşir, lütfen seçeneği kullanın -v as ilk bir istisna geri izleme elde etmek için komut satırı anahtarı
ve bunu tüm ilgili bilgilerle birlikte hata raporu olarak gönderin.

EXIT DURUMU


0 her şey yolunda gitti

1 ayrıştırma hatası veya başka bir hata oluştu ve otaglar etkilenen dosyayı atladı

2 ölümcül bir hataya neden oldu otaglar iptal etmek

3 bazı hatalar bir çökmeye neden oldu, bu da otaglar sadece marjinal olarak iyileşebilir

BİLİNEN SORUNLAR


The camlp4 ve OCaml ayrıştırıcılar her zaman ince şekillerde farklılık gösterdi. Yapımı camlp4 dan bağımsız
OCaml sorunu ağırlaştırdı. camlp4 4.02.3 sürümü yalnızca çok az özniteliği kabul eder. Bilişim Teknoloji
hiçbir blok veya tek başına özniteliği kabul etmez ( [@@ ve [@@@) veya uzantı düğümleri (
[% or [%%). Otag'lar bu nedenle birçok başarısızlıkta başarısız olur OCaml standart kitaplık.

EKSİK ÖZELLİKLER


vi etiketleri dosyalarına ekleme, mevcut etiketler dosyasının yeniden okunmasını gerektirir, çünkü vi etiketleri
dosyalar sıralanır.

Uyumsuz camlp4 sözdizimi ağaçları (harici camlp4 ayrıştırma işlemleri) algılanır
sihirli sayılarla. Ancak uyumsuz bir camlp4 yüklemeye çalıştığında muhtemelen ölecek
the otaglar özel camlp4 yazıcı. Bu tür ölümcül dinamik yükleyici hatalarına şu şekilde davranılır:
ayrıştırma hataları, çünkü camlp4 her iki durumda da aynı çıkış durumunu üretir.

KREDİ


Cuihtlauac Alvarado ve Jean-Francois Monin sömüren ilk kişilerdi. camlp4 etiketleme için
OCaml Dosyalar. Bu sürüm, yeniye dayalı tam bir yeniden yazmadır. camlp4 itibaren OCaml
3.10 ve sonraki sürümler.

onworks.net hizmetlerini kullanarak çevrimiçi otag kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad




×
reklâm
❤️Buradan alışveriş yapın, rezervasyon yapın veya satın alın; ücretsizdir, hizmetlerin ücretsiz kalmasına yardımcı olur.