To remember results of a previous scan for purposes of finding another possible match, the action REJECT can be used in the translation section. This action causes lex to do the next alternative. For example, the following program counts instances of the words he and she:
she s++;
he h++;
\n │
. ;
Anything not matching he or she is ignored, because of the bottom two rules.
This program, however, does not count instances of he embedded inside instances of she. To obtain this behavior, a REJECT action is required to force lex to consider any other rules that might match, adjusting the input accordingly. The program then becomes:
she { s++; REJECT; }
he { h++; REJECT; }
\n │
. ;
After counting each he or she, the expression is rejected and the other expression is examined. As he cannot include she, the second REJECT is actually not required in this case.
Translation:
The REJECT Action
Untuk mengingat hasil pemindaian sebelumnya untuk tujuan menemukan kecocokan lain yang mungkin, tindakan REJECT dapat digunakan di bagian terjemahan. Tindakan ini menyebabkan lex melakukan alternatif berikutnya. Misalnya, program berikut menghitung contoh kata dia dan dia:
(perempuan) dia s++;
(laki-laki) dia h++;
\n
. ;
Apa pun yang tidak cocok dengannya diabaikan, karena dua aturan terbawah.
Program ini, bagaimanapun, tidak menghitung contoh dia tertanam di dalam contoh dia. Untuk mendapatkan perilaku ini, tindakan REJECT diperlukan untuk memaksa lex mempertimbangkan aturan lain yang mungkin cocok, menyesuaikan input yang sesuai. Program tersebut kemudian menjadi:
(perempuan) dia { s++; MENOLAK; }
(laki-laki) dia { j++; MENOLAK; }
\n
. ;
Setelah menghitung masing-masing dia, ekspresi ditolak dan ekspresi lainnya diperiksa. Karena dia tidak dapat memasukkan dia, REJECT kedua sebenarnya tidak diperlukan dalam kasus ini.
0 votes Thanks 0
itzkureaawe
KETERANGAN : Reject Action adalah Tindakan Menolak seseorang
Jawaban:
The REJECT Action
To remember results of a previous scan for purposes of finding another possible match, the action REJECT can be used in the translation section. This action causes lex to do the next alternative. For example, the following program counts instances of the words he and she:
she s++;
he h++;
\n │
. ;
Anything not matching he or she is ignored, because of the bottom two rules.
This program, however, does not count instances of he embedded inside instances of she. To obtain this behavior, a REJECT action is required to force lex to consider any other rules that might match, adjusting the input accordingly. The program then becomes:
she { s++; REJECT; }
he { h++; REJECT; }
\n │
. ;
After counting each he or she, the expression is rejected and the other expression is examined. As he cannot include she, the second REJECT is actually not required in this case.
Translation:
The REJECT Action
Untuk mengingat hasil pemindaian sebelumnya untuk tujuan menemukan kecocokan lain yang mungkin, tindakan REJECT dapat digunakan di bagian terjemahan. Tindakan ini menyebabkan lex melakukan alternatif berikutnya. Misalnya, program berikut menghitung contoh kata dia dan dia:
(perempuan) dia s++;
(laki-laki) dia h++;
\n
. ;
Apa pun yang tidak cocok dengannya diabaikan, karena dua aturan terbawah.
Program ini, bagaimanapun, tidak menghitung contoh dia tertanam di dalam contoh dia. Untuk mendapatkan perilaku ini, tindakan REJECT diperlukan untuk memaksa lex mempertimbangkan aturan lain yang mungkin cocok, menyesuaikan input yang sesuai. Program tersebut kemudian menjadi:
(perempuan) dia { s++; MENOLAK; }
(laki-laki) dia { j++; MENOLAK; }
\n
. ;
Setelah menghitung masing-masing dia, ekspresi ditolak dan ekspresi lainnya diperiksa. Karena dia tidak dapat memasukkan dia, REJECT kedua sebenarnya tidak diperlukan dalam kasus ini.