Command-line-tool을 빌드 할 것입니다. 사용자 유형에 텍스트/문자열 (함수/명령)을 입력하고 싶습니다. 그러면 My tool은이 문자열을 C++ 함수/변수로 변환합니다.입력 문자열을 function으로 변환하는 방법()
[그들은 내 사용자 정의 데이터 형, 내 자신의 기능을 실행, 실행되지 시스템 기능]
예 : 사용자 유형
이>> myVar = c(123,456,789)
내 도구 myVar
변수 이름임을 알 수 . c(123,456,789)
은 integer
의 배열입니다.
입력 :
>> myPrintf(myVar[0]);
출력
<< 123
int myVar[] = {123,456,789};
및 사용자가 너무 함수를 호출 할 수 있습니다 : 그리고 그것은이 같은으로 이러한 문자열 변환
그리고 내 솔루션 : 나는 클래스를, 부일 것이다 어쩌면이 같은 :
public class cVariable
{
public string varName; // the variable name
private varType; // the variable data-type
public string varData; // the value of this variable
}
그리고 내가 실행해야하는 데이터 형/기능을 알고 if/else
문을 사용합니다.
하지만이 방법이 전혀 좋지 않다고 생각합니다.
컴파일러를 빌드하려고합니다. 행운을 빕니다. – SLaks
LLVM 사용을 고려하십시오. – SLaks
당신의 유일한 실제 질문은 "입력 문자열을 function()으로 변환하는 방법"이라는 제목 인 것 같습니다. 'boost :: spirit' 라이브러리를 사용하는 것이 좋습니다. 배우는 것이 어려울 지 모르지만, 일단 이해하면 프로그램을 더 쉽고 빠르게 향상시킬 수 있습니다. 빠른 시작을 원한다면, 정규 표현식을 사용하면 대입 함수 대 함수 호출, 인수 값 추출 등을 도울 수 있습니다. 더 기본 적으로'sscanf()'를 사용할 수 있습니다. "나는이 방법이 전혀 좋지 않다고 생각한다"- 사람들이 논평 할 수있는 당신의 우려를 설명한다면. 가장 명백한 코멘트는 ruby / perl/etc를 사용하라. –