¸öÀ» Ç®´Ù

Flex´Â ºü¸¥ ¾îÈÖ ºÐ¼®±âÀÔ´Ï´Ù.
Áö±Ý ´Ù¿î·Îµå

¸öÀ» Ç®´Ù ¼øÀ§ ¹× ¿ä¾à

±¤°í

  • Rating:
  • ƯÇã:
  • GPL
  • °¡°Ý:
  • FREE
  • °Ô½ÃÀÚ À̸§:
  • Vern Paxson
  • °Ô½ÃÀÚ À¥»çÀÌÆ®:

¸öÀ» Ç®´Ù ű×


¸öÀ» Ç®´Ù ¼³¸í

Flex´Â ºü¸¥ ¾îÈÖ ºÐ¼®±âÀÔ´Ï´Ù. Flex´Â ºü¸¥ ¾îÈÖ ºÐ¼®±âÀÔ´Ï´Ù .Flex´Â ºü¸¥ ¾îÈÖ ºÐ¼®±â ¹ß»ý±âÀÔ´Ï´Ù. ÅؽºÆ®¿¡¼­ ÆÐÅÏ ÀÏÄ¡¸¦ ¼öÇàÇÏ´Â ÇÁ·Î±×·¥À» »ý¼ºÇÏ´Â µµ±¸ÀÔ´Ï´Ù. Flex´Â Àß ¾Ë·ÁÁø Lex ProgramÀÇ Non-GNU ¹«·á ±¸ÇöÀÔ´Ï´Ù .Flex´Â ½ºÄ³³Ê¸¦ »ý¼ºÇÏ´Â µµ±¸ÀÔ´Ï´Ù. ÅؽºÆ®ÀÇ ¾îÈÖ ÆÐÅÏÀ» ÀνÄÇÏ´Â ÇÁ·Î±×·¥ÀÔ´Ï´Ù. Flex´Â ½ºÄ³³Ê°¡ »ý¼º ÇÒ ÆÄÀÏ À̸§ÀÌ ÁöÁ¤µÇÁö ¾ÊÀº ÆÄÀÏ À̸§ÀÌ ¾øÀ¸¸é ÁöÁ¤µÈ ÀÔ·Â ÆÄÀÏ ¶Ç´Â Ç¥ÁØ ÀÔ·ÂÀ» ÀнÀ´Ï´Ù. ¼³¸íÀº ±ÔÄ¢À̶ó´Â Á¤±Ô Ç¥Çö½Ä ¹× C ÄÚµåÀÇ ½ÖÀÇ ÇüÅÂÀÔ´Ï´Ù. Flex´Â Ãâ·Â A·Î »ý¼º µÈ C ¼Ò½º ÆÄÀÏ ÀÎ`lex.yy.c '¸¦ Á¤ÀÇÇÕ´Ï´Ù. yylex ()'¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀÌ ÆÄÀÏÀº ÄÄÆÄÀϵǰí`-lfl '¶óÀ̺귯¸®¿Í ¸µÅ©µÇ¾î ½ÇÇà ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù. ½ÇÇà ÆÄÀÏÀÌ ½ÇÇàµÇ¸é Á¤±Ô Ç¥Çö½ÄÀÇ ¹ß»ý¿¡ ´ëÇÑ ÀÔ·ÂÀ» ºÐ¼®ÇÕ´Ï´Ù. Çϳª°¡ ¹ß°ß µÉ ¶§¸¶´Ù ÇØ´ç C Äڵ带 ½ÇÇàÇÕ´Ï´Ù. Simple exampleFirst°¡ Flex¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÇ Çâ¹Ì¸¦ ¾ò±â À§ÇØ °£´ÜÇÑ ¿¹Á¦¸¦ ½ÇÇàÇÕ´Ï´Ù. ´ÙÀ½ Flex ÀÔ·ÂÀº "»ç¿ëÀÚ À̸§"¹®ÀÚ¿­À» ¸¸³¯ ¶§¸¶´Ù »ç¿ëÀÚÀÇ ·Î±×ÀÎ À̸§ : %% username printf ( "% s", getLogin ())·Î ´ëüÇÏ´Â ½ºÄ³³Ê¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ±âº»ÀûÀ¸·Î Flex°¡ ÀÏÄ¡ÇÏÁö ¾Ê´Â ÅؽºÆ® ½ºÄ³³Ê°¡ Ãâ·Â¿¡ º¹»ç µÇ¹Ç·ÎÀÌ ½ºÄ³³ÊÀÇ Net Effect´Â "»ç¿ëÀÚ À̸§"ÀÌ È®Àå µÈ °¢ ¹ß»ý°ú ÇÔ²² ÀÔ·Â ÆÄÀÏÀ» Ãâ·ÂÀ¸·Î º¹»çÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ ÀԷ¿¡¼­´Â ÇϳªÀÇ ±ÔÄ¢ÀÌ ÀÖ½À´Ï´Ù. "»ç¿ëÀÚ À̸§"Àº ÆÐÅÏÀÌ°í "PRINTF"´Â ÀÛ¾÷ÀÔ´Ï´Ù. "%%"´Â ±ÔÄ¢ÀÇ ½ÃÀÛ ºÎºÐÀ» Ç¥½ÃÇÕ´Ï´Ù. ´ÙÀ½Àº ¶Ç ´Ù¸¥ °£´ÜÇÑ ¿¹ÀÔ´Ï´Ù. int num_lines = 0, num_chars = 0; %% n ++ num_lines; ++ num_chars; ++ num_chars; %% main () {yylex (); printf ( "¶óÀÎ ¼ö = % d, chars = % dn", num_lines, num_chars); }ÀÌ ½ºÄ³³Ê´Â ¹®ÀÚ ¼ö¿Í ÀÔ·Â ¼öÀÇ ÁÙ ¼ö¸¦ °è»êÇÕ´Ï´Ù (Ä«¿îÆ®¿¡ ´ëÇÑ ÃÖÁ¾ º¸°í¼­ ÀÌ¿ÜÀÇ Ãâ·ÂÀÌ ¾Æ´Ñ Ãâ·ÂÀÌ ¹ß»ýÇÏÁö ¾ÊÀ½). ù ¹ø° ÁÙÀº µÎ ¹ø° "%%"ÈÄ¿¡ ¼±¾ð µÈ`yylex () '¿Í`main ()'·çƾ¿¡¼­ ¾×¼¼½º ÇÒ ¼öÀÖ´Â µÎ °³ÀÇ Àü¿ª, "num_lines"¹× "num_chars"¸¦ ¼±¾ðÇÕ´Ï´Ù. NewLine ( "n")°ú ÀÏÄ¡ÇÏ´Â µÎ °¡Áö ±ÔÄ¢ÀÌ ÀÖÀ¸¸ç ȸ¼± ¼ö¿Í ¹®ÀÚ ¼ö ¸ðµÎ ÁõºÐ ¹× °³ÇàÀÌ ¾Æ´Ñ ¹®ÀÚ ( "."Á¤±Ô Ç¥Çö½Ä) ÀÌ¿ÜÀÇ ¹®ÀÚ¿Í ÀÏÄ¡ÇÏ´Â µÎ °¡Áö ±ÔÄ¢ÀÌ ÀÖ½À´Ï´Ù. ´Ù¼Ò º¹ÀâÇÑ ¿¹ : / * Àå³­°¨ ÆĽºÄ®°ú À¯»çÇÑ ¾ð¾î¸¦À§ÇÑ / * ½ºÄ³³Ê * / % {/ * ¾Æ·¡ÀÇ È£ÃâÀÌ ÇÊ¿äÇÕ´Ï´Ù. * / # %} ¼ýÀÚ ID * %% {DIGIT} + {PRINTF ( "Á¤¼ö : % s (% d) n", yytext, atoi (yytext)); } {digit} + "."{digit} * {printf ( "float : % s (% g) n", yytext, atof (yytext)); } ±×·± ´ÙÀ½ | ½ÃÀÛ | ³¡ | ÇÔ¼ö {printf ( "Å°¿öµå : % sn", yytext); } {id} printf ( "½Äº°ÀÚ : % sn", yytext); "+"| - "|"* "|"/ "printf ("¿¬»êÀÚ : % Sn ", YyText);"{ " * "}"/ * ÇÑ ÁÙÀÇ ÁÖ¼®À» ¸Ô´Â´Ù. * / + / * °ø¹éÀ» ¸Ô´Â´Ù. * /. PRINTF ( "ÀÎ½Ä ÇÒ ¼ö¾ø´Â ¹®ÀÚ : % SN", YYTEXT); %% main (argc, argv) int argc; char ** argv; {++ argv, - argc; / * ÇÁ·Î±×·¥ À̸§À» °Ç³Ê ¶Ý´Ï´Ù * / if (argc> 0) yyin = fopen (argv , "r"); ±×·¸Áö ¾ÊÀ¸¸é yyin = stdin; yylex (); } ÀÌ°ÍÀº Pascal°ú °°Àº ¾ð¾î¸¦À§ÇÑ °£´ÜÇÑ ½ºÄ³³ÊÀÇ ½ÃÀÛÀÔ´Ï´Ù. ±×°ÍÀº ´Ù¸¥ À¯ÇüÀÇ ÅäÅ«À» ½Äº°ÇÏ°íº¸°íÀÖ´Â °Í¿¡ ´ëÇÑ º¸°í¼­¸¦ È®ÀÎÇÕ´Ï´Ù. ÀÌ ¿¹Á¦ÀÇ ¼¼ºÎ »çÇ×Àº ´ÙÀ½ ¼½¼Ç¿¡¼­ ¼³¸íÇÕ´Ï´Ù.


¸öÀ» Ç®´Ù °ü·Ã ¼ÒÇÁÆ®¿þ¾î

DOS33.

DOS33Àº AppleÀ» ÃßÃâ ÇÒ À¯Æ¿¸®Æ¼¸¦ ÃßÃâÇÕ´Ï´Ù.] [µð½ºÅ© À̹ÌÁö ¹× ¼ø¼ö AppleSoft ±âº» ÇÁ·Î±×·¥À» ½ÇÇàÇϽʽÿÀ. ...

211

´Ù¿î·Îµå