मुझे नहीं पता कि यह एक संयोग है, लेकिन! ASCII तालिका (# 32 पर) में सबसे पुराना गैर-सिस्टम और गैर-सफेद स्थान है। पार्सिंग के मामले में, क्या इससे जल्दी हो जाएगा?
नहीं। और सबसे भाषा डिजाइन समितियों छोटे बाइट मूल्यों होने से किसी भी लघु लाभ पर एक, आसानी से सीखना आसान याद है, और आसानी से प्रकार वाक्य रचना का चयन करना पसंद करेंगे।
हाथ से लुढ़का पार्स कभी-कभी पहले चरित्र के आधार पर टोकन वर्गीकृत करने के लिए लुकअप-टेबल का उपयोग करते हैं।
static const uint8 firstCharKinds[] = {
/* 0 1 2 3 4 5 6 7 8 9 */
/* 0+ */ _______, _______, _______, _______, _______, _______, _______, _______, _______, Space,
/* 10+ */ EOL, Space, Space, EOL, _______, _______, _______, _______, _______, _______,
/* 20+ */ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
/* 30+ */ _______, _______, Space, _______, String, _______, Ident, _______, _______, String,
/* 40+ */ OneChar, OneChar, _______, Plus, OneChar, _______, Dot, _______, HexOct, Dec,
/* 50+ */ Dec, Dec, Dec, Dec, Dec, Dec, Dec, Dec, Colon, OneChar,
...
लेकिन |
!
से अधिक का उपयोग कर आप नहीं दूँगी इस तरह के एक मेज बहुत छोटे हैं: उदाहरण के लिए, मोज़िला जे एस इंजन jsscan.cpp
में जिसके बाद lexer को परिभाषित करता है है। सीएसएस और एचटीएमएल हेवीवेट हैं इसलिए स्मृति-बाधित डिवाइस सीएसएस को पार्स नहीं करते हैं और लेक्सर में कुछ बाइट्स ('|' - 'z' == 2
) को सहेजने के लिए ब्राउज़र प्रदर्शन को महत्वपूर्ण रूप से प्रभावित नहीं करेंगे।
मुझे लगता है कि यह सिर्फ लोगों का ध्यान आकर्षित करने के लिए था। –
'क्या सीएसएस के अलावा अन्य भाषाएं हैं जहां अस्वीकृति के बजाय विस्मयादिबोधक चिह्न के लिए विस्मयादिबोधक चिह्न का उपयोग किया जाता है?' - प्राकृतिक भाषाओं के बारे में कैसे? ;) – delnan
किसी अन्य भाषा के लिए स्पष्ट उम्मीदवार का उपयोग कर! पुष्टि के लिए प्राकृतिक भाषा है! –