본문 바로가기
프로그래밍/Fortran 77

(FORTRAN 기초) 포트란 문법 및 엄격한 칼럼 규칙 총정리

by 오!쎈세! 2026. 6. 22.
코볼의 A영역/B영역 규칙처럼, 포트란 77도 가로 칸 수에 따라 문법적 역할이 완전히 고정되어 있음.
  • 1 ~ 5칸: Statement Label (행 번호) 구역임. 특정 줄로 강제 이동할 때 쓰는 번호를 적는 공간이다.
  • 6칸: Continuation (줄 바꿈 기호) 구역임. 이 칸에 공백이나 0이 아닌 문자(예: $ 등)를 적으면 앞 줄의 코드가 너무 길어 다음 줄로 이어 쓰겠다는 뜻이 됨.
  • 7 ~ 72칸: Statement (실제 코드) 구역임. 모든 명령어와 변수 선언은 반드시 7번째 칸 이후부터 작성해야 함. (7칸 앞에 적으면 컴파일러가 인식하지 못하고 에러를 뱉음)
  • 73 ~ 80칸: 사용하지 않는 식별 공간임.
코볼(COBOL)이 4대 디비전으로 구역을 나누어 가독성을 확보했다면, 포트란 77(FORTRAN 77)은 디비전 없이 위에서 아래로 흐르는 순차적 구조를 가짐. 하지만 코볼만큼이나 칼럼(가로 칸수) 위치에 극도로 예민하므로 핵심 배치 표준을 알아본다.
🟩 1. 포트란 77 표준 칼럼 배치 구조
키보드 Tab 키 대신 스페이스바를 사용하여 아래 칸 수에 정확히 맞춰 코딩해야 컴파일 에러가 나지 않음.
text
 칸 수: 12345 6 78901234567890~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~72
 영역별: [레이블] [줄] [실제 소스코드 구역 (선언 및 실행 명령문 작성 공간)]

          |     |    |
          |     |    +-- 7칸부터: PROGRAM, INTEGER, READ, WRITE 등 실제 코딩 시작
          |     +------- 6칸: 줄 바꿈 기호 전용 공간 (공백이 아니면 앞줄과 이어짐)
          +------------- 1~5칸: Statement Label (행 번호 적는 특수 공간)

* 주의: 1번째 칸에 대문자 'C' 또는 별표('*')를 적으면 그 줄 전체가 주석(Comment) 처리가 됨.
 
 

🟪 2. 칼럼 위치를 반영한 포트란 77 예시 코드
아래 코드는 실제 칼럼 위치를 눈으로 확인하고 바로 복사할 수 있도록 상단에 80칸 가이드 라인을 포함한 블로그 표준 코드임.
fortran code
12345678901234567890123456789012345678901234567890123456789012345678901234567890
C      =================================================================
C      1. PROGRAM 선언부: 디비전이 없는 대신 프로그램의 시작 이름을 명시함 (7칸)
C      =================================================================
       PROGRAM GRAMMAR_DEMO

C      =================================================================
*      2. 변수 및 상수 선언부 (Specification): 명령어 작성 전에 무조건 선언함 (7칸)
C      =================================================================
       INTEGER AGE
*      -> 정수(Integer) 데이터를 담을 4바이트 변수 선언
       REAL HEIGHT
*      -> 실수(Real/소수점) 데이터를 담을 변수 선언
       CHARACTER*10 USERNAME
*      -> 문자 10자리를 담을 문자열 변수 선언 (코볼의 PIC X(10)과 동일함)

C      =================================================================
*      3. 실행 로직부 (Execution): 실제 데이터를 대입하고 계산/출력하는 구역 (7칸)
C      =================================================================
*      [값 대입] 7번째 칸 이후부터 변수에 초기 고정값을 매핑함
       AGE = 28
       HEIGHT = 175.5
       USERNAME = 'KIM'

*      [행 번호 활용] 1~5칸 구역에 '10'이라는 레이블을 박아 넣음
10     PRINT *, '--- FORTRAN COLUMN STRUCTURE ---'
*      -> 10번 줄은 단순 화면 출력 구문임

*      [출력 실행] 화면에 변수 값들을 포맷팅하여 표출함
       PRINT *, 'NAME : ', USERNAME
       PRINT *, 'AGE  : ', AGE
       PRINT *, 'HEIGHT : ', HEIGHT

*      [종료 선언] 프로그램을 완전히 정지하고 끝내라는 필수 키워드임
       STOP
       END
 
 

💡 [핵심 요약] 입문자가 반드시 외워야 할 포트란 77 문법 규칙
  • 디비전이 없다
    • 코볼처럼 DATA DIVISION이나 PROCEDURE DIVISION을 일일이 적지 않음.
    • 대신 하나의 파일 안에서 [프로그램 이름 ➡️ 변수 선언 ➡️ 실행 명령어 ➡️ STOP/END] 순서로 위에서 아래로 그냥 쏟아붓듯 정렬하여 작성하는 구조다.
  • 7칸의 법칙
    • 포트란 77의 모든 일반 소스코드는 무조건 가로 7번째 칸 이후부터 타이핑을 시작해야 함. 6번째 칸 이전에 명령어를 쓰면 컴파일러가 문법 파괴 에러를 뱉음.
  • 주석은 무조건 1칸에
    • 코볼은 7번째 칸에 주석 기호(*)를 넣었지만, 포트란은 무조건 첫 번째(1번) 칸에 대문자 C 또는 *를 적어야 주석문으로 인정됨.