cuốn sách gpt4 ai đã làm

c++ - 将flex生成的代码放到一个普通的C++程序中

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 04:00:16 31 4
mua khóa gpt4 Nike

Tôi đã tạo một tệp đơn giản, sử dụng flex, nó tạo ra một tệp lex.yy.c, bây giờ tôi muốn đưa nó vào chương trình C++.

%{

#include

%}

%%

dừng printf("Đã nhận được lệnh dừng\n");

start printf("Đã nhận lệnh bắt đầu\n");

%%

Khi tôi gõ bắt đầu hoặc dừng trên dòng lệnh, sẽ có kết quả. Điều tôi muốn làm là cung cấp đầu vào thông qua chương trình C++ của tôi và đầu ra của nó sẽ được gửi đến một biến trong chương trình của tôi, điều này có khả thi không? Cảm ơn!

Tôi biết đoạn mã tôi đăng rất đơn giản, nhưng kết quả tôi đang tưởng tượng là:

Tạo file c thông qua flex và bison, mình dùng làm header nên trong chương trình c++ mình chỉ cần gọi hàmlex_yacc()Nó đã sẵn sàng để sử dụng. người tiền nhiệm. lex_yacc() là một máy tính, vì vậy tôi gửi một biểu thức có các biến tới hàm này và nó trả về kết quả. Tôi muốn sử dụng chức năng này trong chương trình C++ và tôi thấy bối rối... Cảm ơn rất nhiều!

câu trả lời hay nhất

Xem về nhiều bộ đệm đầu vào phần có trong sách hướng dẫn. đặc biệt là về yy_scan_stringyy_scan_bytes phần.

Tất nhiên, đối với "đầu ra", khi bạn đưa ra "dừng" hoặc "bắt đầu" làm đầu vào, bạn thực hiện điều đó một cách rõ ràng (tức là. printf gọi). Bạn có thể đặt bất kỳ mã nào ở đó.

Về c++ - đưa mã được tạo bởi flex vào chương trình C++ bình thường, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/12526153/

31 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress