#My Programming language for Game Engines

62 messages · Page 1 of 1 (latest)

serene oasis
#

I'm making a program language for Game engines because of the lack of low level control over memory programming languages that are easy to analyze like getting class names and class fields for my game engine.

I'm looking for feedback to see how I can improve it since I had no luck sharing it on Reddit.

It already supports
-byte,int32,uintptr,float ,Strings,char
-Structs, Generics, aliases.
-Constructors and destructors(needs more testing), Function over loading and operator overloading.
-if,while,for loops.
and more

Also some help would be nice.

https://github.com/LostbBlizzard/UCodeLang

GitHub

A high level progaming language designed to be fast to write, to compile and to run for game engines. - GitHub - LostbBlizzard/UCodeLang: A high level progaming language designed to be fast to writ...

serene oasis
mortal basin
#

oh i refreshed and it showed up. ok github

#

sorry for the ping in that case

#

i refreshed again and another 404. wtf

serene oasis
mortal basin
#

i have no idea what is going on (firefox on ubuntu)

#

the page loaded once so maybe they are just having server issues

#

i can load your user page just fine

#

i cloned it shrug

serene oasis
mortal basin
#

i see premake

mortal basin
#

this seems like a lot of effort has been put into it. unfortunately i am getting an error building

UCodeLang/Compliation/Front/SystematicAnalysis/Expression/FuncCallNode.cpp: In member function ‘UCodeLang::Optional<std::optional<UCodeLang::FrontEnd::SystematicAnalysis::Get_FuncInfo> > UCodeLang::FrontEnd::SystematicAnalysis::Type_FuncinferGenerics(UCodeLang::Vector<UCodeLang::FrontEnd::TypeSymbol>&, UCodeLang::Vector<UCodeLang::FrontEnd::ParInfo>&, const UCodeLang::FrontEnd::UseGenericsNode*, UCodeLang::FrontEnd::Symbol*, bool)’:
UCodeLang/Compliation/Front/SystematicAnalysis/Expression/FuncCallNode.cpp:2159:21: error: converting to ‘UCodeLang::Optional<std::optional<UCodeLang::FrontEnd::SystematicAnalysis::Get_FuncInfo> >’ {aka ‘std::optional<std::optional<UCodeLang::FrontEnd::SystematicAnalysis::Get_FuncInfo> >’} from initializer list would use explicit constructor ‘constexpr std::optional<_Tp>::optional(std::in_place_t, _Args&& ...) [with _Args = {}; typename std::enable_if<__and_v<std::is_constructible<_Tp, _Args ...> >, bool>::type <anonymous> = false; _Tp = std::optional<UCodeLang::FrontEnd::SystematicAnalysis::Get_FuncInfo>]’
 2159 |         return { {} };
      |                     ^
UCodeLang/Compliation/Front/SystematicAnalysis/Expression/FuncCallNode.cpp:2159:21: error: converting to ‘std::in_place_t’ from initializer list would use explicit constructor ‘constexpr std::in_place_t::in_place_t()’
``` this error goes away when i use `std::nullopt` or `{std::nullopt}`
serene oasis
#

I added support for Linux but I don't believe I updated the main branch for it

mortal basin
#

oh i didnt even think to check the branches lol

serene oasis
#

I'll try compileing for Linux right now

#

yea it's take while a about 7 minutes to compile. Since I did update some the core files

serene oasis
vivid timber
#

a lot of typos in the readme, might be good idea to fix them to look more professional

proper hull
#

How about giving it a more C++ like syntax with High level features keeping in mind

serene oasis
#

I also really like the illusion of simplicity significant white space add.through it's a personal preference.

serene oasis
mortal basin
# serene oasis I can't really find them and can you show them to me. My brain likes anto correc...

i ran the codespell tool on your repo and there are many many more, but this is from the readme analysis: ```
kyle@kyle-desktop:~/Code/UCodeLang$ codespell README.md
README.md:15: progaming ==> programming
README.md:38: Reuseable ==> Reusable
README.md:88: makeing ==> making
README.md:89: removeing ==> removing
README.md:102: Progaming ==> Programming
README.md:202: useing ==> using
README.md:211: Varables ==> Variables
README.md:212: Varables ==> Variables
README.md:214: RCall ==> recall
README.md:218: Varables ==> Variables
README.md:219: Varables ==> Variables
README.md:229: Dependencys ==> Dependencies
README.md:231: debuging ==> debugging
README.md:251: geting ==> getting
README.md:291: debuging ==> debugging
README.md:292: happends ==> happens
README.md:294: funcions ==> functions
README.md:301: useing ==> using
README.md:306: funcions ==> functions
README.md:310: Compliation ==> Compilation
README.md:316: Compliation ==> Compilation
README.md:336: useing ==> using
README.md:336: debuger ==> debugger
README.md:337: realy ==> really, relay
README.md:344: possable ==> possible
README.md:351: beter ==> better
README.md:357: branche ==> branch, branches, branched
README.md:396: usefull ==> useful
README.md:400: specificaly ==> specifically
README.md:400: stil ==> still
README.md:400: makeing ==> making
README.md:404: writeing ==> writing
README.md:404: makeing ==> making
README.md:419: progaming ==> programming
README.md:419: realy ==> really, relay
README.md:424: makeing ==> making
README.md:424: useing ==> using
README.md:424: realy ==> really, relay
README.md:430: makeing ==> making
README.md:430: finsh ==> finish, finch
README.md:430: belive ==> believe
README.md:432: progaming ==> programming
README.md:435: beter ==> better

#

RCall is a false positive

serene oasis
#

thanks guys

mortal basin
#

id recommend running it on your whole codebase though those typos dont matter as much :P

serene oasis
#

yea I did. I'll be back when I'm done.

vivid timber
#

i like the python like syntax but im not entirely set on the special characters

#

personally id like the syntax to involve the least amount of typing while maintaining readability

#

and to not have to do special key combinations very often

#

if you use python like syntax why not drop the ; entirely?

serene oasis
#
$Vec2:
  int x;
  int y;

vs

$Vec2: 
 int x
 int y
#

oh for the | for declaring functions. It is kind of my reaction to seeing new language progressively have shorter function starters.

function => func => fun => fn.

So I said let's just finish it off.

vivid timber
#

f could work 🙂

serene oasis
#

Weekly Progress update.
-fixed bugs in UcodeBackend.
-All of the Standard Library gets Compiled.
-Added Color,ColorRGB,Color32,Color24 Types to Standard Library.
-Minor renames in Standard Library.
-Project wide typo fix.
-Added Casting to float to ints and float to ints.
-Updated Doc for Standard Library and API reference.
-cpptoulangvm can properly deal with references.
-got ECS Example working.

rough bolt
#

Since I'm new to C++, I don't know how to use programming languages made on C++ 😅 Can you please tell me how I can use it please?

serene oasis
rough bolt
#

Also I noticed that you made an IDE. How can I use that?

serene oasis
rough bolt
#

Ok thanks 😄

serene oasis
#

I'll be on a break for the project worked on it for about 10 months straight. I'll go learn rust and vim in that time.

serene oasis
#

Working on Compiler optimizations and SSA form.

fleet egret
serene oasis
#

I'll try to work on control flow based optimization this week.converting loops into calloc,memset,memcpy.

serene oasis
serene oasis
#

got it compileing to wasm.

serene oasis
#

Trying to get the playground to work so it will be easier for people to test and try it out.

serene oasis
#

I also I know that using the space moves page down I'm trying to find a way to fix that.

slate spoke
#

This is very intesting!

serene oasis
#

Woking On WebAssembly.

#

At this rate I'll have 1.0.0 soon.

#

Just have to stabilize UCodeVm,C11,Wasm Backends and the stabilize the Standard Library.

proper hull