albs
play

ALBS Suhani Singhal - ss4925 Brennan Wallace - bgw2119 Steep - PowerPoint PPT Presentation

ALBS Suhani Singhal - ss4925 Brennan Wallace - bgw2119 Steep learning curve LLVM OCaml = + 2000+ LOC 88 test cases MicroC++ 100+ commits +Arrays +Structs +Printing +Casting Features Arrays Multiline Comments


  1. ALBS Suhani Singhal - ss4925 Brennan Wallace - bgw2119

  2. Steep learning curve LLVM OCaml = + 2000+ LOC 88 test cases MicroC++ 100+ commits +Arrays +Structs +Printing +Casting

  3. Features ● Arrays ● Multiline Comments ● Procedural ● Structs ● Implicit casting ● Functions ● Operators ● I/O functions ● Data Types ○ Binary ○ Mutable ○ Unary ○ Static typing ○ Primitives ■ Integers { : int} main = [ ■ Floats print("Hello World!"); ■ Characters rtn 0; ■ Booleans ] ■ Void

  4. AST Global vars Program Structs Functions Name vars Datatype Name Formals Locals Body

  5. Compiler Architecture Program file Scanner Paser .sb extension File to Tokens Tokens to AST Semantic Codegen LLVM code Checker AST to LLVM .ll extension Checks AST

  6. Arrays I/O chr c; flt[] array; array = new flt[2]; while(c != '\r'){ array[0] = 2.3; c = getchar(); array[1] = 5.2; print(c); } print(arr[0]); Implicit casting Datatypes int i; int j; int i; i = 2; chr c; bln b; j = i + ‘a’; flt f;

  7. Structs Functions struct Person[ {int flt bln : chr} helloWorld = i f b [ int age; if(b){ flt weight; print(“Hello”); chr gender; print(f); ] } rtn ‘a’; ] {:int}main = [ {flt[] bln : chr} helloWorld = f_arr b [ struct Person p; if(b){ print(“Hello”); p.age = 20; print(f_arr[0]); p.gender = ‘f’; } p.weight = 120.5; rtn 0; rtn ‘a’; ] ]

  8. Demo Time Credits: Prof. Stephen Edwards, Jacob Graff

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend