├── .gitignore ├── .idea ├── .name ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── libraries │ ├── SBT__org_scala_lang_modules_scala_xml_2_11_1_0_2_jar.xml │ ├── SBT__org_scala_lang_scala_library_2_11_7_jar.xml │ ├── SBT__org_scala_lang_scala_reflect_2_11_2_jar.xml │ └── SBT__org_scalatest_scalatest_2_11_2_2_4_jar.xml ├── misc.xml ├── modules.xml ├── modules │ ├── pcf-build.iml │ └── pcf.iml ├── sbt.xml ├── scala_compiler.xml ├── uiDesigner.xml ├── vcs.xml └── workspace.xml ├── .travis.yml ├── README.md ├── build.sbt ├── project ├── build.properties ├── plugins.sbt ├── project │ └── target │ │ └── config-classes │ │ ├── $96cf84c816ed5c375d27$$anonfun$$sbtdef$1.class │ │ ├── $96cf84c816ed5c375d27$.class │ │ ├── $96cf84c816ed5c375d27.cache │ │ └── $96cf84c816ed5c375d27.class └── target │ ├── config-classes │ ├── $4fe0fe3904d01f28f13a$$anonfun$$sbtdef$1.class │ ├── $4fe0fe3904d01f28f13a$.class │ ├── $4fe0fe3904d01f28f13a.cache │ ├── $4fe0fe3904d01f28f13a.class │ ├── $5abaee7be7ccd1f275db$.class │ ├── $5abaee7be7ccd1f275db.cache │ ├── $5abaee7be7ccd1f275db.class │ ├── $5b4b59d07e3dd5f2fa69$$anonfun$$sbtdef$1.class │ ├── $5b4b59d07e3dd5f2fa69$.class │ ├── $5b4b59d07e3dd5f2fa69.cache │ ├── $5b4b59d07e3dd5f2fa69.class │ ├── $71ad4e6705d0276db819$$anonfun$$sbtdef$1.class │ ├── $71ad4e6705d0276db819$.class │ ├── $71ad4e6705d0276db819.cache │ ├── $71ad4e6705d0276db819.class │ ├── $80397929471a51450c56$$anonfun$$sbtdef$1.class │ ├── $80397929471a51450c56$.class │ ├── $80397929471a51450c56.cache │ └── $80397929471a51450c56.class │ ├── resolution-cache │ ├── default │ │ └── pcf-build │ │ │ └── scala_2.10 │ │ │ └── sbt_0.13 │ │ │ └── 0.1-SNAPSHOT │ │ │ ├── resolved.xml.properties │ │ │ └── resolved.xml.xml │ └── reports │ │ ├── default-pcf-build-compile-internal.xml │ │ ├── default-pcf-build-compile.xml │ │ ├── default-pcf-build-docs.xml │ │ ├── default-pcf-build-optional.xml │ │ ├── default-pcf-build-plugin.xml │ │ ├── default-pcf-build-pom.xml │ │ ├── default-pcf-build-provided.xml │ │ ├── default-pcf-build-runtime-internal.xml │ │ ├── default-pcf-build-runtime.xml │ │ ├── default-pcf-build-scala-tool.xml │ │ ├── default-pcf-build-sources.xml │ │ ├── default-pcf-build-test-internal.xml │ │ ├── default-pcf-build-test.xml │ │ ├── ivy-report.css │ │ └── ivy-report.xsl │ └── streams │ ├── $global │ ├── $global │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── dependencyPositions │ │ └── $global │ │ │ └── streams │ │ │ └── update_cache_2.10 │ │ │ ├── input_dsp │ │ │ └── output_dsp │ ├── ivyConfiguration │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── ivySbt │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── projectDescriptors │ │ └── $global │ │ │ └── streams │ │ │ └── out │ └── update │ │ └── $global │ │ └── streams │ │ ├── out │ │ └── update_cache_2.10 │ │ ├── inputs │ │ └── output │ ├── compile │ ├── $global │ │ └── $global │ │ │ └── discoveredMainClasses │ │ │ └── data │ ├── compile │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── compileIncremental │ │ └── $global │ │ │ └── streams │ │ │ ├── export │ │ │ └── out │ ├── copyResources │ │ └── $global │ │ │ └── streams │ │ │ ├── copy-resources │ │ │ └── out │ ├── dependencyClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── exportedProducts │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── externalDependencyClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── internalDependencyClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── managedClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── unmanagedClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ └── unmanagedJars │ │ └── $global │ │ └── streams │ │ └── export │ └── runtime │ ├── dependencyClasspath │ └── $global │ │ └── streams │ │ └── export │ ├── exportedProducts │ └── $global │ │ └── streams │ │ └── export │ ├── externalDependencyClasspath │ └── $global │ │ └── streams │ │ └── export │ ├── fullClasspath │ └── $global │ │ └── streams │ │ └── export │ ├── internalDependencyClasspath │ └── $global │ │ └── streams │ │ └── export │ ├── managedClasspath │ └── $global │ │ └── streams │ │ └── export │ ├── unmanagedClasspath │ └── $global │ │ └── streams │ │ └── export │ └── unmanagedJars │ └── $global │ └── streams │ └── export ├── src ├── main │ └── scala │ │ ├── App.scala │ │ └── PCF │ │ ├── Interpreter │ │ └── Interpreter.scala │ │ ├── Parser │ │ ├── AST.scala │ │ └── Parser.scala │ │ ├── Pipes │ │ └── ForwardOperator.scala │ │ └── Tokenizer │ │ ├── Lexer.scala │ │ └── Tokens.scala └── test │ └── scala │ └── PCF │ └── Tests │ ├── BasicParserTest.scala │ ├── FUNParserTest.scala │ ├── IFPaserTest.scala │ ├── InterpreterTest.scala │ ├── LETParserTest.scala │ ├── LexerTest.scala │ ├── PARPaserTest.scala │ └── RECParserTest.scala └── target ├── .history ├── resolution-cache ├── default │ └── pcf_2.11 │ │ └── 1.0 │ │ ├── resolved.xml.properties │ │ └── resolved.xml.xml └── reports │ ├── default-pcf_2.11-compile-internal.xml │ ├── default-pcf_2.11-compile.xml │ ├── default-pcf_2.11-docs.xml │ ├── default-pcf_2.11-optional.xml │ ├── default-pcf_2.11-plugin.xml │ ├── default-pcf_2.11-pom.xml │ ├── default-pcf_2.11-provided.xml │ ├── default-pcf_2.11-runtime-internal.xml │ ├── default-pcf_2.11-runtime.xml │ ├── default-pcf_2.11-scala-tool.xml │ ├── default-pcf_2.11-sources.xml │ ├── default-pcf_2.11-test-internal.xml │ ├── default-pcf_2.11-test.xml │ ├── ivy-report.css │ └── ivy-report.xsl ├── scala-2.11 ├── classes │ ├── App$.class │ ├── App.class │ └── PCF │ │ ├── Interpreter │ │ ├── Interpreter$.class │ │ └── Interpreter.class │ │ ├── Parser │ │ ├── AST │ │ │ ├── APP$.class │ │ │ ├── APP.class │ │ │ ├── BOOL$.class │ │ │ ├── BOOL.class │ │ │ ├── ERROR$.class │ │ │ ├── ERROR.class │ │ │ ├── FUNC$.class │ │ │ ├── FUNC.class │ │ │ ├── ID$.class │ │ │ ├── ID.class │ │ │ ├── IF$.class │ │ │ ├── IF.class │ │ │ ├── ISZERO$.class │ │ │ ├── ISZERO.class │ │ │ ├── NUM$.class │ │ │ ├── NUM.class │ │ │ ├── PRED$.class │ │ │ ├── PRED.class │ │ │ ├── REC$.class │ │ │ ├── REC.class │ │ │ ├── RESULT_TERM.class │ │ │ ├── SUCC$.class │ │ │ ├── SUCC.class │ │ │ └── TERM.class │ │ ├── Parser$$anonfun$parseFile$1.class │ │ ├── Parser$$anonfun$parseStr$1.class │ │ ├── Parser$$anonfun$parseStr$2.class │ │ ├── Parser$.class │ │ └── Parser.class │ │ ├── Pipes │ │ ├── IPipe$.class │ │ ├── IPipe.class │ │ ├── Pipe$.class │ │ └── Pipe.class │ │ └── Tokenizer │ │ ├── ARROWTOK$.class │ │ ├── ARROWTOK.class │ │ ├── ELSETOK$.class │ │ ├── ELSETOK.class │ │ ├── EOF$.class │ │ ├── EOF.class │ │ ├── EQUALTOK$.class │ │ ├── EQUALTOK.class │ │ ├── FALSETOK$.class │ │ ├── FALSETOK.class │ │ ├── FUNTOK$.class │ │ ├── FUNTOK.class │ │ ├── IDTOK$.class │ │ ├── IDTOK.class │ │ ├── IFTOK$.class │ │ ├── IFTOK.class │ │ ├── INTOK$.class │ │ ├── INTOK.class │ │ ├── ISZEROTOK$.class │ │ ├── ISZEROTOK.class │ │ ├── LETTOK$.class │ │ ├── LETTOK.class │ │ ├── LPARENTOK$.class │ │ ├── LPARENTOK.class │ │ ├── Lexer$$anonfun$lexerFile$1.class │ │ ├── Lexer$$anonfun$lexerStr$1.class │ │ ├── Lexer$$anonfun$lexerStr$2.class │ │ ├── Lexer$.class │ │ ├── Lexer.class │ │ ├── NUMTOK$.class │ │ ├── NUMTOK.class │ │ ├── PREDTOK$.class │ │ ├── PREDTOK.class │ │ ├── RECTOK$.class │ │ ├── RECTOK.class │ │ ├── RPARENT$.class │ │ ├── RPARENT.class │ │ ├── SUCCTOK$.class │ │ ├── SUCCTOK.class │ │ ├── THENTOK$.class │ │ ├── THENTOK.class │ │ ├── TOK.class │ │ ├── TRUETOK$.class │ │ └── TRUETOK.class └── test-classes │ └── PCF │ └── Tests │ ├── BasicParserTest$$anonfun$1.class │ ├── BasicParserTest$$anonfun$2.class │ ├── BasicParserTest$$anonfun$3.class │ ├── BasicParserTest$$anonfun$4.class │ ├── BasicParserTest$$anonfun$5.class │ ├── BasicParserTest$$anonfun$6.class │ ├── BasicParserTest$$anonfun$7.class │ ├── BasicParserTest.class │ ├── FUNParserTest$$anonfun$1.class │ ├── FUNParserTest$$anonfun$2.class │ ├── FUNParserTest$$anonfun$3.class │ ├── FUNParserTest$$anonfun$4.class │ ├── FUNParserTest.class │ ├── IFPaserTest$$anonfun$1.class │ ├── IFPaserTest$$anonfun$2.class │ ├── IFPaserTest$$anonfun$3.class │ ├── IFPaserTest$$anonfun$4.class │ ├── IFPaserTest$$anonfun$5.class │ ├── IFPaserTest$$anonfun$6.class │ ├── IFPaserTest$$anonfun$7.class │ ├── IFPaserTest.class │ ├── InterpreterTest$$anonfun$1.class │ ├── InterpreterTest$$anonfun$10.class │ ├── InterpreterTest$$anonfun$11.class │ ├── InterpreterTest$$anonfun$12.class │ ├── InterpreterTest$$anonfun$13.class │ ├── InterpreterTest$$anonfun$14.class │ ├── InterpreterTest$$anonfun$15.class │ ├── InterpreterTest$$anonfun$16.class │ ├── InterpreterTest$$anonfun$17.class │ ├── InterpreterTest$$anonfun$2.class │ ├── InterpreterTest$$anonfun$3.class │ ├── InterpreterTest$$anonfun$4.class │ ├── InterpreterTest$$anonfun$5.class │ ├── InterpreterTest$$anonfun$6.class │ ├── InterpreterTest$$anonfun$7.class │ ├── InterpreterTest$$anonfun$8.class │ ├── InterpreterTest$$anonfun$9.class │ ├── InterpreterTest.class │ ├── LETParserTest$$anonfun$1.class │ ├── LETParserTest$$anonfun$2.class │ ├── LETParserTest$$anonfun$3.class │ ├── LETParserTest$$anonfun$4.class │ ├── LETParserTest$$anonfun$5.class │ ├── LETParserTest$$anonfun$6.class │ ├── LETParserTest$$anonfun$7.class │ ├── LETParserTest.class │ ├── LexerTest$$anonfun$1.class │ ├── LexerTest$$anonfun$10.class │ ├── LexerTest$$anonfun$11.class │ ├── LexerTest$$anonfun$12.class │ ├── LexerTest$$anonfun$13.class │ ├── LexerTest$$anonfun$14$$anonfun$apply$mcV$sp$1.class │ ├── LexerTest$$anonfun$14.class │ ├── LexerTest$$anonfun$15.class │ ├── LexerTest$$anonfun$2.class │ ├── LexerTest$$anonfun$3.class │ ├── LexerTest$$anonfun$4.class │ ├── LexerTest$$anonfun$5.class │ ├── LexerTest$$anonfun$6.class │ ├── LexerTest$$anonfun$7.class │ ├── LexerTest$$anonfun$8.class │ ├── LexerTest$$anonfun$9.class │ ├── LexerTest.class │ ├── PARPaserTest$$anonfun$1.class │ ├── PARPaserTest$$anonfun$2.class │ ├── PARPaserTest$$anonfun$3.class │ ├── PARPaserTest.class │ ├── RECParserTest$$anonfun$1.class │ ├── RECParserTest$$anonfun$2.class │ ├── RECParserTest$$anonfun$3.class │ ├── RECParserTest$$anonfun$4.class │ └── RECParserTest.class ├── streams ├── $global │ ├── $global │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── clean │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── dependencyPositions │ │ └── $global │ │ │ └── streams │ │ │ └── update_cache_2.11 │ │ │ ├── input_dsp │ │ │ └── output_dsp │ ├── ivyConfiguration │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── ivySbt │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── projectDescriptors │ │ └── $global │ │ │ └── streams │ │ │ └── out │ └── update │ │ └── $global │ │ └── streams │ │ ├── out │ │ └── update_cache_2.11 │ │ ├── inputs │ │ └── output ├── compile │ ├── $global │ │ └── $global │ │ │ └── discoveredMainClasses │ │ │ └── data │ ├── compile │ │ └── $global │ │ │ └── streams │ │ │ └── out │ ├── compileIncremental │ │ └── $global │ │ │ └── streams │ │ │ ├── export │ │ │ └── out │ ├── copyResources │ │ └── $global │ │ │ └── streams │ │ │ ├── copy-resources │ │ │ └── out │ ├── dependencyClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── exportedProducts │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── externalDependencyClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── incCompileSetup │ │ └── $global │ │ │ └── streams │ │ │ └── inc_compile_2.11 │ ├── internalDependencyClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── managedClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ ├── unmanagedClasspath │ │ └── $global │ │ │ └── streams │ │ │ └── export │ └── unmanagedJars │ │ └── $global │ │ └── streams │ │ └── export ├── runtime │ ├── exportedProducts │ │ └── $global │ │ │ └── streams │ │ │ └── export │ └── unmanagedJars │ │ └── $global │ │ └── streams │ │ └── export └── test │ ├── $global │ └── $global │ │ ├── definedTestNames │ │ └── data │ │ └── discoveredMainClasses │ │ └── data │ ├── compile │ └── $global │ │ └── streams │ │ └── out │ ├── compileIncremental │ └── $global │ │ └── streams │ │ ├── export │ │ └── out │ ├── copyResources │ └── $global │ │ └── streams │ │ ├── copy-resources │ │ └── out │ ├── definedTests │ └── $global │ │ └── streams │ │ └── out │ ├── dependencyClasspath │ └── $global │ │ └── streams │ │ └── export │ ├── exportedProducts │ └── $global │ │ └── streams │ │ └── export │ ├── externalDependencyClasspath │ └── $global │ │ └── streams │ │ └── export │ ├── fullClasspath │ └── $global │ │ └── streams │ │ └── export │ ├── incCompileSetup │ └── $global │ │ └── streams │ │ └── inc_compile_2.11 │ ├── internalDependencyClasspath │ └── $global │ │ └── streams │ │ └── export │ ├── loadedTestFrameworks │ └── $global │ │ └── streams │ │ └── out │ ├── managedClasspath │ └── $global │ │ └── streams │ │ └── export │ ├── test │ ├── $global │ │ └── streams │ │ │ ├── out │ │ │ └── succeeded_tests │ ├── isModule=false name=PCF.Tests.BasicParserTest │ │ └── test │ │ │ └── out │ ├── isModule=false name=PCF.Tests.FUNParserTest │ │ └── test │ │ │ └── out │ ├── isModule=false name=PCF.Tests.IFPaserTest │ │ └── test │ │ │ └── out │ ├── isModule=false name=PCF.Tests.InterpreterTest │ │ └── test │ │ │ └── out │ ├── isModule=false name=PCF.Tests.LETParserTest │ │ └── test │ │ │ └── out │ ├── isModule=false name=PCF.Tests.LexerTest │ │ └── test │ │ │ └── out │ ├── isModule=false name=PCF.Tests.PARPaserTest │ │ └── test │ │ │ └── out │ └── isModule=false name=PCF.Tests.RECParserTest │ │ └── test │ │ └── out │ ├── unmanagedClasspath │ └── $global │ │ └── streams │ │ └── export │ └── unmanagedJars │ └── $global │ └── streams │ └── export └── test-reports ├── PCF.Tests.BasicParserTest.xml ├── PCF.Tests.FUNParserTest.xml ├── PCF.Tests.IFPaserTest.xml ├── PCF.Tests.InterpreterTest.xml ├── PCF.Tests.LETParserTest.xml ├── PCF.Tests.LexerTest.xml ├── PCF.Tests.PARPaserTest.xml └── PCF.Tests.RECParserTest.xml /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | PCF -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/libraries/SBT__org_scala_lang_modules_scala_xml_2_11_1_0_2_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/SBT__org_scala_lang_scala_library_2_11_7_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/libraries/SBT__org_scala_lang_scala_reflect_2_11_2_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/SBT__org_scalatest_scalatest_2_11_2_2_4_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Class structureJava 15 | 16 | 17 | Code maturity issuesJava 18 | 19 | 20 | Google Web Toolkit issues 21 | 22 | 23 | Java 24 | 25 | 26 | Java language level migration aidsJava 27 | 28 | 29 | Javadoc issuesJava 30 | 31 | 32 | Performance issuesJava 33 | 34 | 35 | Spring 36 | 37 | 38 | Spring AOPSpring 39 | 40 | 41 | TestNG 42 | 43 | 44 | Threading issuesJava 45 | 46 | 47 | 48 | 49 | Android 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/modules/pcf.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /.idea/sbt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/scala_compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # See http://about.travis-ci.org/docs/user/build-configuration/ 2 | language: scala 3 | scala: 4 | - 2.11.7 5 | branches: 6 | only: 7 | - master 8 | notifications: 9 | email: 10 | recipients: 11 | - anicolaspp@gmail.com 12 | jdk: 13 | - oraclejdk8 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PCF-Compiler [![Build Status](https://travis-ci.org/anicolaspp/PCF-Compiler.svg?branch=master)](https://travis-ci.org/anicolaspp/PCF-Compiler) 2 | A compiler for PCF (Programming Language for Computable Functions) ported from F# to Scala. 3 | 4 | PCF is functional and Turing Complete! 5 | 6 | - More details about the language can be found [here](http://www.springer.com/cda/content/document/cda_downloaddocument/9780857290755-c2.pdf?SGWID=0-0-45-1052237-p174031776) 7 | and [here](https://medium.com/@anicolaspp/building-a-compiler-in-scala-8d51b467baec). 8 | 9 | - Be aware that this is a project to show the power of functional programming so avoiding imperative style is priority. 10 | - TDD is required to commit. 11 | 12 | ## The grammar 13 | 14 | ``` 15 | Exp ::= x | n 16 | | true 17 | | false 18 | | succ 19 | | pred 20 | | iszero 21 | | if Exps then Exps else Exps 22 | | fun x -> Exps 23 | | rec x -> Exps 24 | | (Exps) 25 | | let x = Exps in Exps 26 | Exps ::= Exps Exp | Exp 27 | ``` 28 | -------------------------------------------------------------------------------- /build.sbt: -------------------------------------------------------------------------------- 1 | name := "PCF" 2 | 3 | version := "1.0" 4 | 5 | scalaVersion := "2.11.7" 6 | 7 | libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.4" % "test" -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version = 0.13.8 -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- 1 | logLevel := Level.Warn -------------------------------------------------------------------------------- /project/project/target/config-classes/$96cf84c816ed5c375d27$$anonfun$$sbtdef$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/project/target/config-classes/$96cf84c816ed5c375d27$$anonfun$$sbtdef$1.class -------------------------------------------------------------------------------- /project/project/target/config-classes/$96cf84c816ed5c375d27$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/project/target/config-classes/$96cf84c816ed5c375d27$.class -------------------------------------------------------------------------------- /project/project/target/config-classes/$96cf84c816ed5c375d27.cache: -------------------------------------------------------------------------------- 1 | sbt.internals.DslEntry -------------------------------------------------------------------------------- /project/project/target/config-classes/$96cf84c816ed5c375d27.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/project/target/config-classes/$96cf84c816ed5c375d27.class -------------------------------------------------------------------------------- /project/target/config-classes/$4fe0fe3904d01f28f13a$$anonfun$$sbtdef$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$4fe0fe3904d01f28f13a$$anonfun$$sbtdef$1.class -------------------------------------------------------------------------------- /project/target/config-classes/$4fe0fe3904d01f28f13a$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$4fe0fe3904d01f28f13a$.class -------------------------------------------------------------------------------- /project/target/config-classes/$4fe0fe3904d01f28f13a.cache: -------------------------------------------------------------------------------- 1 | sbt.internals.DslEntry -------------------------------------------------------------------------------- /project/target/config-classes/$4fe0fe3904d01f28f13a.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$4fe0fe3904d01f28f13a.class -------------------------------------------------------------------------------- /project/target/config-classes/$5abaee7be7ccd1f275db$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$5abaee7be7ccd1f275db$.class -------------------------------------------------------------------------------- /project/target/config-classes/$5abaee7be7ccd1f275db.cache: -------------------------------------------------------------------------------- 1 | String -------------------------------------------------------------------------------- /project/target/config-classes/$5abaee7be7ccd1f275db.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$5abaee7be7ccd1f275db.class -------------------------------------------------------------------------------- /project/target/config-classes/$5b4b59d07e3dd5f2fa69$$anonfun$$sbtdef$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$5b4b59d07e3dd5f2fa69$$anonfun$$sbtdef$1.class -------------------------------------------------------------------------------- /project/target/config-classes/$5b4b59d07e3dd5f2fa69$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$5b4b59d07e3dd5f2fa69$.class -------------------------------------------------------------------------------- /project/target/config-classes/$5b4b59d07e3dd5f2fa69.cache: -------------------------------------------------------------------------------- 1 | sbt.internals.DslEntry -------------------------------------------------------------------------------- /project/target/config-classes/$5b4b59d07e3dd5f2fa69.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$5b4b59d07e3dd5f2fa69.class -------------------------------------------------------------------------------- /project/target/config-classes/$71ad4e6705d0276db819$$anonfun$$sbtdef$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$71ad4e6705d0276db819$$anonfun$$sbtdef$1.class -------------------------------------------------------------------------------- /project/target/config-classes/$71ad4e6705d0276db819$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$71ad4e6705d0276db819$.class -------------------------------------------------------------------------------- /project/target/config-classes/$71ad4e6705d0276db819.cache: -------------------------------------------------------------------------------- 1 | sbt.internals.DslEntry -------------------------------------------------------------------------------- /project/target/config-classes/$71ad4e6705d0276db819.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$71ad4e6705d0276db819.class -------------------------------------------------------------------------------- /project/target/config-classes/$80397929471a51450c56$$anonfun$$sbtdef$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$80397929471a51450c56$$anonfun$$sbtdef$1.class -------------------------------------------------------------------------------- /project/target/config-classes/$80397929471a51450c56$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$80397929471a51450c56$.class -------------------------------------------------------------------------------- /project/target/config-classes/$80397929471a51450c56.cache: -------------------------------------------------------------------------------- 1 | sbt.internals.DslEntry -------------------------------------------------------------------------------- /project/target/config-classes/$80397929471a51450c56.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/config-classes/$80397929471a51450c56.class -------------------------------------------------------------------------------- /project/target/resolution-cache/default/pcf-build/scala_2.10/sbt_0.13/0.1-SNAPSHOT/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #default#pcf-build;0.1-SNAPSHOT resolved revisions 2 | #Thu Nov 12 14:02:35 EST 2015 3 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.10.4\:\#@\#\:=2.10.4 release 2.10.4 null 4 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.10.4\:\#@\#\:=2.10.4 ? 2.10.4 null 5 | +organisation\:\#@\#\:+org.scala-sbt\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+sbt\:\#@\#\:+revision\:\#@\#\:+0.13.8\:\#@\#\:=0.13.8 release 0.13.8 null 6 | -------------------------------------------------------------------------------- /project/target/resolution-cache/default/pcf-build/scala_2.10/sbt_0.13/0.1-SNAPSHOT/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | pcf-build 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /project/target/resolution-cache/reports/default-pcf-build-compile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /project/target/resolution-cache/reports/default-pcf-build-docs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /project/target/resolution-cache/reports/default-pcf-build-optional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /project/target/resolution-cache/reports/default-pcf-build-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /project/target/resolution-cache/reports/default-pcf-build-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /project/target/resolution-cache/reports/default-pcf-build-runtime-internal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /project/target/resolution-cache/reports/default-pcf-build-runtime.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /project/target/resolution-cache/reports/default-pcf-build-scala-tool.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | -------------------------------------------------------------------------------- /project/target/resolution-cache/reports/default-pcf-build-sources.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /project/target/resolution-cache/reports/default-pcf-build-test.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /project/target/resolution-cache/reports/ivy-report.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | * 17 | */ 18 | 19 | body { 20 | font-family:"Trebuchet MS",Verdana,Geneva,Arial,Helvetica,sans-serif; 21 | font-size:small; 22 | } 23 | 24 | div#logo { 25 | float: right; 26 | padding-left: 10px; 27 | padding-bottom: 10px; 28 | background: white; 29 | text-align: center; 30 | } 31 | 32 | #logo img { 33 | border: 0; 34 | } 35 | 36 | div#date { 37 | font-style: italic; 38 | padding-left: 60px; 39 | padding-bottom: 40px; 40 | } 41 | 42 | 43 | h1 { 44 | margin-bottom:2px; 45 | 46 | border-color:#7A9437; 47 | border-style:solid; 48 | border-width:0 0 3px 0; 49 | } 50 | 51 | span#module { 52 | color:#7A9437; 53 | text-decoration:none; 54 | } 55 | 56 | span#organisation { 57 | color:black; 58 | text-decoration:none; 59 | } 60 | 61 | #confmenu { 62 | color: #000; 63 | border-bottom: 2px solid black; 64 | margin: 12px 0px 0px 0px; 65 | padding: 0px; 66 | z-index: 1; 67 | padding-left: 10px 68 | } 69 | 70 | #confmenu li { 71 | display: inline; 72 | overflow: hidden; 73 | list-style-type: none; 74 | } 75 | 76 | #confmenu a, a.active { 77 | color: #DEDECF; 78 | background: #898B5E; 79 | font: bold 1em "Trebuchet MS", Arial, sans-serif; 80 | border: 2px solid black; 81 | padding: 2px 5px 0px 5px; 82 | text-decoration: none; 83 | } 84 | 85 | /* 86 | background: #ABAD85 #CED4BD 87 | background: #DEE4CD 88 | */ 89 | 90 | #confmenu a.active { 91 | color: #7A9437; 92 | background: #DEE4CD; 93 | border-bottom: 3px solid #DEE4CD; 94 | } 95 | 96 | #confmenu a:hover { 97 | color: #fff; 98 | background: #ADC09F; 99 | } 100 | 101 | #confmenu a:visited { 102 | color: #DEDECF; 103 | } 104 | 105 | #confmenu a.active:visited { 106 | color: #7A9437; 107 | } 108 | 109 | #confmenu a.active:hover { 110 | background: #DEE4CD; 111 | color: #DEDECF; 112 | } 113 | 114 | #content { 115 | background: #DEE4CD; 116 | padding: 20px; 117 | border: 2px solid black; 118 | border-top: none; 119 | z-index: 2; 120 | } 121 | 122 | #content a { 123 | text-decoration: none; 124 | color: #E8E9BE; 125 | } 126 | 127 | #content a:hover { 128 | background: #898B5E; 129 | } 130 | 131 | 132 | h2 { 133 | margin-bottom:2px; 134 | font-size:medium; 135 | 136 | border-color:#7A9437; 137 | border-style:solid; 138 | border-width:0 0 2px 0; 139 | } 140 | 141 | h3 { 142 | margin-top:30px; 143 | margin-bottom:2px; 144 | padding: 5 5 5 0; 145 | font-size: 24px; 146 | border-style:solid; 147 | border-width:0 0 2px 0; 148 | } 149 | 150 | h4 { 151 | margin-bottom:2px; 152 | margin-top:2px; 153 | font-size:medium; 154 | 155 | border-color:#7A9437; 156 | border-style:dashed; 157 | border-width:0 0 1px 0; 158 | } 159 | 160 | h5 { 161 | margin-bottom:2px; 162 | margin-top:2px; 163 | margin-left:20px; 164 | font-size:medium; 165 | } 166 | 167 | span.resolved { 168 | padding-left: 15px; 169 | font-weight: 500; 170 | font-size: small; 171 | } 172 | 173 | 174 | #content table { 175 | border-collapse:collapse; 176 | width:90%; 177 | margin:auto; 178 | margin-top: 5px; 179 | } 180 | #content thead { 181 | background-color:#CED4BD; 182 | border:1px solid #7A9437; 183 | } 184 | #content tbody { 185 | border-collapse:collapse; 186 | background-color:#FFFFFF; 187 | border:1px solid #7A9437; 188 | } 189 | 190 | #content th { 191 | font-family:monospace; 192 | border:1px solid #7A9437; 193 | padding:5px; 194 | } 195 | 196 | #content td { 197 | border:1px dotted #7A9437; 198 | padding:0 3 0 3; 199 | } 200 | 201 | #content table a { 202 | color:#7A9437; 203 | text-decoration:none; 204 | } 205 | 206 | #content table a:hover { 207 | background-color:#CED4BD; 208 | color:#7A9437; 209 | } 210 | 211 | 212 | 213 | table.deps { 214 | border-collapse:collapse; 215 | width:90%; 216 | margin:auto; 217 | margin-top: 5px; 218 | } 219 | 220 | table.deps thead { 221 | background-color:#CED4BD; 222 | border:1px solid #7A9437; 223 | } 224 | table.deps tbody { 225 | border-collapse:collapse; 226 | background-color:#FFFFFF; 227 | border:1px solid #7A9437; 228 | } 229 | 230 | table.deps th { 231 | font-family:monospace; 232 | border:1px solid #7A9437; 233 | padding:2; 234 | } 235 | 236 | table.deps td { 237 | border:1px dotted #7A9437; 238 | padding:0 3 0 3; 239 | } 240 | 241 | 242 | 243 | 244 | 245 | table.header { 246 | border:0; 247 | width:90%; 248 | margin:auto; 249 | margin-top: 5px; 250 | } 251 | 252 | table.header thead { 253 | border:0; 254 | } 255 | table.header tbody { 256 | border:0; 257 | } 258 | table.header tr { 259 | padding:0px; 260 | border:0; 261 | } 262 | table.header td { 263 | padding:0 3 0 3; 264 | border:0; 265 | } 266 | 267 | td.title { 268 | width:150px; 269 | margin-right:15px; 270 | 271 | font-size:small; 272 | font-weight:700; 273 | } 274 | 275 | td.title:first-letter { 276 | color:#7A9437; 277 | background-color:transparent; 278 | } 279 | 280 | -------------------------------------------------------------------------------- /project/target/streams/$global/$global/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/streams/$global/$global/$global/streams/out -------------------------------------------------------------------------------- /project/target/streams/$global/dependencyPositions/$global/streams/update_cache_2.10/input_dsp: -------------------------------------------------------------------------------- 1 | org.scala-lang scala-library2.10.4provided -------------------------------------------------------------------------------- /project/target/streams/$global/dependencyPositions/$global/streams/update_cache_2.10/output_dsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/streams/$global/dependencyPositions/$global/streams/update_cache_2.10/output_dsp -------------------------------------------------------------------------------- /project/target/streams/$global/ivyConfiguration/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Other repositories: 2 | [debug] Default repositories: 3 | [debug] Using inline dependencies specified in Scala. 4 | -------------------------------------------------------------------------------- /project/target/streams/$global/ivySbt/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/streams/$global/ivySbt/$global/streams/out -------------------------------------------------------------------------------- /project/target/streams/$global/projectDescriptors/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/streams/$global/projectDescriptors/$global/streams/out -------------------------------------------------------------------------------- /project/target/streams/$global/update/$global/streams/update_cache_2.10/inputs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/streams/$global/update/$global/streams/update_cache_2.10/inputs -------------------------------------------------------------------------------- /project/target/streams/$global/update/$global/streams/update_cache_2.10/output: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/streams/$global/update/$global/streams/update_cache_2.10/output -------------------------------------------------------------------------------- /project/target/streams/compile/$global/$global/discoveredMainClasses/data: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /project/target/streams/compile/compile/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/streams/compile/compile/$global/streams/out -------------------------------------------------------------------------------- /project/target/streams/compile/compileIncremental/$global/streams/export: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/streams/compile/compileIncremental/$global/streams/export -------------------------------------------------------------------------------- /project/target/streams/compile/compileIncremental/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] 2 | [debug] Initial source changes: 3 | [debug] removed:Set() 4 | [debug] added: Set() 5 | [debug] modified: Set() 6 | [debug] Removed products: Set() 7 | [debug] External API changes: API Changes: Set() 8 | [debug] Modified binary dependencies: Set() 9 | [debug] Initial directly invalidated sources: Set() 10 | [debug] 11 | [debug] Sources indirectly invalidated by: 12 | [debug] product: Set() 13 | [debug] binary dep: Set() 14 | [debug] external source: Set() 15 | [debug] All initially invalidated sources: Set() 16 | -------------------------------------------------------------------------------- /project/target/streams/compile/copyResources/$global/streams/copy-resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/project/target/streams/compile/copyResources/$global/streams/copy-resources -------------------------------------------------------------------------------- /project/target/streams/compile/copyResources/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Copy resource mappings: 2 | [debug] 3 | -------------------------------------------------------------------------------- /project/target/streams/compile/dependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/.sbt/boot/scala-2.10.4/lib/scala-library.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/sbt/jars/sbt-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/main/jars/main-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/actions/jars/actions-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/classpath/jars/classpath-0.13.8.jar:/Users/nperez/.sbt/boot/scala-2.10.4/lib/scala-compiler.jar:/Users/nperez/.sbt/boot/scala-2.10.4/lib/scala-reflect.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/launcher-interface/jars/launcher-interface-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/interface/jars/interface-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/io/jars/io-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/control/jars/control-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/completion/jars/completion-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/collections/jars/collections-0.13.8.jar:/Users/nperez/.ivy2/cache/jline/jline/jars/jline-2.11.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/api/jars/api-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compiler-integration/jars/compiler-integration-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/incremental-compiler/jars/incremental-compiler-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/logging/jars/logging-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/process/jars/process-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/relation/jars/relation-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compile/jars/compile-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/classfile/jars/classfile-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/persist/jars/persist-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.10/jars/sbinary_2.10-0.4.2.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compiler-ivy-integration/jars/compiler-ivy-integration-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/ivy/jars/ivy-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/cross/jars/cross-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt.ivy/ivy/jars/ivy-2.3.0-sbt-fccfbd44c9f64523b61398a0155784dcbaeae28f.jar:/Users/nperez/.ivy2/cache/com.jcraft/jsch/jars/jsch-0.1.46.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/serialization_2.10/jars/serialization_2.10-0.1.1.jar:/Users/nperez/.ivy2/cache/org.scala-lang.modules/scala-pickling_2.10/jars/scala-pickling_2.10-0.10.0.jar:/Users/nperez/.ivy2/cache/org.scalamacros/quasiquotes_2.10/jars/quasiquotes_2.10-2.0.1.jar:/Users/nperez/.ivy2/cache/org.json4s/json4s-core_2.10/jars/json4s-core_2.10-3.2.10.jar:/Users/nperez/.ivy2/cache/org.json4s/json4s-ast_2.10/jars/json4s-ast_2.10-3.2.10.jar:/Users/nperez/.ivy2/cache/com.thoughtworks.paranamer/paranamer/jars/paranamer-2.6.jar:/Users/nperez/.ivy2/cache/org.spire-math/jawn-parser_2.10/jars/jawn-parser_2.10-0.6.0.jar:/Users/nperez/.ivy2/cache/org.spire-math/json4s-support_2.10/jars/json4s-support_2.10-0.6.0.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/run/jars/run-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/task-system/jars/task-system-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/tasks/jars/tasks-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/tracking/jars/tracking-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/cache/jars/cache-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/testing/jars/testing-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/test-agent/jars/test-agent-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/test-interface/jars/test-interface-1.0.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/main-settings/jars/main-settings-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/apply-macro/jars/apply-macro-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/command/jars/command-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/logic/jars/logic-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compiler-interface/jars/compiler-interface-bin-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compiler-interface/jars/compiler-interface-src-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/precompiled-2_8_2/jars/compiler-interface-bin-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/precompiled-2_9_2/jars/compiler-interface-bin-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/precompiled-2_9_3/jars/compiler-interface-bin-0.13.8.jar 2 | -------------------------------------------------------------------------------- /project/target/streams/compile/exportedProducts/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/IdeaProjects/PCF/project/target/scala-2.10/sbt-0.13/classes 2 | -------------------------------------------------------------------------------- /project/target/streams/compile/externalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/.sbt/boot/scala-2.10.4/lib/scala-library.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/sbt/jars/sbt-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/main/jars/main-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/actions/jars/actions-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/classpath/jars/classpath-0.13.8.jar:/Users/nperez/.sbt/boot/scala-2.10.4/lib/scala-compiler.jar:/Users/nperez/.sbt/boot/scala-2.10.4/lib/scala-reflect.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/launcher-interface/jars/launcher-interface-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/interface/jars/interface-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/io/jars/io-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/control/jars/control-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/completion/jars/completion-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/collections/jars/collections-0.13.8.jar:/Users/nperez/.ivy2/cache/jline/jline/jars/jline-2.11.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/api/jars/api-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compiler-integration/jars/compiler-integration-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/incremental-compiler/jars/incremental-compiler-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/logging/jars/logging-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/process/jars/process-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/relation/jars/relation-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compile/jars/compile-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/classfile/jars/classfile-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/persist/jars/persist-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.10/jars/sbinary_2.10-0.4.2.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compiler-ivy-integration/jars/compiler-ivy-integration-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/ivy/jars/ivy-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/cross/jars/cross-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt.ivy/ivy/jars/ivy-2.3.0-sbt-fccfbd44c9f64523b61398a0155784dcbaeae28f.jar:/Users/nperez/.ivy2/cache/com.jcraft/jsch/jars/jsch-0.1.46.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/serialization_2.10/jars/serialization_2.10-0.1.1.jar:/Users/nperez/.ivy2/cache/org.scala-lang.modules/scala-pickling_2.10/jars/scala-pickling_2.10-0.10.0.jar:/Users/nperez/.ivy2/cache/org.scalamacros/quasiquotes_2.10/jars/quasiquotes_2.10-2.0.1.jar:/Users/nperez/.ivy2/cache/org.json4s/json4s-core_2.10/jars/json4s-core_2.10-3.2.10.jar:/Users/nperez/.ivy2/cache/org.json4s/json4s-ast_2.10/jars/json4s-ast_2.10-3.2.10.jar:/Users/nperez/.ivy2/cache/com.thoughtworks.paranamer/paranamer/jars/paranamer-2.6.jar:/Users/nperez/.ivy2/cache/org.spire-math/jawn-parser_2.10/jars/jawn-parser_2.10-0.6.0.jar:/Users/nperez/.ivy2/cache/org.spire-math/json4s-support_2.10/jars/json4s-support_2.10-0.6.0.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/run/jars/run-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/task-system/jars/task-system-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/tasks/jars/tasks-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/tracking/jars/tracking-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/cache/jars/cache-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/testing/jars/testing-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/test-agent/jars/test-agent-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/test-interface/jars/test-interface-1.0.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/main-settings/jars/main-settings-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/apply-macro/jars/apply-macro-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/command/jars/command-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/logic/jars/logic-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compiler-interface/jars/compiler-interface-bin-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compiler-interface/jars/compiler-interface-src-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/precompiled-2_8_2/jars/compiler-interface-bin-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/precompiled-2_9_2/jars/compiler-interface-bin-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/precompiled-2_9_3/jars/compiler-interface-bin-0.13.8.jar 2 | -------------------------------------------------------------------------------- /project/target/streams/compile/internalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /project/target/streams/compile/managedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/.sbt/boot/scala-2.10.4/lib/scala-library.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/sbt/jars/sbt-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/main/jars/main-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/actions/jars/actions-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/classpath/jars/classpath-0.13.8.jar:/Users/nperez/.sbt/boot/scala-2.10.4/lib/scala-compiler.jar:/Users/nperez/.sbt/boot/scala-2.10.4/lib/scala-reflect.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/launcher-interface/jars/launcher-interface-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/interface/jars/interface-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/io/jars/io-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/control/jars/control-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/completion/jars/completion-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/collections/jars/collections-0.13.8.jar:/Users/nperez/.ivy2/cache/jline/jline/jars/jline-2.11.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/api/jars/api-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compiler-integration/jars/compiler-integration-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/incremental-compiler/jars/incremental-compiler-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/logging/jars/logging-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/process/jars/process-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/relation/jars/relation-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compile/jars/compile-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/classfile/jars/classfile-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/persist/jars/persist-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.10/jars/sbinary_2.10-0.4.2.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compiler-ivy-integration/jars/compiler-ivy-integration-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/ivy/jars/ivy-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/cross/jars/cross-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt.ivy/ivy/jars/ivy-2.3.0-sbt-fccfbd44c9f64523b61398a0155784dcbaeae28f.jar:/Users/nperez/.ivy2/cache/com.jcraft/jsch/jars/jsch-0.1.46.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/serialization_2.10/jars/serialization_2.10-0.1.1.jar:/Users/nperez/.ivy2/cache/org.scala-lang.modules/scala-pickling_2.10/jars/scala-pickling_2.10-0.10.0.jar:/Users/nperez/.ivy2/cache/org.scalamacros/quasiquotes_2.10/jars/quasiquotes_2.10-2.0.1.jar:/Users/nperez/.ivy2/cache/org.json4s/json4s-core_2.10/jars/json4s-core_2.10-3.2.10.jar:/Users/nperez/.ivy2/cache/org.json4s/json4s-ast_2.10/jars/json4s-ast_2.10-3.2.10.jar:/Users/nperez/.ivy2/cache/com.thoughtworks.paranamer/paranamer/jars/paranamer-2.6.jar:/Users/nperez/.ivy2/cache/org.spire-math/jawn-parser_2.10/jars/jawn-parser_2.10-0.6.0.jar:/Users/nperez/.ivy2/cache/org.spire-math/json4s-support_2.10/jars/json4s-support_2.10-0.6.0.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/run/jars/run-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/task-system/jars/task-system-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/tasks/jars/tasks-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/tracking/jars/tracking-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/cache/jars/cache-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/testing/jars/testing-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/test-agent/jars/test-agent-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/test-interface/jars/test-interface-1.0.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/main-settings/jars/main-settings-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/apply-macro/jars/apply-macro-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/command/jars/command-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/logic/jars/logic-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compiler-interface/jars/compiler-interface-bin-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/compiler-interface/jars/compiler-interface-src-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/precompiled-2_8_2/jars/compiler-interface-bin-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/precompiled-2_9_2/jars/compiler-interface-bin-0.13.8.jar:/Users/nperez/.ivy2/cache/org.scala-sbt/precompiled-2_9_3/jars/compiler-interface-bin-0.13.8.jar 2 | -------------------------------------------------------------------------------- /project/target/streams/compile/unmanagedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /project/target/streams/compile/unmanagedJars/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /project/target/streams/runtime/dependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/IdeaProjects/PCF/project/target/scala-2.10/sbt-0.13/classes 2 | -------------------------------------------------------------------------------- /project/target/streams/runtime/exportedProducts/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/IdeaProjects/PCF/project/target/scala-2.10/sbt-0.13/classes 2 | -------------------------------------------------------------------------------- /project/target/streams/runtime/externalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /project/target/streams/runtime/fullClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/IdeaProjects/PCF/project/target/scala-2.10/sbt-0.13/classes 2 | -------------------------------------------------------------------------------- /project/target/streams/runtime/internalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/IdeaProjects/PCF/project/target/scala-2.10/sbt-0.13/classes 2 | -------------------------------------------------------------------------------- /project/target/streams/runtime/managedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /project/target/streams/runtime/unmanagedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /project/target/streams/runtime/unmanagedJars/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/main/scala/App.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by nperez on 11/9/15. 3 | */ 4 | 5 | 6 | import PCF.Interpreter._ 7 | import PCF.Parser.Parser 8 | import PCF.Tokenizer.Lexer 9 | 10 | object App { 11 | def main(args: Array[String]) { 12 | val source = "let s = 5 0 in rec i -> " + 13 | "func x -> fun y -> if iszero y then x else i (succ x) (pred y)" 14 | 15 | val ast = Parser.parseStr(source) 16 | 17 | val result = Interpreter.eval(ast) 18 | 19 | println(result) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/scala/PCF/Interpreter/Interpreter.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by nperez on 11/11/15. 3 | */ 4 | 5 | package PCF.Interpreter 6 | 7 | import PCF.Parser.AST._ 8 | 9 | object Interpreter { 10 | 11 | private def subst(e: TERM, x: String, t: TERM): TERM = e match { 12 | case ID(s) if s == x => t 13 | case ID(s) if s != x => ID(s) 14 | case IF(cond, e1, e2) => IF (subst (cond, x, t), subst (e1, x, t), subst (e2, x, t)) 15 | case APP(func, s) => APP(subst (func, x, t), subst (s, x, t)) 16 | case FUNC(s, term) => if (s == x) FUNC(s, term) else FUNC(s, subst (term, x, t)) 17 | case REC(s, term) => if (s == x) REC(s, term) else REC(s, subst (term, x, t)) 18 | case any => any 19 | } 20 | 21 | def eval(ast: TERM): TERM = ast match { 22 | 23 | case IF(guard,thenExp,elseExp) => (eval(guard), thenExp, elseExp) match{ 24 | case (BOOL(true), e1, _) => eval(e1) 25 | case (BOOL(false), _, e2) => eval(e2) 26 | case (_,_,_) => ERROR("IF requires BOOL guard") 27 | } 28 | 29 | 30 | case APP(func, e) => (eval(func), eval(e)) match { 31 | case (ERROR(reason), _) => ERROR(reason) 32 | case (_, ERROR(reason)) => ERROR(reason) 33 | case (SUCC(), NUM(x)) => NUM(x + 1) 34 | case (SUCC(), _) => ERROR("SUCC expects a NUM") 35 | case (PRED(), NUM(0)) => NUM(0) 36 | case (PRED(), NUM(x)) => NUM(x - 1) 37 | case (PRED(), _) => ERROR("PRED expects a NUM") 38 | case (ISZERO(), NUM(0)) => BOOL(true) 39 | case (ISZERO(), NUM(n)) => BOOL(false) 40 | case (FUNC(v, exp), e2) => eval(subst(exp, v, eval(e2))) 41 | case (other, _) => ERROR("Cannot Apply this function") 42 | } 43 | 44 | 45 | case REC(name, FUNC(t, exp)) => eval ( FUNC(t, subst(exp, name, ( REC(name, FUNC(t, exp)))))) 46 | case REC(name, _) => ERROR("Expecting FUN body") 47 | case ID("x") => ERROR("Unbound identifier") 48 | case any => any 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/scala/PCF/Parser/AST.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by nperez on 11/10/15. 3 | */ 4 | 5 | 6 | package PCF.Parser.AST 7 | 8 | abstract class TERM() 9 | 10 | abstract class RESULT_TERM extends TERM 11 | 12 | case class ID(val id: String) extends TERM 13 | case class NUM(val value: Int) extends RESULT_TERM 14 | case class BOOL(val value: Boolean) extends RESULT_TERM 15 | case class SUCC() extends TERM 16 | case class PRED() extends TERM 17 | case class ISZERO() extends TERM 18 | case class IF(condition: TERM, Then: TERM, Else: TERM) extends TERM 19 | case class APP(function: TERM, value: TERM) extends TERM 20 | case class FUNC(name: String, body: TERM) extends TERM 21 | case class REC(name: String, body: TERM) extends TERM 22 | case class ERROR(reason: String = "") extends RESULT_TERM 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/main/scala/PCF/Pipes/ForwardOperator.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by nperez on 11/9/15. 3 | */ 4 | 5 | package PCF.Pipes 6 | 7 | //There is not forward pipes in scala, so lets implement our owns 8 | // forward pipes can be used as x |> f which is the same as f(x) 9 | // pipes are important to avoid this f(g(y(x))) so we can write x |> y |> g |> f 10 | 11 | 12 | class Pipe[T](a: T) { 13 | def |>[B](f: T => B) = f(a) 14 | } 15 | 16 | object IPipe { 17 | implicit def toPipe[T](v: T) = { 18 | new Pipe[T](v) 19 | } 20 | } 21 | 22 | object Pipe{ 23 | def apply[T](a: T) = new Pipe[T](a) 24 | } 25 | -------------------------------------------------------------------------------- /src/main/scala/PCF/Tokenizer/Lexer.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by nperez on 11/9/15. 3 | */ 4 | 5 | package PCF.Tokenizer 6 | 7 | import PCF.Pipes.IPipe._ 8 | 9 | object Lexer { 10 | private def explode (s: String) = s.toCharArray.toList 11 | 12 | private def isWhite(c: Char) = c == ' ' || c == '\n' || c == '\r' || c == '\t' 13 | 14 | private def isAlpha(c: Char) = ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') 15 | 16 | private def isDigit(c: Char) = '0' <= c && c <= '9' 17 | 18 | private def keyword(s: String): TOK = s match { 19 | case "true" => TRUETOK() 20 | case "false" => FALSETOK() 21 | case "succ" => SUCCTOK() 22 | case "pred" => PREDTOK() 23 | case "iszero" => ISZEROTOK() 24 | case "if" => IFTOK() 25 | case "then" => THENTOK() 26 | case "else" => ELSETOK() 27 | case "fun" => FUNTOK() 28 | case "rec" => RECTOK() 29 | case "let" => LETTOK() 30 | case "in" => INTOK() 31 | case ident => IDTOK(ident) 32 | } 33 | 34 | private def getId(ident: String, l: List[Char]): (TOK, List[Char]) = l match { 35 | case c :: cs if (isAlpha(c) || isDigit(c)) => getId(ident + c, cs) 36 | case cs => (keyword(ident), cs) 37 | } 38 | 39 | private def getNum(num: Int, l: List[Char]): (TOK, List[Char]) = l match { 40 | case c :: cs if isDigit(c) => getNum(10*num + c.toString.toInt, cs) 41 | case cs => (NUMTOK(num), cs) 42 | } 43 | 44 | private def getTok(l: List[Char]): (TOK, List[Char]) = l match { 45 | case Nil => (EOF(), List()) 46 | case c :: cs if isWhite(c) => getTok(cs) 47 | case c :: cs if isAlpha(c) => getId(c.toString, cs) 48 | case c :: cs if isDigit(c) => getNum(c.toString.toInt, cs) 49 | case '(' :: cs => (LPARENTOK(), cs) 50 | case ')' :: cs => (RPARENT(), cs) 51 | case '=' :: cs => (EQUALTOK(), cs) 52 | case '-' :: '>' :: cs => (ARROWTOK(), cs) 53 | case '#' :: cs => { 54 | def skipLine(x: List[Char]): (TOK, List[Char]) = x match { 55 | case Nil => (EOF(), List()) 56 | case '\n' :: cs1 => getTok(cs1) 57 | case _ :: cs1 => skipLine(cs1) 58 | } 59 | skipLine(cs) 60 | } 61 | case c :: cs => { 62 | println("Skipping illegal character: " + c) 63 | getTok(cs) 64 | } 65 | } 66 | 67 | private def tokenize(cs: List[Char]): List[TOK] = { 68 | def getToks(toks: List[TOK], cs: List[Char]): List[TOK] = getTok(cs) match { 69 | case (EOF(), cs) => (EOF() :: toks).reverse 70 | case (tok, cs) => getToks(tok :: toks, cs) 71 | } 72 | 73 | getToks(List(), cs) 74 | } 75 | 76 | def lexerStr(sourceCode: String): List[TOK] = sourceCode |> explode |> tokenize 77 | 78 | def lexerFile(fileName: String): List[TOK] = scala.io.Source.fromFile(fileName).mkString |> lexerStr 79 | } 80 | -------------------------------------------------------------------------------- /src/main/scala/PCF/Tokenizer/Tokens.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by nperez on 11/9/15. 3 | */ 4 | 5 | package PCF.Tokenizer 6 | 7 | abstract class TOK() 8 | 9 | case class IDTOK(val id: String) extends TOK 10 | case class NUMTOK(val value: Int)extends TOK 11 | case class TRUETOK()extends TOK 12 | case class FALSETOK()extends TOK 13 | case class SUCCTOK()extends TOK 14 | case class PREDTOK()extends TOK 15 | case class ISZEROTOK()extends TOK 16 | case class IFTOK()extends TOK 17 | case class THENTOK()extends TOK 18 | case class ELSETOK()extends TOK 19 | case class FUNTOK()extends TOK 20 | case class RECTOK()extends TOK 21 | case class ARROWTOK()extends TOK 22 | case class LPARENTOK()extends TOK 23 | case class RPARENT()extends TOK 24 | case class LETTOK()extends TOK 25 | case class EQUALTOK()extends TOK 26 | case class INTOK()extends TOK 27 | case class EOF() extends TOK 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/test/scala/PCF/Tests/BasicParserTest.scala: -------------------------------------------------------------------------------- 1 | package PCF.Tests 2 | 3 | import PCF.Parser.AST._ 4 | import PCF.Parser.Parser 5 | import org.scalatest._ 6 | 7 | /** 8 | * Created by nperez on 11/10/15. 9 | */ 10 | class BasicParserTest extends FlatSpec with ShouldMatchers{ 11 | 12 | "Parser" should "return ID TERM case 1" in { 13 | val id = "x" 14 | 15 | val ast = Parser.parseStr(id) 16 | 17 | ast should be (ID("x")) 18 | } 19 | 20 | it should "return NUM TERM case 1.1" in { 21 | val n = "5" 22 | 23 | val ast = Parser.parseStr(n) 24 | 25 | ast should be (NUM(5)) 26 | } 27 | 28 | it should "return TRUE TERM case 2" in { 29 | val n = "true" 30 | 31 | val ast = Parser.parseStr(n) 32 | 33 | ast should be (BOOL(true)) 34 | } 35 | 36 | it should "return FALSE TERM case 3" in { 37 | val n = "false" 38 | 39 | val ast = Parser.parseStr(n) 40 | 41 | ast should be (BOOL(false)) 42 | } 43 | 44 | it should "return SUCC TERM case 4" in { 45 | val n = "succ" 46 | 47 | val ast = Parser.parseStr(n) 48 | 49 | ast should be (SUCC()) 50 | } 51 | 52 | it should "return PRED TERM case 5" in { 53 | val n = "pred" 54 | 55 | val ast = Parser.parseStr(n) 56 | 57 | ast should be (PRED()) 58 | } 59 | 60 | it should "return ISZERO TERM case 6" in { 61 | val n = "iszero" 62 | 63 | val ast = Parser.parseStr(n) 64 | 65 | ast should be (ISZERO()) 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/test/scala/PCF/Tests/FUNParserTest.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by nperez on 11/10/15. 3 | */ 4 | 5 | package PCF.Tests 6 | 7 | import PCF.Parser.AST._ 8 | import PCF.Parser.Parser 9 | import org.scalatest.{FlatSpec, ShouldMatchers} 10 | 11 | 12 | class FUNParserTest extends FlatSpec with ShouldMatchers { 13 | "Parser" should "return ERROR when FUN has not body" in { 14 | val sourceCode = "fun x -> " 15 | 16 | val ast = Parser.parseStr(sourceCode) 17 | 18 | ast should be (ERROR("Expecting FUN body")) 19 | } 20 | 21 | it should "return FUN TERM when body is present" in { 22 | val sourceCode = "fun x -> a" 23 | 24 | val ast = Parser.parseStr(sourceCode) 25 | 26 | ast should be (FUNC("x", ID("a"))) 27 | } 28 | 29 | it should "return ERROR when ARROW is missing" in { 30 | val sourceCode = "fun x b a" 31 | 32 | val ast = Parser.parseStr(sourceCode) 33 | 34 | ast should be (ERROR("Expected '->' after FUN")) 35 | } 36 | 37 | it should "return ERROR when ID is missing" in { 38 | val sourceCode = "fun -> b" 39 | 40 | val ast = Parser.parseStr(sourceCode) 41 | 42 | ast should be (ERROR("Expecting identifier after FUN")) 43 | } 44 | } 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /src/test/scala/PCF/Tests/IFPaserTest.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by nperez on 11/10/15. 3 | */ 4 | 5 | package PCF.Tests 6 | 7 | import PCF.Parser.AST.{ERROR, ID, IF, NUM} 8 | import PCF.Parser.Parser 9 | import org.scalatest._ 10 | 11 | class IFPaserTest extends FlatSpec with ShouldMatchers{ 12 | "Parser" should "return ERROR when IF (NONTERM)" in { 13 | val sourceCode = "if ;" 14 | 15 | val ast = Parser.parseStr(sourceCode) 16 | 17 | ast should be (ERROR("Expected Expression but found: EOF()")) 18 | } 19 | 20 | it should "return ERROR when IF does not has THEN" in { 21 | val sourceCode = "if x else" 22 | 23 | val ast = Parser.parseStr(sourceCode) 24 | 25 | ast should be (ERROR("IF requires an TERM as guard")) 26 | } 27 | 28 | it should "return ERROR when IF THEN (NONTERM)" in { 29 | val sourceCode = "if x then ;" 30 | 31 | val ast = Parser.parseStr(sourceCode) 32 | 33 | ast should be (ERROR("IF requires an TERM after THEN")) 34 | } 35 | 36 | it should "return ERROR when IF THEN and missing ELSE" in { 37 | val sourceCode = "if x then 5" 38 | 39 | val ast = Parser.parseStr(sourceCode) 40 | 41 | ast should be (ERROR("IF requires an ELSE")) 42 | } 43 | 44 | it should "return ERROR when IF THEN ELSE (NONTERM)" in { 45 | val sourceCode = "if x then 5 else ;" 46 | 47 | val ast = Parser.parseStr(sourceCode) 48 | 49 | ast should be (ERROR("IF requires an TERM after ELSE")) 50 | } 51 | 52 | it should "return IF THEN ELSE TERM" in { 53 | val sourceCode = "if x then 5 else a" 54 | 55 | val ast = Parser.parseStr(sourceCode) 56 | 57 | ast should be(IF(ID("x"), NUM(5), ID("a"))) 58 | } 59 | 60 | it should "return ERROR valid guard but nothing else" in { 61 | val sourceCode = "if a" 62 | 63 | val ast = Parser.parseStr(sourceCode) 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/test/scala/PCF/Tests/InterpreterTest.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by nperez on 11/11/15. 3 | */ 4 | 5 | package PCF.Tests 6 | 7 | import PCF.Interpreter.Interpreter 8 | import PCF.Parser.AST._ 9 | import PCF.Parser.Parser 10 | import PCF.Pipes.IPipe._ 11 | import org.scalatest.{ShouldMatchers, FlatSpec} 12 | 13 | class InterpreterTest extends FlatSpec with ShouldMatchers { 14 | "Interpreter" should "return ERROR when unbound indentifier" in { 15 | 16 | val ast = ID("x") 17 | 18 | val result = Interpreter.eval(ast) 19 | 20 | result should be(ERROR("Unbound identifier")) 21 | } 22 | 23 | it should "return ERROR when REC has not FUN body" in { 24 | 25 | Interpreter.eval(REC("f", APP(ID("x"), ID("x")))) should be(ERROR("Expecting FUN body")) 26 | Interpreter.eval(REC("f", BOOL(true))) should be(ERROR("Expecting FUN body")) 27 | Interpreter.eval(REC("f", ERROR("asdf"))) should be(ERROR("Expecting FUN body")) 28 | Interpreter.eval(REC("f", IF(ID("a"), ID("a"), ID("a")))) should be(ERROR("Expecting FUN body")) 29 | Interpreter.eval(REC("f", ISZERO())) should be(ERROR("Expecting FUN body")) 30 | Interpreter.eval(REC("f", NUM(5))) should be(ERROR("Expecting FUN body")) 31 | Interpreter.eval(REC("f", PRED())) should be(ERROR("Expecting FUN body")) 32 | Interpreter.eval(REC("f", SUCC())) should be(ERROR("Expecting FUN body")) 33 | } 34 | 35 | it should "return NUM when apply NUM" in { 36 | val ast = NUM(5) 37 | 38 | Interpreter.eval(ast) should be(NUM(5)) 39 | } 40 | 41 | it should "return 6 when apply SUCC NUM(5)" in { 42 | val ast = APP(SUCC(), NUM(5)) 43 | 44 | Interpreter.eval(ast) should be(NUM(6)) 45 | } 46 | 47 | it should "return ERROR when apply SUCC to NON NUM" in { 48 | val ast = APP(SUCC(), BOOL(true)) 49 | 50 | Interpreter.eval(ast) should be(ERROR("SUCC expects a NUM")) 51 | } 52 | 53 | it should "return 5 when apply PRED NUM(6)" in { 54 | val ast = APP(PRED(), NUM(6)) 55 | 56 | Interpreter.eval(ast) should be(NUM(5)) 57 | } 58 | 59 | it should "return ERROR when apply PRED to NON NUM" in { 60 | val ast = APP(PRED(), BOOL(true)) 61 | 62 | Interpreter.eval(ast) should be(ERROR("PRED expects a NUM")) 63 | } 64 | 65 | it should "return NUM(0) when apply PRED NUM(0)" in { 66 | val ast = APP(PRED(), NUM(0)) 67 | 68 | Interpreter.eval(ast) should be(NUM(0)) 69 | } 70 | 71 | it should "return BOOL(true) when apply ISZERO NUM(0)" in { 72 | val ast = APP(ISZERO(), NUM(0)) 73 | 74 | Interpreter.eval(ast) should be(BOOL(true)) 75 | } 76 | 77 | it should "return BOOL(false) when apply ISZERO NUM(1)" in { 78 | val ast = APP(ISZERO(), NUM(1)) 79 | 80 | Interpreter.eval(ast) should be(BOOL(false)) 81 | } 82 | 83 | it should "return ERROR when APP has not FUN" in { 84 | val ast = APP(ERROR(), NUM(1)) 85 | 86 | Interpreter.eval(ast) should be(ERROR()) 87 | } 88 | 89 | it should "return ERROR when APP has not arguments" in { 90 | val ast = APP(SUCC(), ERROR()) 91 | 92 | Interpreter.eval(ast) should be(ERROR()) 93 | } 94 | 95 | it should "return NUM(5) when IF guard is BOOL(true)" in { 96 | val ast = IF(BOOL(true), NUM(5), ID("x")) 97 | 98 | Interpreter.eval(ast) should be(NUM(5)) 99 | } 100 | 101 | it should "return NUM(6) when IF guard is BOOL(false)" in { 102 | val ast = IF(BOOL(false), NUM(5), NUM(6)) 103 | 104 | Interpreter.eval(ast) should be(NUM(6)) 105 | } 106 | 107 | it should "return ERROR en IF guard is not BOOL" in { 108 | val ast = IF(NUM(5), ID("x"), ID("x")) 109 | 110 | Interpreter.eval(ast) should be(ERROR("IF requires BOOL guard")) 111 | } 112 | 113 | it should "recursively eval expressions on IF" in { 114 | 115 | Interpreter.eval(IF(BOOL(false), NUM(0), APP(PRED(), NUM(5)))) should be(NUM(4)) 116 | Interpreter.eval(IF(BOOL(true), APP(PRED(), NUM(5)), NUM(0))) should be(NUM(4)) 117 | } 118 | 119 | it should "apply FUN recursively" in { 120 | val source = "let x = 3 in if true then succ succ x else 0" 121 | 122 | val ast = Parser.parseStr(source) 123 | 124 | Interpreter.eval(ast) should be (NUM(5)) 125 | } 126 | } 127 | 128 | -------------------------------------------------------------------------------- /src/test/scala/PCF/Tests/LETParserTest.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by nperez on 11/10/15. 3 | */ 4 | 5 | package PCF.Tests 6 | 7 | import PCF.Parser.AST._ 8 | import PCF.Parser.Parser 9 | import org.scalatest.{ShouldMatchers, FlatSpec} 10 | 11 | class LETParserTest extends FlatSpec with ShouldMatchers { 12 | "Parser" should "return ERROR when LET has not body" in { 13 | val sourceCode = "let x = " 14 | 15 | val ast = Parser.parseStr(sourceCode) 16 | 17 | ast should be (ERROR("Expecting LET body")) 18 | } 19 | 20 | it should "return FUN TERM when body is present" in { 21 | val sourceCode = "let x = a in b" // translated to (fun x -> b)(a) 22 | 23 | val ast = Parser.parseStr(sourceCode) 24 | 25 | ast should be (APP(FUNC("x", ID("b")), ID("a"))) 26 | } 27 | 28 | it should "return ERROR when IN in missing" in { 29 | val sourceCode = "let x = a b" // translated to (fun x -> b)(a) 30 | 31 | val ast = Parser.parseStr(sourceCode) 32 | 33 | ast should be (ERROR("LET requires IN")) 34 | } 35 | 36 | it should "return ERROR when inner expression cannot be parsed" in { 37 | val sourceCode = "let x = a in ;" // translated to (fun x -> b)(a) 38 | 39 | val ast = Parser.parseStr(sourceCode) 40 | 41 | ast should be (ERROR("LET requires valid expression after IN")) 42 | } 43 | 44 | it should "return ERROR when '=' is missing" in { 45 | val sourceCode = "let x a b" // translated to (fun x -> b)(a) 46 | 47 | val ast = Parser.parseStr(sourceCode) 48 | 49 | ast should be (ERROR("LET requires '=' after variable")) 50 | } 51 | 52 | it should "return ERROR when varialble is missing" in { 53 | val sourceCode = "let = a in b" // translated to (fun x -> b)(a) 54 | 55 | val ast = Parser.parseStr(sourceCode) 56 | 57 | ast should be (ERROR("LET requires variable definition")) 58 | } 59 | 60 | it should "parser recursively" in { 61 | val sourceCode = "\nlet\n twice = fun f -> fun x -> f (f x)\nin\n twice twice twice twice succ 0" 62 | 63 | val ast = Parser.parseStr(sourceCode) 64 | 65 | ast should be (APP(FUNC("twice",APP(ID("twice"),APP(ID("twice"),APP(ID("twice"),APP(ID("twice"),APP(SUCC(),NUM(0))))))),FUNC("f",FUNC("x",APP(ID("f"),APP(ID("f"),ID("x"))))))) 66 | } 67 | 68 | 69 | } 70 | -------------------------------------------------------------------------------- /src/test/scala/PCF/Tests/LexerTest.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by nperez on 11/9/15. 3 | */ 4 | 5 | package PCF.Tests 6 | 7 | import PCF.Tokenizer._ 8 | import org.scalatest.{FlatSpec, ShouldMatchers} 9 | 10 | class LexerTest extends FlatSpec with ShouldMatchers { 11 | 12 | "Lexer" should "return no tokens with empty source code" in { 13 | val sourceCode = "" 14 | 15 | val tokens = Lexer.lexerStr(sourceCode) 16 | 17 | tokens should be (List(EOF())) 18 | } 19 | 20 | it should "return IDTOKEN with ID Name" in { 21 | val sourceCode = "x" 22 | 23 | val tokens = Lexer.lexerStr(sourceCode) 24 | val idTok = tokens(0).asInstanceOf[IDTOK] 25 | 26 | tokens should be (List(IDTOK("x"), EOF())) 27 | idTok.id should be ("x") 28 | } 29 | 30 | it should "return NUNTOK with value" in { 31 | val sourceCode = "5" 32 | 33 | val tokens = Lexer.lexerStr(sourceCode) 34 | val numTok = tokens(0).asInstanceOf[NUMTOK] 35 | 36 | tokens should be (List(NUMTOK(5), EOF())) 37 | numTok.value should be (5) 38 | } 39 | 40 | it should "return TRUETOK when true" in { 41 | val sourceCode = "true" 42 | 43 | val tokens = Lexer.lexerStr(sourceCode) 44 | 45 | tokens should be (List(TRUETOK(), EOF())) 46 | } 47 | 48 | it should "return FALSETOK when false" in { 49 | val sourceCode = "false" 50 | 51 | val tokens = Lexer.lexerStr(sourceCode) 52 | 53 | tokens should be (List(FALSETOK(), EOF())) 54 | } 55 | 56 | it should "return SUCCTOK with succ" in { 57 | val sourceCode = "succ" 58 | 59 | val tokens = Lexer.lexerStr(sourceCode) 60 | 61 | tokens should be (List(SUCCTOK(), EOF())) 62 | } 63 | 64 | it should "return PREDTOK with pred" in { 65 | val sourceCode = "pred" 66 | 67 | val tokens = Lexer.lexerStr(sourceCode) 68 | 69 | tokens should be (List(PREDTOK(), EOF())) 70 | } 71 | 72 | it should "return ISZERO with iszero" in { 73 | val sourceCode = "iszero 0" 74 | 75 | val tokens = Lexer.lexerStr(sourceCode) 76 | 77 | tokens should be (List(ISZEROTOK(), NUMTOK(0), EOF())) 78 | } 79 | 80 | it should "return IFTOK when if else then" in { 81 | val sourceCode = "if x then x else x" 82 | 83 | val tokens = Lexer.lexerStr(sourceCode) 84 | 85 | tokens should be (List(IFTOK(),IDTOK("x"),THENTOK(), IDTOK("x"), ELSETOK(), IDTOK("x"), EOF())) 86 | } 87 | 88 | it should "return FUNTOK when fun" in { 89 | val sourceCode = "fun x -> y" 90 | 91 | val tokens = Lexer.lexerStr(sourceCode) 92 | 93 | tokens should be (List(FUNTOK(), IDTOK("x"), ARROWTOK(), IDTOK("y"), EOF())) 94 | } 95 | 96 | it should "return RECTOK when rec" in { 97 | val sourceCode = "rec x -> x" 98 | 99 | val tokens = Lexer.lexerStr(sourceCode) 100 | 101 | tokens should be (List(RECTOK(), IDTOK("x"), ARROWTOK(), IDTOK("x"), EOF())) 102 | } 103 | 104 | it should "return L-R PARENTOK when (...)" in { 105 | val sourceCode = "(x(y)z)" 106 | 107 | val tokens = Lexer.lexerStr(sourceCode) 108 | 109 | tokens should be (List(LPARENTOK(), IDTOK("x"), LPARENTOK(), IDTOK("y"), RPARENT(), IDTOK("z"), RPARENT(), EOF())) 110 | } 111 | 112 | it should "return LET when asign" in { 113 | val sourceCode = "let x = 5" 114 | 115 | val tokens = Lexer.lexerStr(sourceCode) 116 | 117 | tokens should be (List(LETTOK(), IDTOK("x"), EQUALTOK(), NUMTOK(5), EOF())) 118 | } 119 | 120 | it should "not return a non-token" in { 121 | val sourceCode = "let x = fun y -> if (a) then ((b)) else c" 122 | 123 | val tokens = Lexer.lexerStr(sourceCode) 124 | 125 | tokens.foreach(t => t.isInstanceOf[TOK] should be (true)) 126 | } 127 | 128 | it should "ignore commented line" in { 129 | val sourceCode = "rec x -> x\n#as;lkdfja;sldfkas\nsucc 5" 130 | 131 | val tokens = Lexer.lexerStr(sourceCode) 132 | 133 | tokens should be (List(RECTOK(), IDTOK("x"), ARROWTOK(), IDTOK("x"), SUCCTOK(), NUMTOK(5) ,EOF())) 134 | } 135 | } 136 | -------------------------------------------------------------------------------- /src/test/scala/PCF/Tests/PARPaserTest.scala: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by nperez on 11/10/15. 3 | */ 4 | 5 | package PCF.Tests 6 | 7 | import PCF.Parser.AST._ 8 | import PCF.Parser.Parser 9 | import org.scalatest.{ShouldMatchers, FlatSpec} 10 | 11 | class PARPaserTest extends FlatSpec with ShouldMatchers { 12 | "Parser" should "return ERROR when ( NONTERM" in { 13 | val sourceCode = "(;" 14 | 15 | val ast = Parser.parseStr(sourceCode) 16 | 17 | ast should be (ERROR("After '(' an valid expression has to follow")) 18 | } 19 | 20 | it should "return ERROR when '('TERM but missing ')'" in { 21 | val sourceCode = "(a" 22 | 23 | val ast = Parser.parseStr(sourceCode) 24 | 25 | ast should be (ERROR("After ')' expresion")) 26 | } 27 | 28 | it should "return Expresion when (Expression)" in { 29 | val sourceCode = "(a)" 30 | 31 | val ast = Parser.parseStr(sourceCode) 32 | 33 | ast should be (ID("a")) 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/test/scala/PCF/Tests/RECParserTest.scala: -------------------------------------------------------------------------------- 1 | package PCF.Tests 2 | 3 | import PCF.Interpreter.Interpreter 4 | import PCF.Parser.AST._ 5 | import PCF.Parser.Parser 6 | import org.scalatest.{ShouldMatchers, FlatSpec} 7 | 8 | /** 9 | * Created by nperez on 11/10/15. 10 | */ 11 | class RECParserTest extends FlatSpec with ShouldMatchers { 12 | "Parser" should "return ERROR when REC has not body" in { 13 | val sourceCode = "rec x -> " 14 | 15 | val ast = Parser.parseStr(sourceCode) 16 | 17 | ast should be (ERROR("Expecting REC body")) 18 | } 19 | 20 | it should "return REC TERM when body is present" in { 21 | val sourceCode = "rec x -> a" 22 | 23 | val ast = Parser.parseStr(sourceCode) 24 | 25 | ast should be(REC("x", ID("a"))) 26 | } 27 | 28 | it should "return ERROR when ARROW is missing" in { 29 | val sourceCode = "rec x b a" 30 | 31 | val ast = Parser.parseStr(sourceCode) 32 | 33 | ast should be (ERROR("Expected '->' after REC")) 34 | } 35 | 36 | 37 | it should "return ERROR when ID is missing" in { 38 | val sourceCode = "rec -> b" 39 | 40 | val ast = Parser.parseStr(sourceCode) 41 | 42 | ast should be (ERROR("Expecting identifier after REC")) 43 | } 44 | } 45 | 46 | 47 | -------------------------------------------------------------------------------- /target/.history: -------------------------------------------------------------------------------- 1 | ~test 2 | compile 3 | clena 4 | clean 5 | compile 6 | -------------------------------------------------------------------------------- /target/resolution-cache/default/pcf_2.11/1.0/resolved.xml.properties: -------------------------------------------------------------------------------- 1 | #default#pcf_2.11;1.0 resolved revisions 2 | #Thu Nov 12 14:02:40 EST 2015 3 | +organisation\:\#@\#\:+org.scalatest\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scalatest_2.11\:\#@\#\:+revision\:\#@\#\:+2.2.4\:\#@\#\:=2.2.4 release 2.2.4 null 4 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-library\:\#@\#\:+revision\:\#@\#\:+2.11.7\:\#@\#\:=2.11.7 ? 2.11.7 null 5 | +organisation\:\#@\#\:+org.scala-lang\:\#@\#\:+branch\:\#@\#\:+@\#\:NULL\:\#@\:\#@\#\:+module\:\#@\#\:+scala-compiler\:\#@\#\:+revision\:\#@\#\:+2.11.7\:\#@\#\:=2.11.7 release 2.11.7 null 6 | -------------------------------------------------------------------------------- /target/resolution-cache/default/pcf_2.11/1.0/resolved.xml.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | PCF 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /target/resolution-cache/reports/default-pcf_2.11-compile-internal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /target/resolution-cache/reports/default-pcf_2.11-compile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /target/resolution-cache/reports/default-pcf_2.11-docs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /target/resolution-cache/reports/default-pcf_2.11-optional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /target/resolution-cache/reports/default-pcf_2.11-plugin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /target/resolution-cache/reports/default-pcf_2.11-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /target/resolution-cache/reports/default-pcf_2.11-provided.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /target/resolution-cache/reports/default-pcf_2.11-runtime-internal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /target/resolution-cache/reports/default-pcf_2.11-runtime.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /target/resolution-cache/reports/default-pcf_2.11-sources.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /target/resolution-cache/reports/ivy-report.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one or more 3 | * contributor license agreements. See the NOTICE file distributed with 4 | * this work for additional information regarding copyright ownership. 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 6 | * (the "License"); you may not use this file except in compliance with 7 | * the License. You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | * 17 | */ 18 | 19 | body { 20 | font-family:"Trebuchet MS",Verdana,Geneva,Arial,Helvetica,sans-serif; 21 | font-size:small; 22 | } 23 | 24 | div#logo { 25 | float: right; 26 | padding-left: 10px; 27 | padding-bottom: 10px; 28 | background: white; 29 | text-align: center; 30 | } 31 | 32 | #logo img { 33 | border: 0; 34 | } 35 | 36 | div#date { 37 | font-style: italic; 38 | padding-left: 60px; 39 | padding-bottom: 40px; 40 | } 41 | 42 | 43 | h1 { 44 | margin-bottom:2px; 45 | 46 | border-color:#7A9437; 47 | border-style:solid; 48 | border-width:0 0 3px 0; 49 | } 50 | 51 | span#module { 52 | color:#7A9437; 53 | text-decoration:none; 54 | } 55 | 56 | span#organisation { 57 | color:black; 58 | text-decoration:none; 59 | } 60 | 61 | #confmenu { 62 | color: #000; 63 | border-bottom: 2px solid black; 64 | margin: 12px 0px 0px 0px; 65 | padding: 0px; 66 | z-index: 1; 67 | padding-left: 10px 68 | } 69 | 70 | #confmenu li { 71 | display: inline; 72 | overflow: hidden; 73 | list-style-type: none; 74 | } 75 | 76 | #confmenu a, a.active { 77 | color: #DEDECF; 78 | background: #898B5E; 79 | font: bold 1em "Trebuchet MS", Arial, sans-serif; 80 | border: 2px solid black; 81 | padding: 2px 5px 0px 5px; 82 | text-decoration: none; 83 | } 84 | 85 | /* 86 | background: #ABAD85 #CED4BD 87 | background: #DEE4CD 88 | */ 89 | 90 | #confmenu a.active { 91 | color: #7A9437; 92 | background: #DEE4CD; 93 | border-bottom: 3px solid #DEE4CD; 94 | } 95 | 96 | #confmenu a:hover { 97 | color: #fff; 98 | background: #ADC09F; 99 | } 100 | 101 | #confmenu a:visited { 102 | color: #DEDECF; 103 | } 104 | 105 | #confmenu a.active:visited { 106 | color: #7A9437; 107 | } 108 | 109 | #confmenu a.active:hover { 110 | background: #DEE4CD; 111 | color: #DEDECF; 112 | } 113 | 114 | #content { 115 | background: #DEE4CD; 116 | padding: 20px; 117 | border: 2px solid black; 118 | border-top: none; 119 | z-index: 2; 120 | } 121 | 122 | #content a { 123 | text-decoration: none; 124 | color: #E8E9BE; 125 | } 126 | 127 | #content a:hover { 128 | background: #898B5E; 129 | } 130 | 131 | 132 | h2 { 133 | margin-bottom:2px; 134 | font-size:medium; 135 | 136 | border-color:#7A9437; 137 | border-style:solid; 138 | border-width:0 0 2px 0; 139 | } 140 | 141 | h3 { 142 | margin-top:30px; 143 | margin-bottom:2px; 144 | padding: 5 5 5 0; 145 | font-size: 24px; 146 | border-style:solid; 147 | border-width:0 0 2px 0; 148 | } 149 | 150 | h4 { 151 | margin-bottom:2px; 152 | margin-top:2px; 153 | font-size:medium; 154 | 155 | border-color:#7A9437; 156 | border-style:dashed; 157 | border-width:0 0 1px 0; 158 | } 159 | 160 | h5 { 161 | margin-bottom:2px; 162 | margin-top:2px; 163 | margin-left:20px; 164 | font-size:medium; 165 | } 166 | 167 | span.resolved { 168 | padding-left: 15px; 169 | font-weight: 500; 170 | font-size: small; 171 | } 172 | 173 | 174 | #content table { 175 | border-collapse:collapse; 176 | width:90%; 177 | margin:auto; 178 | margin-top: 5px; 179 | } 180 | #content thead { 181 | background-color:#CED4BD; 182 | border:1px solid #7A9437; 183 | } 184 | #content tbody { 185 | border-collapse:collapse; 186 | background-color:#FFFFFF; 187 | border:1px solid #7A9437; 188 | } 189 | 190 | #content th { 191 | font-family:monospace; 192 | border:1px solid #7A9437; 193 | padding:5px; 194 | } 195 | 196 | #content td { 197 | border:1px dotted #7A9437; 198 | padding:0 3 0 3; 199 | } 200 | 201 | #content table a { 202 | color:#7A9437; 203 | text-decoration:none; 204 | } 205 | 206 | #content table a:hover { 207 | background-color:#CED4BD; 208 | color:#7A9437; 209 | } 210 | 211 | 212 | 213 | table.deps { 214 | border-collapse:collapse; 215 | width:90%; 216 | margin:auto; 217 | margin-top: 5px; 218 | } 219 | 220 | table.deps thead { 221 | background-color:#CED4BD; 222 | border:1px solid #7A9437; 223 | } 224 | table.deps tbody { 225 | border-collapse:collapse; 226 | background-color:#FFFFFF; 227 | border:1px solid #7A9437; 228 | } 229 | 230 | table.deps th { 231 | font-family:monospace; 232 | border:1px solid #7A9437; 233 | padding:2; 234 | } 235 | 236 | table.deps td { 237 | border:1px dotted #7A9437; 238 | padding:0 3 0 3; 239 | } 240 | 241 | 242 | 243 | 244 | 245 | table.header { 246 | border:0; 247 | width:90%; 248 | margin:auto; 249 | margin-top: 5px; 250 | } 251 | 252 | table.header thead { 253 | border:0; 254 | } 255 | table.header tbody { 256 | border:0; 257 | } 258 | table.header tr { 259 | padding:0px; 260 | border:0; 261 | } 262 | table.header td { 263 | padding:0 3 0 3; 264 | border:0; 265 | } 266 | 267 | td.title { 268 | width:150px; 269 | margin-right:15px; 270 | 271 | font-size:small; 272 | font-weight:700; 273 | } 274 | 275 | td.title:first-letter { 276 | color:#7A9437; 277 | background-color:transparent; 278 | } 279 | 280 | -------------------------------------------------------------------------------- /target/scala-2.11/classes/App$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/App$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/App.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/App.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Interpreter/Interpreter$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Interpreter/Interpreter$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Interpreter/Interpreter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Interpreter/Interpreter.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/APP$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/APP$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/APP.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/APP.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/BOOL$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/BOOL$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/BOOL.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/BOOL.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/ERROR$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/ERROR$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/ERROR.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/ERROR.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/FUNC$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/FUNC$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/FUNC.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/FUNC.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/ID$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/ID$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/ID.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/ID.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/IF$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/IF$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/IF.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/IF.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/ISZERO$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/ISZERO$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/ISZERO.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/ISZERO.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/NUM$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/NUM$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/NUM.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/NUM.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/PRED$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/PRED$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/PRED.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/PRED.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/REC$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/REC$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/REC.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/REC.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/RESULT_TERM.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/RESULT_TERM.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/SUCC$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/SUCC$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/SUCC.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/SUCC.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/AST/TERM.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/AST/TERM.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/Parser$$anonfun$parseFile$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/Parser$$anonfun$parseFile$1.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/Parser$$anonfun$parseStr$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/Parser$$anonfun$parseStr$1.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/Parser$$anonfun$parseStr$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/Parser$$anonfun$parseStr$2.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/Parser$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/Parser$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Parser/Parser.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Parser/Parser.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Pipes/IPipe$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Pipes/IPipe$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Pipes/IPipe.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Pipes/IPipe.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Pipes/Pipe$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Pipes/Pipe$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Pipes/Pipe.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Pipes/Pipe.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/ARROWTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/ARROWTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/ARROWTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/ARROWTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/ELSETOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/ELSETOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/ELSETOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/ELSETOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/EOF$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/EOF$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/EOF.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/EOF.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/EQUALTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/EQUALTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/EQUALTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/EQUALTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/FALSETOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/FALSETOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/FALSETOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/FALSETOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/FUNTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/FUNTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/FUNTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/FUNTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/IDTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/IDTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/IDTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/IDTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/IFTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/IFTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/IFTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/IFTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/INTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/INTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/INTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/INTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/ISZEROTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/ISZEROTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/ISZEROTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/ISZEROTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/LETTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/LETTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/LETTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/LETTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/LPARENTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/LPARENTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/LPARENTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/LPARENTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/Lexer$$anonfun$lexerFile$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/Lexer$$anonfun$lexerFile$1.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/Lexer$$anonfun$lexerStr$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/Lexer$$anonfun$lexerStr$1.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/Lexer$$anonfun$lexerStr$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/Lexer$$anonfun$lexerStr$2.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/Lexer$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/Lexer$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/Lexer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/Lexer.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/NUMTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/NUMTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/NUMTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/NUMTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/PREDTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/PREDTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/PREDTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/PREDTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/RECTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/RECTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/RECTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/RECTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/RPARENT$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/RPARENT$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/RPARENT.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/RPARENT.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/SUCCTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/SUCCTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/SUCCTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/SUCCTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/THENTOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/THENTOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/THENTOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/THENTOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/TOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/TOK.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/TRUETOK$.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/TRUETOK$.class -------------------------------------------------------------------------------- /target/scala-2.11/classes/PCF/Tokenizer/TRUETOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/classes/PCF/Tokenizer/TRUETOK.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$1.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$2.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$3.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$4.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$5.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$6.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$6.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$7.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/BasicParserTest$$anonfun$7.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/BasicParserTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/BasicParserTest.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/FUNParserTest$$anonfun$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/FUNParserTest$$anonfun$1.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/FUNParserTest$$anonfun$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/FUNParserTest$$anonfun$2.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/FUNParserTest$$anonfun$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/FUNParserTest$$anonfun$3.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/FUNParserTest$$anonfun$4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/FUNParserTest$$anonfun$4.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/FUNParserTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/FUNParserTest.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$1.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$2.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$3.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$4.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$5.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$6.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$6.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$7.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/IFPaserTest$$anonfun$7.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/IFPaserTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/IFPaserTest.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$1.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$10.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$10.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$11.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$11.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$12.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$12.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$13.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$13.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$14.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$14.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$15.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$15.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$16.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$16.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$17.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$17.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$2.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$3.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$4.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$5.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$6.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$6.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$7.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$7.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$8.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$8.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$9.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest$$anonfun$9.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/InterpreterTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/InterpreterTest.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$1.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$2.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$3.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$4.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$5.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$6.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$6.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$7.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LETParserTest$$anonfun$7.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LETParserTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LETParserTest.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$1.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$10.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$10.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$11.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$11.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$12.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$12.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$13.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$13.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$14$$anonfun$apply$mcV$sp$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$14$$anonfun$apply$mcV$sp$1.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$14.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$14.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$15.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$15.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$2.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$3.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$4.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$5.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$6.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$6.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$7.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$7.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$8.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$8.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$9.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest$$anonfun$9.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/LexerTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/LexerTest.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/PARPaserTest$$anonfun$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/PARPaserTest$$anonfun$1.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/PARPaserTest$$anonfun$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/PARPaserTest$$anonfun$2.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/PARPaserTest$$anonfun$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/PARPaserTest$$anonfun$3.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/PARPaserTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/PARPaserTest.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/RECParserTest$$anonfun$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/RECParserTest$$anonfun$1.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/RECParserTest$$anonfun$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/RECParserTest$$anonfun$2.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/RECParserTest$$anonfun$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/RECParserTest$$anonfun$3.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/RECParserTest$$anonfun$4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/RECParserTest$$anonfun$4.class -------------------------------------------------------------------------------- /target/scala-2.11/test-classes/PCF/Tests/RECParserTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/scala-2.11/test-classes/PCF/Tests/RECParserTest.class -------------------------------------------------------------------------------- /target/streams/$global/$global/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Other repositories: 2 | [debug] Default repositories: 3 | [debug] Other repositories: 4 | [debug] Default repositories: 5 | -------------------------------------------------------------------------------- /target/streams/$global/clean/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/streams/$global/clean/$global/streams/out -------------------------------------------------------------------------------- /target/streams/$global/dependencyPositions/$global/streams/update_cache_2.11/input_dsp: -------------------------------------------------------------------------------- 1 | org.scala-lang scala-library2.11.7 org.scalatestscalatest_2.112.2.4test -------------------------------------------------------------------------------- /target/streams/$global/dependencyPositions/$global/streams/update_cache_2.11/output_dsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/streams/$global/dependencyPositions/$global/streams/update_cache_2.11/output_dsp -------------------------------------------------------------------------------- /target/streams/$global/ivyConfiguration/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Other repositories: 2 | [debug] Default repositories: 3 | [debug] Using inline dependencies specified in Scala. 4 | -------------------------------------------------------------------------------- /target/streams/$global/ivySbt/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/streams/$global/ivySbt/$global/streams/out -------------------------------------------------------------------------------- /target/streams/$global/projectDescriptors/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/streams/$global/projectDescriptors/$global/streams/out -------------------------------------------------------------------------------- /target/streams/$global/update/$global/streams/update_cache_2.11/inputs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/streams/$global/update/$global/streams/update_cache_2.11/inputs -------------------------------------------------------------------------------- /target/streams/$global/update/$global/streams/update_cache_2.11/output: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/streams/$global/update/$global/streams/update_cache_2.11/output -------------------------------------------------------------------------------- /target/streams/compile/$global/$global/discoveredMainClasses/data: -------------------------------------------------------------------------------- 1 | App -------------------------------------------------------------------------------- /target/streams/compile/compile/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/streams/compile/compile/$global/streams/out -------------------------------------------------------------------------------- /target/streams/compile/compileIncremental/$global/streams/export: -------------------------------------------------------------------------------- 1 | scalac -bootclasspath /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/classes:/Users/nperez/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.7.jar -classpath /Users/nperez/IdeaProjects/PCF/target/scala-2.11/classes /Users/nperez/IdeaProjects/PCF/src/main/scala/App.scala /Users/nperez/IdeaProjects/PCF/src/main/scala/PCF/Interpreter/Interpreter.scala /Users/nperez/IdeaProjects/PCF/src/main/scala/PCF/Parser/AST.scala /Users/nperez/IdeaProjects/PCF/src/main/scala/PCF/Parser/Parser.scala /Users/nperez/IdeaProjects/PCF/src/main/scala/PCF/Pipes/ForwardOperator.scala /Users/nperez/IdeaProjects/PCF/src/main/scala/PCF/Tokenizer/Lexer.scala /Users/nperez/IdeaProjects/PCF/src/main/scala/PCF/Tokenizer/Tokens.scala 2 | -------------------------------------------------------------------------------- /target/streams/compile/compileIncremental/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] 2 | [debug] Initial source changes: 3 | [debug] removed:Set() 4 | [debug] added: Set() 5 | [debug] modified: Set() 6 | [debug] Removed products: Set() 7 | [debug] External API changes: API Changes: Set() 8 | [debug] Modified binary dependencies: Set() 9 | [debug] Initial directly invalidated sources: Set() 10 | [debug] 11 | [debug] Sources indirectly invalidated by: 12 | [debug] product: Set() 13 | [debug] binary dep: Set() 14 | [debug] external source: Set() 15 | [debug] All initially invalidated sources: Set() 16 | -------------------------------------------------------------------------------- /target/streams/compile/copyResources/$global/streams/copy-resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/streams/compile/copyResources/$global/streams/copy-resources -------------------------------------------------------------------------------- /target/streams/compile/copyResources/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Copy resource mappings: 2 | [debug] 3 | -------------------------------------------------------------------------------- /target/streams/compile/dependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.7.jar 2 | -------------------------------------------------------------------------------- /target/streams/compile/exportedProducts/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/IdeaProjects/PCF/target/scala-2.11/classes 2 | -------------------------------------------------------------------------------- /target/streams/compile/externalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.7.jar 2 | -------------------------------------------------------------------------------- /target/streams/compile/internalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /target/streams/compile/managedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.7.jar 2 | -------------------------------------------------------------------------------- /target/streams/compile/unmanagedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /target/streams/compile/unmanagedJars/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /target/streams/runtime/exportedProducts/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/IdeaProjects/PCF/target/scala-2.11/classes 2 | -------------------------------------------------------------------------------- /target/streams/runtime/unmanagedJars/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /target/streams/test/$global/$global/definedTestNames/data: -------------------------------------------------------------------------------- 1 | PCF.Tests.InterpreterTestPCF.Tests.LETParserTestPCF.Tests.FUNParserTestPCF.Tests.PARPaserTestPCF.Tests.RECParserTestPCF.Tests.LexerTestPCF.Tests.BasicParserTestPCF.Tests.IFPaserTest -------------------------------------------------------------------------------- /target/streams/test/$global/$global/discoveredMainClasses/data: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /target/streams/test/compile/$global/streams/out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/streams/test/compile/$global/streams/out -------------------------------------------------------------------------------- /target/streams/test/compileIncremental/$global/streams/export: -------------------------------------------------------------------------------- 1 | scalac -classpath /Users/nperez/IdeaProjects/PCF/target/scala-2.11/test-classes:/Users/nperez/IdeaProjects/PCF/target/scala-2.11/classes:/Users/nperez/.ivy2/cache/org.scalatest/scalatest_2.11/bundles/scalatest_2.11-2.2.4.jar:/Users/nperez/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.11.2.jar:/Users/nperez/.ivy2/cache/org.scala-lang.modules/scala-xml_2.11/bundles/scala-xml_2.11-1.0.2.jar -bootclasspath /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/classes:/Users/nperez/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.7.jar /Users/nperez/IdeaProjects/PCF/src/test/scala/PCF/Tests/BasicParserTest.scala /Users/nperez/IdeaProjects/PCF/src/test/scala/PCF/Tests/FUNParserTest.scala /Users/nperez/IdeaProjects/PCF/src/test/scala/PCF/Tests/IFPaserTest.scala /Users/nperez/IdeaProjects/PCF/src/test/scala/PCF/Tests/InterpreterTest.scala /Users/nperez/IdeaProjects/PCF/src/test/scala/PCF/Tests/LETParserTest.scala /Users/nperez/IdeaProjects/PCF/src/test/scala/PCF/Tests/LexerTest.scala /Users/nperez/IdeaProjects/PCF/src/test/scala/PCF/Tests/PARPaserTest.scala /Users/nperez/IdeaProjects/PCF/src/test/scala/PCF/Tests/RECParserTest.scala 2 | -------------------------------------------------------------------------------- /target/streams/test/copyResources/$global/streams/copy-resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/anicolaspp/PCF-Compiler/e99b178274a856435fac200df6e05715c017a149/target/streams/test/copyResources/$global/streams/copy-resources -------------------------------------------------------------------------------- /target/streams/test/copyResources/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Copy resource mappings: 2 | [debug] 3 | -------------------------------------------------------------------------------- /target/streams/test/definedTests/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Subclass fingerprints: List((org.scalatest.Suite,false,org.scalatest.tools.Framework$$anon$1@10684115)) 2 | [debug] Annotation fingerprints: List((org.scalatest.WrapWith,false,org.scalatest.tools.Framework$$anon$2@5420135b)) 3 | -------------------------------------------------------------------------------- /target/streams/test/dependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/IdeaProjects/PCF/target/scala-2.11/classes:/Users/nperez/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.7.jar:/Users/nperez/.ivy2/cache/org.scalatest/scalatest_2.11/bundles/scalatest_2.11-2.2.4.jar:/Users/nperez/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.11.2.jar:/Users/nperez/.ivy2/cache/org.scala-lang.modules/scala-xml_2.11/bundles/scala-xml_2.11-1.0.2.jar 2 | -------------------------------------------------------------------------------- /target/streams/test/exportedProducts/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/IdeaProjects/PCF/target/scala-2.11/test-classes 2 | -------------------------------------------------------------------------------- /target/streams/test/externalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.7.jar:/Users/nperez/.ivy2/cache/org.scalatest/scalatest_2.11/bundles/scalatest_2.11-2.2.4.jar:/Users/nperez/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.11.2.jar:/Users/nperez/.ivy2/cache/org.scala-lang.modules/scala-xml_2.11/bundles/scala-xml_2.11-1.0.2.jar 2 | -------------------------------------------------------------------------------- /target/streams/test/fullClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/IdeaProjects/PCF/target/scala-2.11/test-classes:/Users/nperez/IdeaProjects/PCF/target/scala-2.11/classes:/Users/nperez/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.7.jar:/Users/nperez/.ivy2/cache/org.scalatest/scalatest_2.11/bundles/scalatest_2.11-2.2.4.jar:/Users/nperez/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.11.2.jar:/Users/nperez/.ivy2/cache/org.scala-lang.modules/scala-xml_2.11/bundles/scala-xml_2.11-1.0.2.jar 2 | -------------------------------------------------------------------------------- /target/streams/test/internalDependencyClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/IdeaProjects/PCF/target/scala-2.11/classes 2 | -------------------------------------------------------------------------------- /target/streams/test/loadedTestFrameworks/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Framework implementation 'org.scalacheck.ScalaCheckFramework' not present. 2 | [debug] Framework implementation 'org.specs2.runner.Specs2Framework' not present. 3 | [debug] Framework implementation 'org.specs2.runner.SpecsFramework' not present. 4 | [debug] Framework implementation 'org.specs.runner.SpecsFramework' not present. 5 | [debug] Framework implementation 'com.novocode.junit.JUnitFramework' not present. 6 | -------------------------------------------------------------------------------- /target/streams/test/managedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | /Users/nperez/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.7.jar:/Users/nperez/.ivy2/cache/org.scalatest/scalatest_2.11/bundles/scalatest_2.11-2.2.4.jar:/Users/nperez/.ivy2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.11.2.jar:/Users/nperez/.ivy2/cache/org.scala-lang.modules/scala-xml_2.11/bundles/scala-xml_2.11-1.0.2.jar 2 | -------------------------------------------------------------------------------- /target/streams/test/test/$global/streams/out: -------------------------------------------------------------------------------- 1 | [debug] Running TaskDef(PCF.Tests.FUNParserTest, org.scalatest.tools.Framework$$anon$1@10684115, false, [SuiteSelector]) 2 | [debug] Running TaskDef(PCF.Tests.InterpreterTest, org.scalatest.tools.Framework$$anon$1@10684115, false, [SuiteSelector]) 3 | [debug] Running TaskDef(PCF.Tests.BasicParserTest, org.scalatest.tools.Framework$$anon$1@10684115, false, [SuiteSelector]) 4 | [debug] Running TaskDef(PCF.Tests.PARPaserTest, org.scalatest.tools.Framework$$anon$1@10684115, false, [SuiteSelector]) 5 | [debug] Running TaskDef(PCF.Tests.LexerTest, org.scalatest.tools.Framework$$anon$1@10684115, false, [SuiteSelector]) 6 | [debug] Running TaskDef(PCF.Tests.RECParserTest, org.scalatest.tools.Framework$$anon$1@10684115, false, [SuiteSelector]) 7 | [debug] Running TaskDef(PCF.Tests.IFPaserTest, org.scalatest.tools.Framework$$anon$1@10684115, false, [SuiteSelector]) 8 | [debug] Running TaskDef(PCF.Tests.LETParserTest, org.scalatest.tools.Framework$$anon$1@10684115, false, [SuiteSelector]) 9 | [info] Run completed in 378 milliseconds. 10 | [info] Total number of tests run: 64 11 | [info] Suites: completed 8, aborted 0 12 | [info] Tests: succeeded 64, failed 0, canceled 0, ignored 0, pending 0 13 | [info] All tests passed. 14 | [debug] Passed tests: 15 | [debug] PCF.Tests.InterpreterTest 16 | [debug] PCF.Tests.RECParserTest 17 | [debug] PCF.Tests.LETParserTest 18 | [debug] PCF.Tests.LexerTest 19 | [debug] PCF.Tests.IFPaserTest 20 | [debug] PCF.Tests.PARPaserTest 21 | [debug] PCF.Tests.FUNParserTest 22 | [debug] PCF.Tests.BasicParserTest 23 | -------------------------------------------------------------------------------- /target/streams/test/test/$global/streams/succeeded_tests: -------------------------------------------------------------------------------- 1 | #Successful Tests 2 | #Thu Nov 12 14:02:47 EST 2015 3 | PCF.Tests.IFPaserTest=1447354967366 4 | PCF.Tests.PARPaserTest=1447354967367 5 | PCF.Tests.FUNParserTest=1447354967367 6 | PCF.Tests.LexerTest=1447354967367 7 | PCF.Tests.InterpreterTest=1447354967367 8 | PCF.Tests.RECParserTest=1447354967367 9 | PCF.Tests.BasicParserTest=1447354967367 10 | PCF.Tests.LETParserTest=1447354967367 11 | -------------------------------------------------------------------------------- /target/streams/test/test/isModule=false name=PCF.Tests.BasicParserTest/test/out: -------------------------------------------------------------------------------- 1 | [info] BasicParserTest: 2 | [info] Parser 3 | [info] - should return ID TERM case 1 4 | [info] - should return NUM TERM case 1.1 5 | [info] - should return TRUE TERM case 2 6 | [info] - should return FALSE TERM case 3 7 | [info] - should return SUCC TERM case 4 8 | [info] - should return PRED TERM case 5 9 | [info] - should return ISZERO TERM case 6 10 | -------------------------------------------------------------------------------- /target/streams/test/test/isModule=false name=PCF.Tests.FUNParserTest/test/out: -------------------------------------------------------------------------------- 1 | [info] FUNParserTest: 2 | [info] Parser 3 | [info] - should return ERROR when FUN has not body 4 | [info] - should return FUN TERM when body is present 5 | [info] - should return ERROR when ARROW is missing 6 | [info] - should return ERROR when ID is missing 7 | -------------------------------------------------------------------------------- /target/streams/test/test/isModule=false name=PCF.Tests.IFPaserTest/test/out: -------------------------------------------------------------------------------- 1 | [info] IFPaserTest: 2 | [info] Parser 3 | [info] - should return ERROR when IF (NONTERM) 4 | [info] - should return ERROR when IF does not has THEN 5 | [info] - should return ERROR when IF THEN (NONTERM) 6 | [info] - should return ERROR when IF THEN and missing ELSE 7 | [info] - should return ERROR when IF THEN ELSE (NONTERM) 8 | [info] - should return IF THEN ELSE TERM 9 | [info] - should return ERROR valid guard but nothing else 10 | -------------------------------------------------------------------------------- /target/streams/test/test/isModule=false name=PCF.Tests.InterpreterTest/test/out: -------------------------------------------------------------------------------- 1 | [info] InterpreterTest: 2 | [info] Interpreter 3 | [info] - should return ERROR when unbound indentifier 4 | [info] - should return ERROR when REC has not FUN body 5 | [info] - should return NUM when apply NUM 6 | [info] - should return 6 when apply SUCC NUM(5) 7 | [info] - should return ERROR when apply SUCC to NON NUM 8 | [info] - should return 5 when apply PRED NUM(6) 9 | [info] - should return ERROR when apply PRED to NON NUM 10 | [info] - should return NUM(0) when apply PRED NUM(0) 11 | [info] - should return BOOL(true) when apply ISZERO NUM(0) 12 | [info] - should return BOOL(false) when apply ISZERO NUM(1) 13 | [info] - should return ERROR when APP has not FUN 14 | [info] - should return ERROR when APP has not arguments 15 | [info] - should return NUM(5) when IF guard is BOOL(true) 16 | [info] - should return NUM(6) when IF guard is BOOL(false) 17 | [info] - should return ERROR en IF guard is not BOOL 18 | [info] - should recursively eval expressions on IF 19 | [info] - should apply FUN recursively 20 | -------------------------------------------------------------------------------- /target/streams/test/test/isModule=false name=PCF.Tests.LETParserTest/test/out: -------------------------------------------------------------------------------- 1 | [info] LETParserTest: 2 | [info] Parser 3 | [info] - should return ERROR when LET has not body 4 | [info] - should return FUN TERM when body is present 5 | [info] - should return ERROR when IN in missing 6 | [info] - should return ERROR when inner expression cannot be parsed 7 | [info] - should return ERROR when '=' is missing 8 | [info] - should return ERROR when varialble is missing 9 | [info] - should parser recursively 10 | -------------------------------------------------------------------------------- /target/streams/test/test/isModule=false name=PCF.Tests.LexerTest/test/out: -------------------------------------------------------------------------------- 1 | [info] LexerTest: 2 | [info] Lexer 3 | [info] - should return no tokens with empty source code 4 | [info] - should return IDTOKEN with ID Name 5 | [info] - should return NUNTOK with value 6 | [info] - should return TRUETOK when true 7 | [info] - should return FALSETOK when false 8 | [info] - should return SUCCTOK with succ 9 | [info] - should return PREDTOK with pred 10 | [info] - should return ISZERO with iszero 11 | [info] - should return IFTOK when if else then 12 | [info] - should return FUNTOK when fun 13 | [info] - should return RECTOK when rec 14 | [info] - should return L-R PARENTOK when (...) 15 | [info] - should return LET when asign 16 | [info] - should not return a non-token 17 | [info] - should ignore commented line 18 | -------------------------------------------------------------------------------- /target/streams/test/test/isModule=false name=PCF.Tests.PARPaserTest/test/out: -------------------------------------------------------------------------------- 1 | [info] PARPaserTest: 2 | [info] Parser 3 | [info] - should return ERROR when ( NONTERM 4 | [info] - should return ERROR when '('TERM but missing ')' 5 | [info] - should return Expresion when (Expression) 6 | -------------------------------------------------------------------------------- /target/streams/test/test/isModule=false name=PCF.Tests.RECParserTest/test/out: -------------------------------------------------------------------------------- 1 | [info] RECParserTest: 2 | [info] Parser 3 | [info] - should return ERROR when REC has not body 4 | [info] - should return REC TERM when body is present 5 | [info] - should return ERROR when ARROW is missing 6 | [info] - should return ERROR when ID is missing 7 | -------------------------------------------------------------------------------- /target/streams/test/unmanagedClasspath/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /target/streams/test/unmanagedJars/$global/streams/export: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /target/test-reports/PCF.Tests.BasicParserTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /target/test-reports/PCF.Tests.FUNParserTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /target/test-reports/PCF.Tests.IFPaserTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /target/test-reports/PCF.Tests.LETParserTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /target/test-reports/PCF.Tests.PARPaserTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /target/test-reports/PCF.Tests.RECParserTest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | --------------------------------------------------------------------------------