2010-11-22 8 views
10

जावा सिंटैक्स का एक हिस्सा है जो मेरे बाहर बकवास करता है: वह घुंघराले ब्रेसिज़ और अर्धविराम है। क्या कोई ऐसा अनुवादक है जो मौजूद है जो मुझे इसके अलावा सभी जावा सिंटैक्स का उपयोग करने की अनुमति देगा?जावा और व्हाइटस्पेस-ए-सिंटैक्स (एला पायथन)?

public class Hello: 
    public static void main(String[] args): 
     System.out.println("I like turtles.") 

public class Another: 
    public static void somethingelse(): 
     System.out.println("And boobs") 

यह वाक्य रचना मॉडल के रूप में पायथन के खाली स्थान के है, मैं इसे प्यार हो गया है: मैं इस तरह कुछ करना चाहता हूँ। मेरा मानना ​​है कि यह साफ है, और आंखों पर आसान है। यदि यह अस्तित्व में नहीं है, तो मैं वास्तव में एक पार्सर लिखने में भारी निवेश समय पर विचार कर रहा हूं जो मेरे लिए यह करेगा। (आदर्श रूप से यह इसे खोल देगा, इसे व्हाइटस्पेस के साथ प्रारूपित करेगा, और सहेजे जाने पर, ब्रेसिज़ और सभी के साथ जावा सिंटैक्स के रूप में सहेजें)

क्या इससे भाषा में कहीं और समस्याएं पैदा होंगी? मैं किस प्रकार की हिचकी दौड़ने की उम्मीद कर सकता हूं? मैं बाकी जावा सिंटैक्स के बाकी हिस्सों का उपयोग करना चाहता हूं, यह वास्तव में अन्यथा कैसे है, बस इस छोटे से निगल को संशोधित करना चाहते हैं।

मैं पहले से ही लिख सकता हूं और कोड को ग्रहण में ठीक ठीक कर सकता हूं। और हां, मुझे पहले से ही पता है कि कोड स्वरूपण उपकरण और मेरे लिए उपलब्ध सभी ऑटो-पूर्ण विकल्पों का उपयोग कैसे करें, यह कोडिंग शैली में केवल एक प्राथमिकता है, इसलिए कृपया "इसका उपयोग करना सीखना चाहिए" या " आपको एक आईडीई का उपयोग करना चाहिए जो आपके लिए ब्रेसिज़ करता है "... नहीं। मुझे वह नहीं चाहिए।

+3

Google कोड पर एक प्रोजेक्ट है जो आप इसे सी के साथ करते हैं। मुझे इसे एक लिंक नहीं मिल रहा है अब लेकिन यह देखने लायक हो सकता है। यदि आप इसे स्वयं लागू करने के लिए समाप्त होते हैं, तो यह एक अच्छा प्रारंभिक बिंदु प्रदान कर सकता है। – aaronasterling

+1

मैं पूरी तरह से कहां से आ रहा हूं, लेकिन सभी ईमानदारी में आपको इसका उपयोग करना चाहिए। क्या आपको लगता है कि यह वास्तव में अपने स्वयं के पार्सर लिखने की परेशानी के लायक है, बस आप घुंघराले ब्रेसिज़ और अर्धविराम से छुटकारा पा सकते हैं? –

+2

मुझे लगता है कि खोज करना अच्छा है। आपको 'फॉर' लूप और उद्धृत स्ट्रिंग्स, फोरैच और 'स्विच' के लिए देखना होगा क्योंकि वे सभी उन वर्णों का उपयोग कर सकते हैं जिन्हें आपको अनुवाद करने की आवश्यकता है। ऐरे शुरुआती और स्थैतिक ब्लॉक भी ... ईमान, आप के लिए अपना काम खत्म हो गया है। – CurtainDog

उत्तर

0

आप ग्रहण और कोड फॉर्मेटर का उपयोग करने के लिए सीखने में समय निवेश करने पर विचार कर सकते हैं।

पायथन का मॉडल यह महान है कि (अधिक या कम) सभी डेवलपर्स को एक ही कोड शैली प्रारूप में मजबूर करता है। आधुनिक सॉफ़्टवेयर फर्मों में कोड-शैली दिशानिर्देश हैं और कोडिंग शैली के प्रवर्तन को आसान बनाने के लिए स्वरूपकों के साथ आईडीई का उपयोग करते हैं। यहां तक ​​कि यदि आपके सहकर्मियों (स्वाभाविक रूप से) अत्याचारी शैलियों (आपके लिए) हैं, तो आप उस कोड को जल्दी से उस चीज़ में दोबारा सुधार सकते हैं जिसे आप पठनीय पाते हैं।

+0

मैं पहले से ही कोड ठीक लिख सकता हूं और ब्रेसिज़ और सेमीकॉलन के साथ कोड ठीक पढ़ सकता हूं, यह केवल एक वरीयता है। मैं पहले से ही ग्रहण का उपयोग करता हूं और कोड फ़ॉर्मेटर को आसानी से संभाल सकता हूं।यह कम या कुछ भी टाइप करने के बारे में नहीं है। सबसे अच्छा यह मेरे उपयोग के लिए एक उपकरण होगा जो दोनों तरीकों को परिवर्तित करेगा। यह एक स्रोत फ़ाइल लेगा और इसे पसंद करने के तरीके में प्रारूपित करेगा, और फिर बचत पर, नियमित जावा, ब्रेसिज़ और सभी के रूप में निर्यात करेगा; यह किसी भी कोड को प्रभावित नहीं करेगा। (कम से कम इस तरह मैं इसे कल्पना करता हूं।) – ThantiK

2

क्या आप ज्योथन में स्विच कर सकते हैं? पायथन का वाक्यविन्यास, जावा का रनटाइम पर्यावरण।

+0

दुर्भाग्य से नहीं, मैं मुख्य रूप से इस समय एंड्रॉइड पर काम कर रहा हूं, जेथन कुछ भी संगत संकलित नहीं करता है। मैं वास्तव में पूरे पायथन वाक्यविन्यास की तलाश नहीं कर रहा हूं; बस इंडेंटेशन-आधारित वाक्यविन्यास। मैं अपनी कुछ निजी परियोजनाओं के लिए पहले से ही ज्योथन का उपयोग करता हूं। एक "ज्योथोन्रॉइड" प्रोजेक्ट था, लेकिन इसे एसएल 4 ए (पहले एएसई) से बहुत अधिक किया गया था लेकिन एसएल 4 ए को सतहफ्लिंगर या जीयूआई/लेआउट उपप्रणाली में से कोई भी एक्सेस नहीं है। – ThantiK

0

आप Jython या Scala का उपयोग कर सकते हैं, जो अधिकतर घुंघराले ब्रेसिज़ और अर्धविराम (जहां तक ​​डॉट्स और कंस्ट्रैसिस) छोड़ देता है। उनका वाक्यविन्यास बहुत अधिक पठनीय है, और आप अभी भी JVM की सभी शक्तियां हैं।

हालांकि, अगर आपको बिल्कुल अनुवादक की आवश्यकता है (इसे एक सादे जावा कोड के रूप में सहेजने के लिए), तो आप आसानी से ऐसे अनुवादक को आसानी से लिख सकते हैं। लाइन द्वारा इनपुट फ़ाइल लाइन पढ़ें, इंडेंट गिनती करें, और प्रत्येक बार जब यह बदलती है, तो स्ट्रिंग के अंत में कॉलन हटाएं (यदि आवश्यक हो) और घुंघराले ब्रेस डालें: बड़े इंडेंट के लिए ब्रेस खोलना और छोटे के लिए बंद करना। (यह कई संभावित मामलों को ध्यान में रखता नहीं है, लेकिन उनमें से अधिकतर बुरी शैली के रूप में माना जाता है।)

+0

मैंने एंड्रॉइड के बारे में आपकी टिप्पणी देखी, कृपया, पहले पैराग्राफ को अनदेखा करें। संपादित करें: [या नहीं] (http://stackoverflow.com/questions/476111/scala-programming-for-android) – ffriend