Home | History | Annotate | Download | only in compiler
      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