Giter VIP home page Giter VIP logo

phase1's Introduction

CS152 Project Phase 1 - Lexical Analyzer Generation Using flex

Home Page - Phase1 Lexer

Tools preparation

Make sure you have a Linux environment for this project. You can use 'bolt', your own Linux machine, or Windows Subsystem for Linux(WSL). We highly recommend you directly use 'bolt' since it contains all the necessary tools preinstalled.

ssh <your-net-id>@bolt.cs.ucr.edu

Make sure you have the following tools installed and check the version:

  1. flex -V (>=2.5)
  2. git --version (>=1.8)
  3. make -v (>=3.8)
  4. gcc -v (>=4.8)
  5. g++ -v (>=4.8 optional if you wish to use C++)

Clone and Build

Use 'git' to clone the project template and build it by typing 'make'

    git clone <your-repo-link> phase1
    cd phase1 && make

Use the template

You can change any files and add additional C files, but please make sure all files are linked to the final executable file in Makefile. Please don't change the name of 'Makefile' and 'miniL.lex'. After typing make, An executable file 'miniL' is expected to be created as your phase1 lexer.

Project Submission

  • Start Date: 1/10/21
  • Due Date: 1/16/21

Project submission requires you to commit and push your code to Github after finishing the phase1 project. As the following steps:

git status # it should be under 'main' branch (otherwise you should switch to 'main' branch by typing 'git checkout main')
git add .  # add all files under current folder into staged changes
git commit -m "phase1 submission"  # make a commit for your changes
git push   # push all local commits to Github, this step may need your username and password of Github

Before the deadline, you can create commits and push to Github without any limitation. Please make sure your code under 'main' branch is the last version you wish to submit. After the deadline, please do not push new commits to 'main' branch otherwise it will be considered as a late submission.

image

Project Demo and Grading

The project demo will be held in the next lab section after the due date. All teams should attend it since it's important to ensure that your code can move smoothly to the next phase. Contact your TA if you need to change your demo time. You grade will be updated on eLearn (usually in 1 week after your demo time).

Grading rules Points(%)
Successfully Build 10%
Correctness 80%
Demo 10%

Academic integrity

Copying source code from students in previous semester and other teams will be considered a violation of academic integrity.

phase1's People

Contributors

cyoo9 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.