File tree Expand file tree Collapse file tree 3 files changed +92
-0
lines changed Expand file tree Collapse file tree 3 files changed +92
-0
lines changed Original file line number Diff line number Diff line change 1+ # That worked!  
2+ 
3+ You successfully created this repository from the template.
4+ 
5+ To get started now, we prepared two branches for you, containing the starter code for Java and Haskell.
6+ You can open a Pull Request for this repository by simply clicking on the link of your choice:
7+ 
8+ [ Java] ( REPO_REF/compare/main...starter/java ) 
9+ 
10+ [ Haskell] ( REPO_REF/compare/main...starter/haskell ) 
11+ 
12+ Have fun!
Original file line number Diff line number Diff line change 1+ name : Choose the starter code of your choice 
2+ on :
3+   push :
4+     branches : [main] 
5+ 
6+ jobs :
7+   prepare-repo :
8+     name : Prepare repository 
9+     runs-on : ubuntu-latest 
10+     if : github.repository != 'LS-Lab/Compilers-course-code-template' 
11+     permissions :
12+       contents : write  #  we need to push!
13+ 
14+     steps :
15+       - name : Checkout fresh repository 
16+         uses : actions/checkout@v4 
17+ 
18+       - name : Setup Git user 
19+         run : | 
20+           git config user.email "[email protected] " 21+           git config user.name "GitHub Action"   
22+        
23+       - name : Add original remote 
24+         run : | 
25+           git remote add original https://github.com/LS-Lab/Compilers-course-code-template 
26+           git fetch original 
27+ 
28+        - name : Create Haskell branch 
29+         run : | 
30+           git switch -c starter/haskell original/haskell 
31+           git rebase -Xtheirs main  
32+           git push --set-upstream origin starter/haskell 
33+ 
34+        - name : Create Java branch 
35+         run : | 
36+           git switch -c starter/java original/java 
37+           git rebase -Xtheirs main 
38+           git push --set-upstream origin starter/java 
39+ 
40+        - name : Edit README and remove this workflow 
41+         run : | 
42+           git switch main 
43+           mv .github/workflows/README_success.md README.md 
44+           sed -i "s|REPO_REF|${{ github.server_url }}/${{ github.repository }}|g" README.md 
45+           rm -r .github/workflows/starter-code.yaml 
46+           git add . 
47+           git commit -m "Prepare Repository for usage" 
48+ 
49+        - name : Push changes 
50+ 51+         with :
52+           branch : main 
53+           github_token : ${{ secrets.GITHUB_TOKEN }} 
Original file line number Diff line number Diff line change 1+ # Compiler Design Starter Code  
2+ 
3+ This repository contains starter code for the Compiler Design course 2025.
4+ The code can be found in the ` java `  and ` haskell `  branches.
5+ 
6+ There are several options how you can access the code:
7+ 
8+ ## Forking (recommended)  
9+ 
10+ This is a template repository.
11+ That means you will find a fancy "Use this template" button on the top right.
12+ By creating a new repository from that, you are almost ready to go.
13+ You will receive further instructions once you got that part right and the GitHub Action
14+ had time to run.
15+ 
16+ ## Downloading a ZIP File  
17+ 
18+ You can also directly download a ZIP file containing the starter code.
19+ As you might notice, the starter code isn't on this branch.
20+ That means you have to select either the ` java `  or the ` haskell `  branch.
21+ Then, you can use the integrated ` Download ZIP `  button.
22+ 
23+ ## Cloning and Pushing  
24+ 
25+ You can obviously also just clone this repository and push its content to wherever you want.
26+ If you plan to do that, you likely know what you're doing.
27+ 
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments