1 #!/bin/bash 2 # Copyright (c) 2010 The ANGLE Project Authors. All rights reserved. 3 # Use of this source code is governed by a BSD-style license that can be 4 # found in the LICENSE file. 5 6 # Generates GLSL ES parser - glslang_lex.cpp, glslang_tab.h, and glslang_tab.cpp 7 8 run_flex() 9 { 10 input_file=$script_dir/$1.l 11 output_source=$script_dir/$1_lex.cpp 12 flex --noline --nounistd --outfile=$output_source $input_file 13 } 14 15 run_bison() 16 { 17 input_file=$script_dir/$1.y 18 output_header=$script_dir/$1_tab.h 19 output_source=$script_dir/$1_tab.cpp 20 bison --no-lines --skeleton=yacc.c --defines=$output_header --output=$output_source $input_file 21 } 22 23 script_dir=$(dirname $0) 24 25 # Generate Parser 26 run_flex glslang 27 run_bison glslang 28 patch --silent --forward < 64bit-lexer-safety.patch 29