From 8ec45702752efbcd7dd892d53ad10ca36f126568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Capucho?= Date: Mon, 4 Mar 2024 15:53:36 +0000 Subject: [PATCH] Compiladores: Bloco 1 poorly done --- 2ano2/Compiladores/.gitignore | 29 + 2ano2/Compiladores/Compiladores.iml | 11 + 2ano2/Compiladores/antlr4-bin/antlr4 | 60 ++ 2ano2/Compiladores/antlr4-bin/antlr4-build | 97 +++ 2ano2/Compiladores/antlr4-bin/antlr4-clean | 112 +++ 2ano2/Compiladores/antlr4-bin/antlr4-jar-run | 35 + 2ano2/Compiladores/antlr4-bin/antlr4-java | 17 + 2ano2/Compiladores/antlr4-bin/antlr4-javac | 17 + 2ano2/Compiladores/antlr4-bin/antlr4-listener | 250 +++++++ 2ano2/Compiladores/antlr4-bin/antlr4-main | 690 ++++++++++++++++++ 2ano2/Compiladores/antlr4-bin/antlr4-run | 72 ++ 2ano2/Compiladores/antlr4-bin/antlr4-test | 97 +++ 2ano2/Compiladores/antlr4-bin/antlr4-visitor | 255 +++++++ 2ano2/Compiladores/antlr4-bin/java-clean | 5 + .../antlr4-bin/st-groupfile2string | 23 + 2ano2/Compiladores/antlr4-bin/view-javadoc | 56 ++ 2ano2/Compiladores/flake.lock | 60 ++ 2ano2/Compiladores/flake.nix | 24 + 2ano2/Compiladores/libs/ST-4.3.4.jar | Bin 0 -> 251081 bytes 2ano2/Compiladores/src/Bloco1_1/Main.java | 22 + 20 files changed, 1932 insertions(+) create mode 100644 2ano2/Compiladores/.gitignore create mode 100644 2ano2/Compiladores/Compiladores.iml create mode 100755 2ano2/Compiladores/antlr4-bin/antlr4 create mode 100755 2ano2/Compiladores/antlr4-bin/antlr4-build create mode 100755 2ano2/Compiladores/antlr4-bin/antlr4-clean create mode 100755 2ano2/Compiladores/antlr4-bin/antlr4-jar-run create mode 100755 2ano2/Compiladores/antlr4-bin/antlr4-java create mode 100755 2ano2/Compiladores/antlr4-bin/antlr4-javac create mode 100755 2ano2/Compiladores/antlr4-bin/antlr4-listener create mode 100755 2ano2/Compiladores/antlr4-bin/antlr4-main create mode 100755 2ano2/Compiladores/antlr4-bin/antlr4-run create mode 100755 2ano2/Compiladores/antlr4-bin/antlr4-test create mode 100755 2ano2/Compiladores/antlr4-bin/antlr4-visitor create mode 100755 2ano2/Compiladores/antlr4-bin/java-clean create mode 100755 2ano2/Compiladores/antlr4-bin/st-groupfile2string create mode 100755 2ano2/Compiladores/antlr4-bin/view-javadoc create mode 100644 2ano2/Compiladores/flake.lock create mode 100644 2ano2/Compiladores/flake.nix create mode 100644 2ano2/Compiladores/libs/ST-4.3.4.jar create mode 100644 2ano2/Compiladores/src/Bloco1_1/Main.java diff --git a/2ano2/Compiladores/.gitignore b/2ano2/Compiladores/.gitignore new file mode 100644 index 0000000..f68d109 --- /dev/null +++ b/2ano2/Compiladores/.gitignore @@ -0,0 +1,29 @@ +### IntelliJ IDEA ### +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/2ano2/Compiladores/Compiladores.iml b/2ano2/Compiladores/Compiladores.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/2ano2/Compiladores/Compiladores.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/2ano2/Compiladores/antlr4-bin/antlr4 b/2ano2/Compiladores/antlr4-bin/antlr4 new file mode 100755 index 0000000..03a910d --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/antlr4 @@ -0,0 +1,60 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2017-2021 + +scriptName="$0" +target="java" +options="" + +function help() +{ + echo "Usage: $scriptName [-h | -help | -cpp | -python | -java] ..." + echo "" + echo " Compiles an antlr4 grammar to a target language." + echo "" + echo " Target language:" + echo " -java: java (default)" + echo " -cpp: c++" + echo " -python: python3" + #exit 1 +} + +case $1 in + -h | -help) + help + echo "" + shift + ;; + -cpp | -c++) + target="cpp" + options="-Dlanguage=Cpp" + shift + ;; + -python | -python3) + target="python3" + options="-Dlanguage=Python3" + shift + ;; + -java) + shift + ;; +esac + +if [ $# -eq 0 ]; then + options="" +fi + +if [ -z "$ANTLR4_PATH" ]; then + java -ea org.antlr.v4.Tool $options $* +else + TMP_VERSION=$(ls -f $ANTLR4_PATH/antlr-4*-complete.jar | tail -1 | sed 's/.*\///g' | sed 's/-com.*//g') + ANTLR4File=$(ls -f $ANTLR4_PATH/antlr-4*-complete.jar | grep "$TMP_VERSION" | awk '{ print length(), $0 | "sort -n" }' | sed 's/^[0-9 ]\+//g' | tail -1) + TMP_VERSION=$(ls -f $ANTLR4_PATH/ST-*.jar | tail -1 | sed 's/.*\///g' | sed 's/\.jar//g') + STFile=$(ls -f $ANTLR4_PATH/ST-*.jar | grep "$TMP_VERSION" | awk '{ print length(), $0 | "sort -n" }' | sed 's/^[0-9 ]\+//g' | tail -1) + + #echo "java -ea -cp .:$ANTLR4File:$STFile org.antlr.v4.Tool $options $*" + java -ea -cp .:"$ANTLR4File":"$STFile" org.antlr.v4.Tool $options $* +fi + +exit $? + diff --git a/2ano2/Compiladores/antlr4-bin/antlr4-build b/2ano2/Compiladores/antlr4-bin/antlr4-build new file mode 100755 index 0000000..26b21fe --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/antlr4-build @@ -0,0 +1,97 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2017-2024 + +IFS=$'\n' + +scriptName="$0" +target="java" + +function help() +{ + echo "Usage: $scriptName [-h | -help | -cpp | -python | -java] [grammar]" + echo "" + echo " Finds all existing *.g4 grammars in current directory or in subdirectories and," + echo " if no grammar argument exists, and if successful and if applicable, compiles the" + echo " generated target language code." + echo "" + echo " target language:" + echo " -java: java (default)" + echo " -cpp: c++" + echo " -python: python3" + echo "" + echo " grammar argument is the name of the grammar (if present, extension .g4 is ignored)." + + exit 1 +} + +function process() +{ + g="$1" + echo "Processing $g" + if [ -e ${g}.g4 ]; then + grammar=${g}.g4 + elif [ -e ${g}Parser.g4 ]; then + grammar=${g}Parser.g4 + else + echo "ERROR: internal error!" + exit -1 + fi + case $target in + java) + (cd `dirname $g`; if ( grep Visitor *java &> /dev/null ); then opt="-visitor"; else opt=""; fi; antlr4 $opt `basename $g`*.g4) && javac ./`dirname $g`/*.java + ;; + cpp) + (cd `dirname $g`; make) + ;; + python) + parserFile=${g}Parser.py + if [[ ! -e ${parserFile} || ${grammar} -nt ${parserFile} ]]; then + (cd `dirname $g`; if ( grep Visitor *py &> /dev/null ); then opt="-visitor"; else opt=""; fi; antlr4 -python $opt `basename $g`*.g4) + fi + ;; + esac +} + +case $1 in + "") + ;; + -h | -help) + help + ;; + -java) + shift + ;; + -cpp | -c++) + shift + target="cpp" + ;; + -python | -python3) + shift + target="python" + ;; + -*) + echo "ERROR: invalid argument!" + echo "" + help + exit 1 + ;; +esac + +if ! [ -z $1 ]; then + target_grammar=${1/.g4/} + if ! [ -f ${target_grammar}.g4 ]; then + if ! [ -f ${target_grammar}Parser.g4 ]; then + echo "ERROR: grammar file \"${target_grammar}.g4\" does not exist!" + exit 2 + fi + fi + process $target_grammar + exit 0 +fi + +for g in `find . -name \*.g4 | sed 's/Parser.g4$\|Lexer.g4$\|.g4$//1' | uniq | sort`; do + process $g +done + +exit 0 diff --git a/2ano2/Compiladores/antlr4-bin/antlr4-clean b/2ano2/Compiladores/antlr4-bin/antlr4-clean new file mode 100755 index 0000000..c3792d3 --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/antlr4-clean @@ -0,0 +1,112 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2017-2024 + +IFS=$'\n' + +scriptName="$0" +target="java" +sourceExt="java" +sourceExt2="" +objExt="class" + +function help() +{ + echo "Usage: $scriptName [-h | -help | -cpp | -python | -java] [grammar]" + echo "" + echo " Cleans automatically generated antlr4 files considering target language." + echo "" + echo " target language:" + echo " -java: java (default)" + echo " -cpp: c++" + echo " -python: python3" + echo "" + echo " grammar argument is the name of the grammar (if present, extension .g4 is ignored)." + exit 1 +} + +function process() +{ + if [ -e ${1} ]; then + g="$1" + elif [ -e ${1}.g4 ]; then + g=${1}.g4 + elif [ -e ${1}Parser.g4 ]; then + g=${1}.g4 + else + echo "ERROR: internal error!" + exit -1 + fi + echo "Processing $g" + if [[ -e $g && -f $g ]]; then + echo "Removing $g files:" + name=${g%.g4} + rm -fv $name.tokens $name.interp ${name}Lexer.interp ${name}BaseListener.$sourceExt ${name}Listener.$sourceExt ${name}BaseVisitor.$sourceExt ${name}Visitor.$sourceExt ${name}Lexer.tokens ${name}Lexer.$sourceExt ${name}Parser.$sourceExt + if [ ! -z "$objExt" ]; then + rm -fv ${name}BaseListener.$sourceExt2 ${name}Listener.$sourceExt2 ${name}BaseVisitor.$sourceExt2 ${name}Visitor.$sourceExt2 ${name}Lexer.$sourceExt2 ${name}Parser.$sourceExt2 + fi + if [[ "$name" = *Parser || "$name" = *Lexer ]]; then + rm -fv $name.$sourceExt + fi + if [[ "$target" = "cpp" && -e ${name}Main ]]; then + rm -fv ${name}Main + fi + if [[ "$target" = "python" ]]; then + cacheDir=`dirname $g`/__pycache__ + [[ -e $cacheDir ]] && rm -rfv `dirname $g`/__pycache__ + fi + fi +} + +case $1 in + "") + ;; + -h | -help) + help + ;; + -cpp | -c++) + target="cpp" + sourceExt="cpp" + sourceExt2="h" + objExt="o" + shift + ;; + -python | -python3) + target="python" + sourceExt="py" + objExt="" + shift + ;; + -java) + shift + ;; + -*) + echo "ERROR: invalid argument!" + echo "" + help + ;; +esac + +if [ ! -z "$objExt" ]; then + # clean objExt files: + echo "Removing *.$objExt files:" + find . -name \*.$objExt -printf "removing %p\n" -exec rm -f {} \; +fi + +if ! [ -z $1 ]; then + target_grammar=${1/.g4/} + if ! [ -f ${target_grammar}.g4 ]; then + if ! [ -f ${target_grammar}Parser.g4 ]; then + echo "ERROR: grammar file \"${target_grammar}.g4\" does not exist!" + exit 2 + fi + fi + process $target_grammar + exit 0 +fi + +# clean antlr4 generated .java files: +for g in `find . -name \*.g4`; do + process $g +done + diff --git a/2ano2/Compiladores/antlr4-bin/antlr4-jar-run b/2ano2/Compiladores/antlr4-bin/antlr4-jar-run new file mode 100755 index 0000000..9025d8d --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/antlr4-jar-run @@ -0,0 +1,35 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2020 + +if (( $# == 0 )); then + echo "USAGE: antlr4-jar-run " + exit 1 +fi + +jarFile=$1 +shift +if ! [ -e ${jarFile} ]; then + echo "ERROR: jar file ${jarFile} not found!" + exit 2 +fi +mainClass=$(unzip -q -c $jarFile META-INF/MANIFEST.MF | grep Main-Class | cut -d":" -f2 | sed 's/[ \n\r]//g') + +if [ -z ${mainClass} ]; then + echo "ERROR: jar file ${jarFile} without main class!" + exit 3 +fi + +if [ -z "$ANTLR4_PATH" ]; then + cp="-cp ${jarFile}" +else + TMP_VERSION=$(ls -f $ANTLR4_PATH/antlr-4*-complete.jar | tail -1 | sed 's/.*\///g' | sed 's/-com.*//g') + ANTLR4File=$(ls -f $ANTLR4_PATH/antlr-4*-complete.jar | grep "$TMP_VERSION" | awk '{ print length(), $0 | "sort -n" }' | sed 's/^[0-9 ]\+//g' | tail -1) + TMP_VERSION=$(ls -f $ANTLR4_PATH/ST-*.jar | tail -1 | sed 's/.*\///g' | sed 's/\.jar//g') + STFile=$(ls -f $ANTLR4_PATH/ST-*.jar | grep "$TMP_VERSION" | awk '{ print length(), $0 | "sort -n" }' | sed 's/^[0-9 ]\+//g' | tail -1) + cp="-cp ${jarFile}:$ANTLR4File:$STFile" +fi + +java -ea $cp $mainClass $* + +exit $? diff --git a/2ano2/Compiladores/antlr4-bin/antlr4-java b/2ano2/Compiladores/antlr4-bin/antlr4-java new file mode 100755 index 0000000..3107a36 --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/antlr4-java @@ -0,0 +1,17 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2020 + +if [ -z "$ANTLR4_PATH" ]; then + cp="" +else + TMP_VERSION=$(ls -f $ANTLR4_PATH/antlr-4*-complete.jar | tail -1 | sed 's/.*\///g' | sed 's/-com.*//g') + ANTLR4File=$(ls -f $ANTLR4_PATH/antlr-4*-complete.jar | grep "$TMP_VERSION" | awk '{ print length(), $0 | "sort -n" }' | sed 's/^[0-9 ]\+//g' | tail -1) + TMP_VERSION=$(ls -f $ANTLR4_PATH/ST-*.jar | tail -1 | sed 's/.*\///g' | sed 's/\.jar//g') + STFile=$(ls -f $ANTLR4_PATH/ST-*.jar | grep "$TMP_VERSION" | awk '{ print length(), $0 | "sort -n" }' | sed 's/^[0-9 ]\+//g' | tail -1) + cp="-cp .:$ANTLR4File:$STFile" +fi + +java -ea $cp $* + +exit $? diff --git a/2ano2/Compiladores/antlr4-bin/antlr4-javac b/2ano2/Compiladores/antlr4-bin/antlr4-javac new file mode 100755 index 0000000..c146d20 --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/antlr4-javac @@ -0,0 +1,17 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2020 + +if [ -z "$ANTLR4_PATH" ]; then + cp="" +else + TMP_VERSION=$(ls -f $ANTLR4_PATH/antlr-4*-complete.jar | tail -1 | sed 's/.*\///g' | sed 's/-com.*//g') + ANTLR4File=$(ls -f $ANTLR4_PATH/antlr-4*-complete.jar | grep "$TMP_VERSION" | awk '{ print length(), $0 | "sort -n" }' | sed 's/^[0-9 ]\+//g' | tail -1) + TMP_VERSION=$(ls -f $ANTLR4_PATH/ST-*.jar | tail -1 | sed 's/.*\///g' | sed 's/\.jar//g') + STFile=$(ls -f $ANTLR4_PATH/ST-*.jar | grep "$TMP_VERSION" | awk '{ print length(), $0 | "sort -n" }' | sed 's/^[0-9 ]\+//g' | tail -1) + cp="-cp .:$ANTLR4File:$STFile" +fi + +javac $cp $* + +exit $? diff --git a/2ano2/Compiladores/antlr4-bin/antlr4-listener b/2ano2/Compiladores/antlr4-bin/antlr4-listener new file mode 100755 index 0000000..098de9a --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/antlr4-listener @@ -0,0 +1,250 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2017-2021 + +scriptName=antlr4-listener +target=java +sourceExt="java" + +function help() +{ + echo -e "Usage: $scriptName [-h | -help] [-cpp [inline] | -python | -java] [-f | -force]\n [] " + echo "" + echo " Creates a listener class named in the target language for ." + echo " Argument may be omitted iff there is only one grammar in the directory" + echo " (and eventual subdirectories)." + echo "" + echo " Target language:" + echo " -java: java (default)" + echo " -cpp: c++" + echo " -cpp inline: c++ with inline implementation (implementation in *.h class definition)" + echo " -python: python3" + echo "" + echo " options:" + echo " -h" + echo " -help" + echo " help page" + echo " -f" + echo " -force" + echo " force creation of listener file" + echo " -i " + echo " -indent " + echo " number of indentation spaces (default: 3)" + echo " -l" + echo " -log" + echo " add method log stdout print" + exit 1 +} + +function logJava() +{ + local indent=$1 + if [[ $logActive == "true" ]]; then + cat - | sed "s/\(void \)\(enter[a-zA-Z0-9_]\+\|exit[a-zA-Z0-9_]\+\)\((.*$\)/\1\2\3\n${indent}${indent}System.out.println(\"[\2]\");/g" + else + cat - + fi +} + +function logCpp() +{ + local indent=$1 + if [[ $logActive == "true" ]]; then + cat - | sed "s/\(enter[a-zA-Z0-9_]\+\|exit[a-zA-Z0-9_]\+\)\((.*$\)/\1\2\n${indent}printf(\"[%s]\\\n\", \"\1\");/g" + else + cat - + fi +} + +function logPython() +{ + local indent=$1 + if [[ $logActive == "true" ]]; then + cat - | sed "s/\(enter[a-zA-Z0-9_]\+\|exit[a-zA-Z0-9_]\+\)\((.*:$\)/\1\2\n${indent}${indent}print(\"[\1]\")/g" + else + cat - + fi +} + +indentSpaces="3" +forceCreation="false" +logActive="false" + +# process options: +while [[ $1 == -* ]]; do + case $1 in + -h | -help) + help + ;; + -cpp | -c++) + target="cpp" + sourceExt="cpp" + if [[ $# > 1 && $2 == "inline" ]]; then + shift + inline="true" + else + inline="false" + fi + ;; + -python | -python3) + target="python" + sourceExt="py" + ;; + -java) + target="java" + sourceExt="java" + ;; + -f | -force) + forceCreation="true" + ;; + -i | -indent) + shift + if (( $# == 0 )); then + echo -e "ERROR: missing indentation value!" + exit 1 + fi + indentSpaces="$1" + if ! [[ "$indentSpaces" =~ ^[0-9]+$ ]]; then + echo "ERROR: invalid indentation number" + exit 1 + fi + ;; + -l | -log) + logActive="true" + ;; + -*) + echo "ERROR: invalid argument!" + exit 1 + ;; + esac + shift +done + +if [ $# -eq 0 ]; then + echo "ERROR: Missing argument!" + echo "" + help +fi + +indentval=${indentSpaces}; indent=$(printf "%${indentval}s") + +if (! command -v cpp >/dev/null 2>&1); then + echo "ERROR: cpp command missing (install gcc)" + exit 1 +fi + +grammar="" +grammarFile="" +if [ $# -eq 2 ]; then + gr=${1%.g4} + grammar=${gr%Parser} + if [[ ! -e "${grammar}.g4" && ! -e "${grammar}Parser.g4" ]]; then + echo "ERROR: Grammar file not found!" + exit 1 + fi + shift +else + count=`find . -name \*.g4 | sed 's/Parser.g4$\|Lexer.g4$\|.g4$//1' | uniq | wc -l` + if ((count == 0)); then + echo "ERROR: Grammar file not found!" + exit 1 + elif ((count > 1)); then + echo "ERROR: Too many grammar files!" + find . -name \*.g4 -printf " %p\n" + exit 1 + fi + g4=`find . -name \*.g4 | sed 's/Parser.g4$\|Lexer.g4$\|.g4$//1' | uniq` + p=`dirname $g4 | sed 's/^\.\///1'` + if [[ "$p" == "." ]]; then + p="" + else + p=$p. + fi + + if [ ! -e $g4.g4 ]; then + g4=${g4}Parser + fi + + grammar=`cat "$g4"*.g4 | cpp 2>/dev/null | grep -wv ^# | sed 's/{/ { /g' | sed 's/}/ } /g' | tr '\n' ' ' | tr ' ' '\n' | grep -wv parser | grep -wv options | grep -v ^\;$ | grep -v ^$ | gawk 'BEGIN {incode=0;} /{/ {incode++;} /}/ {incode--;} {if (incode == 0) print $0;}' | grep -v \} | grep -v @.* | head -2 | tail -1 | sed 's/[:;].*$//g' | grep -v ^$ | sed 's/Parser$//'` + + if [ -z "$grammar" ]; then + echo "ERROR: grammar name missing!" + exit 1 + fi +fi + +grammarFile="${grammar}.g4" +if [[ ! -e "$grammarFile" ]]; then + grammarFile="${grammar}Parser.g4" + if [[ ! -e "$grammarFile" ]]; then + echo "ERROR: Grammar file not found!" + exit 1 + fi +fi + +if [ ! $# -eq 1 ]; then + echo "ERROR: Missing argument!" + echo "" + help +fi + +listener=$(echo $1 | sed "s/\.${sourceExt}$//1" | sed 's/\.*//g') +if [[ $forceCreation == "false" ]]; then + if [ -e ${listener}.$sourceExt ]; then + echo "ERROR: Listener file \"${listener}.$sourceExt\" already exists!" + exit 2 + fi +fi + +if [[ ${listener} == ${grammar}Listener || ${listener} == ${grammar}BaseListener || + ${listener} == ${grammar}Visitor || ${listener} == ${grammar}BaseVisitor || + ${listener} == ${grammar}Parser || ${listener} == ${grammar}Lexer ]]; then + echo "ERROR: Invalid listener name (\"${listener}\")!" + exit 1 +fi + +echo "Grammar: $grammar" +echo "Listener: $listener" +echo "Target language: $target" + +if [[ -e "${grammar}Lexer.g4" ]]; then + antlr4 -$target "${grammar}Lexer.g4" +fi +antlr4 -$target "$grammarFile" +if [[ -e "${grammar}Parser.g4" ]]; then + grammar=${grammar}Parser +fi + +case $target in + java) + cpp "${grammar}BaseListener.java" | grep -v "^#.*$" | grep -v "^[ \t]*$" | sed 's/^\/\npublic/g' | sed "s/${grammar}BaseListener.*/${listener} extends ${grammar}BaseListener {/1" | sed "s/^ /\n${indent}/g" | sed "s/{ }/{\n${indent}}/g" | sed "s/; }/;\n${indent}}/g" | logJava "${indent}" > "${listener}.java" + ;; + cpp) + if [[ $inline == "false" ]]; then + echo -e "#pragma once\n" > "${listener}.h" + echo -e "#include \"${grammar}BaseListener.h\"\n" >> "${listener}.h" + cat "${grammar}BaseListener.h" | grep -v "^#.*$" | cpp | grep -v "^#.*$" | grep -v "^[ \t]*$" | grep -v "visit" | sed "s/${grammar}BaseListener.*/${listener} : public ${grammar}BaseListener {/1" | sed "s/^ /${indent}/g" | sed "s/^\(${indent}virtual\)/\n\1/g" | sed 's/* /*ctx/g' | sed 's/\(override\).*/\1;/g' >> "${listener}.h" + echo "#include \"${listener}.h\"" > "${listener}.cpp" + cat "${grammar}BaseListener.h" | grep -v "^#.*$" | cpp | grep -v "^#.*$" | grep -v "^[ \t]*$" | grep -v "visit" | grep -v "};" | grep -wv "class\|public" | sed "s/^ //g" | sed "s/^virtual /\n/g" | sed 's/* /*ctx/g' | sed 's/override //g' | sed "s/\(enter\|exit\)/${listener}::\1/g" | sed "s/{ }/{\n}/g" | logCpp "${indent}" >> "${listener}.cpp" + else + echo -e "#pragma once\n" > "${listener}.h" + echo -e "#include \"${grammar}BaseListener.h\"\n" >> "${listener}.h" + cat "${grammar}BaseListener.h" | grep -v "^#.*$" | cpp | grep -v "^#.*$" | grep -v "^[ \t]*$" | grep -v "visit" | sed "s/${grammar}BaseListener.*/${listener} : public ${grammar}BaseListener {/1" | sed "s/^ /${indent}/g" | sed "s/^\(${indent}virtual\)/\n\1/g" | sed 's/* /*ctx/g' | sed "s/{ }/{\n${indent}}/g" | logCpp "${indent}${indent}" >> "${listener}.h" + echo "#include \"${listener}.h\"" > "${listener}.cpp" + fi + ;; + python) + echo -e "from antlr4 import *" > "${listener}.py" + echo -e "from ${grammar}Parser import ${grammar}Parser" >> "${listener}.py" + echo -e "from ${grammar}Listener import ${grammar}Listener" >> "${listener}.py" + echo -e "" >> "${listener}.py" + echo -e "class $listener(${grammar}Listener):" >> "${listener}.py" + cat "${grammar}Listener.py" | grep "enter\|exit" | sed -e 's/^[ \t]*//g' | sed -e "s/^\(.*\)$/${indent}\1\n${indent}${indent}pass\n/g" | logPython "${indent}" >> "${listener}.py" + ;; + *) + echo "ERROR: $target listeners not yet implemented!" + ;; +esac +antlr4-clean -$target >& /dev/null + +exit 0 diff --git a/2ano2/Compiladores/antlr4-bin/antlr4-main b/2ano2/Compiladores/antlr4-bin/antlr4-main new file mode 100755 index 0000000..03a22b7 --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/antlr4-main @@ -0,0 +1,690 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2017-2021 + +scriptName="antlr4-main" +target="java" +sourceExt="java" + +function help() +{ + echo "Usage: $scriptName [options] [ ]" + echo "" + echo " Creates a main class in the target language to parse starting at rule ." + echo " Arguments may be omitted iff there is only one grammar in the directory" + echo " (and eventual subdirectories), and the first symbol in the grammar is the symbol." + echo "" + echo " Target language:" + echo "" + echo " options:" + echo " -h" + echo " -help" + echo " help page" + echo " -java: java as target language (default)" + echo " -cpp: c++ as target language" + echo " -python: python3 as target language" + echo " -l " + echo " -listener " + echo " main created with support for traversing the given listener class" + echo " multiple listeners are allowed (the order will be respected)" + echo " -v " + echo " -visitor " + echo " main created with support for visiting the given visitor class" + echo " multiple visitors are allowed (the order will be respected)" + echo " -i" + echo " -line-interactive" + echo " main created for a line interactive interpreter" + echo " -is " + echo " -separator-interactive " + echo " main created for a text separated interactive parser" + echo " -indent " + echo " number of indentation spaces (default: 3)" + echo " -f" + echo " -force" + echo " force creation of main file even if grammar, rule, listeners, and visitor don't exist," + echo " or if main file already exists" + echo "" + exit 1; +} + +#if (( $# == 0 )); then +#fi + +grammar="" +grammarfile="" +rule="" +fileName="" +listeners=() +visitors=() +treewalking=() # listeners and visitor in proper order +treewalkingtype=() # v: visitor, l: listener +delimiter="" +interactiveVar="" +interactiveDelimiter="" +interactiveNext="" +nextExtraText="" +interactive="false" +lineInteractive="false" +separatorInteractive="false" +indentSpaces="3" +forceCreation="false" + +version=`antlr4 | head -1 | sed 's/.\+Version //1' | sed 's/^4\.//g' | sed 's/\.[0-9]\+$//g'` + +while (( $# > 0 )); do + arg="$1" + case "$arg" in + -h | -help) + help + ;; + -cpp | -c++) + target="cpp" + sourceExt="cpp" + ;; + -python | -python3) + target="python" + sourceExt="py" + ;; + -java) + target="java" + sourceExt="java" + ;; + -v | -visitor) + shift + if (( $# == 0 )); then + echo -e "ERROR: missing visitor file name!" + exit 2 + fi + visitorFile=(`echo $1 | sed "s/.$sourceExt\$//1" | sed 's/\.$//g'`) + treewalking+=($visitorFile) + visitors+=($visitorFile) + visitorFile=${visitorFile}.$sourceExt + treewalkingtype+=("v") + if [[ $forceCreation == "false" ]]; then + if ! [ -e $visitorFile ]; then + echo "ERROR: visitor file $visitorFile not found" + exit 3 + fi + fi + ;; + -l | -listener) + shift + if (( $# == 0 )); then + echo -e "ERROR: missing listener file name!" + exit 4 + fi + listenerFile=(`echo $1 | sed "s/.$sourceExt\$//1" | sed 's/\.$//g'`) + treewalking+=($listenerFile) + listeners+=($listenerFile) + listenerFile=${listenerFile}.$sourceExt + treewalkingtype+=("l") + if [[ $forceCreation == "false" ]]; then + if ! [ -e $listenerFile ]; then + echo "ERROR: listener file $listenerFile not found" + exit 5 + fi + fi + ;; + -i | -line-interactive) + delimiter="" + interactive="true" + lineInteractive="true" + separatorInteractive="false" + interactiveVar="lineText" + interactiveDelimiter="" + interactiveNext="Line" + nextExtraText="" + ;; + -is | -separator-interactive) + shift + if (( $# == 0 )); then + echo -e "ERROR: missing interactive delimiter text!" + exit 6 + fi + delimiter=$1 + interactive="true" + lineInteractive="false" + separatorInteractive="true" + interactiveVar="text" + interactiveDelimiter=".useDelimiter(\"${delimiter}\")" + interactiveNext="" + nextExtraText="+\"${delimiter}\"" + ;; + -indent) + shift + if (( $# == 0 )); then + echo -e "ERROR: missing indentation value!" + exit 6 + fi + indentSpaces="$1" + if ! [[ "$indentSpaces" =~ ^[0-9]+$ ]]; then + echo "ERROR: invalid indentation number" + exit 6 + fi + ;; + -f | -force) + forceCreation="true" + ;; + -*) + echo "ERROR: invalid argument!" + exit 1 + ;; + *) + if [[ $grammar == "" ]]; then + grammar=(`echo $1 | sed 's/.g4$//1' | sed 's/Parser$//1'`) + grammarfile=${grammar}.g4 + if ! [ -e $grammarfile ]; then + grammarfile=${grammar}Parser.g4 + if [[ $forceCreation == "false" ]]; then + if ! [ -e $grammarfile ]; then + echo "ERROR: grammar file of $grammar not found" + exit 7 + fi + fi + fi + elif [[ $rule == "" ]]; then + rule=$1 + if [[ $forceCreation == "false" ]]; then + if (! (cat ${grammarfile} | cpp 2>/dev/null | grep -wv '^#' | grep -E -A10 "^[[:space:]]*\<$rule\>" | tr '\n' ' ' | grep -E "[[:space:]]*\<$rule\>[[:space:]]*:" > /dev/null)); then + echo "ERROR: rule $rule not found in grammar $grammar" + exit 8 + fi + fi + else + echo -e "ERROR: invalid argument \"$1\"!" + exit 9 + fi + ;; + esac + shift +done + +if [[ $grammar == "" ]]; then + if (command -v cpp >/dev/null 2>&1); then + count=`find . -name \*.g4 | sed 's/Parser.g4$\|Lexer.g4$\|.g4$//1' | uniq | wc -l` + if ((count == 0)); then + echo "ERROR: Grammar file not found! (try option -h)" + exit 10 + elif ((count > 1)); then + echo "ERROR: Too many grammar files!" + find . -name \*.g4 -printf " %p\n" + exit 10 + fi + g4=`find . -name \*.g4 | sed 's/Parser.g4$\|Lexer.g4$\|.g4$//1' | uniq` + + if [ ! -e $g4.g4 ]; then + g4=${g4}Parser + fi + + grammar=`cat "$g4"*.g4 | cpp 2>/dev/null | grep -wv ^# | sed 's/{/ { /g' | sed 's/}/ } /g' | tr '\n' ' ' | tr ' ' '\n' | grep -wv parser | grep -wv options | grep -v ^\;$ | grep -v ^$ | gawk 'BEGIN {incode=0;} /{/ {incode++;} /}/ {incode--;} {if (incode == 0) print $0;}' | grep -v \} | grep -v @.* | head -2 | tail -1 | sed 's/[:;].*$//g' | grep -v ^$ | sed 's/Parser$//'` + rule=`cat "$g4"*.g4 | cpp 2>/dev/null | grep -wv ^# | sed 's/{/ { /g' | sed 's/}/ } /g' | tr '\n' ' ' | tr ' ' '\n' | grep -wv parser | grep -wv options | grep -v ^\;$ | grep -v ^$ | gawk 'BEGIN {incode=0;} /{/ {incode++;} /}/ {incode--;} {if (incode == 0) print $0;}' | grep -v \} | grep -v @.* | head -3 | tail -1 | sed 's/[:;].*$//g' | grep -v ^$` + + if [ -e ${grammar}Parser.g4 ]; then + grammarfile="${grammar}Lexer.g4 ${grammar}Parser.g4" + else + grammarfile=${grammar}.g4 + fi + + #echo "Grammar: $grammar" + #echo "Main rule: $rule" + + if [ -z "$grammar" ]; then + echo "ERROR: grammar name missing! (try option -h)" + exit 10 + fi + if [ -z "$rule" ]; then + echo "ERROR: first grammar rule missing!" + exit 11 + fi + else + echo -e "ERROR: missing grammar name! (try option -h)" + exit 10 + fi +fi + +if [[ $rule == "" ]]; then + echo -e "ERROR: missing rule name!" + exit 11 +fi + +fileName=${grammar}Main.$sourceExt + +if [[ $forceCreation == "true" ]]; then + if [ -f $fileName ]; then + rm -fv ${fileName} + fi +fi + +if [ -f $fileName ]; then + echo "ERROR: file \"$fileName\" already exists!" + exit 12 +fi + +echo -e "Creating \"$fileName\" for:" +echo -e " grammar=\"$grammar\"" +echo -e " grammarfile=\"$grammarfile\"" +echo -e " rule=\"$rule\"" +echo -e " target language: $target" +if (( ${#treewalking[*]} > 0 )); then + echo -e " treewalking=\"${treewalking[*]}\"" +fi +if (( ${#listeners[*]} > 0 )); then + echo -e " listeners=\"${listeners[*]}\"" +fi +if (( ${#visitors[*]} > 0 )); then + echo -e " visitors=\"${visitors[*]}\"" +fi +if [[ $lineInteractive == "true" ]]; then + echo -e " line-interactive" +fi +if [[ $separatorInteractive == "true" ]]; then + echo -e " separator-interactive (separador=\"$delimiter\")" +fi + +case $target in + java) + if [[ $interactive == "true" ]]; then + echo "import java.util.Scanner;" >> $fileName + else + echo "import java.io.IOException;" >> $fileName + fi + echo "import org.antlr.v4.runtime.*;" >> $fileName + echo "import org.antlr.v4.runtime.tree.*;" >> $fileName + echo "" >> $fileName + echo "public class ${grammar}Main {" >> $fileName + indentval=${indentSpaces}; indent=$(printf "%${indentval}s") + echo "${indent}public static void main(String[] args) {" >> $fileName + indentval=$(echo ${indentval}+${indentSpaces} | bc); indent=$(printf "%${indentval}s") + echo "${indent}try {" >> $fileName + indentval=$(echo ${indentval}+${indentSpaces} | bc); indent=$(printf "%${indentval}s") + if [[ $interactive == "true" ]]; then + echo "${indent}Scanner sc = new Scanner(System.in)${interactiveDelimiter};" >> $fileName + echo "${indent}String ${interactiveVar} = null;" >> $fileName + echo "${indent}int num${interactiveNext} = 1;" >> $fileName + echo "${indent}if (sc.hasNext${interactiveNext}())" >> $fileName + echo "${indent} ${interactiveVar} = sc.next${interactiveNext}()${nextExtraText};" >> $fileName + echo "${indent}${grammar}Parser parser = new ${grammar}Parser(null);" >> $fileName + echo "${indent}// replace error listener:" >> $fileName + echo "${indent}//parser.removeErrorListeners(); // remove ConsoleErrorListener" >> $fileName + echo "${indent}//parser.addErrorListener(new ErrorHandlingListener());" >> $fileName + if (( ${#treewalking[*]} > 0 )); then + if (( ${#listeners[*]} > 0 )); then + echo "${indent}ParseTreeWalker walker = new ParseTreeWalker();" >> $fileName + fi + for(( i=0;i<${#treewalking[*]};i++ )); do + if [[ ${treewalkingtype[i]} == "l" ]]; then + # listener + echo "${indent}${treewalking[i]} listener$i = new ${treewalking[i]}();" >> $fileName + else + # visitor + echo "${indent}${treewalking[i]} visitor$i = new ${treewalking[i]}();" >> $fileName + fi + done + fi + echo "${indent}while(${interactiveVar} != null) {" >> $fileName + indentval=$(echo ${indentval}+${indentSpaces} | bc); indent=$(printf "%${indentval}s") + fi + echo "${indent}// create a CharStream that reads from standard input:" >> $fileName + if (( $version < 7 )); then + echo -n "${indent}ANTLRInputStream input = new ANTLRInputStream(" >> $fileName + if [[ $interactive == "true" ]]; then + echo -n "${interactiveVar} + \"\\n\"" >> $fileName + else + echo -n "System.in" >> $fileName + fi + echo ");" >> $fileName + else + echo -n "${indent}CharStream input = " >> $fileName + if [[ $interactive == "true" ]]; then + echo "CharStreams.fromString(${interactiveVar} + \"\\n\");" >> $fileName + else + echo "CharStreams.fromStream(System.in);" >> $fileName + fi + fi + echo "${indent}// create a lexer that feeds off of input CharStream:" >> $fileName + echo "${indent}${grammar}Lexer lexer = new ${grammar}Lexer(input);" >> $fileName + if [[ $interactive == "true" ]]; then + echo "${indent}lexer.setLine(num${interactiveNext});" >> $fileName + echo "${indent}lexer.setCharPositionInLine(0);" >> $fileName + fi + echo "${indent}// create a buffer of tokens pulled from the lexer:" >> $fileName + echo "${indent}CommonTokenStream tokens = new CommonTokenStream(lexer);" >> $fileName + echo "${indent}// create a parser that feeds off the tokens buffer:" >> $fileName + if [[ $interactive == "true" ]]; then + echo "${indent}parser.setInputStream(tokens);" >> $fileName + else + echo "${indent}${grammar}Parser parser = new ${grammar}Parser(tokens);" >> $fileName + echo "${indent}// replace error listener:" >> $fileName + echo "${indent}//parser.removeErrorListeners(); // remove ConsoleErrorListener" >> $fileName + echo "${indent}//parser.addErrorListener(new ErrorHandlingListener());" >> $fileName + fi + echo "${indent}// begin parsing at $rule rule:" >> $fileName + echo "${indent}ParseTree tree = parser.$rule();" >> $fileName + echo "${indent}if (parser.getNumberOfSyntaxErrors() == 0) {" >> $fileName + echo "${indent} // print LISP-style tree:" >> $fileName + echo "${indent} // System.out.println(tree.toStringTree(parser));" >> $fileName + if (( ${#treewalking[*]} > 0 )); then + indentval=$(echo ${indentval}+${indentSpaces} | bc); indent=$(printf "%${indentval}s") + if [[ $interactive != "true" ]]; then + if (( ${#listeners[*]} > 0 )); then + echo "${indent}ParseTreeWalker walker = new ParseTreeWalker();" >> $fileName + fi + for(( i=0;i<${#treewalking[*]};i++ )); do + if [[ ${treewalkingtype[i]} == "l" ]]; then + # listener + echo "${indent}${treewalking[i]} listener$i = new ${treewalking[i]}();" >> $fileName + else + # visitor + echo "${indent}${treewalking[i]} visitor$i = new ${treewalking[i]}();" >> $fileName + fi + done + fi + for(( i=0;i<${#treewalking[*]};i++ )); do + if [[ ${treewalkingtype[i]} == "l" ]]; then + # listener + echo "${indent}walker.walk(listener$i, tree);" >> $fileName + else + # visitor + echo "${indent}visitor$i.visit(tree);" >> $fileName + fi + done + indentval=$(echo ${indentval}-${indentSpaces} | bc); indent=$(printf "%${indentval}s") + fi + echo "${indent}}" >> $fileName + if [[ $interactive == "true" ]]; then + echo "${indent}if (sc.hasNext${interactiveNext}())" >> $fileName + echo "${indent} ${interactiveVar} = sc.next${interactiveNext}()${nextExtraText};" >> $fileName + echo "${indent}else" >> $fileName + echo "${indent} ${interactiveVar} = null;" >> $fileName + echo "${indent}num${interactiveNext}++;" >> $fileName + indentval=$(echo ${indentval}-${indentSpaces} | bc); indent=$(printf "%${indentval}s") + echo "${indent}}" >> $fileName + fi + indentval=$(echo ${indentval}-${indentSpaces} | bc); indent=$(printf "%${indentval}s") + echo "${indent}}" >> $fileName + if [[ $interactive == "false" ]]; then + echo "${indent}catch(IOException e) {" >> $fileName + indentval=$(echo ${indentval}+${indentSpaces} | bc); indent=$(printf "%${indentval}s") + echo "${indent}e.printStackTrace();" >> $fileName + echo "${indent}System.exit(1);" >> $fileName + indentval=$(echo ${indentval}-${indentSpaces} | bc); indent=$(printf "%${indentval}s") + echo "${indent}}" >> $fileName + fi + echo "${indent}catch(RecognitionException e) {" >> $fileName + indentval=$(echo ${indentval}+${indentSpaces} | bc); indent=$(printf "%${indentval}s") + echo "${indent}e.printStackTrace();" >> $fileName + echo "${indent}System.exit(1);" >> $fileName + indentval=$(echo ${indentval}-${indentSpaces} | bc); indent=$(printf "%${indentval}s") + echo "${indent}}" >> $fileName + indentval=$(echo ${indentval}-${indentSpaces} | bc); indent=$(printf "%${indentval}s") + echo "${indent}}" >> $fileName + echo "}" >> $fileName + ;; + cpp) + makefileName="Makefile" + if [[ $forceCreation == "false" ]]; then + if [ -f $makefileName ]; then + echo "ERROR: file \"$makefileName\" already exists!" + exit 12 + fi + elif [ -f $makefileName ]; then + rm -fv ${makefileName} + fi + + # creating Makefile: + + echo -e ".PHONY: all clean cleanall #install" >> $makefileName + echo -e "" >> $makefileName + echo -e "GRAMMAR=${grammarfile}" >> $makefileName + echo -en "TARGETS_CPP=${grammar}Lexer.cpp ${grammar}Parser.cpp" >> $makefileName + if (( ${#listeners[*]} > 0 )); then + echo -en " ${grammar}BaseListener.cpp ${grammar}Listener.cpp" >> $makefileName + for(( i=0;i<${#listeners[*]};i++ )); do + add="true" + for(( j=0;j> $makefileName + fi + done + fi + if (( ${#visitors[*]} > 0 )); then + echo -en " ${grammar}BaseVisitor.cpp ${grammar}Visitor.cpp" >> $makefileName + for(( i=0;i<${#visitors[*]};i++ )); do + add="true" + for(( j=0;j> $makefileName + fi + done + fi + echo -e "" >> $makefileName + echo -en "OBJS=\$(TARGETS_CPP:cpp=o) ${grammar}Main.o" >> $makefileName + echo -e "" >> $makefileName + echo -e "TARGET=${grammar}Main" >> $makefileName + echo -e "" >> $makefileName + echo -e "CFLAGS=-Wall -ggdb -pthread -std=gnu++17 -I/usr/local/include/antlr4-runtime" >> $makefileName + echo -e "LDFLAGS=-lantlr4-runtime" >> $makefileName + echo -e "" >> $makefileName + echo -e "all: \$(TARGET)" >> $makefileName + echo -e "" >> $makefileName + echo -e "\$(TARGETS_CPP): \$(GRAMMAR)" >> $makefileName + if [ -e ${grammar}Parser.g4 ]; then + echo -e "\tantlr4 -cpp ${grammar}Lexer.g4" >> $makefileName + echo -e "\tantlr4 -cpp -visitor ${grammar}Parser.g4" >> $makefileName + else + echo -e "\tantlr4 -cpp -visitor \$(GRAMMAR)" >> $makefileName + fi + echo -e "" >> $makefileName + echo -e "%.o: %.cpp" >> $makefileName + echo -e "\tg++ \$(CFLAGS) -c \$<" >> $makefileName + echo -e "" >> $makefileName + echo -e "\$(TARGET): \$(GRAMMAR) \$(TARGETS_CPP) \$(OBJS)" >> $makefileName + echo -e "\tg++ \$(CFLAGS) \$(OBJS) \$(LDFLAGS) -o \$(TARGET)" >> $makefileName + echo -e "" >> $makefileName + echo -e "#install: \$(TARGET)" >> $makefileName + echo -e "#\tcp -a \$(TARGET) ../../bin" >> $makefileName + echo -e "" >> $makefileName + echo -e "clean:" >> $makefileName + echo -e "\trm -fv \$(OBJS) core" >> $makefileName + echo -e "" >> $makefileName + echo -e "cleanall: clean" >> $makefileName + echo -e "\tantlr4-clean -cpp" >> $makefileName + echo -e "\trm -fv \$(TARGET)" >> $makefileName + + + # creating main: + + echo "#include " >> $fileName + echo "#include " >> $fileName + echo "#include \"${grammar}Lexer.h\"" >> $fileName + echo "#include \"${grammar}Parser.h\"" >> $fileName + + for(( i=0;i<${#treewalking[*]};i++ )); do + add="true" + for(( j=0;j> $fileName + fi + done + echo "" >> $fileName + + echo "using namespace std;" >> $fileName + echo "using namespace antlr4;" >> $fileName + echo "using namespace antlr4::tree;" >> $fileName + echo "" >> $fileName + + echo "int main(int argc, const char* argv[]) {" >> $fileName + indentval=${indentSpaces}; indent=$(printf "%${indentval}s") + if [[ $lineInteractive == "true" ]]; then + echo "${indent}std::istream *stream = &cin;" >> $fileName + #echo "std::ifstream fstream;" >> $fileName + #echo "fstream.open("filename");" >> $fileName + #echo "stream = &fstream;" >> $fileName + + echo "${indent}string line;" >> $fileName + echo "${indent}int lineNum = 1;" >> $fileName + echo "${indent}${grammar}Parser* parser = new ${grammar}Parser(NULL);" >> $fileName + echo "${indent}// replace error listener:" >> $fileName + echo "${indent}//parser->removeErrorListeners(); // remove ConsoleErrorListener" >> $fileName + echo "${indent}//parser->addErrorListener(new ErrorHandlingListener());" >> $fileName + if (( ${#treewalking[*]} > 0 )); then + if (( ${#listeners[*]} > 0 )); then + echo "${indent}ParseTreeWalker* walker = new ParseTreeWalker();" >> $fileName + fi + for(( i=0;i<${#treewalking[*]};i++ )); do + if [[ ${treewalkingtype[i]} == "l" ]]; then + # listener + echo "${indent}${treewalking[i]}* listener$i = new ${treewalking[i]}();" >> $fileName + else + # visitor + echo "${indent}${treewalking[i]}* visitor$i = new ${treewalking[i]}();" >> $fileName + fi + done + fi + echo "${indent}while(getline(*stream, line)) {" >> $fileName + indentval=$(echo ${indentval}+${indentSpaces} | bc); indent=$(printf "%${indentval}s") + else + echo "${indent}std::istream *stream;" >> $fileName + fi + echo "${indent}// create a ANTLRInputStream that reads from standard input:" >> $fileName + echo "${indent}ANTLRInputStream* input;" >> $fileName + if [[ $lineInteractive == "true" ]]; then + echo "${indent}std::stringstream sstream;" >> $fileName + echo "${indent}sstream << line << \"\\n\";" >> $fileName + echo "${indent}std::istream *linestream = &sstream;" >> $fileName + echo "${indent}input = new ANTLRInputStream(*linestream);" >> $fileName + else + echo "${indent}stream = &cin;" >> $fileName + echo "${indent}input = new ANTLRInputStream(*stream);" >> $fileName + fi + echo "${indent}// create a lexer that feeds off of input ANTLRInputStream:" >> $fileName + echo "${indent}${grammar}Lexer* lexer = new ${grammar}Lexer(input);" >> $fileName + if [[ $lineInteractive == "true" ]]; then + echo "${indent}lexer->setLine(lineNum);" >> $fileName + echo "${indent}lexer->setCharPositionInLine(0);" >> $fileName + fi + echo "${indent}// create a buffer of tokens pulled from the lexer:" >> $fileName + echo "${indent}CommonTokenStream* tokens = new CommonTokenStream(lexer);" >> $fileName + echo "${indent}// create a parser that feeds off the tokens buffer:" >> $fileName + if [[ $lineInteractive == "true" ]]; then + echo "${indent}parser->setInputStream(tokens);" >> $fileName + else + echo "${indent}${grammar}Parser* parser = new ${grammar}Parser(tokens);" >> $fileName + echo "${indent}// replace error listener:" >> $fileName + echo "${indent}//parser->removeErrorListeners(); // remove ConsoleErrorListener" >> $fileName + echo "${indent}//parser->addErrorListener(new ErrorHandlingListener());" >> $fileName + fi + echo "${indent}// begin parsing at $rule rule:" >> $fileName + echo "${indent}ParseTree* tree = parser->$rule();" >> $fileName + echo "${indent}if (parser->getNumberOfSyntaxErrors() == 0) {" >> $fileName + indentval=$(echo ${indentval}+${indentSpaces} | bc); indent=$(printf "%${indentval}s") + echo "${indent}// print LISP-style tree:" >> $fileName + echo "${indent}// cout << tree->toStringTree(parser) << endl;" >> $fileName + if (( ${#treewalking[*]} > 0 )); then + if [[ $lineInteractive != "true" ]]; then + if (( ${#listeners[*]} > 0 )); then + echo "${indent}ParseTreeWalker* walker = new ParseTreeWalker();" >> $fileName + fi + for(( i=0;i<${#treewalking[*]};i++ )); do + if [[ ${treewalkingtype[i]} == "l" ]]; then + # listener + echo "${indent}${treewalking[i]}* listener$i = new ${treewalking[i]}();" >> $fileName + else + # visitor + echo "${indent}${treewalking[i]}* visitor$i = new ${treewalking[i]}();" >> $fileName + fi + done + fi + for(( i=0;i<${#treewalking[*]};i++ )); do + if [[ ${treewalkingtype[i]} == "l" ]]; then + # listener + echo "${indent}walker->walk(listener$i, tree);" >> $fileName + else + # visitor + echo "${indent}visitor$i->visit(tree);" >> $fileName + fi + done + fi + indentval=$(echo ${indentval}-${indentSpaces} | bc); indent=$(printf "%${indentval}s") + echo "${indent}}" >> $fileName + if [[ $lineInteractive == "true" ]]; then + echo "${indent}lineNum++;" >> $fileName + indentval=$(echo ${indentval}-${indentSpaces} | bc); indent=$(printf "%${indentval}s") + echo "${indent}}" >> $fileName + fi + echo "}" >> $fileName + ;; + python) + indentval=${indentSpaces}; indent=$(printf "%${indentval}s") + echo "import sys" > $fileName + echo "from antlr4 import *" >> $fileName + echo "from ${grammar}Lexer import ${grammar}Lexer" >> $fileName + echo "from ${grammar}Parser import ${grammar}Parser" >> $fileName + if (( ${#treewalking[*]} > 0 )); then + for(( i=0;i<${#treewalking[*]};i++ )); do + echo "from ${treewalking[i]} import ${treewalking[i]}" >> $fileName + done + fi + echo "" >> $fileName + echo "def main(argv):" >> $fileName + if (( ${#treewalking[*]} > 0 )); then + if (( ${#listeners[*]} > 0 )); then + echo "${indent}walker = ParseTreeWalker()" >> $fileName + fi + for(( i=0;i<${#treewalking[*]};i++ )); do + if [[ ${treewalkingtype[i]} == "l" ]]; then + # listener + echo "${indent}listener$i = ${treewalking[i]}()" >> $fileName + else + # visitor + echo "${indent}visitor$i = ${treewalking[i]}()" >> $fileName + fi + done + fi + if [[ $interactive == "true" ]]; then + echo "${indent}for line in sys.stdin:" >> $fileName + indentval=$(echo ${indentval}+${indentSpaces} | bc); indent=$(printf "%${indentval}s") + echo "${indent}input_stream = InputStream(line)" >> $fileName + else + echo "${indent}input_stream = StdinStream()" >> $fileName + fi + echo "${indent}lexer = ${grammar}Lexer(input_stream)" >> $fileName + echo "${indent}stream = CommonTokenStream(lexer)" >> $fileName + echo "${indent}parser = ${grammar}Parser(stream)" >> $fileName + echo "${indent}tree = parser.${rule}()" >> $fileName + if (( ${#treewalking[*]} > 0 )); then + echo "${indent}if parser.getNumberOfSyntaxErrors() == 0:" >> $fileName + indentval=$(echo ${indentval}+${indentSpaces} | bc); indent=$(printf "%${indentval}s") + for(( i=0;i<${#treewalking[*]};i++ )); do + if [[ ${treewalkingtype[i]} == "l" ]]; then + # listener + echo "${indent}walker.walk(listener$i, tree)" >> $fileName + else + # visitor + echo "${indent}visitor$i.visit(tree)" >> $fileName + fi + done + indentval=$(echo ${indentval}-${indentSpaces} | bc); indent=$(printf "%${indentval}s") + fi + echo "" >> $fileName + echo "if __name__ == '__main__':" >> $fileName + echo "${indent}main(sys.argv)" >> $fileName + ;; + *) + echo "ERROR: $target main not yet implemented!" + ;; +esac + +exit 0 diff --git a/2ano2/Compiladores/antlr4-bin/antlr4-run b/2ano2/Compiladores/antlr4-bin/antlr4-run new file mode 100755 index 0000000..1cf58b9 --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/antlr4-run @@ -0,0 +1,72 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2017-2020 + +IFS=$'\n' + +scriptName="$0" +target="java" +ext=".class" + +function help() +{ + echo "Usage: $scriptName [-h | -help | -cpp | -python | -java]" + echo "" + echo " Runs the compiler present in current directory or in a subdirectory (fails if none exists," + echo " or if there are more than one)." + echo " Accepts program files as arguments (uses stdin if no argument is passed)." + echo "" + echo " target language:" + echo " -java: java (default)" + echo " -cpp: c++" + echo " -python: python3" + exit 1 +} + +case $1 in + "") + ;; + -h | -help) + help + ;; + -java) + shift + ;; + -cpp | -c++) + shift + target="cpp" + ext="" + ;; + -python | -python3) + shift + target="python" + ext=".py" + ;; +esac + +count=`find . -name \*Main$ext | wc -l` + +if ((count == 0)); then + echo "Main file not found!" + exit 1 +elif ((count > 1)); then + echo "Too many main files!" + find . -name \*Main$ext -printf " %p\n" + exit 1 +fi + +case $target in + java) + main=`find . -name \*Main.class | sed 's/.class//g' | sed 's/^.\///1'` + cat $* | java -ea $main + ;; + cpp) + main=`find . -name \*Main` + cat $* | exec $main + ;; + python) + main=`find . -name \*Main.py` + cat $* | python3 $main + ;; +esac + diff --git a/2ano2/Compiladores/antlr4-bin/antlr4-test b/2ano2/Compiladores/antlr4-bin/antlr4-test new file mode 100755 index 0000000..48327f9 --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/antlr4-test @@ -0,0 +1,97 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2017-2020 + +if [ -z "$ANTLR4_PATH" ]; then + cp="" +else + TMP_VERSION=$(ls -f $ANTLR4_PATH/antlr-4*-complete.jar | tail -1 | sed 's/.*\///g' | sed 's/-com.*//g') + ANTLR4File=$(ls -f $ANTLR4_PATH/antlr-4*-complete.jar | grep "$TMP_VERSION" | awk '{ print length(), $0 | "sort -n" }' | sed 's/^[0-9 ]\+//g' | tail -1) + TMP_VERSION=$(ls -f $ANTLR4_PATH/ST-*.jar | tail -1 | sed 's/.*\///g' | sed 's/\.jar//g') + STFile=$(ls -f $ANTLR4_PATH/ST-*.jar | grep "$TMP_VERSION" | awk '{ print length(), $0 | "sort -n" }' | sed 's/^[0-9 ]\+//g' | tail -1) + cp="-cp .:$ANTLR4File:$STFile" +fi + +function help() +{ + echo "Usage: antlr4-test [ ] [options]" + echo "" + echo " Tests the ANTLR4 starting at rule ." + echo " Arguments may be omitted iff there is only one grammar in the directory" + echo " (and eventual subdirectories), and the first symbol in the grammar is the desired symbol." + echo "" + echo " principal options:" + echo " -h" + echo " -help" + echo " help page" + echo " -gui" + echo " shows the syntax tree" + echo " -tokens" + echo " shows the tokens" + echo "" + echo " other options:" + java -ea $cp org.antlr.v4.gui.TestRig 2>&1 | tail -n +2 | sed 's/^/ /g' + exit 1; +} + +if [[ $# == 1 && ($1 == "-h" || $1 == "-help") ]]; then + help +fi + +if [ $# -eq 1 ]; then + if [[ "$1" =~ "-h" ]]; then + java -ea $cp org.antlr.v4.gui.TestRig + exit 1 + fi +fi + +if [ $# -eq 0 ] || [ $# -eq 1 ] && [[ "$1" =~ "-"* ]]; then + if (command -v cpp >/dev/null 2>&1); then + count=`find . -name \*.g4 | sed 's/Parser.g4$\|Lexer.g4$\|.g4$//1' | uniq | wc -l` + if ((count == 0)); then + echo "ERROR: Grammar file not found! (try option -h)" + exit 1 + elif ((count > 1)); then + echo "ERROR: Too many grammar files!" + find . -name \*.g4 -printf " %p\n" + exit 1 + fi + g4=`find . -name \*.g4 | sed 's/Parser.g4$\|Lexer.g4$\|.g4$//1' | uniq` + p=`dirname $g4 | sed 's/^\.\///1'` + if [[ "$p" == "." ]]; then + p="" + else + p=$p. + fi + + if [ ! -e $g4.g4 ]; then + g4=${g4}Parser + fi + + grammar=`cat "$g4"*.g4 | cpp 2>/dev/null | grep -wv ^# | sed 's/{/ { /g' | sed 's/}/ } /g' | tr '\n' ' ' | tr ' ' '\n' | grep -wv parser | grep -wv options | grep -v ^\;$ | grep -v ^$ | gawk 'BEGIN {incode=0;} /{/ {incode++;} /}/ {incode--;} {if (incode == 0) print $0;}' | grep -v \} | grep -v @.* | head -2 | tail -1 | sed 's/[:;].*$//g' | grep -v ^$ | sed 's/Parser$//'` + rule=`cat "$g4"*.g4 | cpp 2>/dev/null | grep -wv ^# | sed 's/{/ { /g' | sed 's/}/ } /g' | tr '\n' ' ' | tr ' ' '\n' | grep -wv parser | grep -wv options | grep -v ^\;$ | grep -v ^$ | gawk 'BEGIN {incode=0;} /{/ {incode++;} /}/ {incode--;} {if (incode == 0) print $0;}' | grep -v \} | grep -v @.* | head -3 | tail -1 | sed 's/[:;].*$//g' | grep -v ^$` + + #echo "Grammar: $grammar" + #echo "Main rule: $rule" + + if [ -z "$grammar" ]; then + echo "ERROR: grammar name missing! (try option -h)" + exit 1 + fi + if [ -z "$rule" ]; then + echo "ERROR: first grammar rule missing!" + exit 1 + fi + + #echo "Grammar: $grammar" + #echo "Rule: $rule" + + java -ea $cp org.antlr.v4.gui.TestRig $p$grammar $rule $* + else + java -ea $cp org.antlr.v4.gui.TestRig $* + fi +else + java -ea $cp org.antlr.v4.gui.TestRig $* +fi + +exit $? diff --git a/2ano2/Compiladores/antlr4-bin/antlr4-visitor b/2ano2/Compiladores/antlr4-bin/antlr4-visitor new file mode 100755 index 0000000..752f2b2 --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/antlr4-visitor @@ -0,0 +1,255 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2017-2021 + +scriptName=antlr4-visitor +target=java +sourceExt="java" + +function help() +{ + echo -e "Usage: $scriptName [-h | -help] [-cpp [inline] | -python | -java] [-f | -force]\n [] " + echo "" + echo " Creates a visitor class named in the target language for ." + echo " Type instance of base generic visitor class will be ." + echo " Argument may be omitted iff there is only one grammar in the directory" + echo " (and eventual subdirectories)." + echo "" + echo " Target language:" + echo " -java: java (default)" + echo " -cpp: c++" + echo " -cpp inline: c++ with inline implementation (implementation in *.h class definition)" + echo " -python: python3" + echo "" + echo " options:" + echo " -h" + echo " -help" + echo " help page" + echo " -f" + echo " -force" + echo " force creation of visitor file" + echo " -i " + echo " -indent " + echo " number of indentation spaces (default: 3)" + echo " -l" + echo " -log" + echo " add method log stdout print" + exit 1 +} + +function logJava() +{ + local visitorType=$1 + local indent=$2 + if [[ $logActive == "true" ]]; then + cat - | sed "s/\($visitorType \)\(visit[a-zA-Z0-9_]\+\)\((.*$\)/\1\2\3\n${indent}${indent}System.out.println(\"[\2]\");/g" + else + cat - + fi +} + +function logCpp() +{ + local indent=$1 + if [[ $logActive == "true" ]]; then + cat - | sed "s/\(visit[a-zA-Z0-9_]\+\)\((.*{$\)/\1\2\n${indent}printf(\"[%s]\\\n\", \"\1\");/g" + else + cat - + fi +} + +function logPython() +{ + local indent=$1 + if [[ $logActive == "true" ]]; then + cat - | sed "s/\(visit[a-zA-Z0-9_]\+\)\((.*:$\)/\1\2\n${indent}${indent}print(\"[\1]\")/g" + else + cat - + fi +} + +indentSpaces="3" +forceCreation="false" +logActive="false" + +# process options: +while [[ $1 == -* ]]; do + case $1 in + -h | -help) + help + ;; + -cpp | -c++) + target="cpp" + sourceExt="cpp" + if [[ $# > 1 && $2 == "inline" ]]; then + shift + inline="true" + else + inline="false" + fi + ;; + -python | -python3) + target="python" + sourceExt="py" + ;; + -java) + target="java" + sourceExt="java" + ;; + -i | -indent) + shift + if (( $# == 0 )); then + echo -e "ERROR: missing indentation value!" + exit 1 + fi + indentSpaces="$1" + if ! [[ "$indentSpaces" =~ ^[0-9]+$ ]]; then + echo "ERROR: invalid indentation number" + exit 1 + fi + ;; + -f | -force) + forceCreation="true" + ;; + -l | -log) + logActive="true" + ;; + -*) + echo "ERROR: invalid argument!" + exit 1 + ;; + esac + shift +done + +if [[ $# == 0 || $# == 1 && $target != "python" ]]; then + echo "ERROR: Missing arguments!" + echo "" + help +fi + +indentval=${indentSpaces}; indent=$(printf "%${indentval}s") + +if (! command -v cpp >/dev/null 2>&1); then + echo "ERROR: cpp command missing (install gcc)" + exit 1 +fi + +grammar="" +grammarFile="" +if [ $# -eq 3 ]; then + gr=${1%.g4} + grammar=${gr%Parser} + if [[ ! -e "${grammar}.g4" && ! -e "${grammar}Parser.g4" ]]; then + echo "ERROR: Grammar file not found!" + exit 1 + fi + shift +else + count=`find . -name \*.g4 | sed 's/Parser.g4$\|Lexer.g4$\|.g4$//1' | uniq | wc -l` + if ((count == 0)); then + echo "ERROR: Grammar file not found!" + exit 1 + elif ((count > 1)); then + echo "ERROR: Too many grammar files!" + find . -name \*.g4 -printf " %p\n" + exit 1 + fi + g4=`find . -name \*.g4 | sed 's/Parser.g4$\|Lexer.g4$\|.g4$//1' | uniq` + p=`dirname $g4 | sed 's/^\.\///1'` + if [[ "$p" == "." ]]; then + p="" + else + p=$p. + fi + + if [ ! -e $g4.g4 ]; then + g4=${g4}Parser + fi + + grammar=`cat "$g4"*.g4 | cpp 2>/dev/null | grep -wv ^# | sed 's/{/ { /g' | sed 's/}/ } /g' | tr '\n' ' ' | tr ' ' '\n' | grep -wv parser | grep -wv options | grep -v ^\;$ | grep -v ^$ | gawk 'BEGIN {incode=0;} /{/ {incode++;} /}/ {incode--;} {if (incode == 0) print $0;}' | grep -v \} | grep -v @.* | head -2 | tail -1 | sed 's/[:;].*$//g' | grep -v ^$ | sed 's/Parser$//'` + + if [ -z "$grammar" ]; then + echo "ERROR: grammar name missing!" + exit 1 + fi +fi + +grammarFile="${grammar}.g4" +if [[ ! -e "$grammarFile" ]]; then + grammarFile="${grammar}Parser.g4" + if [[ ! -e "$grammarFile" ]]; then + echo "ERROR: Grammar file not found!" + exit 1 + fi +fi + +if ! [[ $# == 2 || ( $# == 1 && $target == "python" ) ]]; then + echo "ERROR: Missing arguments!" + echo "" + help +fi + +visitor=$(echo $1 | sed "s/\.${sourceExt}$//1" | sed 's/\.*//g') +if [[ $forceCreation == "false" ]]; then + if [ -e ${visitor}.$sourceExt ]; then + echo "ERROR: Visitor file \"${visitor}.$sourceExt\" already exists!" + exit 2 + fi +fi + +if [[ ${visitor} == ${grammar}Visitor || ${visitor} == ${grammar}BaseVisitor || + ${visitor} == ${grammar}Listener || ${visitor} == ${grammar}BaseListener || + ${visitor} == ${grammar}Parser || ${visitor} == ${grammar}Lexer ]]; then + echo "ERROR: Invalid visitor name (\"${visitor}\")!" + exit 1 +fi + +visitorType=${2} + +echo "Grammar: $grammar" +echo "Visitor: $visitor" +echo "Type: $visitorType" +echo "Target language: $target" + +if [[ -e "${grammar}Lexer.g4" ]]; then + antlr4 -$target "${grammar}Lexer.g4" +fi +antlr4 -$target -visitor "$grammarFile" +if [[ -e "${grammar}Parser.g4" ]]; then + grammar=${grammar}Parser +fi + +case $target in + java) + cpp "${grammar}BaseVisitor.java" | grep -v "^#.*$" | grep -v "^import.*$" | grep -v "^[ \t]*$" | sed "s/${grammar}BaseVisitor.*/${visitor} extends ${grammar}BaseVisitor<${visitorType}> {/1" | sed "s/\/$visitorType/g" | sed "s/^ /\n${indent}/g" | sed "s/ \(return.*;\)/\n${indent}${indent}$visitorType res = null;\n${indent}${indent}\1\n${indent}${indent}\/\/return res;/g" | sed "s/; }/;\n${indent}}/g" | logJava "$visitorType" "${indent}" > "${visitor}.java" + ;; + cpp) + if [[ $inline == "false" ]]; then + echo -e "#pragma once\n" > "${visitor}.h" + echo -e "#include \"${grammar}BaseVisitor.h\"\n" >> "${visitor}.h" + cat "${grammar}BaseVisitor.h" | grep -v "^#.*$" | cpp | grep -v "^#.*$" | grep -v "^[ \t]*$" | grep -v "^[ \t]*}$" | grep -wv "return" | sed "s/${grammar}BaseVisitor.*/${visitor} : public ${grammar}BaseVisitor {/1" | sed "s/^ /${indent}/g" | sed "s/^\(${indent}virtual\)/\n\1/g" | sed 's/override {/override;/g' >> "${visitor}.h" + echo "#include \"${visitor}.h\"" > "${visitor}.cpp" + cat "${grammar}BaseVisitor.h" | grep -v "^#.*$" | cpp | grep -v "^#.*$" | grep -v "^[ \t]*$" | grep -v "};" | grep -wv "class\|public" | sed "s/^ //g" | sed "s/^virtual /\n/g" | sed 's/override //g' | sed "s/any \(visit\)/any ${visitor}::\1/g" | sed "s/ \(return.*\)/${indent}std::any res;\n${indent}$visitorType r;\n${indent}\/\/ if (res.has_value()) {\n${indent}${indent}\/\/ r = std::any_cast<$visitorType>(res);\n${indent}\/\/ }\n${indent}\1\n${indent}\/\/return res;/g" | logCpp "${indent}" >> "${visitor}.cpp" + else + echo -e "#pragma once\n" > "${visitor}.h" + echo -e "#include \"${grammar}BaseVisitor.h\"\n" >> "${visitor}.h" + cat "${grammar}BaseVisitor.h" | grep -v "^#.*$" | cpp | grep -v "^#.*$" | grep -v "^[ \t]*$" | sed "s/${grammar}BaseVisitor.*/${visitor} : public ${grammar}BaseVisitor {/1" | sed "s/^ /${indent}/g" | sed "s/ \(return.*\)/${indent}std::any res;\n${indent}${indent}$visitorType r;\n${indent}${indent}\/\/ if (res.has_value()) {\n${indent}${indent}${indent}\/\/ r = std::any_cast<$visitorType>(res);\n${indent}${indent}\/\/ }\n${indent}${indent}\1\n${indent}${indent}\/\/return res;/g" | sed "s/^\(${indent}virtual\)/\n\1/g" | logCpp "${indent}${indent}" >> "${visitor}.h" + echo "#include \"${visitor}.h\"" > "${visitor}.cpp" + fi + ;; + python) + echo -e "from antlr4 import *" > "${visitor}.py" + echo -e "from ${grammar}Parser import ${grammar}Parser" >> "${visitor}.py" + echo -e "from ${grammar}Visitor import ${grammar}Visitor" >> "${visitor}.py" + echo -e "" >> "${visitor}.py" + echo -e "class $visitor(${grammar}Visitor):" >> "${visitor}.py" + cat "${grammar}Visitor.py" | grep -v "^[ \t]*#.*$" | grep "visit\|return" | sed -e 's/^[ \t]*//g' | sed -e "s/^\(def.*\)$/${indent}\1/g" | sed -e "s/^\(return.*\)$/${indent}${indent}\1\n/g" | logPython "${indent}" >> "${visitor}.py" + ;; + *) + echo "ERROR: $target visitors not yet implemented!" + ;; +esac +antlr4-clean -$target >& /dev/null + +exit 0 diff --git a/2ano2/Compiladores/antlr4-bin/java-clean b/2ano2/Compiladores/antlr4-bin/java-clean new file mode 100755 index 0000000..7c0a1ff --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/java-clean @@ -0,0 +1,5 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2006-2020 + +find . -name \*.class -printf "removing %p\n" -exec rm -f {} \; diff --git a/2ano2/Compiladores/antlr4-bin/st-groupfile2string b/2ano2/Compiladores/antlr4-bin/st-groupfile2string new file mode 100755 index 0000000..75997da --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/st-groupfile2string @@ -0,0 +1,23 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2020 + +if (( $# != 1 )); then + echo "Converts a STGroupFile to a String template (STGroupString)." + echo "" + echo "USAGE: st-groupfile2string " + exit 1 +fi + +file=$1 +if ! [ -e ${file} ]; then + echo "ERROR: STGroupFile ${file} not found!" + exit 2 +fi + +echo " // Automatically generated from $file" +echo ' String templates = ""+' +cat "$file" | sed 's/\\/\\\\/g' | sed 's/"/\\"/g' | sed 's/^/ "/g' | sed 's/$/\\n"\+/g' +echo ' "";' + +exit 0 diff --git a/2ano2/Compiladores/antlr4-bin/view-javadoc b/2ano2/Compiladores/antlr4-bin/view-javadoc new file mode 100755 index 0000000..2125582 --- /dev/null +++ b/2ano2/Compiladores/antlr4-bin/view-javadoc @@ -0,0 +1,56 @@ +#!/bin/bash +# +# Miguel Oliveira e Silva (mos@ua.pt), 2006-2020 + +# change the following variables to point to browser and javadoc directories! + +#BROWSER="/usr/bin/firefox" +BROWSER="firefox" +JDKDIR1=$(ls -fd /usr/share/doc/openjdk-*-jre-headless) +#JDKDIR1="/usr/share/doc/openjdk-8-jre-headless" +#JDKDIR2="/usr/local/share/java/docs" +JDKDIR2="" +#OTHERDIR="/usr/local/doc" +OTHERDIR="/usr/share/doc" +#OTHERDIR="" + +if [ $# -eq 0 ]; then + echo "Usage: view-javadoc " + exit 1; +fi + +declare -a docs; +docs=( $( find $OTHERDIR $JDKDIR1 $JDKDIR2 ! -path \*/class-use/\* -name "$1".html ) ) + +# ALTERNATIVE A: Open all found (if > 1) +if [ ${#docs[@]} -eq 0 ]; then + echo "Class not found!" + exit 2 +fi + +"$BROWSER" ${docs[@]} & + +exit 0 + +# ALTERNATIVE B: Let user select which one (if > 1) +case ${#docs[@]} in +0) + echo "Class not found!" + exit 2 + ;; +1) + doc=${docs[0]} + "$BROWSER" $doc & + ;; +*) + select doc in ${docs[@]}; do + break; + done + if [ -z "$doc" ]; then + exit 0; + fi + ;; +esac +"$BROWSER" $doc & + +exit 0 diff --git a/2ano2/Compiladores/flake.lock b/2ano2/Compiladores/flake.lock new file mode 100644 index 0000000..327c208 --- /dev/null +++ b/2ano2/Compiladores/flake.lock @@ -0,0 +1,60 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1708958830, + "narHash": "sha256-dsoGSxCJfgisVIzaD6OzJ3xwTk989ZVoLaGLBZNyXmM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "cec67db0d94418c44baae5b81e600c17605bc97d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/2ano2/Compiladores/flake.nix b/2ano2/Compiladores/flake.nix new file mode 100644 index 0000000..7abdbe5 --- /dev/null +++ b/2ano2/Compiladores/flake.nix @@ -0,0 +1,24 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs"; + flake-utils.url = "github:numtide/flake-utils"; + }; + outputs = { + nixpkgs, + flake-utils, + ... + }: + flake-utils.lib.eachDefaultSystem (system: let + pkgs = import nixpkgs { + inherit system; + }; + in { + devShell = pkgs.mkShell { + packages = with pkgs; [ + jdk17 + antlr + doxygen + ]; + }; + }); +} diff --git a/2ano2/Compiladores/libs/ST-4.3.4.jar b/2ano2/Compiladores/libs/ST-4.3.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..21a2f61f88852edcb6f55bfeeda17741582845cf GIT binary patch literal 251081 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�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�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%0ANAe{L4T=bK5XjR%Kd~@gg+Zd9Q;2dPV*5~n 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

%;RHB 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�q7l(`&K1J1fq4tX#)u ze{`Qete1~-{hdog!RIWcj}%2cgPO^YlyXN320!*!`x|)(Y_=$t3-(K{+%|~L>O#y2 zqnAJ>GvTG-tLjFRRcXi<&eI}FDncEY?q5U7Iv^%gUz38GmV1%Of2(M=$w26-nx_x- zU)~TTl(Y{lUYONSAp@Y zR$7a1^&dQ#o&w*oRu;lp!`(AuyDh&Ft+5Hscbc$NFIFU~F(_K!jT*W2n z&<3`MhtnJ4H+pWTi11QLt3D`ooRj89(~*B*CEQ9YFS_YLAJ@KYx{knv z62iJlA2q%Q6T|$4ME#foH=QCCjp=2>Xgx1B#DQN+!jmW#1%hTOv<~PPXpTce*CP_f zelK6x*+nfIn5VVN4=u7qU`Zuq=Fk?xh!-{03phh?I40k(?{2kIE&1EPuoOD1*Wt|D zRRzB?yH&9d4K*(4Te*-Il+3%9(VW+{YFT2m0e4>N$OuQ-`hdif0q^zq9m@ZtE@EkK zU~B!0yhG&1Bqz9mj8lGWBHfteYU%zj*$sgNrw|r|*|J%W9zYWA+C+-`J}aSdYY=5eu4fLkeT}_-dykc!Y*Ykqka~1;Rh?==*}V>kHXs$(BN_ML#-Rj;mCV z{V+hh*(xITBw;@2eUA*EpWB;RRN3bT66@=q`(#|Oy4tSY(Iwa5?L!TbOf=5A;hU^C zD z;E^^sLYBkOSnS-b7r9#NI&~LOAS$gadoj@rPQ}KBUk>kZV;@(((hX5}DVxS2aH)xw zDhbLy4QPKFpum;?QusA)k3tov6>>~1x;omZ4QawidvAb3c5i`VU~hunfPdtIW4`>Lh45a%vxP*M46a;=BkrR(LEQ7?>@e zSa)nLI!nYYxBn0M7h1#_%_^Ne-_C&ka3d3yl|~f=dr^{)M@D>Mwd+#s+u&VUSZ|Mg9u@x zWuYXL{~(rer{cacti&d(Dk+{yN?tkQ0-y1n=cl5zZkX|#v+3MbjUlb$^~WEq6H z9CSV5^IXMGK9;iw3n-#wzBt+KZZ{b;!<^zSdTvL~5L*rLF>eNfqw5fl&hY>;RKYn) zPhpk4G7Pu$jh=&Hir!I|xnbk`hnpAj28lDk=;FHholKN8#XBpsduz({y%PS<=NbJK39*Dk1g}#)R~j>US(V!2%Zv}3#aVC%YG=5FrC5Aq`_&>3Hk+mspSG@cb$|8D z%3jH;A9~WHJ?9;FLg^PFBcWJBNH7J<6GMfgww%=jyW@<`dO$w>87Jy5eXutxgnH!n zhuKl+)jaxGq~xci_YMm&MD24FY*O_UAyLB z`WZSt-K-q-pbTg2ptWGNcMntVwN~POZsr{7AUWD+9jHNdTE61B!1^$ZS0<1_=%5`} zN`K(fmuw@s11P?mT(9~=mmxozc6T;-mK`}7ji3~Ki;PC4mpa%umJYKjH;~bSGxdD+EuFj45 zgj^e@vP}*@RtK?C;d6!$ifJ=9JRcKY{TsQv#YY&=GMU7eq8J83dWFL&74-CXR{J7? zBL+Xe2~Cd}D1smH$8H{g77dm;+)q^JiO9i&va zx8BA8>eu@Z>IWp3|Bxyfi%N^CIGNxBh_htNKJcrR@SNvNp4^NKk zz@8Ms+c>$1zCQnI%Ozn`eRzb=!Uu-+wZcbtn1TfmoFZg^1P8G^&tM960tgePOL1dW zN|IixjP6cWDwZ@n#o?u@(0ihAog!k=Fnnb4R!`s4%3C!mMVQq}n`k&hE|vNU6*Rqj zUmc|}Upt1>cfHmedk)j<*x{q}g(`N&kl1W}6SyO%uo_Y0omhio^6qsfNQX5FyRD|e zO^E_ggX?JRcB>UW_oB08BYTNw_M(L&Y88~7{JyMLn{oK)Y@>#g(Kssx6)8EFzY})! zL5z^x#nA}X@>TNNU=n{*Lsr6i!&3Rko0-xOyNsrCJ*JB5PGcVi&VUEct*=$>^nE() z_bk(-TFG1FCr51H8t=u@XUv1+e{%NIQKei?smXJD6`>F@SQ3m8;D0&}$9IYoV$^(J zGox>bt0m{z1eNJmN}5yZ5FN^hHp~YoBfXPoK zS-+0C{KikduHiPqeAXv6GIG0M-KaPp)VwiW%p8{-2ENI;1q8l(g#G9kuO6!$VoNX_ zJVA!9^kv^TzOb5bJBn#0@O$pyzo!}eIT8jXP54E_L*!R%C-~7%hFRMMO;GQwBjnP+ zkcKA7N9SM(-%7KD4Pb`43G0tZIiV)>jM{{Ry%D}qZL#K`f6S;oIru6C*0~86S8t1NpuYG)6d$v2(FS2-aSLA&wki~t;Q1$K ztwv}l^i3UbR%yB!vSH;n+4IB|`*HpOp;FGL@~!taDjm$1sv1A0F7GFOp;Mk7Dt!nY5}Ji;dA(GdGO_oWRf#4U{$wC(b*X7|PF| zAL)!d9^#>P^EPW87+0yl)kL4rRJ%Ljaa##@hh{RHb;UynHn@l*Wpe3@D&u6CTA@Cj z$Asg?czWZubbL@{l5pC+1_7apLk%;FR>u+Yf%03+&FHFkb;BS&hM{9m*kQJ*@OM!# zL`Uz6DSze7ppah!@wWbiHThxwqXL_YgPS z8iq}pbu(w}8ICT~{i!;>@HMj% z5V@Y20FI`hXd$=%RCWgE$Q=Y}IaUSRwv5112;5E&?u=HF zsTKimf8r5A?GyTm0IW`WY}KAy>5dSKGKpbobQt}wbA{B6EoCvJLhofRS_|X953;Dm zl3wF0Nbw4Fwch?s&4|lhE4+AWX<4stOd~vCj)h- zwMT*`pR!LBL|?JjND0VsDkyjEJjJA7Pq@tMrm*C4)`rot->KB zt_NO6r>*lIT!@ETaHr*Zy(}VfgXS^It#DZk?eoIMk#}U*n4QXUjkgy!$zFUEImA<0 zFxFxz_z<6qY)DZW7_HK=PN>nrS#M5p1j%IRfEBNy?-W60AUf972wrx7srI%N=4VI` zIsEC2U3g|yEMpdi0Lq+V;VtS}N(niH4egYNr1&y~9OV3s;#>5pS;}&-G$^7}O`MFd z3{ljy$SH!Kv|O2U)1TL)?s!W=_O6DH^**L3{t6BIC1sAq4h+~m1P{e%HDPdK;K{lk zM~#UllWU>t;q`3JK0_Emni5~iI$X`rOb?2{2F&aI*k}fqFqqrjI zd=);nb&5|@e)MTDup+>70TbFE4-)W`gn&E`jfkWmorMlCfBg|E^7|hH$u=(jv6Zb6 zt&XL=x$Pyd-MZ{GIeF$EuigNA1{6<2pa**mh>L(m1ri2c^{Ta%1+BA%d5n^U-Naq^ zlhtF`!c;1Tpwibg4i23OW!b1L9Y9--EU#P;1@cLfWh z_#m?3cvWF?no|};4g6GOn?*xBnth~~LJy@y>>F%t!XuXI zD!zGoOdzk#co(jBehPJzyoATvzl6k1dmOo(sF-&6)C20P98%KTDyT< zHlIclx;`^1u@(zSt9^*68h10a{Vfa0e2ahCoZ(vEAj@DJc-ni%$B0$e8j$5>H}B+K z!?lExYNKIjyIqb=9WKlQ#pk{!gomi63pRh?-c>!awi@YkKOIUl?MdPmCv?96TL{c; z?bfFd$W6;LG-6L`;VY-uFlT2}Eu0s1Zmh~8L#%-5RYI81-(|N80k?pXs?LYkEq7_5 zd@X2HQjlsHkb-i&b=uX}F^erew?3|rp>+hQrQLU$G#wdu+kEgrp1dka^7;p=0jF48 zD$NPrt~@z2@yV~oHP1Qm5VCna-oHqIw;0=rZBf#{PTB^q-*Nw_r)7#Jb)rd+w0g}U zLo+I``TbpipJ3F0ZICSwV`ij2jgUybR# zWrll-D}d z4EaJoo31C9ycq?hc_p8q&KEDSTHS_KRMfP9W%RzjGC4+_AsZ{3oB{GU{GwycT`3!q zswMPMZ{7Tb#~&4(!4W@b=I%{)N!MJz?lvDl<$lW5$?+maQgNSBo876hB}6%PYm?V= z&tjUSpLK_1Gom_H^p&M;+7{}77S9%>Y^Du1;UVuM!(!jEd(D{&*iYS(ZM!$?>paMY z@K<_@Ld`zHX1b_PeInUq(MhR(XT$9ZVIwGYGmZErCe*Eh#})EqjabbgxMqs+RnlSk zr!RL>FsJ=8SZ=I}%aDhpQU{5BQR#EDGY))b6F?`w8E!mdNQpqT%E2YH%~->!&5nb) zlC>AdH3JsMUrFUIJC60i;{8WFo6Pry#~k&+6!99a77kU>heXT2cwcn-{$$rj zElW%Sy;Bnuffs}GO}uzcr%fmGAN>p;wxLn(QXu6Y-g!A=z0H2}Va^>!JH{k0TF<2v z&z*LMS3Y!ZkB7R;TRc;kD+O4U%5eB5AHCuPy|uoGDTIqD$UzY32ru4q^2@D3-@KVr%PlRyP3Qn0s(*18*0w;VQd@fy13QGa zdRT65WU#&?_vYxMmQlD5WVX_e39#WUOqBE}JbO86vM}g6WE7LMRu52+L^2VD*cnK> z%tcg0pb&TcqEYJ$XCJ&Shkb>&wQik|Kfv za`LnifW=|2VOc}bUv3amun0)r;d9PRAM@@4{l z`{(L?larjh1dvVEoJU{B8pwTCIk5Ar9uFhmrJDb zZO;YR?fM-S)LYrJ8sy~wv8n^ZcG7c2-o&^RRs!gHmC)%Z1bD z7n{)&Ymn#wSUp(-ZeBXyGf_yc;Q5y8^->+#NqUND4S)*+;MC_Tp#+@!xI{VvwzgKb zybgwjXGcFS7TdsR(p?%5&3!<@&-Zy0fanrrz@S{F)o&?~1wm)ZF@aLEoh$J(;H>{8 zxI7lRCPofc4t5ec_Ik!w34L}qff*?M1fY!P8`p>NQkL&$o&Tkeg8C6mmQ|NGz|jr# z$n#P{WWAKq}7pqxEf-okvB5=rTr8tB1eZUXhNTK|RaHPh4#4mV6en`_WO@55UkVLa^{We>>|^+$4)CUgK&&jo88q;n zO)kH-DhNE1 zK>Ab24Pfa6Fp=klZfp3@;J*tU1f4jcfepHPwGJpd#W}HvTKx@LPM(AxbWY-zysN*K z800yYrGmA60ci&VZF#;Uq1gNt_S^7N*5KC@Y!`6_8S$>k14YdM^yED5q~qUkB^^Mi ze=o;XSk{<31gg&nV1rKBojqCJ&Mtq$y@$+f` z=kYgO(2WH;mU;$qKd*`SwYfmB(uqW!pyu)gn(I8QvDe>V0qp|W2`kG#n^O>MJ;njP z1Rw=s0Q$U}yykle><=R<4p^Z-%aQ7MbMlzT9$W$-`|k`JGWwM@YhCj zXI7ZV1|(1dbcXX%ux|Ss=y%5@_pML-xvbh_fp@qNfP~4wRDslPFRCYz%2wgv_~-=}1ME_}>gtwkvq00eN@=L?TGcO~?Z(+a!LX1`v9H(9^F1(k^D@wH z68Wn@K*jZ=KCUzaJjVlIka51aRlAoV|5se*--`)}CadiPeL&S@{WD^|x3Qz+l zL0cV*KTJPCBH$6tKI8-jCqjV5IA7XCn5%$YNtk{Y0jRW2U?}OJYiK8c5}()Jo5+`e z{;CEfO13)I!0O%a44`69n>+1Mdv!} z55RYp_eadjK>sT?$ld+ybR_?oXi!i8oeWe1Dxq-RU|_#2pZnq@`UcKrWZ!D=J0z(5 zTV6`>9)M6lF#+e75=QR+4f0ouC-qBo^+g4An(uWb0c0}{e1N&tk0;AJo&BG%zfC0m z>|sITNJLuP5yb-os|3V>{{tN)dki2*{Ld3cUqM+mSEwuKJ?iEyd+_%-W#lX1D9T>I~ zpR2sL-rr%rVg4=w5a2C%#RCUmvSeU>an58L`ZvHI%a`A9|GV<_&*%)bdx{5uo`L2~ z=Vy~FwO67GTG?9Yn4dY<-w8lsmSRHj_5c*^EF%3(Bw5~`4ObHU$W&$Hpkr=gXkwr* zqJJ)3)kSsjNx7Xs2(X=Hg80d%23UhXtKJV`olltfuat2^n604Ykx@X3pc{D4o-FU_ z<|`?GRL~Nz>iU2rFRfkrcCyA3fNBq*5<24nzO%gFw*DVfR`$TjHhmLN`UM^H-|kDf zDAI@;t{l*b`f9+Ea-1W5(S9ZASw1R$6FZ=D0~fTI|9J`w(iHR$xw@dFrSAYT&T~XJ zx~?SpAxHyr1JFqCQaQd$Yh`;57^s_oXE;BTpY6Vq>06ijw$Arwh3805A^A1;>RC;) zyvLWX1piSDP(p@F>)?KO3Edr#Ry!cA^Q&^jEB{WTbA`s;DWnJY23UUYy*_LI&H_p+ zD`^F+&{^nQTBp`qvtQi+wzE8TKSigr@$YQF{so}fmlCDK*`xj0Ot5TSNp#*!fa><2 zvpt_4@nSc+?`&iT+PC^$yQ{aar2L^4f4aTxB2x~#!W78j{w~F*JO9pP^=$xgsT7xK z-{*iV-|xy{x%clx{~|z;AGBNU%qIufJ^~+}GtB_Lv%IDDuVnkh50V(3c`ZAwUvlAI zlpm7hqaF0PLr;pRs+@ zI#{wR3IF8%{_HgRoy*>Wy3+5~L7DzanjiH7btQS7%f}FhUKlSaV!*&c0YiI!p@Rij z8U05I{<#u#WA}Og>@1$O{xdYmzbaW`Wqt|B&;D+G9sxe_A1gwl_j4q4sUA$(BD?wj zkpO1AU<>0c`ta0g0i7?@-&a-3I&@XnhS-~k8x5cfF)gv!*nIv4?AReZiaDbQyFXJJqGP|{BHOjv-~?Da5u=6P6@bRvm7)4 z`v?e<_naX0S^u5M4mdt#Zt$mkffol5gMp>iWWbzh447G;-|G}+znbscrhvQ-Fkkw! z3igHv6oQuJD1Td)d&7A(`hPB#L{47b%FN*VWz-kTKhKnG07?}8`@D9J`yUwoTXY~f z>$R6E0X%{F7Z-r)cT@g~_ur}hcH{iTirL@0Kk^Vzf~P>koF8pP@L$RH{g}ZY_i;hC zj$>l*^PdMOYC>0n|L8z~KA#1r%NiJ7Dm#(paTrcOcEIrGTkgv<&Cc?EAaW()d0X_a z0=#(f{7=gFqE}M>sN=7W>5_5y#mm-zk|~N`Np>~>`~B+mi%N0vPVJvG!;)9hoEPK2 z%+W61BmI+3M*2#+pDPd~KW~-3SfPuz=>B9Vm%EbTMBSdsPWeeEWqc*wk6!%SJt`N4ckyzIpEPJ@ zSJM1wu1n|ZAR~YAzJ;GOAI<-r<`1_oT&&Nx|* z1pn<={skJ;(=KM~_z8^`dKL7A+#SD`8U%eY5yemFsIbeS|B{yCBEiK}13w8+BQGZa z7N>wSln#2J9hysob1};MC&7O79+U*M7#YoCTl$ zi~+eAGXtC={pIC@-(LoX2S0*Q{|*Ceum1u=AOBk!e!~10oO%ZJ=kU}suqi_@% literal 0 HcmV?d00001 diff --git a/2ano2/Compiladores/src/Bloco1_1/Main.java b/2ano2/Compiladores/src/Bloco1_1/Main.java new file mode 100644 index 0000000..4c06e79 --- /dev/null +++ b/2ano2/Compiladores/src/Bloco1_1/Main.java @@ -0,0 +1,22 @@ +package Bloco1; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; + +public class Main { + public static void main(String[] args) { + final Tokenizer tokenizer = new Tokenizer(new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8))); + + try { + Token token = tokenizer.nextToken(); + while (token != null) { + System.out.println(token); + token = tokenizer.nextToken(); + } + } catch(IOException e) { + System.out.println(e.getMessage()); + } + } +}