▁the ▁source ▁was ▁processed ▁via ▁sc anner less ▁parsing , ▁so ▁lex ing ▁could ▁be ▁context - sens itive . ▁ ▁In ▁most ▁languages , ▁some ▁character ▁sequences ▁have ▁the ▁lex ical ▁form ▁of ▁an ▁identifier ▁but ▁are ▁known ▁as ▁keywords ▁– ▁for ▁example , ▁if ▁is ▁frequently ▁a ▁keyword ▁for ▁an ▁if ▁clause , ▁but ▁lex ically ▁is ▁of ▁the ▁same ▁form ▁as ▁ig ▁or ▁foo ▁namely ▁a ▁sequence ▁of ▁letters . ▁This ▁overlap ▁can ▁be ▁handled ▁in ▁various ▁ways : ▁these ▁may ▁be ▁forb idden ▁from ▁being ▁ident ifiers ▁– ▁which ▁simpl ifies ▁token ization ▁and ▁parsing ▁– ▁in ▁which ▁case ▁they ▁are ▁reserved ▁words ; ▁they ▁may ▁both ▁be ▁allowed ▁but ▁distinguished ▁in ▁other ▁ways , ▁such ▁as ▁via ▁stro pping ; ▁or ▁keyword ▁sequences ▁may ▁be ▁allowed ▁as ▁ident ifiers ▁and ▁which ▁sense ▁is ▁determined ▁from ▁context , ▁which ▁requires ▁a ▁context - sens itive ▁lex er . ▁Non - key words ▁may ▁also ▁be ▁reserved ▁words ▁( for b idden ▁as ▁ident ifiers ), ▁particularly ▁for ▁forward ▁compatibility , ▁in ▁case ▁a ▁word ▁may ▁become ▁a ▁keyword ▁in ▁future . ▁In ▁a ▁few ▁languages , ▁e . g ., ▁PL / 1 , ▁the ▁distinction ▁is ▁not ▁clear . ▁ ▁The ▁scope , ▁or ▁access ibility ▁within ▁a ▁program ▁of ▁an ▁identifier ▁can ▁be ▁either ▁local ▁or ▁global . ▁A ▁global ▁identifier ▁is ▁declared ▁outside ▁of ▁functions ▁and ▁is ▁available ▁throughout ▁the ▁program . ▁A ▁local ▁identifier ▁is ▁declared ▁within ▁a ▁specific ▁function ▁and ▁only ▁available ▁within ▁that