Code Monkey home page Code Monkey logo

interpreter's Introduction

Rampthon interpreter

Dit is een nederlandse versie van python/C. Dit is gemaakt als opdracht voor mijn opleiding technische informatica aan de hu. Voor de opdracht moest de interpreter geheel functioneel zijn.

Werking interpreter.

In tokenize.py wordt een file omgezet naar tokens. Deze tokens worden in een 2d matrix terug gegeven. Het tokentype staat gespecificeert in token_type.py. Een token bevat: type, value en het line nummer. Mogelijke types zijn:

  • INT
  • STRING
  • OPERATOR
  • KEYWORD
  • ID.

In value word opgeslagen wat de waarde opgeslagen die ingelezen is.

**Interpreter.py: ** worden alle tokens afgegaan en waar nodig een bewerking uitgevoerd. Zo is het mogelijk om een wiskunde operatie uit te voeren of te printen doormiddel van het keyword toon. Bij een assigment wordt de waarde opgeslagen in de program state. De programstate is een dict. Wanneer er bijvoorbeeld i is 10 wordt ingegeven zal i met de waarde 10 opgeslagen worden in de dictionairy program state. Voor deze dictionairy is de file program_state.py.

In de file operators.py staan operators gespecificeerd.

Hoe te gebruiken?

Door de file main.py uit te voeren wordt de interpreter gestart. De gebruiker zal hier om een source file gevraagd worden. Geef de naam van uw source file op (.txt) wanneer de source file in de zelfde map als de main.py file staat anders geeft u het volledige path naar de file op (gebruik forward slash /). In de repo zit een voorbeeld.txt source file.

syntax Rampthon python syntax
toon variable of string print()
is =
"" ''
maal *
plus +
min -
deel /
groter >
kleiner <
groterOfgelijk >=
kleinerOfgelijk =<
gelijk ==
nietGelijk !=
als <statement> einde_als if ()
anders else
anders als <statement> eind_als if else
zolang <statement> eind_zolang while

Voor de laatste 4 rijen in de tabel geld dat de instructie en het statement op 1 regel moet.

Voorbeelden:

While.

while loop die 10 keer uitgevoerd wordt met i als counter.

i is 0 
zolang i kleiner 10 eind_zolang i is i plus 1

if / else statement.

If statement waarin wordt gekeken of de variabele getal kleiner is dan 2. Als dit het geval is wort er True geprint anders False.

getal is 1 
als getal kleiner 2 eind_als toon "True"
anders toon "False"

Na uitvoer zal er in dit geval dus True geprint worden in de console.

interpreter's People

Contributors

ramonvbemmel 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.