iviosab / carbonic-c Goto Github PK
View Code? Open in Web Editor NEWLightweight Pascal/Oberon-like imperative programming language
License: BSD 3-Clause "New" or "Revised" License
Lightweight Pascal/Oberon-like imperative programming language
License: BSD 3-Clause "New" or "Revised" License
Input Output syntax
Make a CMake file and reorganize the repo (e.g. https://medium.com/swlh/c-project-structure-for-cmake-67d60135f6f5)
We should add the line number in the AST
some of the rules are written incorrectly
tokens.l:39: warning, rule cannot be matched
tokens.l:40: warning, rule cannot be matched
tokens.l:42: warning, rule cannot be matched
tokens.l:44: warning, rule cannot be matched
tokens.l:46: warning, rule cannot be matched
tokens.l:48: warning, rule cannot be matched
tokens.l:49: warning, rule cannot be matched
tokens.l:50: warning, rule cannot be matched
tokens.l:51: warning, rule cannot be matched
tokens.l:52: warning, rule cannot be matched
tokens.l:53: warning, rule cannot be matched
tokens.l:54: warning, rule cannot be matched
tokens.l:55: warning, rule cannot be matched
tokens.l:56: warning, rule cannot be matched
tokens.l:57: warning, rule cannot be matched
tokens.l:58: warning, rule cannot be matched
tokens.l:60: warning, rule cannot be matched
tokens.l:61: warning, rule cannot be matched
tokens.l:62: warning, rule cannot be matched
tokens.l:63: warning, rule cannot be matched
tokens.l:64: warning, rule cannot be matched
tokens.l:65: warning, rule cannot be matched
tokens.l:66: warning, rule cannot be matched
tokens.l:67: warning, rule cannot be matched
tokens.l:68: warning, rule cannot be matched
I have added a template for the parser file and lexer.h that we should follow to be able to implement the parser. I also added comments in the files and a todo file. Everything should be visible in the parser branch. Please pull the branch to your local machine and see the changes. Warning! Make sure you pull the origin main to the local main so we don't have problems when we try to merge the parser branch to the main in the future.
When run with a specific flag the lexer/whatever else would output tokens or whatever would make debugging easier for the developer
As of now we don't support void routines.
The documentation is deprecated. It should be updated to accommodate for the new technical requirements and provide instructions on how to run the compiler and its components.
title is descriptive enough
It will help us add the 'is' syntax in a more organized way.
For example:
var recordExample : record
var a : int is 0;
var b : real is 2.0;
end is { .a = 1, .b = 3.0};
We should support negative numbers instead of getting parsing error
It is a requirement but there is nothing about running the program without passing any argument.
So, we have 2 options:
1- Start always from main (if it doesn't exist then fail)
2- Like python
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.