#!/bin/sh
#------------------------------------------------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2019 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM, licensed under GNU General Public License
# .
#
# Script
# makeParser
#
# Description
# Pregenerate ragel code and/or lemon parser headers
#
#------------------------------------------------------------------------------
usage() {
exec 1>&2
while [ "$#" -ge 1 ]; do echo "$1"; shift; done
cat</dev/null
then
echo "Removed generated $2 file"
else
echo "No generated $2 file to remove"
fi
}
case "$scanner" in
(*.rl)
output="${scanner%.*}.cc"
if [ "$optRemove" = true ]
then
removeFile "$output" "ragel scanner"
elif command -v ragel >/dev/null
then
echo "Generating ragel scanner"
ragel -G2 -o "$output" "$scanner"
else
echo "No ragel, leaving scanner intact"
fi
;;
esac
case "$parser" in
(*.ly | *.lyy)
output="${parser%.*}.h"
if [ "$optRemove" = true ]
then
removeFile "$output" "lemon header"
else
echo "Generating lemon parser header"
"$WM_PROJECT_DIR/wmake/scripts/wrap-lemon" -header "$parser"
fi
;;
esac
#------------------------------------------------------------------------------