CodianCoco/R

Coco/R ¿¡¼­ »ý¼ºµÈ ½ºÄɳʿ¡¼­´Â ÅäÅ«¸íÀ» Token.kind ¼Ó¼ºÀ» ÅëÇØ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. Token.kindÀÇ °ªÀº ÅäÅ« À̸§ÀÇ ³»ºÎ À妽º·Î ÁöÁ¤µÇ¸ç °³º° ÅäÅ«¿¡ °¢°¢ ºÎ¿©µÇ±â ¶§¹®¿¡ ½ÇÁúÀûÀÎ ÅäÅ«µéÀÇ Á¾·ù(Delemeter, Identifier, Keyword µî)¸¦ ±¸ºÐÇϴµ¥ »ç¿ëÇÏ±â ¾î·Æ´Ù.

CodianCoco/RÀº Coco/R ¿¡¼­ »ç¿ëÇÏ´Â ÄÄÆÄÀÏ·¯ ±â¼ú Çü½Ä(ATG ÆÄÀÏ Çü½Ä)ÀÇ ÅäÅ«Á¤ÀÇ¿¡ ÅäÅ«ÀÇ Á¾·ù(ÅäÅ« Ŭ·¡½º¶ó°í ĪÇÔ)¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖµµ·Ï È®ÀåÇϰí ÀÌ È®ÀåµÈ ÄÄÆÄÀÏ·¯ ±â¼ú Çü½ÄÀ» ó¸®ÇÏ´Â ÄÄÆÄÀÏ·¯ »ý¼º±â(CodianCoco/R)ÀÌ´Ù.

CodianCocoÀÇ ÅäÅ« Á¤ÀÇ

Coco/RÀÇ ÄÄÆÄÀÏ·¯ ±â¼ú Çü½ÄÀÇ TOKENS ¿Í PRAGMAS »ö¼Ç¿¡¼­ »ç¿ëµÇ´Â ÅäÅ« Á¤ÀÇ Çü½ÄÀ» ¼öÁ¤ÇÏ¿´´Ù. ¿ø·¡ Coco/R¿¡¼­ »ç¿ëµÇ´Â ÅäÅ« Á¤ÀÇ Çü½ÄÀº ´ÙÀ½°ú °°´Ù.

TokenDecl = 
	Sym 
	SYNC ( '=' TokenExpr '.' | ) 
	[ SemText ]

CodianCoco/R ¿¡¼­´Â ´ÙÀ½°ú °°Àº ÅäÅ« Á¤ÀÇ Çü½ÄÀ» ¼öÁ¤Çß´Ù.

TokenDecl = 
	Sym "[" ident "]" 
	SYNC ( '=' TokenExpr '.' | ) 
	[ SemText ]

¼öÁ¤µÈ ÅäÅ« Á¤ÀÇ Çü½ÄÀ» ÅëÇØ ´ÙÀ½°ú °°ÀÌ ÅäÅ«À» Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.

ppDefine[Preprocessor]  = "#" {ws} "define" {notNewLine} newLine.
void[Keyword]           = "void".

ÅäÅ«¸í µÚ¿¡ µû¶ó¿À´Â [<identifier>] ´Â ÅäÅ« Ŭ·¡½º¸¦ ÁöÁ¤Çϴµ¥ »ç¿ëµÈ´Ù. CodianCoco/RÀ» ÅëÇØ »ý¼ºµÈ ½ºÄɳÊÀÇ Token Ŭ·¡½º¿¡´Â tokenClass¶ó´Â ¼Ó¼ºÀÌ Ãß°¡µÇ¾î ÅäÅ« Á¤ÀÇ¿¡ »ç¿ëµÈ ÅäÅ« Ŭ·¡½º À̸§À» Á¢±ÙÇÒ ¼ö ÀÖµµ·Ï ÇÏ¿´´Ù.

CodianCoco/RÀº GPL ¶óÀ̼¾½º¸¦ µû¸£¸ç ¼Ò½º´Â ´ÙÀ½ ¸µÅ©¸¦ ÅëÇØ ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ´Ù.

CodianCoco.zip by codian

2005-08-28