Coder Social home page Coder Social logo

pop's People

Contributors

i8087 avatar

Watchers

 avatar

pop's Issues

Calling bug

Calling a method causes problems. The compiler will not clean up properly after a call. The stack will corrupt, including the location of methods, which means #5 was never actually fixed.

Structures

Adding structures would be a stepping stone to adding class support and allow for advanced data types.

An example structure will look like this:

struct somestruct:
    int a
    short b
    byte c
    #etc...

It should be used like this:

somestruct mystruct
mystruct.a = 10
int d = mystruct.a + 1 # d is now 11
# etc...

Add Classes

Classes would allow the language to become extremely powerful and useful. Remember, a pop class will just be a special structure in assembly.

Test 6 method bug

When building test6.pop, there's a hit an miss chance of it working or crashing when class b calls its humanAge() method.

test6.pop source code as of now:

import stdlib.pop

class dog:

    func empty bark():
        println("Bark!")

    func empty woof():
        println("Woof!")

    func empty humanAge(int a):
        println(a*7)

func int main():
    # Initialize an instance of the class.
    dog b

    # Run the class's methods.
    b.bark()
    b.woof()
    b.humanAge(3)

Lexer Line Numbering Error

The line numbering in the lexer is broken. See the parser code for the new line numbering format that should fix this problem.

Linux Support

Adding Linux support would be helpful since it's used by many developers.

Structure allocation

Structures are allocated on the stack, but it's not setup properly. It would be better to just allocate structures in the heap and only have a reference of it on the stack.

Returning bug

Any program, even a blank one with a main function, has difficulty returning, it'll wait a decent amount of seconds before doing so, but it leaves and returns a correct errorlevel.

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.