OpenSpin - Open source Spin/PASM compiler in C/C++

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Open source Spin/PASM compiler in C/C++

Beitrag von TuxFan »

kuroneko hat geschrieben:.... Die aktuelle Version ist jetzt hier zu finden https://github.com/reltham/OpenSpin.git
Danke für den Link, aber es erfolgt die selbe Meldung wie zuvor.
Dies war unter Xubuntu 13.10 auf dem Netbook, mit Kubuntu 12.04 auf meinem Minidesktop hat es komischerweise funktioniert. Wie ich weiter oben schon mal schrieb, open source ist nicht aller Probleme Lösung und ein oftmals steiniger Weg. :?
Schönen Sonntag noch.
Gruß
TuxFan
Wunder gibt es immer wieder.......
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

TuxFan hat geschrieben:
kuroneko hat geschrieben:.... Die aktuelle Version ist jetzt hier zu finden https://github.com/reltham/OpenSpin.git
Danke für den Link, aber es erfolgt die selbe Meldung wie zuvor.
Dies war unter Xubuntu 13.10 auf dem Netbook, mit Kubuntu 12.04 auf meinem Minidesktop hat es komischerweise funktioniert. Wie ich weiter oben schon mal schrieb, open source ist nicht aller Probleme Lösung und ein oftmals steiniger Weg. :?
Jajaaa... die stricmp-Verschwörung...
*seufz!*
Roy bekommt das sicher in den Griff wenn er die Versionsnummern der Ubuntixe erfährt, auf denen das noch knallt...

Kann man dank GITHUB nun Issues melden ohne sich erst anmelden zu müssen?

----------8<----------
EDIT 20140309: Die Wanze ist gemeldet: http://forums.parallax.com/showthread.p ... ost1249337
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

[url=http://forums.parallax.com/showthread.php/157834?p=1300600&viewfull=1#post1300600]Re: LameStation is the new maintainer of Propeller IDE[/url] Beitrag #28 Ken Gracey hat geschrieben:
Brett Weir hat geschrieben:OpenSpin does not support this yet, but Parallax is waking up to the limitations of the available compilers and is doing something about it.
Waking up?

Brett, internally we have a different set of requirements for improvements to OpenSpin. We are setting out to do dead code removal with Roy. Please get with Jeff on the other issues so we're on the same page - we don't want to lose compatibility along the way.

Ken Gracey
(Farbliche Hervorhebung verzapft von mir...)
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Open source Spin/PASM compiler in C/C++

Beitrag von TuxFan »

Moin moin!
Sodele, hab heute Nachmittag mal openspin und PropellerIDE auf Xubuntu 14.04 compiliert und funktioniert schon mal.
Nur wundersamerweise funktioniert die letzte openspin Version (selbst kompiliert) nicht mit SimpleIDE zusammen. :?
Muß ich mal genauer betrachten.........
Gruß
TuxFan
Wunder gibt es immer wieder.......
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

Ist's vielleicht dieser Fehler?
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Open source Spin/PASM compiler in C/C++

Beitrag von TuxFan »

yeti hat geschrieben:Ist's vielleicht dieser Fehler?
Ich glaube nicht, eher ist die Möglichkeit einen anderen Pfad für den Compiler anzugeben eingeschränkt. Es steht der alte und der neue Pfad (SimpleIDE) hintereinander in der Fehlermeldung. Beim Neustart von SimpleIDE ist der neue Pfad verschwunden. Sehr merkwürden............ :?
Wunder gibt es immer wieder.......
Benutzeravatar
TuxFan
Beiträge: 1022
Registriert: So 6. Sep 2009, 11:18

Re: Open source Spin/PASM compiler in C/C++

Beitrag von TuxFan »

Moin moin!
Hab die ganze Prozedur nochmal neu gemacht und PropellerIDE und openspin nochmal installiert. Dann hab ich als root mit dem Dateimanager openspin von /opt/propelleride/bin nach /opt/parallax/bin kopiert. Nun läuft es auch mit SimpleIDE. Der Fehler liegt eindeutig bei SimpleIDE, so wie zuvor beschrieben.
Gruß
TuxFan
Wunder gibt es immer wieder.......
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

Es tut sich was im Lande jenseits der Riesenpfütze... :-)
https://github.com/parallaxinc/OpenSpin/commit/c3c0454b2809f4da34e00f1500e22f89707abd48 hat geschrieben:Added Unused method Removal, Updated to VS2013

Increased case_limit to 256. (issue #5)
Added a new Unused Method Removal option (-u). This option still needs
testing, use with caution. (Issue #9)
Increased the pubcon list buffer size to 32K. (issue #14)
Fixed a crash bug in the preprocessor. (issue #16)
Renamed a few .c files to .cpp.
The solution & project files are now VS2013 format. You can get VS2013
community edition free.
\o\  \o/  /o/  "Minus-Uhhh"  \o\  \o/  /o/

....totalgemeinhochoberblöderweisiglichst kompeilert es nicht aber nur bis zu einer Fehlermeldung... :-(

Ich denke mal, daß dies auch noch genug Anderen auffallen wird und bombadiere daher den OberOpenSpinMeister erstmal nicht mit mit KompiliertNichtLogs...

Nach Spezialbehandlung per 'CFLAGS=-fpermissive make' erhält man dann doch ein Ergebnis (getestet auf Debian8/amd64), aber es gibt sicher intelligentere Lösungen das von GCC bemäkelte Casten von ‘unsigned char*’ zu ‘unsigned int’ zu umgehen...

----------8----------

Edit war da und meinte:

...und schon am ersten Versuch mit "-u" (ASCII-Mandelbrötchen backen) verschluckt sich "-u"...

Code: Alles auswählen

(yeti@aurora:6)~/wrk/propeller/spinsim$ openspin-1.00.72 -L lib -u main.spin 
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2015 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.72 Compiled on Mar 16 2015 17:25:32
Compiling...
main.spin
|-conio.spin
Done.
Speicherzugriffsfehler
...ohne "-u" entstand ein "main.binary"...

----------8<----------

Edit wedelte mit einem Patch vom OberOpenSpinHeld und siehe da...

Code: Alles auswählen

(yeti@aurora:6)~/wrk/propeller/spinsim$ openspin-1.00.72 -L lib main.spin
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2015 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.72 Compiled on Mar 16 2015 18:14:51
Compiling...
main.spin
|-conio.spin
Done.
Program size is 584 bytes
(yeti@aurora:6)~/wrk/propeller/spinsim$ openspin-1.00.72 -L lib main.spin -u
Propeller Spin/PASM Compiler 'OpenSpin' (c)2012-2015 Parallax Inc. DBA Parallax Semiconductor.
Version 1.00.72 Compiled on Mar 16 2015 18:14:51
Compiling...
main.spin
|-conio.spin
Done.
|-conio.spin
Done.
Program size is 292 bytes
(yeti@aurora:6)~/wrk/propeller/spinsim$ /opt/parallax/bin/spinsim main.binary 
!!!!!!!!!!!!!!!"""""""""""""(&###$('$)*'&%)*####################"""""""""""""""+
!!!!!!!!!!!!!"""""""""$,%)##'1%$%$%%')#######$0'%+$$%'0(%&-$$1%$####$"""""""""""
!!!!!!!!!!!"""""""%$)###$&&)+%%'%)#######$)%%&&$$'&%4&(+,)+3'$$$&%'&####)$""""""
!!!!!!!!!"""""()&##$$$,'$,$$'&#######5%&(/)$$$$)+%%&'1*99/**)(%+$$$%%(####'%$"""
!!!!!!!!""""(##$%-+%%%%%%$#######)+)('%$$$$&%%))&)'/,9999999+'&%%%&($$$/####$$('
!!!!!!!"""#%-+($%$(2$%########&')$$$$$'&%&'-,+)-(+)*/999999..)+('&&&&/&&$&###$&&
!!!!!!""-)&%&&%%$##########$$$$$%.1'%%&+&'+.99908999999999999999/+.9739)%*$####'
!!!!!"$&+$/$##########$$$/)+*'&%%%%,4&&'+-+799999999999999999999999997(&++$$####
!!!!"6+%#######')$$$)%&(,,**-+''(-*('((/259999999999999999999999999994,)4-&$%###
!!!!+###9'(&(($$&)(*%*0*20922+89-7,)),*99999999999999999999999999999999+''*$&'##
!!!!#,%'&&)$$$*(%%%%+''++.7999999999902999999999999999999999999999999999'%0$,'-#
!!!#'$$$$$$%'**&**)).24.69999999999999999999999999999999999999999999999'(%)$$%&#
!!!69999999999999999999999999999999999999999999999999999999999999992++'&(%*$$(%#
!!!#'$$$$$$%'**&**)).24.69999999999999999999999999999999999999999999999'(%)$$%&#
!!!!#,%'&&)$$$,(%%%%1''++.7999999999902999999999999999999999999999999998'%-$+')#
!!!!9###+'(&(($$&)(+%*/*30926+69-7,)),*99999999999999999999999999999998+''-$&'##
!!!!"+*%#######')$$$)%&(,1**-+''(4*('((0259999999999999999999999999994,)47&$%###
!!!!!"$&*$+$##########$$$/)0)'&%%%%+*&&'+-+799999999999999999999999999(&/5$$####
!!!!!!"",)&%&&%%$##########$$$$$%+,'%%&6&'+.99908999999999999999/+.9939)%*$####'
!!!!!!!"""#%+3($%$()$%########&'*$$$$$'&%&'/,+)0(+)*/999999..)+('&&&&/&&$&###$&&
!!!!!!!!""""(##$%,+%%%%%%$#######)+)('%$$$$&%%))&)'2,9999999+'&%%%&($$$.####$$('
!!!!!!!!!"""""*)&##$$$)'$+$$'&#######6%&(,,$$$$),%%&'-*99/**)(%*$$$%%(####'%$"""
!!!!!!!!!!!"""""""%$,###$&&-.%%'%)#######$)%%&&$$'&%.&(+,)+/'$$$&%'&####*$""""""
!!!!!!!!!!!!!"""""""""$*%)##'*%$%$%%')#######$2'%5$$%'0(%&0$$)%$####$"""""""""""
!!!!!!!!!!!!!!!"""""""""""""(&###$('$+*'&%)0####################""""""""""""""")
..."-u" geht es schon vieeeel besser! ;-D

----------8<-----{Edit meint @2015-04-25}----->8----------

Edit hat im Threadstart rumgewütet und statisch gelinkte Kompilate für Debian8-amd64, Debian8-i386 und Debian7-armhf dortens versteckt...
Zuletzt geändert von yeti am Fr 27. Mai 2016, 08:18, insgesamt 1-mal geändert.
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

TuxFan hat geschrieben:Homespun sieht mir auch nach one man band aus, dazu nicht quelloffen, wenn der Bearbeiter umfällt.......... :cry:.
Spät und per Zufall bin ich mal wieder über den Homepsun-Thread im hintergroßtümpeligen Forum gestolpert.

Homespun macht nimmer die BST-Bauchlandung... :P

Die One-Man-Show-Zeiten von Homespun sind durch Verfügbarkeit der Quellen nun doch schon 'ne Weile lang vorbei... irgendwie erinnere ich in diesem Kontext aber kein weltumspannendes Jubeln über die Freigabe der Quellen... hmmm... seltsam...
http://forums.parallax.com/showthread.php/106401 hat geschrieben:Edit: 2013-05-27
Released source under MIT license.
Also haben wir im Quelltext:
  • Sphinxcompiler auf SphinxOS (und in neueren Spinixversionen)
  • den Spinix-schen Spincompiler
  • Homespun
  • OpenSpin
Hab ich einen Mitbewerber übersehen?
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Benutzeravatar
yeti
Beiträge: 2300
Registriert: Fr 27. Aug 2010, 14:48
Wohnort: Wrong Planet
Kontaktdaten:

Re: Open source Spin/PASM compiler in C/C++

Beitrag von yeti »

Rauskicking von überflüssigem Code war ja schon 'ne Weile in Arbeit, nun scheint Roy das Thema für hinreichend gereift für eine weltweite Ankündigung zu halten:
In [url=http://forums.parallax.com/showthread.php/161062?p=1330160&viewfull=1#post1330160]OpenSpin 1.00.76 Now with Unused Method Removal[/url] [url=http://forums.parallax.com/member.php/54047-Roy-Eltham]Roy Eltham[/url] hat geschrieben: OpenSpin 1.00.76 Now with Unused Method Removal

Get it here: https://github.com/parallaxinc/OpenSpin/releases

The new Unused Method Removal feature is now working. It will remove unused Spin methods, and even whole unused objects. Even if it removes a whole object, the CON's in it will still be usable (e.g. object#conValue). It doesn't remove unused DAT sections unless the entire object is unused (no spin methods are ever called).

The only Spin methods it has trouble removing are ones called by coginit or cognew. Those will be left in even if the function containing the coginit/cognew is removed. It's something that may be addressed in a future update, but for now it's a pretty minor limitation.

It's reasonably solid now, but still needs more testing. Please check it out.
OpenSpin ist damit in Sachen Optimierungen noch nicht auf gleicher Nasenhöhe wie BSTC (oder es optimiert heimlich und es wurden auch keine öffentlichen Verlautbarungen dazu abgegeben), aber im Gegensatz zum toten Pferd BSTC hat OpenSpin eine Zukunft... man kann Parallax bzw Roy sicherlich noch zu manch Verbesserung motivieren...

Also ran an die Tasten! :D

----------8<----{Edit-20151109 meint: Update!}----->8----------

Es gab einen Fix im Dead-Code-Rauswerfing: https://github.com/parallaxinc/OpenSpin ... -154999964

----------8<----{Edit-20151110 meint: Update!}----->8----------

Überraschung! Es gab wieder mal einen Fix im Dead-Code-Rauswerfing in selbiger Angelegenheit wie gestern und einen Inkrement der Versionsnummer, mithin also auf Version 1.00.78...

----------8<----{Edit-20151223 meint: Update!}----->8----------

Für die von mir im Threadstart angebäppten Binärchen spielen die neuesten Änderungen keine Rolle, aber egal... frische ZIPs sind an gewohntem Ort zu finden...

----------8<----{Edit-20160117 meint: Update!}----->8----------

Der Glitch mit den nicht bemerkten überlangen Konstanten ist also nun auch raus...

----------8<----{Das Ende! Echt jetzt, ey!}----->8----------
Zuletzt geändert von yeti am Di 31. Mai 2016, 06:50, insgesamt 1-mal geändert.
𝖂𝖎𝖗 𝖐𝖔̈𝖓𝖓𝖊𝖓 𝖆𝖑𝖑𝖊𝖘 𝖆𝖚𝖘𝖘𝖊𝖗 𝖎𝖓 𝕱𝖗𝖚̈𝖍𝖑𝖎𝖓𝖌, 𝕾𝖔𝖒𝖒𝖊𝖗, 𝕳𝖊𝖗𝖇𝖘𝖙 𝖚𝖓𝖉 𝖂𝖎𝖓𝖙𝖊𝖗! – 𝕯𝖊𝖚𝖙𝖘𝖈𝖍𝖑𝖆𝖓𝖉.
"Du willst hier nicht klicken. Dies interessiert Dich nicht." — Yeti.
"DNA is a four letter word!" — Yeti.
Antworten