X-Git-Url: https://gitweb.ps.run/toc/blobdiff_plain/9f94b672a5dc32da5ad01742bd4e976315a30d9c..c6ad2948bb98d42f8e0883ef82cd14cd2d5eda60:/antlr4-cpp-runtime-4.9.2-source/demo/Windows/antlr4-cpp-demo/main.cpp diff --git a/antlr4-cpp-runtime-4.9.2-source/demo/Windows/antlr4-cpp-demo/main.cpp b/antlr4-cpp-runtime-4.9.2-source/demo/Windows/antlr4-cpp-demo/main.cpp new file mode 100644 index 0000000..fa470e5 --- /dev/null +++ b/antlr4-cpp-runtime-4.9.2-source/demo/Windows/antlr4-cpp-demo/main.cpp @@ -0,0 +1,41 @@ +/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. + * Use of this file is governed by the BSD 3-clause license that + * can be found in the LICENSE.txt file in the project root. + */ + +// +// main.cpp +// antlr4-cpp-demo +// +// Created by Mike Lischke on 13.03.16. +// + +#include + +#include "antlr4-runtime.h" +#include "TLexer.h" +#include "TParser.h" + +#include + +#pragma execution_character_set("utf-8") + +using namespace antlrcpptest; +using namespace antlr4; + +int main(int argc, const char * argv[]) { + + ANTLRInputStream input("🍴 = 🍐 + \"😎\";(((x * π))) * µ + ∰; a + (x * (y ? 0 : 1) + z);"); + TLexer lexer(&input); + CommonTokenStream tokens(&lexer); + + TParser parser(&tokens); + tree::ParseTree *tree = parser.main(); + + std::wstring s = antlrcpp::s2ws(tree->toStringTree(&parser)) + L"\n"; + + OutputDebugString(s.data()); // Only works properly since VS 2015. + //std::wcout << "Parse Tree: " << s << std::endl; Unicode output in the console is very limited. + + return 0; +}