summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/angle/src/compiler/translator/generate_parser.sh
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/angle/src/compiler/translator/generate_parser.sh')
-rw-r--r--chromium/third_party/angle/src/compiler/translator/generate_parser.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/chromium/third_party/angle/src/compiler/translator/generate_parser.sh b/chromium/third_party/angle/src/compiler/translator/generate_parser.sh
new file mode 100644
index 00000000000..e4d88b2e84c
--- /dev/null
+++ b/chromium/third_party/angle/src/compiler/translator/generate_parser.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+# Copyright (c) 2010 The ANGLE Project Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Generates GLSL ES parser - glslang_lex.cpp, glslang_tab.h, and glslang_tab.cpp
+
+run_flex()
+{
+input_file=$script_dir/$1.l
+output_source=$script_dir/$1_lex.cpp
+flex --noline --nounistd --outfile=$output_source $input_file
+}
+
+run_bison()
+{
+input_file=$script_dir/$1.y
+output_header=$script_dir/$1_tab.h
+output_source=$script_dir/$1_tab.cpp
+bison --no-lines --skeleton=yacc.c --defines=$output_header --output=$output_source $input_file
+}
+
+script_dir=$(dirname $0)
+
+# Generate Parser
+run_flex glslang
+run_bison glslang
+patch --silent --forward < 64bit-lexer-safety.patch