거의 예외 없이 정규집합으로 표현
프로그래밍 언어의 의미 단위는 거의 예외 없이 정규집합으로 표현 될 수 있다. 대부분의 어휘 분석기 생성기들은 의미 단위를 나타내는 정규표현의 순열을 입력으로 받아서 어떠한 토큰도 인식 할 수 있는 하나의 유한 오토마타를 생성한다. 일반적으로 생성 과정은 일단 정규 표현을 ε-전이를 가진 비결정적 유한 오토마타로 변화시키고 나서 상태들의 부분집합을 이용하여 결정적 유한 오토마타를 구성한다. 각 최종 상태는 발견된 특정한 의미 단위들을 나타내므로 이러한 오토마타들은 무어기계라고 할 수 있다. 예를 들어, 파스칼 언어에 있어서 모든 변수(identifier)들의 집합은 하나의 언어이다. 각 변수는 하나의 문자(letter)로 시작되어야 하며 문자 다음에는 임의 갯수의 문자나 숫자(digit)가 혼용하여 사용될 수가 있다. 다음의 문법은 변수에 대한 정확한 정의를 나타내는 규칙들이다.
프로그래밍 언어의 의미 단위는 어떻게 표현 될 수 있지
유한 상태 기계