영어프랑스어스페인어

Ad


온웍스 파비콘

fst-compiler - 클라우드에서의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 fst-compiler를 실행하세요.

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 fst-compiler 명령입니다.

프로그램:

이름


fst-compiler, fst-compiler-utf8 - SFST 프로그램용 컴파일러 XNUMX개

개요


fst 컴파일러 문법 파일 [ 결과물 파일 ]
fst-컴파일러-utf8 문법 파일 [ 결과물 파일 ]

옵션


-c fst-infl2에서 사용하는 컴팩트 형식으로 변환기를 저장합니다.

-l 변환기를 lowmem 형식으로 저장합니다.

-s 변환기의 표면과 분석 레이어를 전환합니다. 이 스위치를 사용해야 합니다.
사용하는 순서 fst-infl (fst-infl2, fst-infl3) 분석보다는 생성을 위해.

기술


fst 컴파일러 유한 상태 변환기 프로그램용 컴파일러입니다. 최소화된 결과를 생성합니다.
다음과 함께 사용할 수 있는 유한 상태 변환기 첫 번째 아침, fst-infl, 첫 번째 인쇄, 첫 번째 비교,
첫 번째 구문 분석,첫 번째 격자. 다음으로 생성된 컴팩트 변환기 표현
-c 플래그는 다음에서 지원됩니다. fst-infl2, 첫 번째 기차,첫 번째 일치. 메모리 효율성
-l 플래그로 생성된 변환기 표현은 다음에서만 지원됩니다. 처음-
infl3.

첫 번째 프로그램 인수는 변환기 프로그램을 포함하는 파일의 이름입니다.
프로그래밍 언어는 아래에 설명되어 있습니다. 두 번째 인수는 파일 이름입니다.
결과 변환기는 이진 형식으로 기록됩니다. 두 번째 인수가 다음과 같은 경우
누락된 경우 출력은 다음 위치에 기록됩니다. 표준 출력.

fst-컴파일러-utf8 ~와 다르다 fst 컴파일러 문자 인코딩에서만 가능합니다. fst-컴파일러-
utf8 소스 파일의 UTF8 인코딩을 지원하는 반면 fst 컴파일러 에 사용됩니다
ASCII 코드의 확장인 latin8과 같은 1비트 문자 코드입니다. 정보
인코딩 정보는 변환기 파일에 저장되고 다른 SFST 프로그램에서 사용됩니다.

FILE 형식


변환기 프로그램은 다음의 (선택적) 시퀀스로 구성됩니다. 알파벳변수
정의 다음에 단일 변환기 표현 결과를 정의하는 것
변환기.

알파벳

알파벳 정의는 키워드 ALPHABET과 그 뒤에 = 및 일부 변환기로 구성됩니다.
표현 예:

알파벳 = [az]:[AZ]

이 명령은 알파벳을 문자 쌍의 집합으로 재정의합니다.
변환기의 전환. XNUMX단계 연산자, 부정 연산자 및
따옴표가 없는 마침표 앞에는 항상 알파벳 정의가 와야 합니다.

변수

변수에는 두 가지 유형이 있습니다. 상징 세트 변수 해시로 둘러싸여 있습니다
기호(#) 및 기호 시퀀스(아래 참조)를 값으로 사용합니다.

#UC# = AZ
#LC# = az

변환기 변수 달러 기호로 묶여 있고 변환기 표현을 다음과 같이 취합니다.
값 :

$MAP$ = [az]:[AZ]+
$MAP$ = [#LC#]:[#UC#]+

이름이 '=' 기호로 시작하는 변수는 특별합니다. 협정 변수. 만약
일치 변수가 변환기 표현식에서 두 번 이상 발생하면 항상 다음과 같습니다.
같은 값. 다음 변환기 프로그램을 고려하십시오.

$=1$ = [abc]
$=1$ X $=1$

결과 변환기는 문자열 aXa, bXb 및 cXc를 인식합니다. 비순환 변환기만 해당
(즉, 유한한 문자열 매핑 세트가 있는 변환기)를 합의에 할당할 수 있습니다.
변수.

기호

기호는 다음 중 하나입니다.

- A s 5와 같은 단일 문자,

- \* 또는 \_와 같은 인용 문자,

- 다음과 같은 다중 문자 기호 또는 (항상 그렇습니다
꺾쇠괄호로 묶음) 또는

- 백슬래시 뒤에 숫자가 옵니다. 이는 해당 항목의 숫자 코드입니다.
지정문자

- 널 기호 <>.

기호 순서

기호 시퀀스는 문자, 다중 문자 기호 및 문자의 시퀀스입니다.
범위(예: az \. .

기호 범위

기호 범위는 다음 중 하나입니다.

- 단일 기호

- [A-Za-z]와 같이 대괄호로 묶인 기호 시퀀스 또는

- ^로 시작하고 [^A-Za-z]와 같이 대괄호로 묶인 기호 시퀀스
([a-zA-Z]의 보수 지정) 또는

- 마침표(알파벳의 기호를 나타냄)

변환기 표현

변환기 표현식(TE)은 다음과 같이 재귀적으로 정의됩니다.

- 콜론으로 구분된 두 기호 범위의 쌍은 TE입니다.

[az]:[aZ]

- [az]와 같은 단일 기호 범위는 TE입니다.
[az]:[az]의 약식입니다.

- 중괄호로 묶이고 콜론으로 구분된 두 개의 기호 시퀀스는
먹었다. {a[bc]}:{def}는 a:db:e <>:f | a:dc:e <>:f.

- X와 Y가 TE이면 XY는 TE입니다.
(인용되지 않는 한 공백은 무시됩니다.)

- X가 TE이면 (X)는 TE입니다.

- X op는 TE이고 X는 TE이고 op는 *(Kleene의 별 연산자), +
(Kleene의 플러스 연산자), 또는 ? (선택 연산자)

- op X는 TE이고 X는 TE이고 op는 둘 중 하나입니다! (부정 연산자), ^
(대상 언어 추출 연산자), _(원어 언어 추출 연산자) 또는 ^_
(소스 및 대상 스위치 연산자).

- X op Y는 TE이고 X이고 Y는 TE이고 op는 &(접속사)
연산자), | (분리 연산자), || (합성 연산자) 또는 - (뺄셈
운영자)

- L x op y R은 L과 R이 TE이고 x와 y가 기호 범위이고
op는 =>(XNUMX단계 제한), <=(XNUMX단계 강제) 또는 <=>(XNUMX단계 제한) 중 하나입니다.
제한과 강요).

- X, L 및 R이 TE이고 op가 ^->(위쪽)인 경우 X op L__R은 TE입니다.
교체), _->(하향 교체), /->(왼쪽 교체) 또는 \->(오른쪽 교체)
대사). 게다가 L과 R은 오토마타(즉, 문자열을 매핑하는 오토마타)를 정의해야 합니다.
자신에게). 이러한 연산자는 Karttunen의 대체 연산자에 해당합니다. 만약
화살표 뒤에 물음표(?)가 오면 교체는 선택 사항이 됩니다.

- X << l은 X가 TE이고 l이 다음 형식 중 하나인 경우 TE입니다.
a 또는 a:b 형식입니다. 여기서 a와 b는 단일 문자 또는 기호입니다. 결과는
l이 X에 자유롭게 삽입된 변환기. 예를 들어 변환기 ab << c는 다음과 같습니다.
c*ac*bc*와 같습니다.

- X op Y L1__R2, ..., LN__RN은 X,Y, L1부터 LN 및 R1인 경우 TE입니다.
RN을 통한 것은 TE이고 op는 =>(일반 제한), <=(일반 강제), ^=> 중 하나입니다.
(일반 표면 제한), ^<= (일반 표면 강제), ^<=> (일반 표면)
제한 및 강제), _=>(일반 심층 제한), _<=(일반 심층 강제),
_<=> (일반적인 깊은 제한 및 강제). (이 연산자는 다음과 같이 구현되었습니다.
Anssi Yli-Jyra의 제안.)

- "fname"은 TE입니다. 컴파일러는 fname이라는 파일을 읽고
line1|line2|line3|... 형식의 변환기로 변환합니다. 여기서 linex는 x번째 라인입니다.
파일. : 및 \를 제외한 모든 문자는 문자 그대로 해석됩니다(예: 다음과 같이 해석되지 않음).
연산자). 이 TE는 일반적으로 파일에서 형태소 목록을 읽는 데 사용됩니다.

- " "는 TE입니다. 컴파일러는 TE에서 미리 컴파일된 변환기를 읽습니다.
fname이라는 파일. 이것

추가 기능

주석은 % 기호로 시작하고 줄 끝까지 확장됩니다. 공백은 무시됩니다.
인용되지 않는 한. 줄 끝이 아닌 한 줄 끝에서 표현식이 종료됩니다.
앞에는 백슬래시가 옵니다. 명령

#include "fname"

fname이라는 파일에서 소스 코드를 삽입하는 데 사용할 수 있습니다. 명령

RE >> "fname"

정규식 RE를 fname 파일에 저장합니다. 명령

#홉크로프트를 사용하세요

이제부터 Hopcroft 최소화 알고리즘을 사용하도록 컴파일러에 지시합니다.

#기본값 사용

기본 최소화 알고리즘(Brzozowski)으로 다시 전환합니다. 명령


다음은 간단한 변환기 프로그램의 예입니다. 파일이 "adj-stems"라고 가정합니다.
두 줄이 포함되어 있습니다

쉽게
늦은


이 변환기는 형용사 형태인 easy, easy, easy 및 late를 올바르게 분석합니다.
나중에, 그리고 최신.

알파벳 = [a-zA-Z] y:ie:<> :<>

$R$ = y<=>i ( :<> 전자)

$R2$ = e<=><> ( :<> 전자)

$R$ = $R$ & $R2$

$Stems$ = "조정-줄기"

$S$ = $줄기$ ( :<>| :{er}| :{동부 표준시})

$S$ || $R$

EXIT 지위


fst 컴파일러 오류가 발생하지 않는 한 0을 반환합니다.

onworks.net 서비스를 사용하여 온라인으로 fst-compiler를 사용하세요.


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

  • 1
    페이저
    페이저
    Phaser는 빠르고 무료이며 재미있는 공개 프로그램입니다.
    제공하는 소스 HTML5 게임 프레임워크
    WebGL 및 캔버스 렌더링
    데스크톱 및 모바일 웹 브라우저. 계략
    공동 수 있습니다 ...
    페이저 다운로드
  • 2
    바살 엔진
    바살 엔진
    VASSAL은 제작을 위한 게임 엔진입니다.
    기존 보드의 전자 버전
    그리고 카드 게임. 다음을 지원합니다.
    게임 조각 렌더링 및 상호 작용,
    그리고 ...
    VASSAL 엔진 다운로드
  • 3
    OpenPDF - iText의 포크
    OpenPDF - iText의 포크
    OpenPDF는 다음을 생성하기 위한 Java 라이브러리입니다.
    및 LGPL로 PDF 파일 편집 및
    MPL 오픈 소스 라이선스. OpenPDF는
    iText의 LGPL/MPL 오픈 소스 후계자,
    에이...
    OpenPDF 다운로드 - iText 포크
  • 4
    사가 GIS
    사가 GIS
    SAGA - 자동화 시스템
    Geoscientific 분석 - 지리적입니다
    정보 시스템(GIS) 소프트웨어
    지리 데이터를 위한 엄청난 기능
    처리 및 아나...
    사가 GIS 다운로드
  • 5
    Java/JTOpen용 도구 상자
    Java/JTOpen용 도구 상자
    IBM Toolbox for Java / JTOpen은
    지원하는 Java 클래스 라이브러리
    클라이언트/서버 및 인터넷 프로그래밍
    OS/400을 실행하는 시스템에 모델,
    i5/OS, 오...
    Java/JTOpen용 도구 상자 다운로드
  • 6
    D3.js
    D3.js
    D3.js(또는 데이터 기반 문서의 경우 D3)
    할 수 있는 JavaScript 라이브러리입니다.
    동적, 대화형 데이터 생성
    웹 브라우저의 시각화. D3와 함께
    당신...
    D3.js 다운로드
  • 더»

Linux 명령

Ad