असल में, जब एक पार्सर एक शब्द का सामना करता है जो एक अंतर्निहित फ़ंक्शन का नाम है, तो उसे यह निर्धारित करना होगा कि नाम एक फ़ंक्शन कॉल का प्रतिनिधित्व करता है या इसके बजाय एक गैर-अभिव्यक्ति संदर्भ है पहचानकर्ता जैसे तालिका या स्तंभ नाम। निम्नलिखित प्रश्नों पर विचार करें -
<पूर्व>1. कर्मचारी से राशि (वेतन) का चयन करें; 2. तालिका योग बनाएं (i int);पहली क्वेरी में SUM फ़ंक्शन कॉल का संदर्भ है और दूसरी क्वेरी में, यह तालिका के नाम को संदर्भित कर रहा है।
पार्सर यह भेद करने के लिए निम्नलिखित नियमों का पालन करता है कि उनके नाम फ़ंक्शन कॉल के रूप में या गैर-संदर्भ संदर्भ में पहचानकर्ता के रूप में उपयोग किए जा रहे हैं -
- नियम1 - किसी एक्सप्रेशन में फ़ंक्शन कॉल के रूप में नाम का उपयोग करने के लिए, नाम और निम्न (कोष्ठक वर्ण) के बीच कोई रिक्त स्थान नहीं होना चाहिए।
- नियम2 - इसके विपरीत, फ़ंक्शन नाम को पहचानकर्ता के रूप में उपयोग करने के लिए, इसे तुरंत एक कोष्ठक द्वारा पालन नहीं किया जाना चाहिए।