fly-lang / fly Goto Github PK
View Code? Open in Web Editor NEWThe Fly programming language
License: Apache License 2.0
The Fly programming language
License: Apache License 2.0
I tried to download the tar.gz file for Mac, but an error is thrown:
Unable to expand "https__github.com_fly-lang_releases_download_v0.2.0_fly-0.2.0-macos-x86_64.tar.gz". It is in an unsupported format.
Related to: Syntax: define package, imports and namespace
A single source file:
More source files:
Add package
keywords to:
fly/include/Basic/TokenKinds.def
Line 113 in 35589d5
The structure type is used to represent a collection of data members together in memory. The elements of a structure may be any type that has a size.
Each programming languages use a different kind of block delimiter, for functions and statements defining:
Chose the Fly solution for maintaining code readability and ease of use.
Each AST class need to to have a print() function that write the content like the fly language does.
Example:
ASTFunction::print()
public void test() {
...
}
The links of the logo and the website are dead.
Refactoring from Parser to CodeGen for including error management.
Remove not useful assertions.
Related to: Syntax: define package, imports and namespace
A single source file of Fly code must be able:
Add import
keywords to:
fly/include/Basic/TokenKinds.def
Line 113 in 35589d5
Define the syntax for the best approach for defining a package, importing, and use in the code.
Following some programming language examples:
Easy, readable and powerful
LLVM Module Management
How to demarcate boundaries between two separate statements?
Define statement terminator for using to demarcate the end of an individual statement and its implicit behavior:
Following different examples from known languages, chose the best syntax (combination permitted) by considering the most readable solution. You can also make a different proposal.
def printme( str ):
print str
return true
fn printme(str: String) -> bool {
println!(str);
return true;
}
bool printme(char str*) {
cout << str;
return true;
}
function printme(str) {
alert(str)
return true;
}
func printme(str string) bool {
fmt.Println(str)
return true
}
Add business from Parser to CodeGen for ASTFunctionClass
Enable comments by following options:
For more Options:
https://en.wikipedia.org/wiki/Comment_(computer_programming)
How to declare a variable in two scopes:
A var can be accessed from all functions in that package. This var needs to be declared out the functions and not initialized, can be initialized only into a function.
A var can be accessed from only elements in the same function where declared.
Define the conditional keywords and punctuators by considering the connected issue Syntax: define the block of code delimiter.
The function can have parameters by reference.
int get(int &a, int b) {
a = 2
return 1
}
Find the right way to remove void from builtin types and use only in function types
Define the main types for variables and constants to be used in the code considering to manage the common data types: integer and float numbers, boolean, strings, and array.
Moreover, it's important to expect:
Think about it is better to include other built-in data types.
Add these data types:
double (float double precision)
long (64 bit long)
Import External/Internal Module into a LLVM Module by creating dependency.
Enable Linker to build a single file ready to be executed in a target machine.
Create the Fly Base Library based on llvm libc
Define the cycling keywords and punctuators by considering the connected issue Syntax: define the block of code delimiter.
There are different Type System in a programming language:
https://www.destroyallsoftware.com/compendium/types?share_key=baf6b67369843fa2
Use llvm::StringRef for all words from the source file in Parser, AST, Sema and CodeGen.
Chose the representation of the following operators:
Add a base ASTCondition Class for:
Each block of code need to be debuggable
Add string as data type
Create Types:
int
for integer type numbers of 32bits
float
for floating point decimal numbers of 32bits
bool
for boolean types of 1 bits
How to declare a constant in two different scopes:
A constant can be accessed from all functions in that package. This constant needs to be declared out the functions and immediately initialized.
A constant can be accessed from only elements in the same function where declared.
Function Var Args
func(int a...) {
}
Define the Comment Parser based on #8
Store comments in AST respectively
Permit to compile code for debugging by option -g
Create global vars with default values:
int a
create a var with default value 0
float b
create b var with default value 0
bool c
create c var with default value false
Create global vars with assigned values:
int a=1
create a var with value 1
float b=1.0
create b var with value 1.0
bool c=true
create c var with value true
Global vars can be defined only after package definition:
package packageA
int a=1
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.