1FAQ 2006/10/30 2 31. ��Ĺ�ޥå� 4 5 onig_new()����ǡ�ONIG_OPTION_FIND_LONGEST���ץ���� 6 ����Ѥ���к�Ĺ�ޥå��ˤʤ롣 7 8 92. ����åɥ����� 10 11 ����åɥ����դˤ���ˤϡ��ʲ���(A)��(B)�Τɤ��餫��Ԥʤ��� 12 �褤�� 13 14 (A) Oniguruma Layer 15 16 oniguruma/regint.h�����NOT_RUBY����ʬ�ΰʲ��Υޥ����������롣 17 18 USE_MULTI_THREAD_SYSTEM 19 THREAD_ATOMIC_START 20 THREAD_ATOMIC_END 21 THREAD_PASS 22 23 ���餫�ν����/��λ������ɬ�פǤ���С��ʲ��Υޥ����������롣 24 THREAD_SYSTEM_INIT 25 THREAD_SYSTEM_END 26 27 28 (B) Application Layer 29 30 Ʊ����ʣ���Υ���åɤ�������ɽ�����֥������Ȥ�������롢 31 �ޤ��ϲ������롢���Ȥ�ԤʤäƤϤʤ�ʤ��� 32 �����Υ��֥������Ȥ������̤Τ�ΤǤ��äƤ⡣ 33 34 �⤦�����ܤ��������ϡ����Υɥ�����Ȥ���� 35 "����åɥ����դ˴ؤ�����"�˽Ƥ������� 36 37 383. ���ꥹ�� 39 40 ���֤˴ؤ�����ꥹ�Ȥ�¸�ߤ��ʤ��� 41 42//END 43 44 45 46����åɥ����դ˴ؤ����� 47 48����åɥ����դˤ���ˤϡ����̤Υ��ץꥱ����������ǹԤ����� 49Oniguruma�饤�֥�����ǹԤ������ɤ��餫�����֤��Ȥ��Ǥ��ޤ��� 50(Oniguruma����Ѥ���¦���н褹�뤫��Oniguruma���н褵���뤫 51�ɤ��餫�����ǹԤ�ɬ�פ�����Ȥ������ȤǤ���) 52 53��������ˡ�ˤĤ��ơ��ʲ�(A)��(B)���������ޤ��� 54 55�ޥ������å�API�ϡ����줾��Υץ�åȥե�����ˤ�äƤ� 56�ۤʤ�ޤ��Τǡ��ʲ�����������Ƕ���Ū�˲���Ƥ֤Τ��� 57���Ȥ�̵���Ǥ����ºݤ˻��Ѥ����ޥ������å�API�ǡ� 58�б����뵡ǽ�Τ�Τ���ꤷ�Ƥ��������� 59 60(A) Oniguruma������б������� 61 62oniguruma/regint.h�����NOT_RUBY�ǰϤޤ�Ƥ�����ʬ����� 63�ʲ��Υޥ����������ƺƥ���ѥ��뤷�Ƥ��������� 64 65USE_MULTI_THREAD_SYSTEM 66 67 ñ��ͭ���ˤ���Ф褤�Ǥ��� 68 69THREAD_ATOMIC_START 70THREAD_ATOMIC_END 71 72 THREAD_ATOMIC_START����THREAD_ATOMIC_END�ǰϤޤ줿 73 �ץ����Υ�������ʬ�륹��åɤ��¹���ˡ�¾�� 74 ����åɤ˼¹Ը�����ư���ʤ����Ȥ��ݾ㤹���Τ���� 75 ���Ƥ��������� 76 (̾�����̤ꡢ�Ϥޤ줿��������ʬ��åɥ��ȥߥå��� 77 ����Ȥ�����̣) 78 79THREAD_PASS 80 81 �����¹Ԥ�������åɤ��顢¾�Υ���åɤ˼¹Ը���Ѿ� 82 �����Τ�����Ƥ���������(�ƥ������塼���ƤӽФ� 83 �Ȥ�����̣) 84 �б����뵡ǽ�������ʤ���С�������ˤ��Ƥ��������� 85 86(������) 87Ruby�ξ�����ˤ���ȡ� 88Ruby�ϼ�ʬ���Ȥ��ȼ��Υ���åɵ�ǽ��������Ƥ��ޤ��� 89���ε�ǽ����Ѥ���ȡ��ʲ��Τ褦���������Ф褤���Ȥ� 90�ʤ�ޤ��� 91 92#define USE_MULTI_THREAD_SYSTEM 93#define THREAD_SYSTEM_INIT 94#define THREAD_SYSTEM_END 95#define THREAD_ATOMIC_START DEFER_INTS 96#define THREAD_ATOMIC_END ENABLE_INTS 97#define THREAD_PASS rb_thread_schedule() 98 99Ruby�ξ�硢���������ߤ���Ѥ��ơ�����åɤ��ڤ��ؤ��� 100�ԤäƤ��ޤ���DEFER_INTS�ϳ����ߥϥ�ɥ�μ¹Ԥ���Ū�� 101�ߤ�뤿��Υޥ���Ǥ���ENABLE_INTS�ޥ���dz����ߥϥ�ɥ� 102�μ¹Ԥ���Ĥ��ޤ��� 103����ˤ�äơ�THREAD_ATOMIC_START����THREAD_ATOMIC_END 104�ǰϤޤ줿��ʬ�μ¹���ˡ�¾�Υ���åɤ˼¹Ը�����ư���ޤ��� 105 106 107(B) ���ץꥱ������������б������� 108 109�ʲ����ݾ㤹��褦�ˡ�����åɤμ¹Ԥ����椷�Ƥ��������� 110 111Ʊ����ʣ���Υ���åɤ�������ɽ�����֥������Ȥ�������롢�ޤ��ϲ������롢���Ȥ� 112�ԤʤäƤϤʤ�ʤ��������Υ��֥������Ȥ������̤Τ�ΤǤ��äƤ⡣ 113 114onig_new(), onig_new_deluxe(), onig_free()�Τɤ줫�θƤӽФ��� 115ʣ���Υ���åɤ�Ʊ���˼¹Ԥ��뤳�Ȥ��Ƥ���������Ʊ���Ǥʤ�����̤ˤ��ޤ��ޤ��� 116 117����ϲ���ɬ�פʤΤ��Ȥ����ȡ�����ɽ�����֥������Ȥ�������� 118�����ǡ������Ƕ��̤˻��Ȥ���ơ��֥뤬����ޤ��� 119���Υơ��֥���Ф��ƤΥǡ�����Ͽ������ʣ���Υ���åɤǾ��ͤ��� 120�۾�ʾ��֤ˤʤ�ʤ������ɬ�פǤ��� 121 122// END 123