2009-05-20 16 views
14

इस प्रश्न का शायद एक शर्मनाक सरल जवाब है, लेकिन क्या सामान्य लिस्प में पेड़ों को प्रारूपित/आकर्षित करने का कोई सही तरीका है? मैंने कुछ किताबों के साथ-साथ गूंजने की कोशिश की है, लेकिन समस्या शब्द की दरारों के बीच समस्या आती है।आम लिस्प में पेड़ खींचना

अग्रिम धन्यवाद!

उत्तर

26

पेड़ों की किस तरह आप आकर्षित करने के लिए करना चाहते हैं?

SDRAW टर्मिनल पर विपक्षी सेल संरचनाएं खींचता है। इसी तरह: Draw Cons Tree

यदि आपके पास McCLIM, CLIM या लिस्प मशीन है, तो आप CLIM फ़ंक्शन CLIM:FORMAT-GRAPH-FROM-ROOT या CLIM: FORMAT-GRAPH-FROM-ROOTS को कॉल कर सकते हैं।

यदि आप LispWorks का उपयोग करते हैं, तो graph pane है।

यदि आप पौधों को आकर्षित करना चाहते हैं तो इसका उपयोग करें: L-Lisp

plant drawing

+1

बहुत बढ़िया, एसडीआरएडब्ल्यू वही था जो मैं खोज रहा था: नेस्टेड विपक्षी कोशिकाओं का प्रतिनिधित्व करने का एक साफ तरीका। एक बार फिर धन्यवाद। – wvoq

+0

क्या - एएन - अद्भुत - उत्तर। वाह। आपने ओपी का उत्तर नहीं दिया लेकिन Google खोजकर्ताओं की एक पूरी धारा। – MaiaVictor

+1

एक और विकल्प है (ql: quickload: draw-cons-tree) – Baggers

4

यदि आपको कोई बेहतर समाधान नहीं मिलता है, तो मैं एक .dot फ़ाइल को उत्सर्जित करने के इच्छुक हूं और फिर इसे Graphviz टूल (जैसे डॉट) में से किसी एक को खिला सकता हूं। फ़ाइल प्रारूप वास्तव में सरल है, और उपकरण पीएनजी, एसवीजी, पोस्टस्क्रिप्ट और यहां तक ​​कि छवि मानचित्र (वेब ​​पृष्ठों पर क्लिक करने योग्य ग्राफ बनाने के लिए) सहित विभिन्न प्रारूप उत्पन्न कर सकते हैं।

यह दृष्टिकोण शायद आपके लिए काम करता है यदि आप अपने ग्राफ के लिए इन ग्राफों को चाहते हैं (उदाहरण: डिबगिंग) या आप उन्हें सर्वर पर उत्पन्न कर रहे हैं। क्लाइंट ऐप में एक अलग टूल पर कॉल करने से उपयोगिता और/या लाइसेंसिंग समस्याएं हो सकती हैं।

यह वास्तव में एक आम-लिस्प विशिष्ट समाधान नहीं है, लेकिन मैंने अतीत में कुछ भाषाओं से इस दृष्टिकोण का उपयोग किया है।

+0

हाय, आपके उत्तर के लिए बहुत बहुत धन्यवाद। मैं सीधे कंसोल पर प्रिंट करने की उम्मीद कर रहा था, लेकिन आपका सुझाव बड़े पेड़ों के लिए अधिक लचीला लगता है। अपने समय के लिए फिर से धन्यवाद! – wvoq

1

मैं lisp2dot (एक Awk स्क्रिप्ट उत्पन्न करता डॉट आदेश) जीपी अनुप्रयोगों में हाल के वर्षों में, लेकिन वर्तमान में यह काम करने के लिए प्रतीत नहीं होता है इस्तेमाल किया है। हर बार जब मैं इसे वैध लिस्प अभिव्यक्ति के साथ खिलाता हूं तो यह अजीब त्रुटि संदेशों से भरा अजीब डॉट फाइल देता है। फिर भी, यह उल्लेख करने लायक है।

+0

मुझे वापस [lisp2dot] (http://www.cs.ucl.ac.uk/staff/W.Langdon/lisp2dot) की जांच करने का अवसर मिला था और यह अभी भी काम कर रहा है लेकिन फ़ंक्शन नामों और फ़ंक्शन नोड्स की धैर्य से सावधान रहें जो Awk में मुश्किल हो सकते हैं। – oakenshield1

संबंधित मुद्दे