[ lex / yacc ] error: 'AUTO' undeclared (first use in this function) 해결

2024. 5. 3. 14:49·CS/프로그래밍언어론
반응형
hw3.l: In function ‘yylex’:
hw3.l:14:9: error: ‘AUTO’ undeclared (first use in this function)
   14 | "auto"  {return(AUTO);}
      |         ^~~~
hw3.l:14:9: note: each undeclared identifier is reported only once for each function it appears in

 

lex 에서 반환한 토큰 AUTO 가 yacc 파일에서 %token 으로 정의되지 않을 때 발생하는 에러이다.

 

hw3.l: In function ‘yylex’:
hw3.l:51:9: warning: returning ‘char *’ from a function with return type ‘int’ makes integer from pointer without a cast [-Wint-conversion]
   51 | "("   {return "(";}
      |         ^~~
hw3.l:52:9: warning: returning ‘char *’ from a function with return type ‘int’ makes integer from pointer without a cast [-Wint-conversion]
   52 | ")"   {return ")";}
      |         ^~~

 

이런 에러가 뜨면 나중에 파싱할 때, (, ) 를 제대로 인식 못할 수도 있음.

이 문제가 발생하는 이유는 lex 에서 문자열 return 할 때 ')' 가 아니라 ")" 로 해서 char 이 아닌 char* 형으로 받아들이기 때문.

반응형
저작자표시 비영리 변경금지 (새창열림)

'CS > 프로그래밍언어론' 카테고리의 다른 글

[프로그래밍언어론] 8. Name & Binding  (0) 2024.06.12
[ Lex/Yacc ] 내가 만든 테스트케이스 (테스트 파일 포함)  (0) 2024.05.08
[프로그래밍언어론] 7. Parsing Problem  (0) 2024.04.19
[프로그래밍언어론] 6. C언어의 BNF 문법과 파싱 예제  (0) 2024.04.17
[프로그래밍언어론] 5. Lexical and Syntax Analysis  (0) 2024.04.17
'CS/프로그래밍언어론' 카테고리의 다른 글
  • [프로그래밍언어론] 8. Name & Binding
  • [ Lex/Yacc ] 내가 만든 테스트케이스 (테스트 파일 포함)
  • [프로그래밍언어론] 7. Parsing Problem
  • [프로그래밍언어론] 6. C언어의 BNF 문법과 파싱 예제
에버듀
에버듀
개발은 좋은데 뭘로 개발할까
  • 에버듀
    Blog. 에버듀
    에버듀
  • 전체
    오늘
    어제
    • 분류 전체보기 (614)
      • 개인 프로젝트 (43)
        • 토이 프로젝트 (3)
        • [2020] 카카오톡 봇 (9)
        • [2021] 코드악보 공유APP (22)
        • [2022] 유튜브 뮤직 클론코딩 (9)
        • [2025] 한글 SQL 데이터베이스 (0)
      • 팀 프로젝트 (22)
        • [2020] 인공지능 숫자야구 (4)
        • [2022] OSAM 온라인 해커톤 (10)
        • [2024] GDSC 프로젝트 트랙 (6)
        • [2025] 큰소리 웹 페이지 (2)
      • CS (335)
        • 자료구조 (19)
        • 어셈블리 (41)
        • 멀티미디어응용수학 (7)
        • 컴퓨터 구조 (29)
        • 알고리즘 분석 (4)
        • 컴퓨터 네트워크 (38)
        • 프로그래밍언어론 (15)
        • HCI 윈도우즈프로그래밍 (26)
        • 기초데이터베이스 (29)
        • 운영체제 (23)
        • 오토마타 (24)
        • 문제해결기법 (11)
        • 블록체인 (22)
        • 소프트웨어공학 (21)
        • 기계학습심화 (12)
        • 컴퓨터그래픽스와 메타버스 (8)
        • 분산시스템특론 (6)
      • 자기계발 (44)
        • 생각 정리 (22)
        • 대외활동 (11)
        • 동아리 (7)
        • 자격증 (3)
        • 머니 스터디 (1)
      • 알고리즘 (PS) (107)
        • BOJ (101)
        • Programmers (5)
        • 알고리즘 이모저모 (1)
      • WEB(BE) (8)
        • express.js (1)
        • Spring & Spring Boot (7)
      • WEB(FE) (2)
        • html, css, js (1)
        • React.js (1)
      • Tool & Language (6)
        • Edit Plus (1)
        • Git (1)
        • Python3 (2)
        • Java (2)
      • Infra (12)
        • AWS (1)
        • Oracle Cloud (8)
        • Firebase (2)
        • Network (1)
      • Android (18)
        • Java (6)
        • Flutter (12)
      • Window (2)
        • Visual Studio 없이 WPF (1)
        • MFC (1)
      • 독서 (14)
        • Inside Javascript (7)
        • Database Internals (6)
        • 한 글 후기 (1)
  • 링크

    • github
    • website
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
에버듀
[ lex / yacc ] error: 'AUTO' undeclared (first use in this function) 해결
상단으로

티스토리툴바