Giter Club home page Giter Club logo

flatb-compiler's Introduction

FlatB Compiler

Running the code

Build the compiler in the src/ directory using the following commands

cd src/
make
./bcc <test file>

bcc is the compiler executable file. Use it to compile any code written in flatB language.

Description

The language consists of 2 blocks, declaration block and codeblock . The declaration block consists of all the variable declarations and it's mandatory that all variables have to be declared in the declaration block before using them in the codeblock. The codeblock everything else other than variable declarations.

declblock {
// All variable declarations go here
}
codeblock{
// Main logic of the program ( shouldnot include variable declarations)
}

Syntax

  • Variable Declarations
int data, array[100];
int sum;
  • For Loop
for i = 1, 100 {
	.....
}

for i = 1, 100, 2 {
	.....      // Value of i varies from 1 to 100 with step size 2.
}

for i = expr1, expr2, expr3 {
	.....      // Value of i varies from expr1 to expr3 with step size expr3
}
  • if-else statement
if expression {
      ....
}

if expression {
	...
}
else {
       ....
}
  • while statement
while expression {

}
  • conditional and unconditional goto
got label
goto label if expression
  • IO Statements
print "blah...blah", val
println "new line at the end"
read sum
read data[i]

flatb-compiler's People

Contributors

sairamkolla avatar

Stargazers

 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.