Kat ayrıştırma aracını kullanan bir proje üzerinde çalışıyorum. Projeyi iPython uygulamasında kullanmam gerekiyor, ancak bu postada görüldüğü gibi Problems with PLY LEX and YACC, araçla ilgili sorunlara neden oluyor. Bu nedenle, aynı anda defter ve katlama aracını kullanmama izin verecek bir sorun veya çözüm bulunup bulunmadığını öğrenmek istedim.iPython/Jupyter ile Katman Kullanımı
1
A
cevap
0
Belki bir yanıt için biraz geç kaldım, ama aynı problemle karşılaştım ve bir çözüm bulmayı başardım.
Lexer'ı oluşturmak için PLY, __file__
adlı bir değişken gerektirir. Yani, lex.lex()
'u aramadan önce, defter dosyanızın adına __file__
'u ayarlamanız gerekir. Örneğin
:
[...]
__file__ = "My_Notebook.ipynb"
lexer = lex.lex()
[...]
Ve bir sınıf kullanıyorsanız (Aşağıda bu example): Eğer sivri olarak, dizüstü dosya başına birden fazla lexer tanımlamak olmamalıdır Ayrıca
class MyLexer(object):
# [...]
# lots and lots of token declarations
# [...]
# Build the lexer
def build(self,**kwargs):
self.lexer = lex.lex(module=self, **kwargs)
my_lexer = MyLexer()
__file__ = "My_Notebook.ipynb"
my_lexer.build()
bölüm 4.15'in sonunda PLY documentation tarafından.
Şimdi, ipython/Jupyter Notebook içinde yacc
kullanmak, böyle söylemek zorunda:
parser = yacc.yacc(write_tables=False)
İlgili konular
- 1. katman
- 2. OpenCL ile lazanyada katman katmanları kullanma
- 3. C# ile iki şeffaf katman nasıl yapılır?
- 4. jQuery akordeon ve IE7 ile katman sorunu
- 5. MongoDB ile JSON Kullanımı?
- 6. LogStash ile JSON Kullanımı
- 7. Osmosis ile Array Kullanımı
- 8. CruiseControl.NET ile MSTest Kullanımı
- 9. Spinner ile SimpleAdapter Kullanımı
- 10. Eclipse ile C++ Kullanımı
- 11. iş/hizmet katman tasarımı
- 12. ImageMagick: yerçekimi merkezi ile dönüştürme -Kompozit ile Katman Görüntüler
- 13. Çakıl Menüsü Katman Kazası
- 14. ASP.NET Çekirdek katman yazılımı veya OWIN ara katman yazılımı?
- 15. Koşullu İç Katman
- 16. ücretsiz jquery katman kaydırıcısı?
- 17. Minimal Yapılandırma ile Unity Kullanımı
- 18. Cabal ile alex/happy kullanımı
- 19. | @ | ile doğrulama kullanımı Scalaz içinde
- 20. npm ile bootstrap kullanımı değiştiriliyor
- 21. Maven ile Scalatra 2.2.1 Kullanımı
- 22. Bash testleri ile kabalık kullanımı
- 23. Python ile pySerial kullanımı 3.3
- 24. logback.groovy ile yapılandırılmış logback kullanımı groovy ile
- 25. Kullanımı
- 26. Etiket için ters katman maskesi
- 27. Tam bağlı katman ağırlığı boyutları
- 28. CheckeListBox, katman (denetim listesi kutusu)
- 29. Çerezler bir ara katman yazılımında nasıl kullanılır?
- 30. N Katman Gelişiminde DDD Kavramları
: "Ply'nin dilbilgisi o olmalı anlamına gelen bir modül olmak ısrar bir dosyada olmak. Bir IPython defteri bir dosya değildir. Dilbilgisini sisteminizdeki bir dosya olarak kaydetmeyi ve bir not defterine aktarmayı deneyebilirsiniz, sanırım. –
@AkshatMahajan Açıkçası, bir defter bir dosyadır ('.ipynb'), ancak bir modül değildir. –