�@�O�����������ɂ��ĉ�����A�����̓v���O�������������쐬���܂����B����́A�����͂̌��ʎ擾�ł������僊�X�g����͂����\�����������\������ƁA���̌��ʂ��g�����I�u�W�F�N�g�R�[�h��������@�ɂ��ĉ�������܂��B
�@�A�ڑ�4���ŁA�v���O���~���O����S1s��BNF���g���Ď��̂悤�ɒ�`���܂����B
<program> ::= main '{' <expression> '}' <expression> ::= <term>{ <opeas> <term> } <term> ::= <factor>{ <opemd> <factor> } <factor> ::= <number>|( <expression> ) <number> ::= <digit>{<digit>} <opeas> ::= + | - <opemd> ::= * | / <digit> ::= 0|1|2|3|4|5|6|7|8|9
�@�\����͂ł́A�^����ꂽ�v���O�����̃\�[�X�R�[�h���AS1s��BNF���琶���ł��邩�ǂ������`�F�b�N���A�����ł���ꍇ�ɂ͍\�������܂��B
�@��������\���͌��t�̂Ƃ���A�؍\���̃f�[�^�ɂȂ�܂��B�A�ڑ�2���̃R�������Z�p�����؍\���ɂ��Đ��������܂������A�����悤�Ȃ��̂ł��B
�@�Ⴆ�A���ꂼ���}1�`3�̂悤�ȍ\���ƂȂ�܂��B���@�\���́A���̂悤�ɖ؍\���ŕ\���Ă������Ƃ��悭����܂��B
�@�\����͂ɂ���āA����̃��X�g�\������A�\����\������؍\���̃f�[�^�֕ϊ�����K�v�����邱�Ƃ͕��������Ǝv���̂ł����A��̓I�ɂ͂ǂ̂悤�ȏ��������������̂ł��傤�H
�@���̏��������������\����͖@�ɂ͂�������ނ�����̂ł����A�����ł́u�������\����͖@�v�Ƃ������@���g�����Ƃɂ��܂��B
�Ȃ��A�ϐ��Ȃǂ��g����悤�ɕ��@���`���Ă���ꍇ�́A���̂Ƃ������O�\�Ƃ������̂���������̂ł����A�{�A�ڂł͒Z�����ԂŃR���p�C���̊�{�I�Ȍ����𗝉����Ă��炤���߂ɁA�����̏����ɂ��Ă͌��y���܂���B�ق��ɂ��ׂ����b�͂���������܂����A�����ɂ��Ă͎��̃X�e�b�v�Ƃ��A�R���p�C����发�ɏ��邱�Ƃɂ��܂��B
�@�ł́A�u�������\����͖@�v�̐����ɓ���܂��B���̕��@�́A�^����ꂽ���僊�X�g��BNF�Œ�`����Ă��镶�@�ƈ�v���Ă���Ɖ��肵�A�J�n�L�����琶��������L�����̃p�^�[���ƏƂ炵���킹�Ȃ���`�F�b�N�ƍ\���̍쐬�����܂��B�����ł͕�����ɂ����̂ł����A�v���O�����̗��������ƁA�ȒP���Ƃ������Ƃ�������͂��ł��B
�@�^����ꂽ���僊�X�gtokens���ŏ��̐����K���ł���u <program> ::= main '{' <expression> '}'�v�̕��@�����Ă��邩���m�F���邽�߂ɂ́A���̂悤�ȏ����̗���ƂȂ�܂��B����}�Ƃ��ĕ\������ƕ�����܂����A���@�ŕ\������Ă���L����ɂ��āA�I�[�L���͂��̂܂ܒP���Ƀ`�F�b�N���A��I�[�L���ɂ��Ă͓��l�ɂ��ă`�F�b�N�p�̏�����p�ӂ���悢�Ƃ������Ƃ�������܂��B
�@���q��������قNJȒP�Ɋ������ǎ҂������Ǝv���܂����ABNF�ŕ��@��\��������A�����͂Ŏ��僊�X�g���������Ă������ƂŁA�\����͂̏������ȒP�Ɏ������邽�߂̉����������Ă����_��Y��Ȃ��ł��������B�����̏��������������炱���A���ꂩ��̏������ȒP�ɂȂ�̂ł��B
�@�L������ɕ�������Ă��Ȃ��ꍇ�́A��蕶���Ȃǂɂ��Ă��l�������������K�v�ɂȂ�܂����A�����͎����͂̎��_�ōs���Ă���̂ŁA�\����͂ł͍l������K�v������܂���B
�@���̂悤�ɁA�\����͂̏����͕��@�̐����K���ɏ]���ď��������������Ȃ̂ŁA�ȒP�Ɏ����ł��܂����A���ۂɊe�����K���ɂ��Ċm�F���Ă݂�Ƃ������̒��ӎ������o�Ă��܂��B
�@���ł��d�v�Ȓ��ӎ����Ƃ��ẮA��x�ǂݍ�����ɂ��āA�ǂݍ��܂Ȃ��������Ƃɂ��ď����𑱂����ʂ��o�Ă���Ƃ������̂�����܂��B���̂悤�Ȍ�߂菈���̂��Ƃ��o�b�N�g���b�L���O�Ƃ����܂����A���ɓǂݍ��ގ��傪�����ɂ���ď����̗��ꂪ�ς�邱�Ƃ����邽�߁A���̏������K�v�Ȃ̂ł��B
�@�o�b�N�g���b�L���O�̕K�v���ɂ��ẮA�u<program> ::= main { <expression> }�v���`�F�b�N����v���O�����̏����̗��ꂾ���ł͕�����ɂ����̂ł����A�u�c��̎��僊�X�g��<expression>���琶���ł���L���`�F�b�N�v����Ƃ��������ɂ��Ă�����ƍl���Ă݂�ƁA������܂��B
�@���̏����ł́A�����ōŌ�̎���u}�v��ǂݍ����_�ŏ������I�����܂����A�ǂݍ���������̂܂܂ɂ��Ă����ƁA�u<program> ::= main { <expression> }�v���`�F�b�N����v���O�����ŗ��p�ł��܂���B�ł�����A�u�c��̎��僊�X�g��<expression>���琶���ł���L���`�F�b�N�v����Ƃ��������ł́A�Ō�̎���u}�v�ɂ��Ă͏I������̂��߂ɓǂݍ��݂܂����A�����̏I�����ɂ͓ǂݍ��܂Ȃ�������Ԃɂ��ďI������K�v������̂ł��B
�@���ۂ̍\����̓v���O�������Љ��O�ɏd�v�ȓ_�ɂ��Đ��������܂������A������ɂ����_�������Ǝv���܂��B���ۂ̃R�[�h������ƁA�������Ă���Ǝv���܂�����A�����ŋ^��_�͉�������Ƃ������Ƃł��\��Ȃ��Ǝv���܂��B
Copyright © ITmedia, Inc. All Rights Reserved.