1FAQ 2007/07/23 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����ΰʲ��Υޥ����������롣 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. CR + LF 39 40 DOS�β���(CR(0x0c) + LF(0x0a)��Ϣ³) 41 42 regenc.h����Ρ��ʲ�����ʬ��ͭ���ˤ��롣 43 44 /* #define USE_CRNL_AS_LINE_TERMINATOR */ 45 46 474. ���ꥹ�� 48 49 ���֤˴ؤ�����ꥹ�Ȥ�¸�ߤ��ʤ��� 50 51//END 52 53 54 55����åɥ����դ˴ؤ����� 56 57����åɥ����դˤ���ˤϡ����̤Υ��ץꥱ����������ǹԤ����� 58Oniguruma�饤�֥�����ǹԤ������ɤ��餫�����֤��Ȥ��Ǥ��ޤ��� 59(Oniguruma����Ѥ���¦���н褹�뤫��Oniguruma���н褵���뤫 60�ɤ��餫�����ǹԤ�ɬ�פ�����Ȥ������ȤǤ���) 61 62��������ˡ�ˤĤ��ơ��ʲ�(A)��(B)���������ޤ��� 63 64�ޥ������å�API�ϡ����줾��Υץ�åȥե�����ˤ�äƤ� 65�ۤʤ�ޤ��Τǡ��ʲ�����������Ƕ���Ū�˲���Ƥ֤Τ��� 66���Ȥ�̵���Ǥ����ºݤ˻��Ѥ����ޥ������å�API�ǡ� 67�б����뵡ǽ�Τ�Τ���ꤷ�Ƥ��������� 68 69(A) Oniguruma������б������� 70 71oniguruma/regint.h����ǰʲ��Υޥ����������ƺƥ���ѥ��뤷�Ƥ��������� 72 73USE_MULTI_THREAD_SYSTEM 74 75 ñ��ͭ���ˤ���Ф褤�Ǥ��� 76 77THREAD_ATOMIC_START 78THREAD_ATOMIC_END 79 80 THREAD_ATOMIC_START����THREAD_ATOMIC_END�ǰϤޤ줿 81 �ץ����Υ�������ʬ�륹��åɤ��¹���ˡ�¾�� 82 ����åɤ˼¹Ը�����ư���ʤ����Ȥ��ݾ㤹���Τ���� 83 ���Ƥ��������� 84 (̾�����̤ꡢ�Ϥޤ줿��������ʬ��åɥ��ȥߥå��� 85 ����Ȥ�����̣) 86 87THREAD_PASS 88 89 �����¹Ԥ�������åɤ��顢¾�Υ���åɤ˼¹Ը���Ѿ� 90 �����Τ�����Ƥ���������(�ƥ������塼���ƤӽФ� 91 �Ȥ�����̣) 92 �б����뵡ǽ�������ʤ���С�������ˤ��Ƥ��������� 93 94(������) 95Ruby�ξ�����ˤ���ȡ� 96Ruby�ϼ�ʬ���Ȥ��ȼ��Υ���åɵ�ǽ��������Ƥ��ޤ��� 97���ε�ǽ����Ѥ���ȡ��ʲ��Τ褦���������Ф褤���Ȥ� 98�ʤ�ޤ��� 99 100#define USE_MULTI_THREAD_SYSTEM 101#define THREAD_SYSTEM_INIT 102#define THREAD_SYSTEM_END 103#define THREAD_ATOMIC_START DEFER_INTS 104#define THREAD_ATOMIC_END ENABLE_INTS 105#define THREAD_PASS rb_thread_schedule() 106 107Ruby�ξ�硢���������ߤ���Ѥ��ơ�����åɤ��ڤ��ؤ��� 108�ԤäƤ��ޤ���DEFER_INTS�ϳ����ߥϥ�ɥ�μ¹Ԥ���Ū�� 109�ߤ�뤿��Υޥ���Ǥ���ENABLE_INTS�ޥ���dz����ߥϥ�ɥ� 110�μ¹Ԥ���Ĥ��ޤ��� 111����ˤ�äơ�THREAD_ATOMIC_START����THREAD_ATOMIC_END 112�ǰϤޤ줿��ʬ�μ¹���ˡ�¾�Υ���åɤ˼¹Ը�����ư���ޤ��� 113 114 115(B) ���ץꥱ������������б������� 116 117�ʲ����ݾ㤹��褦�ˡ�����åɤμ¹Ԥ����椷�Ƥ��������� 118 119Ʊ����ʣ���Υ���åɤ�������ɽ�����֥������Ȥ�������롢�ޤ��ϲ������롢���Ȥ� 120�ԤʤäƤϤʤ�ʤ��������Υ��֥������Ȥ������̤Τ�ΤǤ��äƤ⡣ 121 122onig_new(), onig_new_deluxe(), onig_free()�Τɤ줫�θƤӽФ��� 123ʣ���Υ���åɤ�Ʊ���˼¹Ԥ��뤳�Ȥ��Ƥ���������Ʊ���Ǥʤ�����̤ˤ��ޤ��ޤ��� 124 125����ϲ���ɬ�פʤΤ��Ȥ����ȡ�����ɽ�����֥������Ȥ�������� 126�����ǡ������Ƕ��̤˻��Ȥ���ơ��֥뤬����ޤ��� 127���Υơ��֥���Ф��ƤΥǡ�����Ͽ������ʣ���Υ���åɤǾ��ͤ��� 128�۾�ʾ��֤ˤʤ�ʤ������ɬ�פǤ��� 129 130// END 131