diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/__pycache__/globalz.cpython-311.pyc b/__pycache__/globalz.cpython-311.pyc new file mode 100644 index 0000000..dc2d0f0 Binary files /dev/null and b/__pycache__/globalz.cpython-311.pyc differ diff --git a/build.sbt b/build.sbt index b6033cb..6a11533 100644 --- a/build.sbt +++ b/build.sbt @@ -1,25 +1,26 @@ // See README.md for license details. -ThisBuild / scalaVersion := "2.13.8" +ThisBuild / scalaVersion := "2.12.13" ThisBuild / version := "0.1.0" ThisBuild / organization := "com.github.5hayanb" -val chiselVersion = "6.0.0-M3" - lazy val root = (project in file(".")) .settings( name := "RISC-V-Playground", libraryDependencies ++= Seq( - "org.chipsalliance" %% "chisel" % chiselVersion, - "edu.berkeley.cs" %% "chiseltest" % "5.0.0" % "test" + "edu.berkeley.cs" %% "chisel3" % "3.4.3", + "edu.berkeley.cs" %% "chiseltest" % "0.3.3" % "test" ), scalacOptions ++= Seq( + "-Xsource:2.11", "-language:reflectiveCalls", "-deprecation", "-feature", "-Xcheckinit", - "-Ymacro-annotations", + // Enables autoclonetype2 in 3.4.x (on by default in 3.5) + "-P:chiselplugin:useBundlePlugin" ), - addCompilerPlugin("org.chipsalliance" % "chisel-plugin" % chiselVersion cross CrossVersion.full), + addCompilerPlugin("edu.berkeley.cs" % "chisel3-plugin" % "3.4.3" cross CrossVersion.full), + addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.full) ) diff --git a/front_end/__pycache__/expose_functs.cpython-311.pyc b/front_end/__pycache__/expose_functs.cpython-311.pyc new file mode 100644 index 0000000..e9936d8 Binary files /dev/null and b/front_end/__pycache__/expose_functs.cpython-311.pyc differ diff --git a/front_end/__pycache__/index.cpython-311.pyc b/front_end/__pycache__/index.cpython-311.pyc new file mode 100644 index 0000000..bdd834f Binary files /dev/null and b/front_end/__pycache__/index.cpython-311.pyc differ diff --git a/front_end/app.py b/front_end/app.py new file mode 100644 index 0000000..7f9d368 --- /dev/null +++ b/front_end/app.py @@ -0,0 +1,9 @@ +import webview + +def open_folder_dialog(): + folder_path = webview.create_file_dialog(webview.FOLDER_DIALOG) + return folder_path + +if __name__ == '__main__': + webview.create_window("Folder Selection") + webview.start(open_folder_dialog, debug=True) diff --git a/front_end/expose_functs.py b/front_end/expose_functs.py new file mode 100644 index 0000000..4c059e0 --- /dev/null +++ b/front_end/expose_functs.py @@ -0,0 +1,9 @@ +from globalz import * +from front_end.index import * + + +def expose(window): + window.expose( + # index.py + open_folder_dialog + ) diff --git a/front_end/index.py b/front_end/index.py new file mode 100644 index 0000000..13d9ff2 --- /dev/null +++ b/front_end/index.py @@ -0,0 +1,17 @@ +import webview +import subprocess as sp +import os +from globalz import * + + + +def open_folder_dialog(): + # Function to open folder dialog + result = windows["main"].create_file_dialog(webview.FOLDER_DIALOG )[0] + # print(result) + return result + + +def evaluate_llm(path, cmd): + os.chdir(path) + sp.run([cmd]) \ No newline at end of file diff --git a/front_end/result.py b/front_end/result.py new file mode 100644 index 0000000..e69de29 diff --git a/front_end/web/css/index.css b/front_end/web/css/index.css new file mode 100644 index 0000000..9f4abb2 --- /dev/null +++ b/front_end/web/css/index.css @@ -0,0 +1,241 @@ +@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap'); +* +{ + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Quicksand', sans-serif; +} +body +{ + display: flex; + justify-content: center; + align-items: center; + min-height: 100vh; + background: #000; +} +section +{ + position: absolute; + width: 100vw; + height: 100vh; + display: flex; + justify-content: center; + align-items: center; + gap: 2px; + flex-wrap: wrap; + overflow: hidden; +} +section::before +{ + content: ''; + position: absolute; + width: 100%; + height: 100%; + background: linear-gradient(#000,rgb(0, 255, 234),#000); + animation: animate 5s linear infinite; +} +@keyframes animate +{ + 0% + { + transform: translateY(-100%); + } + 100% + { + transform: translateY(100%); + } +} +section span +{ + position: relative; + display: block; + width: calc(6.25vw - 2px); + height: calc(6.25vw - 2px); + background: #181818; + z-index: 2; + transition: 1.5s; +} +section span:hover +{ + background: rgb(19, 239, 210); + transition: 0s; +} + +section .signin +{ + position: absolute; + width: 900px; + height: 550px; + background: #222; + z-index: 1000; + display: flex; + justify-content: center; + align-items: center; + padding: 40px; + border-radius: 4px; + box-shadow: 0 15px 35px rgba(0,0,0,9); +} +body { + margin: 0; + padding: 0; + display: flex; + justify-content: center; + align-items: center; + height: 100vh; /* Viewport height */ +} + +.logo-container { + display: flex; + justify-content: center; + align-items: center; + width: 150px; /* Adjust as needed */ + height: 150px; /* Adjust as needed */ + /* Optional: just for visualization */ +} + +.logo { + max-width: 90%; /* Ensure the logo does not exceed the container width */ + max-height: 90%; /* Ensure the logo does not exceed the container height */ +} + +section .signin .content +{ + position: relative; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + gap: 10px; +} +section .signin .content h2 +{ + + font-size: 2em; + color: rgb(30, 253, 242); + text-transform: uppercase; + margin-top: 50px; + margin-left: 20px; +} +section .signin .content .form +{ + width: 100%; + display: flex; + flex-direction: column; + gap: 1px; +} +.container { + margin: 20px; +} + +#folderPathInput { + width: 625px; + /* padding: 8px; */ + margin-right: 10px; + /* margin-right: 10px; */ + /* transition: all 0.3s ease; */ + +} + +#browseFolderBtn { + /* padding: 8px 20px; */ + padding: 25px 10px 7.5px; + width: 100px; + background-color: #30d6e9; + color: rgb(0, 0, 0); + font-weight: 600; + border: none; + cursor: pointer; + +} +.bold-text { + font-weight: bold; +} + + +.hidden { + display: none; +} + +section .signin .content .form .inputBox +{ + padding: 20px 19px; + position: relative; + width: 100%; +} +section .signin .content .form .inputBox input +{ + position: relative; + width: 100%; + background: #333; + border: none; + outline: none; + padding: 25px 10px 7.5px; + border-radius: 4px; + color: #fff; + font-weight: 500; + font-size: 1em; +} +section .signin .content .form .inputBox i +{ + position: absolute; + left: 0; + padding: 10px 30px; + font-style: normal; + color: #aaa; + margin-bottom: 10px; + transition: 0.5s; + pointer-events: none; +} +.signin .content .form .inputBox input:focus ~ i, +.signin .content .form .inputBox input:valid ~ i +{ + transform: translateY(-7.5px); + font-size: 0.8em; + color: #fff; + +} +/* .signin .content .form .links +{ + position: relative; + width: 100%; + display: flex; + justify-content: space-between; +} */ + +.signin .content .form .links a:nth-child(2) +{ + color: rgb(41, 239, 222); + font-weight: 600; +} +.signin .content .form .inputBox input[type="submit"] +{ + padding: 10px; + background: rgb(27, 223, 213); + color: #000; + font-weight: 600; + font-size: 1.35em; + letter-spacing: 0.05em; + cursor: pointer; +} +input[type="submit"]:active +{ + opacity: 0.6; +} +@media (max-width: 900px) +{ + section span + { + width: calc(10vw - 2px); + height: calc(10vw - 2px); + } +} +@media (max-width: 600px) +{ + section span + { + width: calc(20vw - 2px); + height: calc(20vw - 2px); + } +} \ No newline at end of file diff --git a/front_end/web/css/result_page.css b/front_end/web/css/result_page.css new file mode 100644 index 0000000..43b7ef9 --- /dev/null +++ b/front_end/web/css/result_page.css @@ -0,0 +1,186 @@ +@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap'); +* +{ + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Quicksand', sans-serif; +} +body +{ + display: flex; + justify-content: center; + align-items: center; + min-height: 100vh; + background: #000; +} +section +{ + position: absolute; + width: 100vw; + height: 100vh; + display: flex; + justify-content: center; + align-items: center; + gap: 2px; + flex-wrap: wrap; + overflow: hidden; +} +section::before +{ + content: ''; + position: absolute; + width: 100%; + height: 100%; + background: linear-gradient(#000,rgb(0, 255, 234),#000); + animation: animate 5s linear infinite; +} +@keyframes animate +{ + 0% + { + transform: translateY(-100%); + } + 100% + { + transform: translateY(100%); + } +} +section span +{ + position: relative; + display: block; + width: calc(6.25vw - 2px); + height: calc(6.25vw - 2px); + background: #181818; + z-index: 2; + transition: 1.5s; +} +section span:hover +{ + background: rgb(19, 239, 210); + transition: 0s; +} + +section .signin +{ + position: absolute; + width: 900px; + height: 550px; + background: #222; + z-index: 1000; + display: flex; + justify-content: center; + align-items: center; + padding: 40px; + border-radius: 4px; + box-shadow: 0 15px 35px rgba(0,0,0,9); +} +body { + margin: 0; + padding: 0; + display: flex; + justify-content: center; + align-items: center; + height: 100vh; /* Viewport height */ +} + + +.logo-container { + display: flex; + justify-content: center; + align-items: center; + width: 150px; /* Adjust as needed */ + height: 150px; /* Adjust as needed */ + /* Optional: just for visualization */ +} + +.logo { + max-width: 90%; /* Ensure the logo does not exceed the container width */ + max-height: 90%; /* Ensure the logo does not exceed the container height */ +} + +section .signin .content +{ + position: relative; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + /* gap: 10px; */ +} +section .signin .content h2 +{ + + font-size: 2em; + color: rgb(255, 255, 255); + text-transform: uppercase; + margin-top: 10px; + margin-left: 10px; +} +section .signin .content .form +{ + width: 100%; + display: flex; + flex-direction: column; + gap: 10px; +} + + + + +.back-button { + background-color: #10e8dd; + color: rgb(0, 0, 0); + padding: 10px 15px; + border: none; + border-radius: 5px; + cursor: pointer; + text-decoration: none; + margin-right: auto; /* This will push the button to the right */ +} + +.back-button:hover { + background-color: #0056b3; +} + + +/* styles.css */ +.box { + width: 700px; + height: 300px; + background-color: #10e8dd; + border: 1px solid #10e8dd; + position: relative; /* Required for absolute positioning of .box1 */ +} + +.box1 { + width: 600px; + height: 250px; + background-color: #ffffff; + border: 1px solid #222; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + + + +@media (max-width: 900px) +{ + section span + { + width: calc(10vw - 2px); + height: calc(10vw - 2px); + } +} +@media (max-width: 600px) +{ + section span + { + width: calc(20vw - 2px); + height: calc(20vw - 2px); + } +} \ No newline at end of file diff --git a/front_end/web/css/splash_page.css b/front_end/web/css/splash_page.css new file mode 100644 index 0000000..87bcada --- /dev/null +++ b/front_end/web/css/splash_page.css @@ -0,0 +1,212 @@ +@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap'); +* +{ + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Quicksand', sans-serif; +} +body +{ + display: flex; + justify-content: center; + align-items: center; + min-height: 100vh; + background: #000; +} +section +{ + position: absolute; + width: 100vw; + height: 100vh; + display: flex; + justify-content: center; + align-items: center; + gap: 2px; + flex-wrap: wrap; + overflow: hidden; +} +section::before +{ + content: ''; + position: absolute; + width: 100%; + height: 100%; + background: linear-gradient(#000,rgb(0, 255, 234),#000); + animation: animate 5s linear infinite; +} +@keyframes animate +{ + 0% + { + transform: translateY(-100%); + } + 100% + { + transform: translateY(100%); + } +} +section span +{ + position: relative; + display: block; + width: calc(6.25vw - 2px); + height: calc(6.25vw - 2px); + background: #181818; + z-index: 2; + transition: 1.5s; +} +section span:hover +{ + background: rgb(19, 239, 210); + transition: 0s; +} + +section .signin +{ + position: absolute; + width: 900px; + height: 550px; + background: #222; + z-index: 1000; + display: flex; + justify-content: center; + align-items: center; + padding: 40px; + border-radius: 4px; + box-shadow: 0 15px 35px rgba(0,0,0,9); +} +body { + margin: 0; + padding: 0; + display: flex; + justify-content: center; + align-items: center; + height: 100vh; /* Viewport height */ +} + +.logo-container { + display: flex; + justify-content: center; + align-items: center; + width: 400px; /* Adjust as needed */ + height: 400px; /* Adjust as needed */ + /* Optional: just for visualization */ +} + +.logo { + max-width: 200px; /* Ensure the logo does not exceed the container width */ + max-height: 200px; /* Ensure the logo does not exceed the container height */ +} + +section .signin .content +{ + position: relative; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + gap: 40px; +} +section .signin .content h2 +{ + + font-size: 2em; + color: rgb(30, 253, 242); + text-transform: uppercase; + margin-top: 50px; + margin-left: 20px; +} +section .signin .content .form +{ + width: 100%; + display: flex; + flex-direction: column; + gap: 25px; +} +/* section .signin .content .form .inputBox +{ + padding: 20px 19px; + position: relative; + width: 100%; */ +/* } */ +/* section .signin .content .form .inputBox input +{ + position: relative; + width: 100%; + background: #333; + border: none; + outline: none; + padding: 25px 10px 7.5px; + border-radius: 4px; + color: #fff; + font-weight: 500; + font-size: 1em; +} */ +/* section .signin .content .form .inputBox i +{ + position: absolute; + left: 0; + padding: 10px 30px; + font-style: normal; + color: #aaa; + margin-bottom: 10px; + transition: 0.5s; + pointer-events: none; +} */ +/* .signin .content .form .inputBox input:focus ~ i, +.signin .content .form .inputBox input:valid ~ i +{ + transform: translateY(-7.5px); + font-size: 0.8em; + color: #fff; + +} */ +/* .signin .content .form .links +{ + position: relative; + width: 100%; + display: flex; + justify-content: space-between; +} */ +/* .signin .content .form .links a +{ + color: #fff; + text-decoration: none; +} */ +/* .signin .content .form .links a:nth-child(2) +{ + color: rgb(41, 239, 222); + font-weight: 600; +} */ +/* .signin .content .form .inputBox input[type="submit"] +{ + padding: 10px; + background: rgb(27, 223, 213); + color: #000; + font-weight: 600; + font-size: 1.35em; + letter-spacing: 0.05em; + cursor: pointer; +} */ +/* input[type="submit"]:active +{ + opacity: 0.6; +} */ +@media (max-width: 900px) +{ + section span + { + width: calc(10vw - 2px); + height: calc(10vw - 2px); + } +} +@media (max-width: 600px) +{ + section span + { + width: calc(20vw - 2px); + height: calc(20vw - 2px); + } +} \ No newline at end of file diff --git a/front_end/web/images/archev.png b/front_end/web/images/archev.png new file mode 100644 index 0000000..e260138 Binary files /dev/null and b/front_end/web/images/archev.png differ diff --git a/front_end/web/index.html b/front_end/web/index.html new file mode 100644 index 0000000..fd1e867 --- /dev/null +++ b/front_end/web/index.html @@ -0,0 +1,58 @@ + + + + +
+ + + + + + + + + + +