본문 바로가기 메뉴 바로가기

프로그래밍노리터

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

프로그래밍노리터

검색하기 폼
  • 분류 전체보기 (132)
    • C로 만드는 자료구조 (12)
    • 파이썬 프로그래밍 (21)
    • 자바 프로그래밍 (42)
    • 프로그래밍언어론 (14)
    • C++ << C & Java (8)
    • 컴파일러 - regex와 cfg (13)
    • 자바프로그래밍 기초 (2)
    • C 프로그래밍기초 (5)
    • Rust 프로그래밍 (5)
    • 파이썬맛보기 (8)
  • 방명록

지정문 (1)
Parser from scratch (2) - Recursive Descent Parser

이전 포스트에서 E -> T { (+|-) T }, T -> num | (E) 라는 문법의 파서를 만들어보았습니다. 여기서는 문법을 좀더 확장하고 수식 계산 과정을 보여줄 수 있는 파서를 만들어보도록 하겠습니다. (완성된 코드와 실행결과는 하단에 링크되어 있습니다.) /* * E -> T { (+|-) T } * T -> F { (*|/) F } * F -> num * | ( E ) */ 이전 포스트에서 +와 - 연산만 지원하는 문법에서 *와 /를 지원하는 문법으로 확장한 것입니다. 우선순위를 고려하기 위해 새로운 넌터미널을 도입하여 괄호()로 둘러싼 부분이 가장 우선순위가 높고 *|/가 그 다음 순위고 +|-가 가장 우선순위가 낮아서 마지막으로 처리되도록 문법을 만든 것입니다. 이렇게 되면 T() 메소..

컴파일러 - regex와 cfg 2019. 12. 20. 15:20
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • format
  • zip
  • rust
  • 동적바인딩
  • contentEquals
  • max
  • contains
  • 이터러블
  • Camel Style
  • Lazy evaluation
  • 스트링
  • indexof
  • CompareTo
  • 이터레이터
  • typedef
  • sort key
  • 콜렉션
  • TypeError
  • Iterator
  • python exercise
  • C++ 클래스
  • python example
  • APPEND
  • comparable
  • 지연계산
  • 스트링 +
  • 패턴
  • follow
  • ToString
  • 자바regex
more
«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바