Join us on Discord!
You can help CodeWalrus stay online by donating here.

TI-Planet's "Project Builder" with online CE C Compiler

Started by Adriweb, March 19, 2016, 05:04:02 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Adriweb

What's that? C++ you say? LLVM-based building and not just asm-viewing?



That's right, C/C++ building support through jacobly's LLVM-ez80 backend is now available on TI-Planet's Project Builder (in alpha) !
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Alvajoy123

#91
Nice
  • Calculators owned: TI-84+CE
The maker of Xenon.

kotu

looks quite nice actually

is there any option for offline building?
  • Calculators owned: TI 84+CE-T
  • Consoles, mobile devices and vintage computers owned: Sega Master System, Sony PlayStation 3
SUBSCRIBE TO THE FUTURERAVE.UK MAILING LIST
http://futurerave.uk

_iPhoenix_

Perhaps save page to reading list/save for offline viewing.

I haven't tested it, mobile and good websites simply don't mix.
  • Calculators owned: Two TI-84+ CE's
Please spam here: https://legend-of-iphoenix.github.io/spam/

"walruses are better than tuxedo chickens, all hail the great :walrii:" ~ me
Evolution of my avatar:

Snektron

  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


kotu

Quote from: _iPhoenix_ on June 22, 2017, 02:15:13 PM
Perhaps save page to reading list/save for offline viewing.

I haven't tested it, mobile and good websites simply don't mix.
even if that did work, i prefer not to be developing stuff in a browser, i think most ppl would agree
  • Calculators owned: TI 84+CE-T
  • Consoles, mobile devices and vintage computers owned: Sega Master System, Sony PlayStation 3
SUBSCRIBE TO THE FUTURERAVE.UK MAILING LIST
http://futurerave.uk

_iPhoenix_

Quote from: kotu on June 22, 2017, 02:28:54 PM
Quote from: _iPhoenix_ on June 22, 2017, 02:15:13 PM
Perhaps save page to reading list/save for offline viewing.

I haven't tested it, mobile and good websites simply don't mix.
even if that did work, i prefer not to be developing stuff in a browser, i think most ppl would agree
Agreed.

I recommend notepad++ and the C toolchain, then, along with the offline CEmu (the emulator not the C IDE/emulator)
  • Calculators owned: Two TI-84+ CE's
Please spam here: https://legend-of-iphoenix.github.io/spam/

"walruses are better than tuxedo chickens, all hail the great :walrii:" ~ me
Evolution of my avatar:

Adriweb

There's some wrong info in recent posts here, so let me clear that up:

Quote from: kotu on June 22, 2017, 01:54:13 PMis there any option for offline building?
There's no offline building since the PB's nature is to be online (or at least in a context where it's not directly standalone). It's an "IDE" talking to the (server-hosted/setup) CE toolchain which you can get yourself for offline use if that's what you want.
However the PB is the only IDE and toolchain-integrated solution where ez80-llvm is readily available.
For an offline use of LLVM, you'd have to build it yourself, and that has so far be tested on linux and macOS only. The standard llvm takes ages to bulid on windows, though, and this version might not even build on it yet anyway. When finished, you'll have to mess with the toolchain's files to integrate it.

Quote from: Snektron on June 22, 2017, 02:26:10 PMThat backend finally works? Sweet...
Some things aren't there yet, it's quite alpha/experimental... but it's a nice start indeed.
For instance, floats aren't supported yet, and will the build will error if you use them. See https://github.com/jacobly0/llvm-z80/pull/2

Quote from: _iPhoenix_ on June 22, 2017, 02:15:13 PMPerhaps save page to reading list/save for offline viewing.
No, the PB, like a whole lot of modern dynamic webapps, is relying heavily on client-server interaction, for things like file loading/saving, tags fetching, real-time sharing, building, downloading, projects management etc.
What you see on the page is merely the UI side of things which wouldn't really be filled with anything if there were no internet connection available.

Quote from: _iPhoenix_ on June 22, 2017, 02:15:13 PMI haven't tested it, mobile and good websites simply don't mix.
That depends on the website, but considering I've had enough trouble trying to make everything on the PB fit nicely for desktop/laptop-class displays (responsive stuff, togglable panels etc.), there's no way it'll run on mobile, so I disabled it entirely (well, there's a message telling you so)

Quote from: kotu on June 22, 2017, 02:28:54 PMeven if that did work, i prefer not to be developing stuff in a browser, i think most ppl would agree
Not "most people would agree", no, because it highly depends on the goal, when/where you're working on the project, what computer you have access to, what kind of project it is etc.
For instance, if you want to create a project with someone else (or several), it's better to work at the same time, ie with real-time live collaboration. This boosts productivity insanely and avoids conflicts that could otherwise happen if multiple people edit the same portions of code. The PB offers this specifically around a CE-oriented context. Can't really do any better. Critor and I have both used it like that for some CE games, and more recently jacobly, Mateo and I for other pieces of code (especially testing stuff, for the toolchain etc.)
One other goal of the PB is to provide easy access to a CE dev environment without the hassle of having to install the prerequisites/toolchain/emu etc., especially if you're a beginner in this field, or, if for any other reason, you aren't able to install it on the computer you're using.
For more experienced developers that are working on a project on their own, for instance, then of course, there is no real reason to prefer using the PB over a local toolchain+stuff that also happens to work offline. Plus they'll be able to use/configure their dev. tools as they see fit.

Quote from: _iPhoenix_ on June 22, 2017, 02:37:20 PMI recommend notepad++ and the C toolchain, then, along with the offline CEmu (the emulator not the C IDE/emulator)
Note that Notepad++ is a text editor that has some fancy little additions for code, but that's it, it's not an IDE at all, and frankly, can barely be used for anything non-trivial (I wonder how anyone can work without static analysis, smart autocompletion, and tons of other stuff only (some) real IDEs are able to provide).
In fact, the PB is already making a better job as an "IDE" than Notepad++ in several aspects. But that's not really surprising, considering I created C/CE-related specific features on it. For instance, the inline ASM viewer, the ZDS/LLVM diff view, the in-sidebar ctags for code browsing, the JS CEmu integration etc.
Of course, if you want a real IDE, I personally recommend Clion, especially since it's free for students and on other specific cases as well.
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Alvajoy123

If it can't  be moblie later on can you make an app version or a webapp version  :P
  • Calculators owned: TI-84+CE
The maker of Xenon.

_iPhoenix_

Quote from: Alvajoy123 on June 23, 2017, 08:48:21 AM
If it can't  be moblie later on can you make an app version or a webapp version  :P
Easier said than done :)

Programming just isn't really suited for mobile.
  • Calculators owned: Two TI-84+ CE's
Please spam here: https://legend-of-iphoenix.github.io/spam/

"walruses are better than tuxedo chickens, all hail the great :walrii:" ~ me
Evolution of my avatar:

Adriweb

??

Please re-read what I wrote. The PB is already a webapp.
And no, there won't be an offline desktop app for it since you can already have better in terms of IDE and emulator etc: just setup the toolchain as usual, use your favorite IDE, and CEmu right along.
As I was saying, the PB is especially suited for people who can't/won't do that, or want the specific features I made.
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

kotu

  • Calculators owned: TI 84+CE-T
  • Consoles, mobile devices and vintage computers owned: Sega Master System, Sony PlayStation 3
SUBSCRIBE TO THE FUTURERAVE.UK MAILING LIST
http://futurerave.uk

Adriweb

Quite a few updates lately on TI-Planet's Project Builder, mostly following MateoC and Jacobly's feedback :)

New things
  • The ctags (list of symbols/defines/labels...) are available on .inc files too.
  • Autocompletion (for C/C++/ASM) based on words around the cursor (exact match) + ctags (fuzzy search)

  • You're now able to directly download a file individually (under its name or a custom one)
Bugfixes
  • Fixed loading+applying custom UI settings on file switching
  • Fix crash in some cases when the LLVM output was empty
  • Downloading the whole project as a .zip file now correctly includes the ASM and C++ source files.
  • The inline-display of the generated ASM from C only has to be there when using C with ZDS...
Many improvements on ASM code edition:
  • Better syntax-highlighting for eZ80
  • Indenting is now tab-based (and with a width of 8 spaces), as it's the "norm" for ASM.

  • Support of [Ctrl]+MouseOver on variables/labels, pour afficher leur définition. Clic pour y aller.

  • Support of [Ctrl]+MouseOver on documented/commented functions to display their docs ("soon" with Doxygen support). Click to go to it.

  • Support of [Ctrl]+MouseOver on numbers, to display their decimal/hexadecimal conversion. Click to convert.

Enjoy :)

Via https://tiplanet.org/forum/viewtopic.php?f=41&t=18118&p=219477#p219477
  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Adriweb

And now with Autocompletion (fuzzy search) and definition peek from the SDK includes (standard, libs...):



  • Calculators owned: TI-Nspire CX CAS, TI-Nspire CX, TI-Nspire CAS (x3), TI-Nspire (x2), TI-Nspire CM-C CAS, TI-Nspire CAS+, TI-80, TI-82 Stats.fr, TI-82 Plus, TI-83 Plus, TI-83 Plus.fr USB, TI-84+, TI-84+ Pocket SE, TI-84+ C Silver Edition, TI-84 Plus CE, TI-89 Titanium, TI-86, TI-Voyage 200, TI-Collège Plus, TI-Collège Plus Solaire, 3 HP, some Casios
Co-founder & co-administrator of TI-Planet and Inspired-Lua

Snektron

#104
Really starting to shape up! nice work ;)
Does the project builder support non-ez80 / non-ti targets too? just wondering.

Also, an idea might be integration to some kind of versioning like overleaf does. (You can edit LaTeX and host the project on github.)
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Powered by EzPortal