#!/bin/bash
## Licensed to the Apache Software Foundation (ASF) under one
## or more contributor license agreements.  See the NOTICE file
## distributed with this work for additional information
## regarding copyright ownership.  The ASF licenses this file
## to you under the Apache License, Version 2.0 (the
## "License"); you may not use this file except in compliance
## with the License.  You may obtain a copy of the License at
##
##     http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.

# Parser builder

DIR="../../src/main/java/org/apache/jena/cdt/parser"
FILE=cdt_literals.jj
CLASS=CDTLiteralParser

(cd "$DIR" ; rm -f *.java )

echo "---- Process grammar ----"

javacc -OUTPUT_DIRECTORY=$DIR -JDK_VERSION=1.8 "$FILE"

RC=$?
[ "$RC" = 0 ] || return

echo "---- Create text form ----"
jjdoc -TEXT=true -OUTPUT_FILE=${FILE%%.jj}.txt "${FILE}"

echo "---- Fixing Java warnings in TokenMgrError"
F="$DIR/TokenMgrError.java"
if [ -e "$F" ]
then
    sed -e 's/public class TokenMgrError/\n@SuppressWarnings("all")\npublic class TokenMgrError/' < $F > F 
    mv F $F
fi

## JavaCharStream -- SimpleCharStream is OK.
echo "---- Fixing Java warnings in JavaCharStream..."
F="$DIR/JavaCharStream.java"
if [ -e "$F" ]
then
    sed -e 's/public/\n@SuppressWarnings("all")\npublic/' < $F > F 
    mv F $F
fi
    
echo "---- Fixing Java warnings in ${CLASS} ..."
F="$DIR/${CLASS}.java"
sed -e 's/@SuppressWarnings("serial")//' \
    < $F > F
mv F $F

## echo "---- Create HTML form ----"
## ../jj2html ${FILE%%.jj}.txt '../tokens.txt' > ${FILE%%.jj}-1.html
## ../grammarExtracts < ${FILE%%.jj}-1.html > ${FILE%%.jj}-2.html
## 
## echo "Check X and Y for IRI_REF because \" became '"

echo "---- Done"
