Ã¥¼Ò°³
¡ºlex¿Í yacc¡»´Â µÎ °¡Áö Áß¿äÇÑ À¯´Ð½º ÇÁ·Î±×·¡¹Ö µµ±¸ÀÎ ·º½º¿Í ¾ßÅ©¸¦ ¿ÏÀüÇÏ°Ô ´Ù·ç°í ÀÖ´Â À¯ÀÏÇÑ Ã¥ÀÌ´Ù. ·º½º¿Í ¾ßÅ©´Â ÁÖ·Î ÄÄÆÄÀÏ·¯³ª ÀÎÅÍÇÁ¸®ÅÍ °³¹ßÀÚ°¡ »ç¿ëÇÏ´Â µµ±¸ÀÌÁö¸¸, È¿À²ÀûÀÎ ÀԷ ó¸®¿Í ±¸¹® ºÐ¼® ¹× ÆĽÌÀ» ¿øÇÏ´Â ¸ðµç ÀÀ¿ëÇÁ·Î±×·¡¸Ó ¶ÇÇÑ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. ƯÈ÷, ±×µ¿¾È ÀÔ·ÂÀ» ºÐ¼®, °Ë»ç, º¯È¯ÇÏ´Â ¿£ÁøÀ» º°µµ·Î °³¹ßÇØ¿À´ø ÇÁ·Î±×·¡¸ÓµéÀº ÀÌ Ã¥À» ÅëÇØ ¸·°ÇÑ µÎ µµ±¸¿¡ ´ëÇÑ »ç¿ë¹ý°ú ¼ö¹Ý ³»¿ëÀ» öÀúÈ÷ ÀÍÈûÀ¸·Î½á, ±î´Ù·Ó°í ¼¼ºÎÀûÀÎ ºÎºÐ¿¡ ½Å°æ¾µ ÇÊ¿ä ¾øÀÌ °£°áÇÏ°í ¸íÈ®ÇÏ°Ô °³¹ßÇÒ ¼ö ÀÖ°Ô µÉ °ÍÀÌ´Ù.
°³Á¤ÆÇ¿¡¼´Â ÀüüÀûÀ¸·Î ³»¿ëÀ» Å©°Ô °³Á¤ÇÏ¿´À¸¸ç, ¿¹Á¦µé ¶ÇÇÑ »õ·Ó°Ô Ãß°¡ÇÏ°í È®ÀåÇÏ¿´´Ù. Ãß°¡ÀûÀ¸·Î 4Àå°ú 5ÀåÀ» ¸Þ´º ÄÄÆÄÀÏ·¯¿Í SQL ¹®¹ýÀ» ±¸ÇöÇÏ´Â µ¥ ÇÒ¾ÖÇÏ¿©, °æÇè ¸¹Àº ÇÁ·Î±×·¡¸Óµéµµ À¯¿ëÇÑ ±â¹ýÀ» ¾òÀ» ¼ö ÀÖµµ·Ï ÇÏ¿´´Ù. ºÎ·Ï¿¡¼´Â ·º½º¿Í ¾ßÅ©¿¡ ´ëÇÑ ¸íÄèÇÑ ·¹ÆÛ·±½º¿Í ´Ù¾çÇÑ ¿À·ù ÇØ°á¹ýÀ» Á¦°øÇϸç, À¯´Ð½º¿Í MS-DOS¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ÁÖ¿ä ¹öÀü¿¡ ´ëÇØ ´Ù·é´Ù.
¸ñÂ÷
1Àå. ·º½º¿Í ¾ßÅ©
°¡Àå °£´ÜÇÑ ·º½º ÇÁ·Î±×·¥
·º½º ÀÌ¿ëÇÑ ´Ü¾î ÀνÄ
±âÈ£ Å×À̺í
¹®¹ý
Æļ¿Í ·º¼ÀÇ ÀÇ»ç ¼ÒÅë
¾ð¾î ¿ä¼Ò ºÐ¼®±â
¾ßÅ© Æļ
±ÔÄ¢Àý
·º½º¿Í ¾ßÅ©ÀÇ ½ÇÇà
·º½º¿Í ¼Õ¼ö ÀÛ¼ºÇÑ ·º¼ÀÇ ºñ±³
¿¬½À ¹®Á¦
2Àå. ·º½º ÀÌ¿ëÇϱâ
Á¤±Ô Ç¥Çö½Ä
Á¤±Ô Ç¥Çö½ÄÀÇ ¿¹
´Ü¾î ¼¼±â ÇÁ·Î±×·¥
¸í·ÉÇà ÆĽÌ
½ÃÀÛ »óÅÂ
C ¼Ò½º ÄÚµå ºÐ¼®±â
¿ä¾à
¿¬½À ¹®Á¦
3Àå. ¾ßÅ© ÀÌ¿ëÇϱâ
¹®¹ý
Àç±Í ±ÔÄ¢
À̵¿/°¨¼Ò ÆĽÌ
¾ßÅ©¿¡¼ ÆĽÌÇÒ ¼ö ¾ø´Â ¹®¹ý
¾ßÅ© Æļ
Á¤ÀÇÀý
±ÔÄ¢Àý
±âÈ£ °ª°ú µ¿ÀÛ
·º¼
°£´ÜÇÑ Æļ ÄÄÆÄÀÏ ¹× ½ÇÇà
»ê¼ú Ç¥Çö½Ä°ú ¸ðÈ£¼º
¿ì¼± ¼øÀ§ ±ÔÄ¢À» »ç¿ëÇÏÁö ¸»¾Æ¾ß ÇÒ ¶§
º¯¼ö¿Í ŸÀÔÀ» °®´Â ÅäÅ«
±âÈ£ °ª°ú %union
±âÈ£ Å×À̺í
ÇÔ¼ö¿Í ¿¹¾à¾î
±âÈ£ Å×À̺íÀÇ ¿¹¾à¾î
±³È¯ °¡´ÉÇÑ ÇÔ¼ö¿Í º¯¼ö¸í
Make¸¦ ÀÌ¿ëÇÑ Æļ ±¸Ãà
¿ä¾à
¿¬½À ¹®Á¦
4Àå. ¸Þ´º »ý¼º ¾ð¾î
MGL °³¿ä
MGL °³¹ß
MGL ±¸Ãà
ÃʱâÈ
ȸé ó¸®
Á¾·á
»ùÇà MGL ÄÚµå
¿¬½À¹®Á¦
5Àå. SQL ÆĽÌ
SQL °³¿ä
°ü°èÇü µ¥ÀÌÅͺ£À̽º
°ü°èÀÇ ±¸¼º
SQLÀ» »ç¿ëÇÏ´Â ¼¼ °¡Áö ¹æ¹ý
±¸¹® °Ë»ç±â
·º¼
¿¡·¯¿Í ¸ÞÀÎ ·çƾ
Æļ
Á¤ÀÇ
ÃÖ»óÀ§ ±ÔÄ¢
½ºÅ°¸¶ ¼ºê-¾ð¾î
¸ðµâ ¼ºê-¾ð¾î
Á¶ÀÛ ¼ºê-¾ð¾î
À⵿»ç´Ï
±¸¹® °Ë»ç±âÀÇ »ç¿ë
ÀÓº£µðµå SQL
·º¼¿¡ °¡ÇÑ º¯°æ
Æļ¿¡ °¡ÇÑ º¯°æ
º¸Á¶ ·çƾ
Àü󸮱â ÀÌ¿ëÇϱâ
¿¬½À¹®Á¦
6Àå. ·º½º ¸í¼¼¼ ÂüÁ¶
·º½º ¸í¼¼¼ÀÇ ±¸Á¶
Á¤ÀÇÀý
±ÔÄ¢Àý
»ç¿ëÀÚ ¼ºê·çƾ
BEGIN
¹ö±×
¸ðÈ£ÇÑ ¹Ì¸® º¸±â
AT&T ·º½º
Ç÷º½º
¹®ÀÚ º¯È¯
ÄÁÅؽºÆ® °¨Áö
¿ÞÂÊ ÄÁÅؽºÆ®
¿À¸¥ÂÊ ÄÁÅؽºÆ®
Á¤ÀÇ (´ëü)
ECHO
Include ¿¬»ê (ÆÄÀÏÀÇ ³í¸®Àû Æ÷ÇÔ)
yywrap( )À» ÀÌ¿ëÇÑ ÆÄÀÏ Ã¼ÀÎ
ÆÄÀÏ Æ÷ÇÔ ±¸Á¶
¹®ÀÚ¿¿¡¼ ÀоîµéÀÌ´Â ÀÔ·Â
AT&T ·º½º
Ç÷º½º
¾Æºê¶ô»ç½º Çǽ÷º½º
MKS ·º½º
POSIX ·º½º
input( )
³»ºÎ Å×À̺í(%N ¼±¾ð)
·º½º ¶óÀ̺귯¸®
main( )
´Ù¸¥ ¶óÀ̺귯¸® ·çƾ
Çà ¹øÈ£¿Í yylineno
¸®ÅÍ·² ºí·Ï
ÇÑ ÇÁ·Î±×·¥¿¡ Á¸ÀçÇÏ´Â ¿©·¯ °³ÀÇ ·º¼
°áÇÕµÈ ·º¼
¿©·¯ °³ÀÇ ·º¼
output( )
·º¼°¡ »ý¼ºÇÑ ·º¼ÀÇ À̽ļº
·º½º ¸í¼¼¼ À̽Ä
»ý¼ºµÈ C ·º¼ À̽Ä
Á¤±Ô Ç¥Çö½Ä ±¸¹®
¸ÞŸ ¹®ÀÚ
POSIX È®Àå
REJECT
yylex( )¿¡¼ °ª ¸®ÅÏÇϱâ
½ÃÀÛ »óÅÂ
unput( )
yyinput( ), yyoutput( ), yyunput( )
yyleng
yyless( )
yylex( )
yylex( ) ¾ÈÀÇ »ç¿ëÀÚ ÄÚµå
yymore( )
yytext
yytext È®Àå
yywrap( )
7Àå. ¾ßÅ© ¹®¹ý ÂüÁ¶
¾ßÅ© ¹®¹ýÀÇ ±¸Á¶
±âÈ£
Á¤ÀÇÀý
±ÔÄ¢Àý
»ç¿ëÀÚ ¼ºê·çƾÀý
µ¿ÀÛ
±ÔÄ¢¿¡ ³»ÀåµÈ µ¿ÀÛ
³»Àå µ¿ÀÛÀ» À§ÇÑ ±âÈ£ ŸÀÔ
»ç¶óÁ®°¡´Â ±â´É
¸ðÈ£¼º°ú Ãæµ¹
Ãæµ¹ÀÇ Å¸ÀÔ
¾ßÅ©¿¡ Á¸ÀçÇÏ´Â ¹ö±×
½ÇÁ¦ ¹ö±×
¹«ÇÑ Àç±Í
½ÇÁ¦ ¹ö±×°¡ ¾Æ´Ñ °Í
³¡ Ç¥½Ã±â
¿¡·¯ ÅäÅ«°ú ¿¡·¯ º¹±¸
%ident ¼±¾ð
»ó¼ÓµÈ ¼Ó¼º ($0)
»ó¼ÓµÈ ¼Ó¼ºÀ» À§ÇÑ ±âÈ£ ŸÀÔ
·º¼ÀÇ Çǵå¹é
¸®ÅÍ·² ºí·Ï
¸®ÅÍ·² ÅäÅ«
¾ßÅ© ÆļÀÇ À̽ļº
¾ßÅ© ¹®¹ý À̽Ä
»ý¼ºµÈ C Æļ À̽Ä
¿ì¼± ¼øÀ§, °áÇÕ ¹ýÄ¢ ±×¸®°í ¿¬»êÀÚ ¼±¾ð
¿ì¼± ¼øÀ§¿Í °áÇÕ ¹ýÄ¢
¿¬»êÀÚ ¼±¾ð
¿ì¼± ¼øÀ§¿Í °áÇÕ ¹ýÄ¢ ÀÌ¿ëÇÑ Ãæµ¹ ÇؼÒ
¿ì¼± ¼øÀ§ÀÇ ÀüÇüÀûÀÎ ÀÌ¿ë
Àç±Í ±ÔÄ¢
¿ÞÂÊ°ú ¿À¸¥ÂÊ Àç±Í
±ÔÄ¢
Ư¼ö ¹®ÀÚ
½ÃÀÛ ¼±¾ð
±âÈ£ °ª
±âÈ£ ŸÀÔ ¼±¾ð
°è»ê±â ¿¹Á¦
¸í½ÃÀûÀÎ ±âÈ£ ŸÀÔ
ÅäÅ«
ÅäÅ« ¹øÈ£
ÅäÅ« °ª
%type ¼±¾ð
%union ¼±¾ð
¿©·¯ °¡Áö ´Ù¸¥ ¹®¹ýµé
°áÇÕµÈ Æļ
¿©·¯ °³ÀÇ Æļ
Àç±ÍÀûÀÎ ÆĽÌ
¿©·¯ °³ÀÇ Æļ¸¦ À§ÇÑ ·º¼
y.output ÆÄÀÏ
¾ßÅ© ¶óÀ̺귯¸®
main( )
yyerror( )
YYABORT
YYACCEPT
YYBACKUP
yyclearin
yydebug¿Í YYDEBUG
YYDEBUG
yydebug
yyerrok
YYERROR
yyerror( )
yyparse( )
YYRECOVERING( )
8Àå. ¸ðÈ£¼º°ú Ãæµ¹
Æ÷ÀÎÅÍ ¸ðµ¨°ú Ãæµ¹
Ãæµ¹ÀÇ Å¸ÀÔ
Æļ »óÅÂ
y.outputÀÇ ³»¿ë
y.output ¾ÈÀÇ Ãæµ¹ Àç°ËÅä
Ãæµ¹ÀÇ ÈçÇÑ ¿¹
Ç¥Çö½Ä ¹®¹ý
IF-THEN-ELSE
Áßø ¸®½ºÆ® ¹®¹ý
Ãæµ¹ ÇØ°á ¹æ¹ý
IF-THEN-ELSE (À̵¿/°¨¼Ò)
·çÇÁ ¾È¿¡ ÀÖ´Â ·çÇÁ (À̵¿/°¨¼Ò)
Ç¥Çö½ÄÀÇ ¿ì¼± ¼øÀ§ (À̵¿/°¨¼Ò)
Á¦ÇÑµÈ ¹Ì¸® º¸±â (À̵¿/°¨¼Ò ȤÀº °¨¼Ò/°¨¼Ò)
¼±Åà »çÇ×ÀÇ Áߺ¹ (°¨¼Ò/°¨¼Ò)
¿ä¾à
¿¬½À ¹®Á¦
9Àå. ¿¡·¯ º¸°í¿Í º¹±¸
¿¡·¯ º¸°í
´õ ³ªÀº ·º½º ¿¡·¯ º¸°í
¿¡·¯ º¹±¸
¾ßÅ© ¿¡·¯ º¹±¸
¿¡·¯ ÅäÅ«ÀÇ À§Ä¡
ÄÄÆÄÀÏ·¯ ¿¡·¯ º¹±¸
¿¬½À ¹®Á¦
ºÎ·Ï A. AT&T ·º½º
ºÎ·Ï B. AT&T ¾ßÅ©
ºÎ·Ï C. ¹öŬ¸® ¾ßÅ©
ºÎ·Ï D. GNU ¹ÙÀ̼Õ
ºÎ·Ï E. Ç÷º½º
ºÎ·Ï F. MKS ·º½º¿Í ¾ßÅ©
ºÎ·Ï G. ¾Æºê¶ô»ç½º ·º½º¿Í ¾ßÅ©
ºÎ·Ï H. POSIX ·º½º¿Í ¾ßÅ©
ºÎ·Ï I. MGL ÄÄÆÄÀÏ·¯ ÄÚµå
ºÎ·Ï J. SQL Æļ ÄÚµå