Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÓÃRuby дTuring »ú


×î½üÔÚ¿´John E.Hopcroft,Rajeev Motwani,Jeffrey D.Ullman Èý¾ÞͷдµÄIntroduction to Automata Theory,Language,and Computation£¬Ïëдһ¸öTuring »úÑéÖ¤Ò»ÏÂ×Ô¼ºÐ´µÄ×´Ì¬×ªÒÆº¯Êý¶Ô²»¶Ô¡£ÀÁµÃºÜ£¬ÍøÉÏËÑÁ˼¸¸ö²»´íµÄ¡£µ«Ruby Quiz ÉϵÄÕâ¸ö×î¼òµ¥¡£
162 Turing »ú
ÎÊÌâÃèÊö
Quiz
description by James Edward Gray II
Turing »úÊÇÊ®¾ÅÊÀ¼ÍÈýÊ®Äê´úÌá³öµÄÒ»ÖֽṹºÜ¼òµ¥µÄ¼ÆËãÄ£ÐÍ¡£ËäÈ»Ëü±ÈÈç½ñµÄÈκμÆËã»ú¶¼Òª¼òµ¥£¬µ«´óÁ¿Ñо¿±íÃ÷Æä¼ÆËãÄÜÁ¦Ë¿ºÁ²»ÈõÓÚÈκÎÄÜÏëµ½µÄ»úÆ÷£¨µ±È»£¬ÓÃÆðÀ´²»Ì«·½±ã£©¡£
ÕâÖܵÄÈÎÎñÊÇÔį̀Turing »úÀ´ÍæÍæ¡£
һ̨Turing »ú°üÀ¨Èý¸ö¼òµ¥²¿¼þ£º
* Ò»¸ö״̬¼Ä´æÆ÷
* Ò»ÌõÎÞÏÞ³¤µÄÖ½´ø£¬Ö½´ø±»·ÖΪÎÞÊýС¸ñ£¬Ã¿¸ö¸ñ×ÓÄÜÈÝÄÉÒ»¸ö×Ö·û¡£»¹ÓÐÒ»¸ö¶Áдͷ£¬ÔÚÈκÎʱ¿Ì¶¼»áÖ¸ÏòÒ»¸öÈ·¶¨µÄС¸ñ¡£Ö½´øÉÏĬÈÏÊÇ¿Õ×Ö·û¡£
* Ò»×éÓÐÏÞÖ¸Á¡£³ÌÐò¾ÍÊÇÒ»¸ö×´Ì¬Ç¨ÒÆµÄ´ó±í¸ñ¡£Turing »ú¸ù¾Ý״̬¼Ä´æÆ÷µÄµ±Ç°ÖµºÍ¶ÁдͷËùÖ¸µÄ×Ö·û²éµÃÒ»ÌõÖ¸Áî¡£ÕâÌõÖ¸Áî°üÀ¨¼Ä´æÆ÷µÄÐÂ״̬£¬ÌîÈë¶ÁдͷָÏòµ¥ÔªµÄ×Ö·ûºÍ¶ÁдͷÏÂÒ»²½Òƶ¯µÄ·½Ïò¡£
ΪÁËÈÃÎÒÃǵÄTuring »ú×ã¹»¼òµ¥£¬ÎÒÃǹ涨״̬¼Ä´æÆ÷ÈÝÄɵÄ×ÖÓ¦Äܱ»ÕýÔò±í´ïʽ /\w+/ Æ¥ÅäÉÏ£¬¶øÖ½´øÉϵÄ×Ö·ûÒªÄܱ» /\w/ Æ¥ÅäÉÏ¡£ÁíÍ⣬ÎÒÃǹ涨¿Õ×Ö·ûΪÏ»®Ïß(_)¡£
Turing »úµÄ³ÌÐò¸ñʽÈçÏ£º
CurrentState _ NewState C R
ÉÏÊö¸ñʽÒâ˼ÊÇ£ºÈç¹ûµ±Ç°×´Ì¬ÊÇCurrentState ¶ø¶ÁдͷËùÖ¸µÄ×Ö·ûÊÇ¿Õ×Ö·ûµÄ»°£¬°Ñ״̬ÖÃΪNewState £¬²¢ÓÃ×Ö·ûC Ìæ»»¿Õ×Ö·û£¬È»ºó¶ÁдͷÓÒÒÆÒ»¸ñ¡£ÕâÎå¸ö²¿·ÖдÔÚÒ»ÐÐÀïÃæ£¬Óÿոñ¸ô¿ª¡£ÔÊÐí³ÌÐòÖгöÏÖµ¥ÐÐ×¢ÊÍ£¬¸ÃÐÐÖо®ºÅ(#)ËùÆðµÄ²¿·ÖΪעÊÍ¡£×¢ÊÍ¡¢¿Õ°×Ðн«±»ºöÂÔ¡£
ÄãµÄTuring »úÓ¦±»³õʼΪ³ÌÐòµÚÒ»ÐÐÖеÄCurrentState¡£µ±È»ËæÄ㣬ÄãÒ²¿ÉÔÚ³ÌÐòÔØÈëʱԤÖúÃÖ½´øµÄÄÚÈÝ£¬µ«È±Ê¡Îª¿Õ×Ö·û¡£µ±³ÌÐòÕÒ²»µ½Ò»ÌõÓ뵱ǰ״̬ºÍ¶ÁдͷËùÖ¸×Ö·û¶ÔÓ¦µÄÖ¸Áîʱ£¬´òÓ¡³öÖ½´øÉÏ´ÓµÚÒ»¸ö·Ç¿Õ×Ö·ûµ½×îºóÒ»¸ö·Ç¿Õ×Ö·ûÖ®¼äµÄÄÚÈÝ£¬È»ºóÍ˳ö¡£
ÏÂÃæÊÇÒ»¸öʾÀý£¬Äã¿ÉÒÔ¿´µ½ÎÒµÄTuring »úÊÇÔõôÔËÐеģº
$ cat palindrome.tm
# Report whether a string of 0 and 1 (ie. a binary
# number) is a palindrome.
look_first 0 go_end_0 _ R
look_first 1 go_end_1 _ R
look_first _ write_es Y R
go_end_0 0 go_end_0 0 R
go_end_0 1 go_end_0 1 R
go_end_0 _ check_end_0 _ L
go_end_1 0 go_end_1 0 R
go_e


Ïà¹ØÎĵµ£º

¶ÔRuby VMµÄGCµÄ˼¿¼

RubyËäÈ»ÊǶ¯Ì¬½Å±¾ÓïÑÔ£¬µ«ÊǺÍJavaÒ»Ñù£¬´øÓÐVM£¬ÓÐ×Ô¼ºµÄÄÚ´æ¶Ñ£¬´´½¨¶ÔÏóµÄʱºòÔÚ¶ÑÀïÃæ·ÖÅäÄڴ棬¶ÔÏóʹÓÃÍê±ÏÓÉGC½øÐлØÊÕ¡£µ«ÊÇͨ¹ýÎÒÃÇÔËÓªRailsÍøÕ¾Á½Äê¶àµÄʵ¼ùÀ´¿´£¬Ruby VMµÄGC»¹ÊÇ´æÔںܴóµÄÎÊÌâ¡£¼òµ¥µÄÀ´Ëµ£¬¾ÍÊÇGCÖ®ºó£¬¾¡¹Ü¶ÔÏóÒѾ­ÍêÈ«»ØÊÕ£¬µ«ÊÇÎïÀíÄÚ´æÊͷŲ»¹»³ä·Ö£¬ÓÐй©µÄÏÖÏó¡£Í¨¹ýpmapÀ´dump rub ......

¸øjsµÄÊý×éʵÏÖÒ»¸öÀàËÆrubyµÄµü´úÆ÷


·ÖΪÈçϼ¸½Ú:
·»ù±¾ÊµÏÖ
·ÔÚµü´úÖÐÒýÓÃÔ­À´µÄ¶ÔÏ󣬻òÕßÖ±½Ó¸Ä±äÊý×éµÄÖµ¶ø²»ÊÇ·µ»ØÒ»¸öÐÂÊý×é
·Ïòµü´ú´«ÈëÎÞÏÞ¶àµÄ²ÎÊý
·»ù±¾ÊµÏÖ
½ñÌìͻȻ·¢ÏÖjsµÄÊý×é´¦ÀíÆðÀ´ÕæÊÇÂé·³,´úÂëһЩ¾ÍÊÇÒ»´ó¶Ñ,Ïà±ÈÆðrubyµÄµü´úÆ÷À´ÕæÊÇÑ·É«²»ÉÙ,Ö÷ÒªÊÇҪдµÄ´úÂëÌ«¶àÁË,Ò²ÐíÊÇjsÓÐÌØÊâµÄ´¦ÀíÊý×éµÄ·½Ê ......

ɾ³ý¹¤³ÌÖÐsvnÎļþµÄ½Å±¾(Ruby°æºÍPython°æ)

Á½ÖÖ²»Í¬µÄÓïÑÔ,²»Í¬µÄ±í´ï!
Python½Å±¾ÊµÏÖ.
""
"
    File Name : clean.py
    File Date : 2009/11/5 14:22:56
    Author     : DannyLai
    Purpose     : Cle ......

rubyÎļþ²Ù×÷

1¡¢ÎļþµÄ´ò¿ªÓë¹Ø±Õ
    ``r'' Read-only, starts at beginning of file (default mode).
    ``r+'' Read-write, starts at beginning of file.
    ``w'' Write-only, truncates existing file to zero length or creates a new file for writing. ......

c++Öе÷ÓÃruby´úÂë

#include < ruby.h > //
static int id_sum;
int Values[] = {5, 10 ,15,-1,20,0};
static VALUE wrap_sum(VALUE args)
{
 VALUE * values = (VALUE *) args;
 VALUE summer = values[0]; 
 VALUE max = values[1];
 return rb_funcall(summer,id_sum,1,max);
}
static VALUE ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ