• Home
  • About
    • changsoooooo's Blog photo

      changsoooooo's Blog

      changsoooooo's Blog.

    • Learn More
    • Twitter
    • Facebook
    • Instagram
    • Github
    • Steam
  • 일상
  • 교육
    • 교육학
    • 정보 컴퓨터 교육
    • 임용
  • 개발
  • 잡지식
  • 한국사
  • Projects

변수 이름은 왜 숫자로 시작하면 안될까

08 Nov 2020

Reading time ~1 minute

변수 이름은 영문(대문자, 소문자), 숫자(0~9) 및 특수문자(밑줄 _)로 구성될 수 있습니다.

(일부 컴파일러는 한글을 지원합니다.)

그러나 어떤 변수의 이름도 숫자로 시작할 수 없다고 배웠습니다.

왜일까요?

그 이유를 알아보도록 하겠습니다.

컴파일러에는 다음과 같은 7가지 단계가 존재합니다.

  1. Lexical Analysis (어휘 분석)

  2. Syntax Analysis (구문 분석)

  3. Semantic Analysis (시맨틱 분석)

  4. Intermediate Code Generation (중간 코드 생성)

  5. Code Optimization (코드 최적화)

  6. Code Generation (코드 생성)

  7. Symbol Table (심볼 테이블)

각 단계의 자세한 설명은 추후에 하도록 하겠습니다.

컴파일러는 코드 조각을 컴파일하면서 1. 어휘분석 단계에서 역 추적을 피할 수 있습니다.

예를들어 Yeolco라는 변수를 컴파일 1. 어휘분석 단계에서 문자 ‘Y’를 만날때 컴파일러는 즉시 식별자를 알 수 있습니다.

그러나, 142Yeolco12 같은 변수를 컴파일러는 숫자 또는 식별자가 ‘Y’에 도달할때 까지 결정할 수 없으며

  1. 어휘분석 단계에서 변수임을 식별하기위해 역 추적이 필요합니다.

그러나 이는 컴파일러에서 지원되지 않습니다.

만약 int 12=13; 라고한다면

int 3=12에서 3은 뭐가 될까 라는 해석도 있는데 그러면 뒤에 알파벳을 붙히면 해결되는 문제아닌가 https://stackoverflow.com/questions/342152/why-cant-variable-names-start-with-numbers를 잘읽어보자 다시 출처: https://yeolco.tistory.com/144 [열코의 프로그래밍 일기]



Share Tweet +1