Gönderen Konu: Acme hatası: Implicit label definition not in leftmost column  (Okunma sayısı 11067 defa)

0 Üye ve 3 Ziyaretçi konuyu incelemekte.

Çevrimdışı wizofwor

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 398
Acme'yle birbirimize bayağı alıştık. Ancak arkadaşın bana bir gıcıklığı var. Şöyle ki:

Kullandığım editörün (Sublime Text 2) !zone ve label'ların peşinden gelen komutları guruplandırarak saklamak gibi bir özelliği var. Tam olarak anlatamadıysam eklediğim resimlerden anlaşılabilir. Ancak bu program gruplandırma yaparken indentation'dan kopya çekiyor. Misal eklediğim resimlerdeki print_screen ve .loop etiketlerin başına 'tab' koymazsam sadece 35. satırı bir gurup, 36 ve 37'yi ikinci bir grup, 38-46 arasını ise 3. bir grup olarak görüyor. Tab kullanmak okunurluğu da arttırdığı için benim için sorun yok. Ancak bu sefer de ACME gıcıklık yapıyor.

Acme etiketlerin başında tab olduğunda programı yine doğru şekilde derliyor ama her label gördüğü yerde 'Implicit label definition not in leftmost column' diye bir warning rapor ediyor. Warning'leri komple iptal edeyim desem bu sefer de gözümden kaçan ufak hataları bulmam zorlaşacak.

Acme'nin sadece bu hatayı görmezden gelmesini sağlamanın bir yolu yok mudur?


Gosub ile gidilen yerden goto ile dönen adam

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2882
  • Advanced User Simulator
    • ae unutmadan
Ynt: Acme hatası: Implicit label definition not in leftmost column
« Yanıtla #1 : 02 Ocak 2014, 01:26:45 »
gerçekten de sinir bozucu. Mac'de daha iyi bir kod editörü yok mu acaba?

http://macromates.com/ Textmate diye beleş bir editör var, bir de onu denesen? Sublime'dan daha iyi diyorlar.

Çevrimdışı wizofwor

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 398
Ynt: Acme hatası: Implicit label definition not in leftmost column
« Yanıtla #2 : 02 Ocak 2014, 08:50:32 »
Textmate'in sitesinde 35€ diyor. Eski, versiyonu mu ücretsiz?

Daha önce Komodo edit kullanıyordum. Oldukça hantal bir program. Sublimetext 2'yi herşey hazır geldiği için kullanıyorum. 6502 DASM bundle'ıyla syntax highlighting'i compiler bağlantısı vs. hazır gelmiş oluyor. Multiplatform olması da avantaj. Böylece Windows'ta da aynı araçlarla çalışabiliyorum.

Bahsettiğim kod gruplama sorunun da büyük ihtimalle bu syntax highlight kodundan kaynaklandığını düşünüyorum. Text editörleri arasında aşırı seviyede popülerleşen community driven plugin manyaklığı sayesinde büyük ihtimalle aynı eklentileri kullanıyorlar. Eğer öyleyse textmate'te de aynı sorun olacak.
Gosub ile gidilen yerden goto ile dönen adam

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2882
  • Advanced User Simulator
    • ae unutmadan
Ynt: Acme hatası: Implicit label definition not in leftmost column
« Yanıtla #3 : 02 Ocak 2014, 11:40:39 »
Textmate'in sitesinde 35€ diyor. Eski, versiyonu mu ücretsiz?

Daha önce Komodo edit kullanıyordum. Oldukça hantal bir program. Sublimetext 2'yi herşey hazır geldiği için kullanıyorum. 6502 DASM bundle'ıyla syntax highlighting'i compiler bağlantısı vs. hazır gelmiş oluyor. Multiplatform olması da avantaj. Böylece Windows'ta da aynı araçlarla çalışabiliyorum.

Bahsettiğim kod gruplama sorunun da büyük ihtimalle bu syntax highlight kodundan kaynaklandığını düşünüyorum. Text editörleri arasında aşırı seviyede popülerleşen community driven plugin manyaklığı sayesinde büyük ihtimalle aynı eklentileri kullanıyorlar. Eğer öyleyse textmate'te de aynı sorun olacak.

Ben de anlamadım, şurada github'da opensource halde duruyor ama: https://github.com/textmate/textmate

neyse sublime'da kalacaksak bu durumda highlight dosyasını düzenleyelim?

Sublime'ı kurdum, farklı bir highlighter buldum, sonuç aynı. Sanırım sublimetext'in built-in özelliği o.
https://github.com/fastjack/6502-Assembler.tmbundle

Çevrimdışı wizofwor

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 398
Ynt: Acme hatası: Implicit label definition not in leftmost column
« Yanıtla #4 : 02 Ocak 2014, 12:05:03 »
Malesef ACME için yapılmış highligh dosyasını nette bulamadım. Evde kullandığım highlight kodu DASM için hazırlanmış. İşteki bilgisayara öylesine kurduğum Sublime'in içindeki ise 64tass için. Ufak bir kod yazdım label'ları tanıyıp renklendiriyor. Ama !zone psedo opkod'unu renkendirmiyor. Gruplandırma özelliği evdekiyle aynı şekilde çalışıyor.

Config dosyalarına hızlı bir göz attım. PHP buildinden kod çalarak bir şeyler yapmayı denedim. Sonuçta PHP'de 'süslü parantez' arasında kalan kısmı kapatabiliyorum. PHP'de function tanımlamak için kullandığı aşağıdaki kod parçasını aldım.

Kod: ('PHP function highlight kodu') [Seç]
<snippet>
    <content><![CDATA[${1:public }function ${2:FunctionName}(${3:\$${4:value}${5:=''}})
{
${0:# code...}
}]]></content>
    <tabTrigger>fun</tabTrigger>
    <scope>source.php</scope>
    <description>function …</description>
</snippet>

Biraz değiştirip bir şeyler yapmaya çalıştım ama nir sonuç elde edemedim. Evde oturup uzun boylu uğraşmam lazım biraz.

Kod: (benim kurcaladığım hali) [Seç]
<snippet>
    <content><![CDATA[${1:public }!zone ${2:FunctionName}(${3:\$${4:value}${5:=''}})
{
${0:# code...}
}]]></content>
    <tabTrigger>fun</tabTrigger>
    <scope>source.asm</scope>
    <description>!zone …</description>
</snippet>
Gosub ile gidilen yerden goto ile dönen adam

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2882
  • Advanced User Simulator
    • ae unutmadan
Ynt: Acme hatası: Implicit label definition not in leftmost column
« Yanıtla #5 : 02 Ocak 2014, 20:42:10 »
Malesef ACME için yapılmış highligh dosyasını nette bulamadım.

Bence hiç kasmayalım, acme'yi modifiye edip gcc ile tekrar compile ettim, artık o "warning"leri vermez. Ama sadece windows'a compile edebiliyorum şu anda. Ek olarak ekledim, belki işine yarar. Eğer kendin compile etmek istersen aradığın yer "labels.c" dosyasında.


Bu arada ACME için özel bir highlighter buldum:
https://github.com/fastjack/6502-Assembler.tmbundle

Çevrimdışı nightlord

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 389
    • Night Network
Ynt: Acme hatası: Implicit label definition not in leftmost column
« Yanıtla #6 : 02 Ocak 2014, 21:16:16 »
Ben konuyu görene kadar konu çözülmüş zaten ama acme'yi yeniden compile etmek çok kolay diyecektim ben de. OS bağımlılığı çok çok az doğal olarak (dosya oku, işlem yap, dosya yaz)

Bu warning bana niye çıkmıyor onu hatırlamıyorum yalnız. Ben acaba kodu bir ara disable mı ettim, yoksa seninkinden ileri bir versiyonda bu warning kalktı ve ben onu mu kullanıyorum bilemedim.

Çevrimdışı wizofwor

  • RAAT
  • Tedavideki Retromanik
  • *
  • İleti: 398
Ynt: Acme hatası: Implicit label definition not in leftmost column
« Yanıtla #7 : 02 Ocak 2014, 21:43:25 »
@nightlord: Benimki saçma bir versiyon. Acme -V yaptığımda aldığım mesaj:

Alıntı
This is ACME, release 0.94.4 ("Zarquon"), 9 Oct 2012
  Platform independent version.

@ref: Acme'yi Xcode ile derleyebilirmiyim sence? Yoksa benim de gcc mi kurmam lazım? -düzetme: mesajı yazarken denedim gcc zaten kuruluymuş-

Şimdi biraz keşif yapıp acme'nin executable'ları nerde onu bulmam lazım. 30 yaşından sonra platform değiştirmek çok zor bir hadise.
Gosub ile gidilen yerden goto ile dönen adam

Çevrimdışı Ref

  • Yönetici
  • Özgür Retrocu
  • *
  • İleti: 2882
  • Advanced User Simulator
    • ae unutmadan
Ynt: Acme hatası: Implicit label definition not in leftmost column
« Yanıtla #8 : 02 Ocak 2014, 21:58:35 »
@nightlord: Benimki saçma bir versiyon. Acme -V yaptığımda aldığım mesaj:

Alıntı
This is ACME, release 0.94.4 ("Zarquon"), 9 Oct 2012
  Platform independent version.

@ref: Acme'yi Xcode ile derleyebilirmiyim sence? Yoksa benim de gcc mi kurmam lazım? -düzetme: mesajı yazarken denedim gcc zaten kuruluymuş-

Şimdi biraz keşif yapıp acme'nin executable'ları nerde onu bulmam lazım. 30 yaşından sonra platform değiştirmek çok zor bir hadise.

Eheh, macos adamı kanırtır biraz. Alışmadık götte don durmaz olayı :) Benim derlediğim 0.91 idi bu arada ama senin kodu güzel derliyor, bahsettiğin warningleri almıyorum.

acmeyi derlemek için src klasörüne girip "make" yazman yeterli.