parent
c505b9cb2c
commit
69a24132d3
Binary file not shown.
Binary file not shown.
@ -1,92 +1,92 @@ |
|||||||
@rem |
@rem |
||||||
@rem Copyright 2015 the original author or authors. |
@rem Copyright 2015 the original author or authors. |
||||||
@rem |
@rem |
||||||
@rem Licensed under the Apache License, Version 2.0 (the "License"); |
@rem Licensed under the Apache License, Version 2.0 (the "License"); |
||||||
@rem you may not use this file except in compliance with the License. |
@rem you may not use this file except in compliance with the License. |
||||||
@rem You may obtain a copy of the License at |
@rem You may obtain a copy of the License at |
||||||
@rem |
@rem |
||||||
@rem https://www.apache.org/licenses/LICENSE-2.0 |
@rem https://www.apache.org/licenses/LICENSE-2.0 |
||||||
@rem |
@rem |
||||||
@rem Unless required by applicable law or agreed to in writing, software |
@rem Unless required by applicable law or agreed to in writing, software |
||||||
@rem distributed under the License is distributed on an "AS IS" BASIS, |
@rem distributed under the License is distributed on an "AS IS" BASIS, |
||||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||||
@rem See the License for the specific language governing permissions and |
@rem See the License for the specific language governing permissions and |
||||||
@rem limitations under the License. |
@rem limitations under the License. |
||||||
@rem |
@rem |
||||||
|
|
||||||
@if "%DEBUG%"=="" @echo off |
@if "%DEBUG%"=="" @echo off |
||||||
@rem ########################################################################## |
@rem ########################################################################## |
||||||
@rem |
@rem |
||||||
@rem Gradle startup script for Windows |
@rem Gradle startup script for Windows |
||||||
@rem |
@rem |
||||||
@rem ########################################################################## |
@rem ########################################################################## |
||||||
|
|
||||||
@rem Set local scope for the variables with windows NT shell |
@rem Set local scope for the variables with windows NT shell |
||||||
if "%OS%"=="Windows_NT" setlocal |
if "%OS%"=="Windows_NT" setlocal |
||||||
|
|
||||||
set DIRNAME=%~dp0 |
set DIRNAME=%~dp0 |
||||||
if "%DIRNAME%"=="" set DIRNAME=. |
if "%DIRNAME%"=="" set DIRNAME=. |
||||||
@rem This is normally unused |
@rem This is normally unused |
||||||
set APP_BASE_NAME=%~n0 |
set APP_BASE_NAME=%~n0 |
||||||
set APP_HOME=%DIRNAME% |
set APP_HOME=%DIRNAME% |
||||||
|
|
||||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter. |
@rem Resolve any "." and ".." in APP_HOME to make it shorter. |
||||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi |
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi |
||||||
|
|
||||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. |
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. |
||||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" |
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" |
||||||
|
|
||||||
@rem Find java.exe |
@rem Find java.exe |
||||||
if defined JAVA_HOME goto findJavaFromJavaHome |
if defined JAVA_HOME goto findJavaFromJavaHome |
||||||
|
|
||||||
set JAVA_EXE=java.exe |
set JAVA_EXE=java.exe |
||||||
%JAVA_EXE% -version >NUL 2>&1 |
%JAVA_EXE% -version >NUL 2>&1 |
||||||
if %ERRORLEVEL% equ 0 goto execute |
if %ERRORLEVEL% equ 0 goto execute |
||||||
|
|
||||||
echo. |
echo. |
||||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. |
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. |
||||||
echo. |
echo. |
||||||
echo Please set the JAVA_HOME variable in your environment to match the |
echo Please set the JAVA_HOME variable in your environment to match the |
||||||
echo location of your Java installation. |
echo location of your Java installation. |
||||||
|
|
||||||
goto fail |
goto fail |
||||||
|
|
||||||
:findJavaFromJavaHome |
:findJavaFromJavaHome |
||||||
set JAVA_HOME=%JAVA_HOME:"=% |
set JAVA_HOME=%JAVA_HOME:"=% |
||||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe |
set JAVA_EXE=%JAVA_HOME%/bin/java.exe |
||||||
|
|
||||||
if exist "%JAVA_EXE%" goto execute |
if exist "%JAVA_EXE%" goto execute |
||||||
|
|
||||||
echo. |
echo. |
||||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% |
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% |
||||||
echo. |
echo. |
||||||
echo Please set the JAVA_HOME variable in your environment to match the |
echo Please set the JAVA_HOME variable in your environment to match the |
||||||
echo location of your Java installation. |
echo location of your Java installation. |
||||||
|
|
||||||
goto fail |
goto fail |
||||||
|
|
||||||
:execute |
:execute |
||||||
@rem Setup the command line |
@rem Setup the command line |
||||||
|
|
||||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar |
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar |
||||||
|
|
||||||
|
|
||||||
@rem Execute Gradle |
@rem Execute Gradle |
||||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* |
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* |
||||||
|
|
||||||
:end |
:end |
||||||
@rem End local scope for the variables with windows NT shell |
@rem End local scope for the variables with windows NT shell |
||||||
if %ERRORLEVEL% equ 0 goto mainEnd |
if %ERRORLEVEL% equ 0 goto mainEnd |
||||||
|
|
||||||
:fail |
:fail |
||||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of |
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of |
||||||
rem the _cmd.exe /c_ return code! |
rem the _cmd.exe /c_ return code! |
||||||
set EXIT_CODE=%ERRORLEVEL% |
set EXIT_CODE=%ERRORLEVEL% |
||||||
if %EXIT_CODE% equ 0 set EXIT_CODE=1 |
if %EXIT_CODE% equ 0 set EXIT_CODE=1 |
||||||
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% |
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% |
||||||
exit /b %EXIT_CODE% |
exit /b %EXIT_CODE% |
||||||
|
|
||||||
:mainEnd |
:mainEnd |
||||||
if "%OS%"=="Windows_NT" endlocal |
if "%OS%"=="Windows_NT" endlocal |
||||||
|
|
||||||
:omega |
:omega |
||||||
|
@ -0,0 +1,35 @@ |
|||||||
|
let |
||||||
|
var b: Boolean |
||||||
|
in |
||||||
|
begin |
||||||
|
b := 1 < 3; |
||||||
|
|
||||||
|
if b |
||||||
|
then put('t') |
||||||
|
else put('f'); |
||||||
|
|
||||||
|
puteol(); |
||||||
|
|
||||||
|
b := 1 > 3; |
||||||
|
|
||||||
|
if b |
||||||
|
then put('t') |
||||||
|
else put('f'); |
||||||
|
|
||||||
|
puteol(); |
||||||
|
|
||||||
|
b := 2 >= 1; |
||||||
|
|
||||||
|
if b |
||||||
|
then put('t') |
||||||
|
else put('f'); |
||||||
|
|
||||||
|
puteol(); |
||||||
|
|
||||||
|
b := 2 < 1; |
||||||
|
|
||||||
|
if b |
||||||
|
then put('t') |
||||||
|
else put('f'); |
||||||
|
|
||||||
|
end |
@ -0,0 +1,42 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
# Term. colours for output |
||||||
|
RED='\033[0;31m' # Red |
||||||
|
GRN='\033[0;32m' # Green |
||||||
|
YLLW='\033[0;33m' # Yellow |
||||||
|
NC='\033[0m' # No Color |
||||||
|
|
||||||
|
TRI="" #.tri file |
||||||
|
|
||||||
|
# Check if the input in arg 1 ($1) is empty |
||||||
|
if [ -z "$1" ] |
||||||
|
then # if empty... |
||||||
|
printf "${YLLW}Usage: $0 *.tri file (optional: $0 *.tri tree)${NC}" |
||||||
|
exit 1 # Exit with code 1, failure |
||||||
|
else |
||||||
|
TRI=$1 |
||||||
|
fi |
||||||
|
|
||||||
|
#Remove the extension of the file |
||||||
|
FILENAME=$(echo $TRI | cut -f 1 -d '.') |
||||||
|
|
||||||
|
printf "${YLLW}[INFO] Compiling file: $FILENAME.tri to $FILENAME.tam ...${NC}\n" |
||||||
|
|
||||||
|
# Compile to tam |
||||||
|
if java -cp ../build/libs/Triangle-Tools.jar triangle.Compiler $FILENAME.tri -o=$FILENAME.tam &> /dev/null #quiet |
||||||
|
then if [ -z "$2" ] |
||||||
|
then #if second arg empty (really im not checking if you put tree) |
||||||
|
printf "${GRN}[INFO] Running file: $FILENAME.tam ...${NC}\n" |
||||||
|
java -cp ../build/libs/Triangle-Tools.jar triangle.abstractMachine.Interpreter $FILENAME.tam |
||||||
|
exit 0 |
||||||
|
else #youve put tree, so lets see it! |
||||||
|
printf "${GRN}[INFO] Running file: $FILENAME.tam ... and displaying AST${NC}\n" |
||||||
|
java -cp ../build/libs/Triangle-Tools.jar triangle.Compiler $FILENAME.tri tree -o=$FILENAME.tam &> /dev/null #quiet |
||||||
|
exit 0 |
||||||
|
fi |
||||||
|
else #error msg |
||||||
|
printf "${RED}[ERROR] Could not complie $FILENAME.tri ...${NC}" |
||||||
|
err=$(java -cp ../build/libs/Triangle-Tools.jar triangle.Compiler $FILENAME.tri -o=$FILENAME.tam) |
||||||
|
printf "${RED}\n$err\n${NC}" |
||||||
|
exit 1 #exit with 1, failure |
||||||
|
fi |
Loading…
Reference in new issue