ProCSV Tahiya Chowdhury Tabara Nosiba Tahsina Saosun 2 Hello! - - PowerPoint PPT Presentation

procsv
SMART_READER_LITE
LIVE PREVIEW

ProCSV Tahiya Chowdhury Tabara Nosiba Tahsina Saosun 2 Hello! - - PowerPoint PPT Presentation

ProCSV Tahiya Chowdhury Tabara Nosiba Tahsina Saosun 2 Hello! Name UNI Role1 Role2 Tabara Project tn2341 Tester Nosiba Manager Tahiya Language tc2672 Tester Chowdhury Guru Tahsina Systems ts2931 Tester Saosun Architect 3


slide-1
SLIDE 1

ProCSV

Tahiya Chowdhury Tabara Nosiba Tahsina Saosun

slide-2
SLIDE 2

Hello!

2

Name UNI Role1 Role2 Tabara Nosiba tn2341 Project Manager Tester Tahiya Chowdhury tc2672 Language Guru Tester Tahsina Saosun ts2931 Systems Architect Tester

slide-3
SLIDE 3

Motivation

➢ Data processing ○ Our previous experiences ○ Common problem ➢ Why ProCSV? ○ Streamline process ○ Save some developer time, energy

3

slide-4
SLIDE 4

Our Workflow

Our group met every Friday with our TA, Justin Wong, and worked throughout Friday afternoon and evening. In addition, our group also worked every Saturday morning.

4

slide-5
SLIDE 5

Overview

  • Built on top of Micro-C with C and

Java-like syntax

  • ProCSV is statically typed
  • Consists of built-in functions that allow

for easy parsing, comparing, searching, and reading.

5

slide-6
SLIDE 6

The Architecture

Scanner

6

Parser Abstract Syntax Tree Semantic Code Generation LLVM

slide-7
SLIDE 7

Data Types

7

Primitive

  • Boolean
  • Integer
  • Float

Primitives

  • int
  • float
  • bool

Non- Primitive

  • string
slide-8
SLIDE 8

Declarations

Simple: Local:

int a;

void main(){

float c; c = 2.0; }

Global:

int b; int main(){ b = 42; }

8

slide-9
SLIDE 9

Operators

9

  • +, -, *, /, % - arithmetic integer
  • perators
  • ==, <, >, <=, >= - numerical
  • perators
  • ||, &&, ! - logical operators
  • = - assignment operator
  • ++, -- - increment, decrement
  • perators
slide-10
SLIDE 10

Built-In Functions ★ print_string() ★ print_float() ★ read_csv() ★ parse() ★ find() ★ sim()

10

slide-11
SLIDE 11

Test Suite ➔ Added tests on top of microc suite ➔ Passing & failing cases for each feature ➔ Automated via bash shell script, testall.sh

11

slide-12
SLIDE 12

Project Timeline

1. Set up own work environment 2. Started from scratch while referencing previous codebases 3. Started to set up own test suite a. ran into issues with codebase 4. Once microc available, started building on top of microc a. Mod working all across 5. print_string(“hello world”) working 6. float, increment, decrement working 7. parse(), read_csv() functions working 8. find(), sim() functions working 9. demo code implemented 10. Final report

12

slide-13
SLIDE 13

The Lessons We Learned

13

  • We learned the importance of working in

vertical slices

  • The need for a clean repository
  • Importance of understanding the entire

codebase

  • Staying on track with a schedule
slide-14
SLIDE 14

Demo

14

slide-15
SLIDE 15

Thanks!

Questions?

15