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

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


Category

  김영대(2003-07-11 17:22:00, Hit : 7481, Vote : 1603
 genasm.zip (3.8 KB), Download : 636
 [소스] 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 9784 1823
12   [컴퓨터 전공] [소스] MASM 간단한 계산기 어셈블리 프로그램 소스  김영대 2003/07/11 9635 1505
  [컴퓨터 전공] [소스] Top-down parsing by Recursive-Descent 을 이용한 계산기 MASM 어셈블리 생성기  김영대 2003/07/11 7481 1603
10   [컴퓨터 전공] [소스] Huffman Code Encoder  김영대 2003/03/18 7818 1503
9   [컴퓨터 전공] [소스] Windows RLE(BMP) Encoder  김영대 2003/03/18 7511 1326
8   [컴퓨터 전공] [소스] CompuServe RLE Encoder  김영대 2003/03/18 6172 1438
7   [컴퓨터 전공] [소스] 계산기를 위한 Lex & Yacc  김영대 2003/03/15 9806 1599
6   [컴퓨터 전공] [소스] ANSI-C 파서를 위한 Lex & Yacc  김영대 2003/03/13 8644 1931
5   [컴퓨터 전공] [소스] PL/0 Compiler 구현  김영대 2003/03/13 7436 1693
4   [컴퓨터 전공] [소스] Recursive-Descent 파싱을 이용한 계산기 구현  김영대 2003/03/13 10277 1613
3   [컴퓨터 전공] [소스] POSIX thread를 사용한 행렬계산  김영대 2003/03/13 7356 1510
2   [컴퓨터 전공] [소스] 0/1 배낭 문제(Knapsack Problem)  김영대 2003/03/13 9027 1601
1   [컴퓨터 전공] [소스] SIC/XE 어셈블러 구현  김영대 2003/03/13 18545 1858

1
 

Copyright 1999-2017 Zeroboard / skin by zero