::: 강좌/소스/문서 :::

강좌/소스/문서 성격에 맞지 않는 광고,비방,질문의 글은 즉시 삭제하며
내용을 복사하여 사용할 경우 반드시 이곳(http://www.howto.pe.kr)을 출처로 명시하여 주세요


Category

  김영대(2003-07-11 17:22:00, Hit : 9975, Vote : 1778
 genasm.zip (3.8 KB), Download : 730
 [소스] Top-down parsing by Recursive-Descent 을 이용한 계산기 MASM 어셈블리 생성기

// 제   목: Top-down parsing by Recursive-Descent 을 이용한 계산기 MASM 어셈블리 생성기
// 작성자: 김영대( http://www.howto.pe.kr )

    설명: Top down parsing중 하나인 recursive descent parsing(순환 하강형 분석)방법을
          사용한 수식 구문 분석 예제로서 정수, +, -, *, /, 그리고 ( ... ) 로 구성된 수식을
          키보드로 직접 읽어들여 파싱한 후 이를 masm 어셈블리로 변환하여 출력
      
    문법:
          expression = term { ( "+" | "-" ) term }
                term = factor { ( "*" | "/" ) factor }
              factor = number | "(" expression ")"

    특징:
          . 수식 입력을 infix 로 받아서 처리됨
          . Register overflow, Divide by Zero, Invalid Expression 예외상황 처리함
          . infix 입력시 사칙연사과 괄호'(',')'에 대한 연산자의 우선순위 적용됨
          . infix 입력시 구문(syntax) 오류를 검사함
          . 숫자의 자리수 제한 없이 입력됨
          . 공백문자(white space) 처리됨
          . 출력은 postfix 와 어셈블된 코드가 출력됨
  작성자:
          김영대 ( http://www.howto.pe.kr )





13   [컴퓨터 전공] [소스] 이진 트리(Binary Tree)  김영대 2004/06/18 10726 1965
12   [컴퓨터 전공] [소스] MASM 간단한 계산기 어셈블리 프로그램 소스  김영대 2003/07/11 18341 1658
  [컴퓨터 전공] [소스] Top-down parsing by Recursive-Descent 을 이용한 계산기 MASM 어셈블리 생성기  김영대 2003/07/11 9975 1778
10   [컴퓨터 전공] [소스] Huffman Code Encoder  김영대 2003/03/18 8503 1673
9   [컴퓨터 전공] [소스] Windows RLE(BMP) Encoder  김영대 2003/03/18 8342 1464
8   [컴퓨터 전공] [소스] CompuServe RLE Encoder  김영대 2003/03/18 8260 1570
7   [컴퓨터 전공] [소스] 계산기를 위한 Lex & Yacc  김영대 2003/03/15 10704 1741
6   [컴퓨터 전공] [소스] ANSI-C 파서를 위한 Lex & Yacc  김영대 2003/03/13 9538 2074
5   [컴퓨터 전공] [소스] PL/0 Compiler 구현  김영대 2003/03/13 8531 1907
4   [컴퓨터 전공] [소스] Recursive-Descent 파싱을 이용한 계산기 구현  김영대 2003/03/13 12983 1798
3   [컴퓨터 전공] [소스] POSIX thread를 사용한 행렬계산  김영대 2003/03/13 9698 1661
2   [컴퓨터 전공] [소스] 0/1 배낭 문제(Knapsack Problem)  김영대 2003/03/13 9908 1757
1   [컴퓨터 전공] [소스] SIC/XE 어셈블러 구현  김영대 2003/03/13 24683 2043

1
 

Copyright 1999-2022 Zeroboard / skin by zero