]> gitweb.ps.run Git - toc/blobdiff - antlr4-cpp-runtime-4.9.2-source/demo/Windows/antlr4-cpp-demo/main.cpp
add antlr source code and ReadMe
[toc] / 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 (file)
index 0000000..fa470e5
--- /dev/null
@@ -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 <iostream>
+
+#include "antlr4-runtime.h"
+#include "TLexer.h"
+#include "TParser.h"
+
+#include <Windows.h>
+
+#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;
+}