Added example/choice.cc

This commit is contained in:
yhirose 2024-01-17 10:53:33 -05:00
parent 195746dedd
commit 4e305b423b

28
example/choice.cc Normal file
View File

@ -0,0 +1,28 @@
//
// choice.cc
//
// Copyright (c) 2023 Yuji Hirose. All rights reserved.
// MIT License
//
#include <cstdlib>
#include <iostream>
#include <peglib.h>
using namespace peg;
int main(void) {
parser parser(R"(
type <- 'string' / 'int' / 'double'
%whitespace <- [ \t\r\n]*
)");
parser["type"] = [](const SemanticValues &vs) {
std::cout << vs.choice() << std::endl;
};
if (parser.parse("int")) { return 0; }
std::cout << "syntax error..." << std::endl;
return -1;
}