영어프랑스어스페인어

Ad


온웍스 파비콘

genparse - 클라우드의 온라인

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

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

프로그램:

이름


genparse - 명령줄 파서 생성기

개요


젠파스 [옵션] 파일...

기술


젠파스 일반 명령줄 파서 생성기입니다. 단순하고 간결한 것부터
사양 파일에서 원하는 명령줄 매개변수와 스위치를 정의할 수 있습니다.
프로그램에 전달할 수 있기를 원합니다. Genparse는 C, C++ 또는 Java 코드를 생성합니다.
당신을 위한 파서.

Genparse는 GNU가 getopt_long(3) 함수는 C 라이브러리에 내장되어 있습니다. 을위한
Java Java 컴파일러에 적절한 jar 파일을 지정해야 할 수도 있습니다.

옵션


젠파스 다음 옵션을 허용합니다.

-c, --cppext 확장자
C++ 파일 확장명 (기본값 = 참조)

-d 로깅을 켭니다.

-f, --로그 파일 name
로그 파일 이름. (기본값 = genparse.log)

-h, --도움
도움말 정보를 표시합니다.

-g, --그눌립
GNU 호환성 라이브러리 사용(Gnulib, http://www.gnu.org/software/gnulib/).
C 출력에만 사용할 수 있습니다. 더 많은 유형을 허용합니다(unsigned long, intmax_t 등).
Gnulib는 변환 기능을 제공합니다.

-i, --국제화
국제화 매크로 _()를 텍스트 출력 주위에 두어 생성된 프로그램이
GNU gettext 명령을 사용하여 국제화할 수 있습니다. 현재만 구현됨
C 출력용.

-l, --언어
출력 언어. C, C++ 및 Java만 지원됩니다. 다음 중 하나
C++: "c++", "cpp", "cc" 및 "cxx"를 나타냅니다. Java 사용: "java" 또는 "Java".
(기본값 = c)

-o, --아웃파일 name
출력 파일 이름. (기본값 = parse_cl)

-m, --longmembers
파서 클래스(구조체)의 구성원에 대해 긴 옵션을 사용하십시오. 기본값은
정의된 긴 표현만 있는 경우를 제외하고 짧은 표현을 사용합니다.
genparse 파일에서 이 옵션이 설정되면 동작이 되돌아갑니다. NS
짧은 표현만 있는 경우를 제외하고 긴 표현이 사용됩니다.
한정된.

-o, --아웃파일 파일 이름
출력 파일의 루트 이름입니다. 확장자는 출력 언어에 따라 결정됩니다.
그리고 아마도 다른 옵션에 의해. 예를 들어, 출력 언어가 C일 때,
"file"의 이 옵션 인수는 "file.h"의 출력 파일 이름을 생성합니다.
헤더, 파서 및 콜백 파일의 경우 각각 "file.c" 및 "file_cb.c"입니다.
기본값은 "parse_cl"입니다.

-p, --parsefunc 펑크
구문 분석 기능/클래스의 이름입니다. 이 옵션을 사용하면 사용자가 이름을 지정할 수 있습니다.
실제 명령을 수행하는 함수(C의 경우) 또는 클래스(C++ 및 Java의 경우)
라인 구문 분석(기본값 = "Cmdline").

-P, --다수
별도의 인쇄 명령에서 모든 명령줄 매개변수에 대한 도움말 텍스트를 출력합니다.

-q, --조용한
저소음 모드 - 화면 출력 없음.

-s, --정적 헤더
생성된 파일 위에 있는 설명 헤더를 정적으로 유지합니다. 이것 없이
옵션 genparse는 생성 날짜와 시간, Linux 커널 버전, 커널 빌드를 인쇄합니다.
시간, 컴퓨터 아키텍처 이름, 호스트 이름 및 사용자 이름.

-v, --번역
출력 버전.

-D, --예배 규칙서
결과를 저장하기 위한 디렉토리입니다.

입력 FILE


genparse 사양 파일(일반적으로 'genparse 파일'이라고 함)은
다음 형식의 명령줄 매개변수당 하나의 항목

짧은 이름[*|!] [/ 긴 이름[*|!][=선택_이름]] 유형 [ 옵션 ]

A 짧은 이름 단일 문자(소문자 또는 대문자) 또는 단일 숫자입니다. 긴 이름 하는
더 긴(보다 설명적인) 옵션 이름입니다. 명령줄에서 짧은 이름이 앞에 옵니다.
하나의 대시(예: '-a')로, 긴 버전은 두 개의 대시(예:
'--모두'). 긴 매개변수 이름이 필요하지 않은 경우 짧은 이름만 지정할 수 있습니다.
(그리고 슬래시는 나타날 필요가 없다). 긴 매개변수만 지정하려면
이름 세트 짧은 이름없음. 여러 개의 짧은 옵션을 가질 수 있으므로
예시 설정 짧은 이름 'aA'에 그리고 긴 이름 'all'로 지정하면
명령줄 스위치는 '-a' 또는 '-A' 또는 '--all'로, 모두 동일한 작업을 수행합니다.

A * 시간 내에 짧은 이름 or 긴 이름 인수를 선택 사항으로 만듭니다. 이것은 다음에 대해 지정할 수 있습니다.
짧은 옵션과 긴 옵션이 별도로 있습니다.

A ! 시간 내에 짧은 이름 or 긴 이름 옵션을 부울로 만듭니다. 이것은 하나를 결합 할 수 있습니다
선택적 또는 필수 인수가 있는 긴 옵션이 있는 짧은 부울 옵션 또는
부울 긴 옵션과 선택 또는 필수 인수가 있는 짧은 옵션을 결합합니다.
A ! 옵션 유형이 다음과 같으면 의미가 없습니다. 플래그.

유형 다음 중 하나여야 합니다. INT 뜨다 이륜 전차 or 플래그. 처음 XNUMX개는 자기 자신이어야 합니다.
설명. 마지막은 인수를 사용하지 않는 "스위치" 옵션입니다. C 출력의 경우
--gnulib는 명령줄에 추가로 다음 유형이 허용됩니다.
(long int의 경우), 울롱 (부호 없는 long int의 경우), 인트맥스 (Gnulib에 정의된 intmax_t의 경우),
최대 단위 (uintmax_t의 경우), 더블.

다음 옵션 지원됩니다. 순서에 관계없이 나타날 수 있으며 다음을 제외하고
설명 옵션당 각 필드 중 하나만 정의할 수 있습니다.

A 디폴트 값 가치 매개변수에 대해. 문자열의 경우 이것은 단순한 기본값입니다.
가치, 그것이 무엇이든. 문자열의 경우 중괄호 안에 기본값을 지정해야 하고
따옴표를 사용하고 공백을 포함할 수 있습니다(예: {"my default value"}). 문자의 경우
매개변수는 작은따옴표로 묶어야 합니다(예: 'a' 또는 '\n').

A 범위 괄호 안의 값. 낮은 값과 높은 값은 사이에 지정됩니다.
범위 지정자('...' 또는 '..'). 값이 높거나 낮을 수 있습니다.
한쪽에만 경계가 있는 범위에 대해서는 생략됩니다. 매개변수는 다음을 확인합니다.
이 범위 내에 있는지 확인하십시오.

A 콜백 기능. 이 함수는 범위 검사가 완료된 후에 호출됩니다.
수행. 유효성 검사를 수행하는 콜백의 목적은
genparse 파일에 지정할 수 있는 것보다 복잡합니다. 예를 들어 다음과 같이 할 수 있습니다.
입력이 소수, 특정 문자열이어야 하는 프로그램을 작성하십시오.
길이 등

A 설명 큰따옴표로 묶습니다. 에 의해 인쇄됩니다. 용법() 기능. 하나라면
한 줄로 충분하지 않은 경우 여러 설명을 한 줄에 하나씩 지정하십시오.
큰따옴표로 묶습니다. 설명이 Genparse의 첫 번째 열에서 시작되는 경우
파일의 첫 번째 열에도 인쇄됩니다. 용법() 기능.

A #gp_include 지시문은 다른 genparse 파일을 포함하도록 genparse에 지시합니다.
#gp_include 또 다른.GP. 포함된 파일에는 매개변수 정의만 허용됩니다.
파일, 전역 지시문 없음.

An __ERR_MSG__(err_txt) 지령. 인쇄되는 오류 메시지를 지정합니다.
인수를 변환할 수 없는 경우. 예시: __ERR_MSG__("%s: 무효의
논쟁"). 이 메시지는 변환 기능이
실패했거나 인수가 범위를 벗어났을 때. 하나를 포함한다고 가정 %s 어느 것
변환할 수 없는 agrumment로 대체됩니다. 때만 사용 가능
Genparse는 다음과 같이 호출됩니다. --그눌립, 그렇지 않으면 무시됩니다.

선택적으로 변환 함수를 두 번째 인수로 추가할 수 있습니다. 예:
__ERR_MSG__("%s: 무효의 논쟁", 인용). 이것은 오류 메시지로 이어질 것입니다
처럼 오류 (종료_실패, 0, "%NS: 무효의 논쟁", 인용구 (선택)).

An __추가_플래그__ 지령. 명령줄 매개변수가 아닌 경우에만 의미가 있습니다.
이미 플래그, 이 경우 추가 플래그 매개변수가 추가되어
명령줄 매개변수가 명령줄에 지정된 경우 설정됩니다. 이 옵션
매개변수에 선택적 인수가 있으면 자동으로 설정됩니다.

A __CODE__(문) 지령. 지정된 코드 문이 복사됩니다.
문자 그대로. 예시: __CODE__(프린트프 ("매개변수 x 였다 세트");). 지정된 코드
한 줄 이상으로 확장할 수 있습니다. Genparse에게 기회를 주기 위해
코드를 적절하게 들여쓰기하고 공백과 탭 들여쓰기를 한 번에 혼합하지 마십시오. __암호__
성명서.

A __STORE_LONGINDEX__ 지령. Interer 유형 필드를 추가하도록 Genparse에 지시합니다.
longindex 변수로 설정될 결과 클래스로 (마지막 인수
@code{getopt_long()}에 대한 호출). 이 새 필드는 다음과 같은 이름을 갖게 됩니다.
결과 필드와 관련되어 있지만 _리 접미사.

다음 글로벌 ��ħ 지원됩니다. 어떤 순서로든 나타날 수 있습니다.

An #포함 지시문은 genparse에게 해당 include 문을 복사하도록 지시합니다.
genparse에 의해 생성된 C 또는 C++ 코드로, 헤더 파일이나 콜백은 아님
파일.

A #필수적인 지시문을 사용하면 usage() 함수 호출을 더 멋지게 만들 수 있습니다. 그것은 허용
스위치 다음에 올 수 있는 필수 명령줄 매개변수를 지정합니다. 메모
Genparse는 필수 매개변수를 확인하지 않고
용법 () 기능 __필수__ 지침. 사용되지 않음 : 더하다 필수
매개 변수 in 전에, #용법 섹션에 있어야 합니다. 대신.

An #exit_value 오류 발생 시 종료 값을 지정하는 지시문.
기본값은 EXIT_FAILURE입니다.

A #break_lines 줄이 끊어질 너비를 지정하는 지시문
도움말 화면에서 그렇지 않은 경우 #break_lines 지시문이 지정되면 행은
genparse 파일에 지정된 대로 정확하게 인쇄됩니다.

If #no_struct 가 지정되면 다음으로 채워질 구조체가 정의되지 않습니다.
생성된 파서의 명령줄 매개변수. 다음과 같은 경우 유용할 수 있습니다.
자신의 코드를 추가하고 싶습니다. __암호__ 대신 진술. C에서만 지원됨
출력.

A #export_long_options 지령. 만약에 #export_long_options 다음으로 정의됩니다.
기능 #get_long_options() 에서 사용하는 longoptions 배열을 내보내는 항목이 추가되었습니다.
#getopt_long(). 이 지시문은 다른 언어의 C 출력에만 사용할 수 있습니다.
무시됩니다.

A 글로벌 콜백 기능. 이 함수는 상호 의존성을 확인하는 데 유용합니다.
매개변수 사이. 각 개인 내에서 상호 의존성을 확인할 수 없습니다.
콜백 함수는 이러한 함수가 호출되는 순서가 다르기 때문에
명령줄의 매개변수 순서에 따라 다릅니다.

Genparse도 생성합니다. 용법() 도움말 텍스트를 stdout에 출력하는 함수
Genparse가 파서를 생성하는 프로그램의 사용. 그것은 사용자 정의 할 수 있습니다
Genparse 파일의 맨 아래에 사용 섹션을 지정합니다. 해당 섹션이 없는 경우
기본값으로 지정

#usage_begin
사용법: __PROGRAM_NAME__ __OPTIONS_SHORT__ __MANDATORIES__
__용어 사전__
#usage_end

사용 섹션은 다음으로 시작합니다. #usage_begin 끝으로 #usage_end. 사이의 모든 텍스트는
나열된 대로 대체될 다음 키워드를 제외하고 그대로 인쇄됨
아래 :

__PROGRAM_NAME__: 프로그램 이름. C 및 C++에서 프로그램 이름은
인수[0].

__옵션_단축__: 사용 가능한 짧은 형식 옵션의 목록(예: [ -abc ]).

__필수__: #mandatory로 정의된 모든 필수 매개변수 목록
명령. 사용되지 않음 : 명부 필수 매개 변수 여기에서 지금 확인해 보세요. 직접.

__용어 사전__: 모든 명령줄 옵션에 대한 설명입니다. 이것은 정보입니다
사람이 읽을 수 있는 형식으로 매개변수 정의에 대해 제공됩니다. 여기에는 다음이 포함됩니다.
매개변수 유형, 기본값, 범위 및 모든 설명. 을 포함하는 라인
__용어 사전__ 매개변수의 용어집으로 대체되며,
같은 줄은 무시됩니다.

__용어집_GNU__: 와 같음 __용어 사전__ 그러나 GNU 스타일에서. 선택적으로 뒤에
설명 텍스트의 들여쓰기를 지정하는 괄호 안의 정수(예:
__용어 사전__(30)). 기본 들여쓰기는 24입니다.

__STRING__(초): 문자열 상수, C에서 아마도 다음으로 정의된 문자열 매크로
#define 전처리기 명령. 이 매크로는 다음을 사용하여 다른 파일에서 가져올 수 있습니다.
genparse 파일의 include 지시문. Java 출력을 생성할 때 무시됩니다.

__INT__(엑스): 정수 상수, C에서 아마도 다음으로 정의된 정수 매크로
#define 전처리기 명령. 이 매크로는 다음을 사용하여 다른 파일에서 가져올 수 있습니다.
genparse 파일의 include 지시문. Java 출력을 생성할 때 무시됩니다.

__CODE__(문): 매개변수 옵션과 동일합니다. 위 참조.

__DO_NOT_문서__: 이 매크로가 포함된 줄은 인쇄되지 않습니다.
용법() 기능. 없이 명령줄 매개변수를 구현하는 데 사용할 수 있습니다.
도움말 화면에 나열합니다.

__NL__: 새로운 라인. 자동 줄 바꿈 중에 수동으로 줄 바꿈에 유용
켜져 있습니다(참조 #break_lines). Java 출력을 생성할 때 무시됩니다.

__NEW_인쇄__: 활성 인쇄 명령을 닫고 새 명령을 시작합니다.

__COMMENT__(텍스트): 사용 텍스트를 인쇄하기 위한 코드에 주석을 추가합니다.

긴 옵션 뒤에 = 기호와 선택적 지정이 올 수 있습니다. 선택_이름 하는 수
다음 설명에서 참조하십시오. 에서 사용될 것입니다. 용법() 기능
오직. 예를 들어 다음 genparse 라인

s / block-size=SIZE int "SIZE 바이트 블록 사용"

도움말 화면에서 다음 행으로 연결됩니다.

[ -s ] [ --block-size=SIZE ] (유형=INTEGER)
SIZE바이트 블록 사용

genparse 스타일(__용어 사전__) 또는

-s, --block-size=SIZE는 SIZE 바이트 블록을 사용합니다.

GNU 스타일(__용어집_GNU__).

표시하기 위해 선택적 이름 주위에 대괄호를 둘 수도 있습니다.
인수는 선택 사항입니다. 그러나 생성된 파서에는 의미가 없습니다. 사용하다
* 인수를 선택 사항으로 만들기 위한 접미사.

s* / block*[=SIZE] int "블록을 사용합니다."
"SIZE가 지정되지 않으면 1kB의 크기를 갖게 됩니다."

도움말 화면에서 다음 행으로 연결됩니다.

-s, --block[=SIZE]는 블록을 사용합니다.
SIZE가 주어지지 않으면 1kB의 크기를 갖게 됩니다.


다음은 샘플 genparse 파일입니다.

#포함하다

/* 논평 */
my_callback()

i / 반복 int 100 [10...1000] iter_callback()
"실행할 반복 횟수입니다."

/*
* 댓글
*/

n / 이름 문자열 {"mike"} name_cb() "사용자 이름"
s / str 문자열 "테스트 문자열"
f 플래그 "바보 같은 플래그!"

#usage_begin
사용법: __PROGRAM_NAME__ __OPTIONS_SHORT__ 파일 이름
이것은 어리석은 테스트 프로그램일 뿐입니다.
__용어 사전__
#usage_end

onworks.net 서비스를 사용하여 genparse 온라인 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad