����E�A�Z�p�҃R�~���j�e�B��Java����̋���ƌ[�ւɒ��N�g����Ă����M�҂��AJava��ʂ��ăR���p�C���̎d�g�݂���₷���Љ��B�i�ҏW���j
�@�O�����R���p�C�������삷��Ӌ`�Ɗ�{�\���ɂ��ďq�ׂ܂������A����͂��悢��R���p�C���쐬�̏����Ɏ��|����܂��B
�@�R���p�C�����쐬����ɂ́A�^�[�Q�b�g�ƂȂ�v�Z�@���K�v�ł��B���̂��߁A�R���p�C���Ɋւ����发�ł́A��̓I��CPU�ƁA����CPU���T�|�[�g�������߃Z�b�g�Ƃ����߂ĉ�����Ă���ꍇ�������̂ł��B���̘A�ڂł͊�{�I�Șb����i�߂܂��̂ŁA�X�^�b�N���g�������z�v�Z�@���쐬���Ďg�����Ƃɂ��܂��B
�@�u���z�v�Z�@�v�ƕ����Ɗ��Ҋ��������Ȃ�Ɠ����ɁA������Ǝv���邩������܂���B���������ۂ́A�u���z�v�Z�@���ǂ��v�Ƃ����������������炢�̊ȒP�Ȃ��̂�ΏۂƂ��܂��B���ۂ̃R�[�h������ƁA����قǓ���͂���܂���A���S���Ă��������B
�@�܂��A�X�^�b�N���g���Ďl�����Z���܂ތv�Z���̌��ʂ��ȒP�ɋ��߂邱�Ƃ��ł��܂����A���̂��߂ɂ́A��u�L�@�Ƃ����鎮�̕\�����@�ɂ��ė�������K�v������܂��B����ɂ��Ă���������܂��B
�@�ŏ��ɁA����̉��z�v�Z�@�ł͂ǂ�Ȍv�Z���ł���悤�ɂ��邩�A�ɂ��ĊȒP�ɏq�ׂĂ����܂��B�v�Z���͔̂��ɒP���ł����A���ۂɃv���O����������Ă݂悤�Ƃ���ƈӊO�ƕ��G�ɂȂ�u���Z�Ə�Z���܂ގ��̌v�Z�v���s�����Ƃ��ł�����̂��쐬���܂��B�Ȃ��A�����ł́u*�v����Z���Ӗ�����Ƃ��܂��B�ꌩ����ƊȒP�����ł����A�u1 * 2 + (3 + 4) * 5 + 6�v��u1 + 2 * (3 + 4) + 5 * 6�v�̂悤�Ȏ����v�Z�ł���悤�ȉ��z�v�Z�@��p�ӂ��Ă��������A�Ƃ�����ƈĊO�Ɠ���Ɗ�����̂ł͂Ȃ��ł��傤���B
�@����ł́A����������������邽�߂́u�X�^�b�N���g�������z�v�Z�@�v�ɂ��Đ������������Ƃ���ł����A�܂��́A�X�^�b�N���g�����_�𗝉����Ă������Ƃ���ł��B���̂��߁A�u��u�L�@�v�Ƃ������̕\���ɂ��Đ�ɉ�������܂��B
�@�ł́A�u��u�L�@�ɂ�鎮�̕\���v���Ȃ��K�v�Ȃ̂��A�ɂ��Đ��������܂��傤�B���������R���s���[�^�i�d�q�v�Z�@�j�Ƃ����̂́A���̖��̂Ƃ���v�Z�����邽�߂̋@��̂��Ƃł��B������g���Ă����ɊȒP�Ɍ����悭�v�Z������Ηǂ����A�Ƃ������Ƃ���������č����Ɏ���킯�ł��B
�@���̕\���ɂ��čl���Ă݂Ă��A�l�Ԃ͐��̌v�Z�ɂ�10�i�����悭�g���܂����A�R���s���[�^�ł�2�i�����g�����v�Z�̕����������₷���̂ŁA2�i�����g���܂��B����Ɠ����悤�ɁA�l�ԂɂƂ��ĕ�����₷�����̕\���ƃR���s���[�^�ɂƂ��ēs���̗ǂ����̕\���͈���Ă���̂ł��B
�@��ʓI�Ɂu1��2�Ƃ𑫂��v���Ӗ�����Z�p���́A�u1 + 2�v�̂悤�ɉ��Z�̑ΏۂƂȂ�l�ioperand�A�I�y�����h�A�퉉�Z�q�j�̊Ԃɉ��Z�q�ioperator�A���Z�q�j��u���܂��B���̕\�����@�����u�L�@�iinfix notation�j�Ƃ����܂��B
�@����ɑ��A��u�L�@�ipostfix notation�j�ł́A���Z�q�̓I�y�����h�̌��ɒu���܂��B�܂�A�u1 + 2�v�́u1 2 +�v�ƕ\�L�����킯�ł��B���̗ǂ��l�́A�I�y�����h�̑O�ɉ��Z�q��u�����Ƃ��l���邩������܂���B���̋L�@�ɂ����O���t���Ă��āA�O�u�L�@�iprefix notation�j�Ƃ����܂��B���̏ꍇ�́A��̎Z�p���́u+ 1 2�v�ƕ\�L�ł��܂��B
�L�@ | �\�L��i1��2�Ƃ𑫂��j |
---|---|
�O�u�L�@ | + 1 2 |
���u�L�@ | 1 + 2 |
��u�L�@ | 1 2 + |
�\1�@�Z�p���̕\�L |
�O�u�L�@�̓|�[�����h�l�̘_���w�҂��l���o�������̂Ȃ̂ŁA�|�[�����h�L�@�iPolish Notation�j�ƌĂ�邱�Ƃ�����܂��B����̌�u�L�@�́A������t�ɂ������̂ɂȂ�̂ŁA�t�|�[�����h�L�@�iReverse Polish Notation�j�ƌĂ�邱�Ƃ�����܂��B�O�u�L�@�͌�����Ȃ��l��������������܂��A�v���O���~���O�����Lisp�Ȃǂō̗p����Ă��܂��B�J���҂Ȃ��x�́AEmacs��Meadow�Ƃ�����Lisp���ڂ̃G�f�B�^���g�������Ƃ����邩�Ǝv���܂��B�����̃G�f�B�^�ł́A�uM-x lisp-interaction-mode�v�iM-x�̓��^�L�[��x���ɉ����j�Ɠ��͂��āALisp�̎��s���[�h�ɂł��܂��B�����ŁA�u(+ 1 2)�v�Ȃǂ̎�����͂��āA�uC-j�v�iCtrl�L�[��j���ɉ����j�Ƃ���ƁA�u3�v�Ƃ������ʂ��\������܂��B
�@���ꂾ�����ƁA�u����ȊȒP�Ȏ��̕ό`�����邱�Ƃ��A�Ȃ��R���s���[�^�ɂƂ��Ă��ꂵ���̂��H�v�ƁA�^��Ɏv�����Ƃł��傤�B�����́A��u�L�@�̎���2�̓����ɒ��ڂ���ƕ������Ă��܂��B
�@��҂ɂ��ẮA�X�^�b�N���g���Čv�Z������Ƃ��ɊW���Ă��܂��̂ŁA���̂Ƃ��ɐ������܂��B�����ł́A�u�������ɂ�鉉�Z�q�̗D��x�w�����K�v�Ȃ��v�Ƃ����_�ɂ��ĊȒP�ȋ�̗�����Ȃ���m�F�����Ă݂܂��傤�B
�@ �Ⴆ�A�u1 + 2 * 3�v�Ƃ����Z�p�����������Ƃ���ƁA��u�L�@�ł͂ǂ̂悤�ɕ\�L���邱�ƂɂȂ�ł��傤���H �������A�u*�v�͏�Z��\���Ƃ��܂��B���̎Z�p���ł́A��Z�͉��Z�����D��x�������̂ŁA�u1 + (2 * 3)�v�Ƃ����Z�p���̂��������ȗ����Ă���Ƃ����܂��B�u(2 * 3)�v���ua�v�ƒu�������Ă݂�ƁA�u1 + a�v�ɂȂ�܂�����A���̕����́u1 a +�v�ƕ\�L���邱�ƂɂȂ�܂��B����ɁAa�̒�����u�L�@�ŋL�q����Ɓu2 3 *�v�ɂȂ�܂��B�������l�����킹��ƁA��u�L�@�ł́A�u1 2 3 * +�v�ƕ\�L����̂������ɂȂ�܂��B��u�L�@�ł́A��������t����K�v�͂Ȃ��̂ł����A�����Ă�������t����Ƃ�����A�u(1 (2 3 *) +)�v�ƕ\�L���邱�ƂɂȂ�܂��B
�@����ł͎��ɁA�u(1 + 2) * 3�v�͂ǂ��Ȃ邩���l���Ă݂܂��傤�B��قǂƓ��l�ɂ��āA�u1 + 2�v���ub�v�ƒu�������Ă݂�ƁA�ub 3 *�v�ƂȂ�܂��B���ɁAb�̒�����u�L�@�ŋL�q����Ɓu1 2 + 3 *�v�ƂȂ�܂��B������������Ă�������t����Ƃ�����A�u((1 2 +) 3 *)�v�ƂȂ�܂��B
�@�ق��ɂ��A�u1 + 2 * (3 + 4)�v��u(1 + 2) * (3 + 4)�v�ɂ��Ă������悤�ɓ������o���܂��B���ꂼ��A�u1 2 3 4 + * +�v�u1 2 + 3 4 + *�v�ƂȂ�܂��B
�@����Ȃ��Ƃ����ɂ͕�����Ȃ���������܂��A������1���������Ă����A���Z�q���o�Ă����璼�O��2�̒l���I�y�����h�ł���ƌ�����������Ȃ̂ŁA��������t���Ȃ��Ă��A�ǂ̂悤�Ȍv�Z������̂������܂�܂��B�m�F���Ă݂܂��傤�B
�@�u1 2 3 4 + * +�v�́A������1���������Ă����ƁA�{���Z�q���ŏ��̉��Z�q�ƂȂ�܂��B���̉��Z�q���������_�ŁA�u3 4 +�v�i�uc�v�Ƃ��܂��j���u3 + 4�v���Ӗ�����1�̎��ł��邱�Ƃ�������܂��B���Ɂ����Z�q���o�Ă���̂ŁA�u2 c *�v�i�ud�v�Ƃ��܂��j���u2 * (3 + 4)�v���Ӗ�����1�̎��ł��邱�Ƃ�������܂��B�Ō�ɁA�{���Z�q�����āA�S�̂Łu1 d +�v�Ƃ����v�Z��\���Ă���ƕ�����̂ŁA���u�L�@�ł́u1 + (2 * (3 + 4))�v�ł��邱�Ƃ��ł��܂��B���Z�q�̗D��x���l������ƁA�ȗ��\�Ȃ�����������̂ŁA�u1 + 2 * (3 + 4)�v���Ƃ������ƂɂȂ�܂��B
�@����1�����m�F�����Ă����܂��B�u1 2 + 3 4 + *�v�ɂ��Ă��A�����珇��1���������Ă����A�{���Z�q���o�Ă����Ƃ���Łu1 2 +�v�i������ue�v�Ƃ��܂��j���u1 + 2�v���Ӗ�����1�̎��ł���A���Ɂ{���Z�q���o�Ă����Ƃ���Łu3 4 +�v�i������uf�v�Ƃ��܂��j���u3 + 4�v���Ӗ�����1�̎��ł��邱�Ƃ�������܂��B����ɁA�����Z�q���o�Ă����Ƃ���ŁA�ue f *�v�Ƃ����v�Z�����Ă��邱�Ƃ�������̂ŁA�S�̂Ƃ��Ă͒��u�L�@�ł́A�u(1 + 2) * (3 + 4)�v�Ƃ����Z�p�����ł��܂��B
�@���̂悤�ɁA���u�L�@�ł͕K�v���������������A��u�L�@�ł͎g���K�v������܂���B���̗��_���悭�������Ă����܂��傤�B�����܂ł���A�u1 * 2 + (3 + 4) * 5 + 6�v��u1 + 2 * (3 + 4) + 5 * 6�v�̂悤�Ȏ����v�Z�ł���悤�ȉ��z�v�Z�@���쐬���邽�߂Ɍ�u�L�@���ǂꂾ���d�v�Ȃ̂��A�������Ă����̂ł͂Ȃ��ł��傤���B
�@�ŏ��ɂ����̎��������Ƃ��ɁA�������v�Z���邽�߂ɂ́A�����������炩�̕��@�ŏ�������K�v������Ǝv�����͂��ł��B��u�L�@�Ŏ���\�����邱�Ƃɂ���A���̕K�v���Ȃ��Ȃ�̂ł��B
�Z�p�����؍\�����g���ĕ\��������@������܂��B�I�y�����h���t�Ƃ��āA���ɉ��Z�q��u���܂��B��Ƃ��āA�u1 + 2�v�u1 + 2 * (3 + 4)�v�u(1 + 2) * (3 + 4)�v��؍\���ŕ\�������}4��Y�t���Ă����܂��B���̍\������ڂŕ�����̂ł͂Ȃ��ł��傤���B
Copyright © ITmedia, Inc. All Rights Reserved.