Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

fst-compiler - Trực tuyến trên đám mây

Chạy trình biên dịch fst trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks qua Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là trình biên dịch lệnh fst có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


fst-compiler, fst-compiler-utf8 - Hai trình biên dịch cho các chương trình SFST

SYNOPSIS


trình biên dịch fst tập tin ngữ pháp [ tập tin đầu ra ]
fst-biên dịch-utf8 tập tin ngữ pháp [ tập tin đầu ra ]

LỰA CHỌN


-c Lưu trữ đầu dò ở định dạng nhỏ gọn được sử dụng bởi fst-Infl2.

-l Lưu trữ đầu dò ở định dạng lowmem.

-s Bề mặt chuyển mạch và lớp phân tích của đầu dò. Bạn phải sử dụng công tắc này trong
để sử dụng fst-Infl (fst-Infl2, fst-Infl3) cho thế hệ hơn là phân tích.

MÔ TẢ


trình biên dịch fst là một trình biên dịch cho các chương trình đầu dò trạng thái hữu hạn. Nó tạo ra một
đầu dò trạng thái hữu hạn có thể được sử dụng với fst-mor, fst-Infl, in fst, fst-so sánh,
fst-phân tích cú pháp,lưới fst. Biểu diễn đầu dò nhỏ gọn được tạo ra với
cờ -c, được hỗ trợ bởi fst-Infl2, tàu fst,fst-trận đấu. Bộ nhớ hiệu quả
biểu diễn đầu dò được tạo bằng cờ -l, chỉ được hỗ trợ bởi fst-
thổi phồng3.

Đối số chương trình đầu tiên là tên của tệp chứa chương trình đầu dò.
Ngôn ngữ lập trình được mô tả bên dưới. Đối số thứ hai là tên của tệp
mà đầu dò kết quả sẽ được viết ở dạng nhị phân. Nếu đối số thứ hai là
thiếu, đầu ra sẽ được ghi vào tiêu chuẩn.

fst-biên dịch-utf8 khác với trình biên dịch fst chỉ trong bảng mã ký tự. fst-trình biên dịch-
utf8 hỗ trợ mã hóa UTF8 của các tệp nguồn trong khi trình biên dịch fst được sử dụng cho
Mã ký tự 8-bit như latin1 là một phần mở rộng của mã ASCII. Thông tin
về mã hóa được lưu trữ trong các tệp đầu dò và được sử dụng bởi các chương trình SFST khác.

FILE M FORU ĐƠN


Một chương trình đầu dò bao gồm một trình tự (tùy chọn) của bảng chữ cáibiến
các định nghĩa theo sau bởi một bộ chuyển đổi biểu hiện cái nào xác định kết quả
đầu dò.

Bảng chữ cái

Định nghĩa bảng chữ cái bao gồm từ khóa ALPHABET theo sau là = và một số bộ chuyển đổi
biểu thức vd

ALPHABET = [az]: [AZ]

Lệnh này xác định lại bảng chữ cái dưới dạng tập hợp các cặp ký hiệu xuất hiện trên
quá trình chuyển đổi của đầu dò. Sự xuất hiện của toán tử hai cấp, toán tử phủ định và
các khoảng thời gian không được trích dẫn luôn phải được đặt trước định nghĩa bảng chữ cái.

Biến

Có hai loại biến khác nhau. định biến được bao bọc bởi hàm băm
dấu (#) và lấy chuỗi ký hiệu (xem bên dưới) làm giá trị:

# UC # = AZ
# LC # = az

Bộ chuyển đổi biến được bao quanh bởi các ký hiệu đô la và lấy biểu thức đầu dò là
các giá trị:

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

Các biến có tên bắt đầu bằng ký hiệu `= 'là đặc biệt thỏa thuận biến. Nếu một
biến thỏa thuận xuất hiện nhiều lần trong một biểu thức đầu dò, nó sẽ luôn có
cùng giá trị. Hãy xem xét chương trình đầu dò sau:

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

Bộ chuyển đổi kết quả nhận dạng các chuỗi aXa, bXb và cXc. Chỉ đầu dò xoay chiều
(tức là các bộ chuyển đổi với một tập hợp hữu hạn các ánh xạ chuỗi) có thể được gán cho thỏa thuận
biến.

Biểu tượng

Một biểu tượng là

- một ký tự như A s 5,

- một ký tự được trích dẫn như \ * hoặc \ _,

- một biểu tượng nhiều ký tự như hoặc (luôn luôn là
được đặt trong dấu ngoặc nhọn) hoặc

- một dấu gạch chéo ngược theo sau là một số là mã số của
nhân vật được chỉ định

- ký hiệu null <>.

Chuỗi ký hiệu

Chuỗi ký hiệu là một chuỗi các ký tự, ký hiệu nhiều ký tự và ký tự
phạm vi, ví dụ az \. .

dải ký hiệu

Một phạm vi ký hiệu là

- một biểu tượng duy nhất

- một chuỗi ký hiệu được đặt trong dấu ngoặc vuông như [A-Za-z] hoặc

- một chuỗi ký hiệu bắt đầu bằng ^ và được đặt trong dấu ngoặc vuông như [^ A-Za-z]
(chỉ định phần bổ sung của [a-zA-Z]) hoặc

- dấu chấm (đại diện cho bất kỳ ký hiệu nào trong bảng chữ cái)

Biểu thức đầu dò

Biểu thức đầu dò (TE) được định nghĩa đệ quy như sau:

- Một cặp hai dãy ký hiệu cách nhau bằng dấu hai chấm là TE.

[az]: [aZ]

- Một dải ký hiệu như [az] là TE.
Nó là một dạng viết tắt của [az]: [az].

- Hai chuỗi ký hiệu được đặt trong dấu ngoặc nhọn và ngăn cách nhau bằng dấu hai chấm là
ăn. {a [bc]}: {def} tương đương với a: db: e <>: f | a: dc: e <>: f.

- XY là TE nếu X và Y là TE.
(Khoảng trống được bỏ qua trừ khi chúng được trích dẫn.)

- (X) là TE nếu X là TE.

- X op là TE là X là TE và op là * (toán tử ngôi sao của Kleene), +
(Toán tử cộng của Kleene), hoặc? (toán tử tùy chọn)

- op X là TE là X là TE và op là một trong hai! (toán tử phủ định), ^
(toán tử trích xuất ngôn ngữ đích), _ (toán tử trích xuất ngôn ngữ nguồn) hoặc ^ _
(toán tử chuyển mạch nguồn và đích).

- X op Y là TE là X và Y là TE và op là & (kết hợp
toán tử), | (toán tử disjunction), || (toán tử tổng hợp), hoặc - (phép trừ
nhà điều hành)

- L x op y R là TE nếu L và R là TE, x và y là các dải ký hiệu và
op là => (hạn chế hai cấp), <= (ép buộc hai cấp) hoặc <=> (hai cấp
hạn chế và cưỡng chế).

- X op L__R là TE nếu X, L và R là TE và op là ^ -> (trở lên
thay thế), _-> (thay thế hướng xuống), / -> (thay thế sang trái) hoặc \ -> (sang phải
thay thế). Hơn nữa, L và R phải xác định tự động dữ liệu (tức là ánh xạ các chuỗi của chúng
lên chính họ). Các toán tử này tương ứng với các toán tử thay thế của Karttunen. Nếu
theo sau mũi tên là dấu chấm hỏi (?), việc thay thế trở thành tùy chọn.

- X << l là TE nếu X là TE và l là một trong hai dạng
a hoặc dạng a: b trong đó a và b là các ký tự hoặc ký hiệu đơn lẻ. Kết quả là một
đầu dò trong đó l được đưa tự do vào X. Ví dụ, đầu dò ab << c là
tương đương với c * ac * bc *.

- X op Y L1__R2, ..., LN__RN là TE nếu X, Y, L1 đến LN và R1
thông qua RN là TE và op là => (hạn chế chung), <= (cưỡng chế chung), ^ =>
(hạn chế bề mặt chung), ^ <= (cưỡng chế bề mặt chung), ^ <=> (bề mặt chung
hạn chế và cưỡng chế), _ => (hạn chế sâu chung), _ <= (cưỡng chế sâu chung),
_ <=> (hạn chế sâu chung và ép buộc). (Các toán tử này đã được triển khai sau đây
một gợi ý của Anssi Yli-Jyra.)

- "fname" là một TE. Trình biên dịch đọc tệp có tên fname và quay
nó thành một bộ chuyển đổi có dạng line1 | line2 | line3 | ... trong đó linex là dòng thứ x của
tập tin. Tất cả các ký tự ngoài: và \ đều được hiểu theo nghĩa đen (nghĩa là không phải là
toán tử). TE này thường được sử dụng, ví dụ như để đọc danh sách morpheme từ một tệp.

- " "là một TE. Trình biên dịch đọc một bộ chuyển đổi được biên dịch trước từ
tệp có tên fname. Cái này

Các tính năng khác

Nhận xét bắt đầu bằng ký hiệu% và kéo dài đến cuối dòng. Khoảng trống được bỏ qua
trừ khi chúng được trích dẫn. Biểu thức kết thúc ở cuối dòng trừ khi ở cuối dòng
đứng trước dấu gạch chéo ngược. Lệnh

#include "fname"

có thể được sử dụng để chèn mã nguồn từ một tệp có tên fname. Lệnh

RE >> "fname"

lưu trữ biểu thức chính quy RE trong tên tệp. Lệnh

#sử dụng hopcroft

yêu cầu trình biên dịch sử dụng thuật toán thu nhỏ Hopcroft từ bây giờ và

#sử dụng mặc định

chuyển về thuật toán thu nhỏ mặc định (Brzozowski). Lệnh

THÍ DỤ


Đây là một ví dụ về một chương trình đầu dò đơn giản. Giả sử rằng tệp "adj-stem"
chứa hai dòng

dễ dàng
muộn
to

bộ chuyển đổi này sẽ phân tích chính xác các dạng tính từ dễ dàng hơn, dễ dàng hơn, đơn giản nhất và muộn hơn,
muộn hơn và mới nhất.

ALPHABET = [a-zA-Z] y: tức là: <> : <>

$ R $ = y <=> i ( : <> e)

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

$ R $ = $ R $ & $ R2 $

$ Stems $ = "adj-stem"

$ S $ = $ Stems $ ( : <> | : {er} | : {est})

$ S $ || $ R $

EXIT TÌNH TRẠNG


trình biên dịch fst trả về 0 trừ khi một số lỗi xảy ra.

Sử dụng fst-compiler trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    Máy pha
    Máy pha
    Phaser là một công cụ mở nhanh, miễn phí và thú vị
    nguồn HTML5 trò chơi khung cung cấp
    Hiển thị WebGL và Canvas trên
    trình duyệt web trên máy tính để bàn và thiết bị di động. Trò chơi
    có thể được đồng ...
    Tải xuống Phaser
  • 2
    Động cơ VASSAL
    Động cơ VASSAL
    VASSAL là một công cụ trò chơi để tạo
    phiên bản điện tử của bảng truyền thống
    và các trò chơi bài. Nó cung cấp hỗ trợ cho
    kết xuất và tương tác mảnh trò chơi,
    và ...
    Tải xuống Công cụ VASSAL
  • 3
    OpenPDF - Ngã ba của iText
    OpenPDF - Ngã ba của iText
    OpenPDF là một thư viện Java để tạo
    và chỉnh sửa các tệp PDF bằng LGPL và
    Giấy phép nguồn mở MPL. OpenPDF là
    Mã nguồn mở LGPL/MPL kế thừa của iText,
    có ...
    Tải xuống OpenPDF - Một nhánh của iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Hệ thống tự động
    Phân tích khoa học địa lý - là một địa lý
    Phần mềm Hệ thống Thông tin (GIS) với
    khả năng to lớn cho dữ liệu địa lý
    chế biến và ana ...
    Tải xuống SAGA GIS
  • 5
    Hộp công cụ cho Java / JTOpen
    Hộp công cụ cho Java / JTOpen
    Hộp công cụ IBM dành cho Java/JTOpen là một
    thư viện các lớp Java hỗ trợ
    lập trình client/server và internet
    các mô hình cho một hệ thống chạy OS/400,
    i5/OS, hoặc...
    Tải xuống Hộp công cụ cho Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (hoặc D3 cho Tài liệu hướng dữ liệu)
    là một thư viện JavaScript cho phép bạn
    để tạo dữ liệu động, tương tác
    trực quan hóa trong trình duyệt web. Với D3
    bạn...
    Tải xuống D3.js
  • Khác »

Lệnh Linux

Ad