Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാൻ കഴിയുന്ന yacplan9 കമാൻഡ് ഇതാണ്.
പട്ടിക:
NAME
yacc - മറ്റൊരു കമ്പൈലർ-കംപൈലർ
സിനോപ്സിസ്
yac [ ഓപ്ഷൻ ... ] വ്യാകരണം
വിവരണം
യാക്ക് ഒരു സന്ദർഭ രഹിത വ്യാകരണവും വിവർത്തന കോഡും ഒരു കൂട്ടം പട്ടികകളാക്കി മാറ്റുന്നു
LR(1) പാർസറും വിവർത്തകനും. വ്യാകരണം അവ്യക്തമായിരിക്കാം; നിർദ്ദിഷ്ട മുൻഗണനാ നിയമങ്ങളാണ്
അവ്യക്തതകൾ തകർക്കാൻ ഉപയോഗിക്കുന്നു.
ഔട്ട്പുട്ട് ഫയൽ, y.tab.c, ഇത് ഒരു പ്രോഗ്രാം നിർമ്മിക്കുന്നതിന് സി കമ്പൈലർ സമാഹരിച്ചിരിക്കണം
പ്രോഗ്രാം ഒരു ലെക്സിക്കൽ അനലൈസർ ഫംഗ്ഷൻ ഉപയോഗിച്ച് ലോഡ് ചെയ്യണം, yylex(അസാധു) (പലപ്പോഴും സൃഷ്ടിച്ചത്
Lex(1)), കൂടെ a പ്രധാന(int ആർജിസി, പ്രതീകം *argv[]) പ്രോഗ്രാം, കൂടാതെ ഒരു പിശക് കൈകാര്യം ചെയ്യൽ പതിവ്,
yerror(char*).
ഓപ്ഷനുകൾ എന്നിവയാണ്
-o ഔട്ട്പുട്ട് പകരം നിർദ്ദിഷ്ട ഫയലിലേക്ക് നേരിട്ട് ഔട്ട്പുട്ട് y.tab.c.
-Dn ഫയൽ സൃഷ്ടിക്കുക y.ഡീബഗ്, ഡയഗ്നോസ്റ്റിക് സന്ദേശങ്ങൾ അടങ്ങിയിരിക്കുന്നു. അവരെ ഉൾപ്പെടുത്താൻ
പാർസർ, പ്രീപ്രൊസസ്സർ ചിഹ്നം ഉപയോഗിച്ച് കംപൈൽ ചെയ്യുക yydebug നിർവചിച്ചിരിക്കുന്നത്. തുക
പാഴ്സറിൽ നിന്നുള്ള ഡയഗ്നോസ്റ്റിക് ഔട്ട്പുട്ട് മൂല്യം അനുസരിച്ചാണ് നിയന്ത്രിക്കുന്നത് n. മൂല്യം 0 റിപ്പോർട്ട് ചെയ്യുന്നു
പിശകുകൾ; 1 റിപ്പോർട്ടുകൾ കുറവുകൾ; ഉയർന്ന മൂല്യങ്ങളിൽ (4 വരെ) കൂടുതൽ വിവരങ്ങൾ ഉൾപ്പെടുന്നു
സംസ്ഥാന പരിവർത്തനങ്ങളെക്കുറിച്ച്.
-v ഫയൽ സൃഷ്ടിക്കുക y.ഔട്ട്പുട്ട്, പാഴ്സിംഗ് ടേബിളുകളുടെ വിവരണം ഉൾക്കൊള്ളുന്നു
വ്യാകരണത്തിലെ അവ്യക്തതകളിൽ നിന്ന് ഉണ്ടാകുന്ന വൈരുദ്ധ്യങ്ങൾ.
-d ഫയൽ സൃഷ്ടിക്കുക y.tab.h, അടങ്ങുന്ന # നിർവചിക്കുക ബന്ധപ്പെട്ട പ്രസ്താവനകൾ yac- ഏൽപ്പിച്ചു
ഉപയോക്താവ് പ്രഖ്യാപിച്ച 'ടോക്കൺ പേരുകൾ' ഉള്ള 'ടോക്കൺ കോഡുകൾ'. ഉറവിട ഫയലുകളിൽ ഇത് ഉൾപ്പെടുത്തുക
ഒഴികെ y.tab.c ടോക്കൺ കോഡുകളിലേക്ക് ആക്സസ് നൽകാൻ.
-s ശബ്ദം ഫയലുകളുടെ പേരുകളുടെ പ്രിഫിക്സ് മാറ്റുക y.tab.c, y.tab.h, y.ഡീബഗ്, ഒപ്പം y.ഔട്ട്പുട്ട് ലേക്ക്
ശബ്ദം.
-S എന്നതിന് പകരം Stdio ഉപയോഗിക്കുന്ന ഒരു പാഴ്സർ എഴുതുക അച്ചടിക്കുക libc-യിലെ ദിനചര്യകൾ.
-l ജനറേറ്റ് ചെയ്ത പാഴ്സറിൽ #ലൈൻ നിർദ്ദേശങ്ങൾ പ്രവർത്തനരഹിതമാക്കുക.
-a Yyarg എന്ന തരത്തിലുള്ള ഒരു ആർഗ്യുമെന്റ് എടുത്ത് ഈ ആർഗ്യുമെന്റ് പാസാക്കുന്ന ഒരു പാർസർ ജനറേറ്റ് ചെയ്യുക
ലെക്സർ ഫംഗ്ഷന്റെ ഓരോ ആഹ്വാനത്തിനും, yylex. Yyarg-ൽ ഓരോ സന്ദർഭവും അടങ്ങിയിരിക്കുന്നു
സംസ്ഥാനവും ഉപയോക്താവിന് ദൃശ്യമാകുന്ന ഒരൊറ്റ അംഗവും, arg, തരം ശൂന്യമാണ്*.
ന്റെ സവിശേഷത yac അതിൽ വിവരിച്ചിരിക്കുന്ന UNIX പതിപ്പിന് സമാനമാണ്
താഴെ പരാമർശിച്ചിരിക്കുന്ന അവലംബങ്ങൾ. കൂടാതെ -D ഓപ്ഷൻ, പ്രധാന പ്രസക്തമായ വ്യത്യാസങ്ങൾ ഇവയാണ്:
സി എൻവയോൺമെന്റിലേക്കുള്ള ഇന്റർഫേസ് ഡിഫോൾട്ട് വഴിയാണ് അതിലും കൂടുതൽ
; The -S ഓപ്ഷൻ ഇത് വിപരീതമാക്കുന്നു.
പാഴ്സർ UTF ഇൻപുട്ട് ടെക്സ്റ്റ് സ്വീകരിക്കുന്നു (കാണുക utf(7)), ഇതിന് രണ്ട് ഇഫക്റ്റുകൾ ഉണ്ട്.
ആദ്യം, റിട്ടേൺ മൂല്യം yylex() ഇനി a യിൽ ചേരില്ല കുറിയ; രണ്ടാമത്, തുടക്കം
നോൺ-ടെർമിനലുകൾക്കുള്ള മൂല്യം ഇപ്പോൾ 0-നേക്കാൾ 000xE257 ആണ്.
ജനറേറ്റ് ചെയ്ത പാഴ്സർ ആവർത്തനമാകാം: പ്രവർത്തനങ്ങൾക്ക് വിളിക്കാം yyparse, ഉദാഹരണത്തിന് വരെ
ഒരു തരം നടപ്പിലാക്കുക # ഉൾപ്പെടുത്തുക ഒരു വ്യാഖ്യാതാവിൽ പ്രസ്താവന.
അവസാനമായി, പാഴ്സറിന്റെ ചില രേഖകളില്ലാത്ത ആന്തരിക പ്രവർത്തനങ്ങൾ മാറ്റി
അതിന്റെ ഘടനയെക്കുറിച്ച് വളരെയധികം അറിയാവുന്ന പ്രോഗ്രാമുകളെ ബാധിച്ചേക്കാം.
onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് yaccplan9 ഓൺലൈനായി ഉപയോഗിക്കുക