summaryrefslogtreecommitdiff
path: root/src/compiler/preprocessor/generate_parser.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/preprocessor/generate_parser.sh')
-rwxr-xr-xsrc/compiler/preprocessor/generate_parser.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/compiler/preprocessor/generate_parser.sh b/src/compiler/preprocessor/generate_parser.sh
new file mode 100755
index 00000000..03285872
--- /dev/null
+++ b/src/compiler/preprocessor/generate_parser.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+# Copyright (c) 2012 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 various components of GLSL ES preprocessor.
+
+run_flex()
+{
+input_file=$script_dir/$1
+output_source=$script_dir/$2
+flex --noline --nounistd --outfile=$output_source $input_file
+}
+
+run_bison()
+{
+input_file=$script_dir/$1
+output_source=$script_dir/$2
+bison --no-lines --skeleton=yacc.c --output=$output_source $input_file
+}
+
+script_dir=$(dirname $0)
+
+# Generate preprocessor
+run_flex Tokenizer.l Tokenizer.cpp
+run_bison ExpressionParser.y ExpressionParser.cpp
+patch --silent --forward < 64bit-tokenizer-safety.patch