Skip to content

Instantly share code, notes, and snippets.

@lrlucena
Last active October 13, 2017 20:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lrlucena/cead7a126ff50132db6ca1970642ec38 to your computer and use it in GitHub Desktop.
Save lrlucena/cead7a126ff50132db6ca1970642ec38 to your computer and use it in GitHub Desktop.
Compilando programas em Potigol

Compilando Potigol

Uma forma de tornar mais rápida a execução de programas em Potigol é transcrever os programas para a lingaugem Scala e em seguida realizar a compilação.

Download do Potigol

Faça o download da linguagem Potigol (https://github.com/potigol/Potigol/releases/download/0.9.13/potigol.zip) e descompacte. Copie os arquivos deste gist para a pasta do Potigol.

Download de Scala versão 2.11.8

Faça o download da linguagem Scala (http://scala-lang.org/download/2.11.8.html) e descompacte dentro da pasta do Potigol.

Execução

potic teste.poti

potijar teste.jar

Para compilar e executar use:

potigol_ligeiro teste.poti

A execução é rápida porque a compilação só ocorre na primeira execução.

REM Compila um programa Potigol gerando um arquivo .jar
@echo off
chcp 65001 > NUL
SET scala_file=%~n1.scala
SET output=%~n1.jar
echo Compilando o arquivo %1 ...
echo /* Traducao de Potigol para Scala > %scala_file%
type %1 >> %scala_file%
echo */ >> %scala_file%
echo object Main extends App{ >> %scala_file%
java -jar %~dp0potigol.jar -d %1 >> %scala_file%
echo } >> %scala_file%
%~dp0scala-2.11.8\bin\scalac -d %output% -cp %~dp0potigol.jar %scala_file% 2> NUL
REM Compila, executa e salva o programa compilado (.jar).
REM Depois de ~compilado, se o arquivo não for alterado a execução é mais rápida
@echo off
chcp 65001 > NUL
SET scala_file=%~n1.scala
SET t1=%~t1
FOR %%A IN (%scala_file%) DO (SET t2=%%~tA)
if "%t1%" GTR "%t2%" (
java -jar %~dp0potigol.jar -d %1 > %scala_file%
potigol %1
) ELSE (
%~dp0scala-2.11.8\bin\scala -save -cp %~dp0potigol.jar %scala_file% 2> NUL
)
REM Executa um programa Potigol já compilado
@echo off
%~dp0scala-2.11.8\bin\scala -howtorun:jar -cp %~dp0potigol.jar %1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment