[fixed link] Release 7.0 of ParaSail interpreter, VM, and compiler -- sources plus linux/mac binaries

364 views
Skip to first unread message

Tuck

unread,
Nov 3, 2016, 8:36:22 AM11/3/16
to ParaSail Programming Language

We have just made a release of the ParaSail interpreter, VM, llvm-based compiler, and ParaScope static analysis tool (aka "static catcher of programming errors").  This is version 7.0.  It includes a nearly complete re-write of the llvm-based compiler.  After attempting other approaches, we finally went back to the ParaSail front end and had it annotate every PSVM instruction with a set of virtual register numbers in addition to a stack offset for local variables.  This allows the backend to generate much better LLVM (and eventually will also simplify the job of doing more advanced static analysis).  The compiler also automatically inlines small routines, including routines from the ParaSail standard library, so function call overhead in the presence of layers of abstraction can be much reduced.


This release is the first in a while to include binaries, though it only includes binaries for Mac and Linux (Windows is being difficult ... ;-{).  The release is at:


   http://bit.ly/psl7rel


If you have any problems, please report them here on this ParaSail google group.

Tuck

unread,
Nov 3, 2016, 8:39:32 AM11/3/16
to ParaSail Programming Language
First attempt at this post had an old link "behind" the correctly displayed new link.  This one has both right:

   http://bit.ly/psl7rel

Sorry for the confusion!  -Tuck

Derick Eddington

unread,
Nov 5, 2016, 3:00:17 AM11/5/16
to parasail-progr...@googlegroups.com
Awesome! I look forward to using it.

-- Derick



------------------------------------------------------------

dpt

unread,
Dec 14, 2016, 5:45:43 PM12/14/16
to ParaSail Programming Language
Thanks for the release!

dpt

unread,
Apr 22, 2017, 9:44:17 AM4/22/17
to ParaSail Programming Language
What is the current roadmap?

dpt

unread,
Jul 19, 2017, 3:25:06 PM7/19/17
to ParaSail Programming Language
And here, it's me again. What's the current status?

Tucker Taft

unread,
Jul 19, 2017, 4:09:18 PM7/19/17
to ParaSail Programming Language
Sorry for the very slow response time.  Still working toward passing all arguments in registers for LLVM.  This is made more complicated by fine-grained parallelism where having parameters in registers rather than on the stack is harder to manage when creating work-items on the work-stealing queues.  But the biggest problem is my "day" job... ;-)

-Tuck

--
You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming-language+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

dpt

unread,
Jul 30, 2018, 6:46:36 AM7/30/18
to ParaSail Programming Language
Hi Tuck

Is the project dead? There has been no sign of life since one year.
Also, the parasail-lang website (http://forge.open-do.org/plugins/moinmoin/parasail/) does not work anymore.

Regards

Tucker Taft

unread,
Jul 30, 2018, 12:20:33 PM7/30/18
to ParaSail Programming Language
No the project is not dead.  Sorry about the web site disappearing.  The open-do forge was shut down.  We have begun moving the website to github.

As far as status, we have finally completed the transition to supporting multiple calling conventions in the code generated via LLVM, including passing all parameters in registers (which is the default for calls between ParaSail routines, and is available using "... is import("XXX", #c);" or ".. is import("XXX", #ada);" or "... is import("XXX", #parasail);"

Our current performance bottleneck is various out-of-line run-time routines involved with retrieving information from type descriptors, creating objects, etc.  We are systematically inlining or special-casing these to reduce the overhead.  A new release should be appearing very soon.

-Tuk

Tuck

unread,
Jul 30, 2018, 12:22:28 PM7/30/18
to ParaSail Programming Language


On Monday, July 30, 2018 at 12:20:33 PM UTC-4, Tucker Taft wrote:
 ...

-Tuk

Make that
-Tuck ;-)

Joakim Strandberg

unread,
Aug 1, 2018, 3:54:38 AM8/1/18
to ParaSail Programming Language
Great to hear about the progress!

Best regards,
Joakim

Marius Amado-Alves

unread,
Aug 21, 2018, 9:24:03 AM8/21/18
to ParaSail Programming Language
I'd love to try this wonderful language. Got Cygwin on Windows 7 and a nice GNAT 2018. Maybe Windows not ideal but that's what I've got. Anyway the "make" _almost_ worked, with only a couple errors(?) in the beginning and in the end (lines hilited, if you get this post in "rich" format). Looks like failed dependencies on termcap, readline. Any tips on how to overcome these? Thanks a lot.

/cygdrive/d/ParaSail/parasail_release_7_0
$ make
cd interpreter; ./config.sh
cp: preserving permissions for `psc-interpreter-locks.ads': Permission denied
cp: preserving permissions for `psc-interpreter-locks.adb': Permission denied
Config: PO locks enabled
make -C parser/build
make[1]: Entering directory `/cygdrive/d/ParaSail/parasail_release_7_0/parser/build'
cd ayacc; gnatmake -I../../../aflex_ayacc/ayacc ../../../aflex_ayacc/ayacc/ayacc.adb -o ../bin/ayacc
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/ayacc.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/ayacc_file_names.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/command_line_interface.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/error_report_file.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/options.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/output_file.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/parse_table.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/parser.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/rule_table.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/source_file.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/string_pkg.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/symbol_table.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/tokens_file.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/str_pack.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/string_scanner.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/string_lists.ads
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/actions_file.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/lexical_analyzer.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/parse_template_file.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/goto_file.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/lalr_symbol_info.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/lr0_machine.adb
lr0_machine.adb:436:09: warning: variable "Index" is never read and never assigned
lr0_machine.adb:437:09: warning: variable "Last_Index" is never read and never assigned
lr0_machine.adb:500:09: warning: variable "Index" is never read and never assigned
lr0_machine.adb:501:09: warning: variable "Last_Index" is never read and never assigned
lr0_machine.adb:566:09: warning: variable "Temp_Item" is never read and never assigned
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/shift_reduce_file.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/symbol_info.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/verbose_file.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/lists.adb
lists.adb:530:09: warning: variable "Contents1" is never read and never assigned
lists.adb:531:09: warning: variable "Contents2" is never read and never assigned
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/stack_pkg.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/ragged.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/set_pack.adb
gcc -c -I../../../aflex_ayacc/ayacc/ -I../../../aflex_ayacc/ayacc -I- ../../../aflex_ayacc/ayacc/stack_pack.adb
gnatbind -I../../../aflex_ayacc/ayacc -x ayacc.ali
gnatlink ayacc.ali -o ../bin/ayacc.exe
cd aflex; gnatmake -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN ../../../aflex_ayacc/aflex/aflex.adb -o ../bin/aflex
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/aflex.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/aflex_misc.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/dfa.adb
dfa.adb:88:05: warning: variable "STATE_VAR" is never read and never assigned
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/external_file_manager.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/gen.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/main_body.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/misc_defs.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/template_manager.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/tstring.ads
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/int_io.ads
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/ccl.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/ecs.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/nfa.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/skeleton_manager.adb
skeleton_manager.adb:318:05: warning: variable "LINE_LEN" is never read and never assigned
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/tblcmp.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- D:\ParaSail\parasail_release_7_0\aflex_ayacc\aflex\GEN\parse_tokens.ads
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- D:\ParaSail\parasail_release_7_0\aflex_ayacc\aflex\GEN\scanner.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/aflex_command_line_interface.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- D:\ParaSail\parasail_release_7_0\aflex_ayacc\aflex\GEN\aflex_parser.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/file_string.ads
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/vstrings.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- D:\ParaSail\parasail_release_7_0\aflex_ayacc\aflex\GEN\parse_goto.ads
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- D:\ParaSail\parasail_release_7_0\aflex_ayacc\aflex\GEN\parse_shift_reduce.ads
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- D:\ParaSail\parasail_release_7_0\aflex_ayacc\aflex\GEN\ascan_dfa.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- D:\ParaSail\parasail_release_7_0\aflex_ayacc\aflex\GEN\ascan_io.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/sym.adb
gcc -c -I../../../aflex_ayacc/aflex/ -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -I- ../../../aflex_ayacc/aflex/aflex_scanner.adb
gnatbind -I../../../aflex_ayacc/aflex -I../../../aflex_ayacc/aflex/GEN -x aflex.ali
gnatlink aflex.ali -o ../bin/aflex.exe
make[1]: Leaving directory `/cygdrive/d/ParaSail/parasail_release_7_0/parser/build'
cd testsuite/ParaSail; ../support/clean.sh
cd testsuite/Sparkel;  ../support/clean.sh
cd testsuite/Parython; ../support/clean.sh
cd testsuite/Javallel; ../support/clean.sh
gprbuild -p -p -g -O0 -gnato -gnata -gnatE -gnat95 -P build/parasail -largs
Compile
   [Ada]          parasail_main.adb
   [Ada]          parasail_lex.adb
   [Ada]          parasail_lex_io.adb
   [Ada]          parasail_parser.adb
   [Ada]          psc.ads
   [Ada]          psc-interpreter.adb
psc-interpreter.adb:682:04: warning: types for unchecked conversion have different sizes
psc-interpreter.adb:686:04: warning: types for unchecked conversion have different sizes
psc-interpreter.adb:698:04: warning: types for unchecked conversion have different sizes
   [Ada]          psc-interpreter-io.adb
   [Ada]          psc-interpreter-math.adb
   [Ada]          psc-languages.adb
   [Ada]          psc-syntax.adb
   [Ada]          psc-trees.adb
   [Ada]          psc-trees-semantics.adb
   [Ada]          psc-trees-semantics-translator.adb
   [Ada]          rl_c_interface.adb
   [Ada]          parasail_lex_dfa.adb
   [Ada]          parasail_tokens.ads
   [Ada]          psc-source_positions.adb
   [Ada]          psc-strings.adb
   [Ada]          parasail_goto.ads
   [Ada]          parasail_shift_reduce.ads
   [Ada]          psc-messages.adb
   [Ada]          psc-symbols.adb
   [Ada]          psc-trees-annotation.adb
   [Ada]          psc-trees-assign_stmt.adb
   [Ada]          psc-trees-binary.adb
   [Ada]          psc-trees-block_stmt.adb
   [Ada]          psc-trees-case_construct.adb
   [Ada]          psc-trees-compound_stmt.ads
   [Ada]          psc-trees-conditional.adb
   [Ada]          psc-trees-control_stmt.adb
   [Ada]          psc-trees-for_loop_construct.adb
   [Ada]          psc-trees-identifier.adb
   [Ada]          psc-trees-implements_element.adb
   [Ada]          psc-trees-invocation.adb
   [Ada]          psc-trees-iterator.adb
   [Ada]          psc-trees-lists.adb
   [Ada]          psc-trees-module.adb
   [Ada]          psc-trees-obj_decl.adb
   [Ada]          psc-trees-operation.adb
   [Ada]          psc-trees-param_decl.adb
   [Ada]          psc-trees-property.adb
   [Ada]          psc-trees-qualified_name.adb
   [Ada]          psc-trees-qualifier.adb
   [Ada]          psc-trees-reference.adb
   [Ada]          psc-trees-selection.adb
   [Ada]          psc-trees-type_decl.adb
   [Ada]          psc-trees-unary.adb
   [Ada]          psc-trees-while_stmt.adb
   [Ada]          psc-hash_tables.adb
   [Ada]          psc-interpreter-locks.adb
   [Ada]          psc-per_file_strings.adb
   [Ada]          psc-string_streams.adb
   [Ada]          psc-univ_strings.adb
   [Ada]          psc-vectors.adb
   [Ada]          psc-interpreter-builtins.adb
   [Ada]          psc-command_input.adb
   [Ada]          psc-stream_output.adb
   [Ada]          psc-object_access.adb
   [Ada]          psc-trees-semantics-debug.adb
   [Ada]          psc-trees-semantics-dynamic.adb
   [Ada]          psc-trees-semantics-info.adb
   [Ada]          psc-trees-semantics-static.adb
   [Ada]          psc-versions.adb
   [Ada]          generic_lists.adb
   [Ada]          psc-trees-visitor.adb
   [Ada]          omp_h.ads
   [Ada]          psc-write_const_to_stream.adb
   [Ada]          psc-interpreter-param_signatures.adb
   [Ada]          psc-link_names.ads
   [Ada]          psc-interpreter-param_sig.ads
   [Ada]          psc-interpretations.adb
Bind
   [gprbind]      parasail_main.bexch
   [Ada]          parasail_main.ali
Link
   [link]         parasail_main.adb
d:/gnatpro/18.1/bin/../libexec/gcc/i686-pc-mingw32/6.4.1/ld.exe: cannot find -ltermcap
d:/gnatpro/18.1/bin/../libexec/gcc/i686-pc-mingw32/6.4.1/ld.exe: cannot find -lreadline
collect2.exe: error: ld returned 1 exit status
gprbuild: link of parasail_main.adb failed
make: *** [parasail] Error 4

Tucker Taft

unread,
Aug 21, 2018, 1:21:06 PM8/21/18
to ParaSail Programming Language
The "permission denied" messages are probably OK.  I suspect if you simply delete "interpereter/psc-interpreter-locks.ad?" before starting the "make" they should go away.

As far as "termcap" and "readline", they might be part of mingw, meaning you could just eliminate the "-ltermcap" from build/*.gpr and comment out the line that says:
     pragma Linker_Options("-lreadline");
from interpreter/rl_c_interface.adb. 

If termcap and/or readline are *not* built into your installation of mingw, you can find readline here:


and termcap here:


Note that all use of "readline" is in the single package "RL_C_Interface" and if you eliminate the "with" of tha package from parser/parasail_main.adb, then there is no need to include readline at all.

Let us know whether one of the above approaches is able to solve your problem.

-Tuck

--
You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming...@googlegroups.com.

Marius Amado-Alves

unread,
Aug 22, 2018, 6:33:09 AM8/22/18
to ParaSail Programming Language
Thanks a lot.
Opening a new topic, not to polute this one more than I already did, sorry.

dpt

unread,
Dec 4, 2018, 2:40:02 PM12/4/18
to ParaSail Programming Language
Hi Tucker,

I hereby request a new release. :-)

Best Regards

Daniel Norte Moraes

unread,
Dec 24, 2018, 3:23:28 PM12/24/18
to ParaSail Programming Language
   Hi!
   I am following with hope and interest the development of ParaSail.
   I've tried using many languages and so far Ada has taken my heart. I believe that
in addition to replacing Ada, ParaSail may be something even better than Ada and
expanding significantly in many niches.
   Who knows, maybe even a fashion language? :-)

  Thanks all yours by the excellent work!

  []'s of seventy rounds, Dani. (Happy Merry Christmas, too :-)

Tucker Taft

unread,
Dec 24, 2018, 7:00:26 PM12/24/18
to ParaSail Programming Language
Message Received!  We are at long last finalizing support for preconditions and postconditions.  We'll make a release soon even if we don't quite finish them.

-Tuck

--

dpt

unread,
Feb 3, 2019, 4:16:50 PM2/3/19
to ParaSail Programming Language
Hi Tuck

Is it possible to emit LLVM bitcode instead of the runnable binary?

../bin/pslc.csh -o a.out -O3 -t -d ../examples/hello_main.psl

Regards


On Tuesday, 25 December 2018 01:00:26 UTC+1, Tucker Taft wrote:
Message Received!  We are at long last finalizing support for preconditions and postconditions.  We'll make a release soon even if we don't quite finish them.

-Tuck

On Tue, Dec 4, 2018 at 2:40 PM dpt <dpt...@arcor.de> wrote:
Hi Tucker,

I hereby request a new release. :-)

Best Regards

On Wednesday, 22 August 2018 12:33:09 UTC+2, Marius Amado-Alves wrote:
Thanks a lot.
Opening a new topic, not to polute this one more than I already did, sorry.

--
You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming-language+unsub...@googlegroups.com.

Tucker Taft

unread,
Feb 3, 2019, 5:43:50 PM2/3/19
to ParaSail Programming Language
Use the "-k" switch to pslc.csh to request that the ".ll" file be preserved.

-Tuck
>>> To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming...@googlegroups.com.

dpt

unread,
Feb 3, 2019, 7:00:27 PM2/3/19
to ParaSail Programming Language
Hi Tuck,

I tried

cd tmp && llvm-link ../examples/hello_main.psl.ll ../lib/aaa.psi.ll ../lib/compiler.psl.ll ../lib/reflection.psi.ll ../lib/node_tree.psl.ll ../lib/compiler.psi.ll -only-needed -v -o=a.bc

But GraalVM is still complaining:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at HelloWorld.main(HelloWorld.scala)
Caused by: org.graalvm.polyglot.PolyglotException: Global variable @_psc_global_to_do is declared but not defined.
    at org.graalvm.polyglot.Context.eval(Context.java:335)
    at HelloWorld$.<init>(HelloWorld.scala:27)
    at HelloWorld$.<clinit>(HelloWorld.scala)
    ... 1 more


Where is the global variable "_psc_global_to_do" defined?

Regards

On Sunday, 3 February 2019 23:43:50 UTC+1, Tucker Taft wrote:
Use the "-k" switch to pslc.csh to request that the ".ll" file be preserved.

-Tuck

On Sun, Feb 3, 2019 at 4:16 PM dpt <dpt...@arcor.de> wrote:
>
> Hi Tuck
>
> Is it possible to emit LLVM bitcode instead of the runnable binary?
>
> ../bin/pslc.csh -o a.out -O3 -t -d ../examples/hello_main.psl
>
> Regards
>
> On Tuesday, 25 December 2018 01:00:26 UTC+1, Tucker Taft wrote:
>>
>> Message Received!  We are at long last finalizing support for preconditions and postconditions.  We'll make a release soon even if we don't quite finish them.
>>
>> -Tuck
>>
>> On Tue, Dec 4, 2018 at 2:40 PM dpt <dpt...@arcor.de> wrote:
>>>
>>> Hi Tucker,
>>>
>>> I hereby request a new release. :-)
>>>
>>> Best Regards
>>>
>>> On Wednesday, 22 August 2018 12:33:09 UTC+2, Marius Amado-Alves wrote:
>>>>
>>>> Thanks a lot.
>>>> Opening a new topic, not to polute this one more than I already did, sorry.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming-language+unsub...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming-language+unsub...@googlegroups.com.

Tucker Taft

unread,
Feb 3, 2019, 11:18:19 PM2/3/19
to ParaSail Programming Language
It is defined in interpreter/psc-interpreter.ads using a pragma Export.  So you need to compile the psc-interpreter.ad? as well as a few other Ada files (e.g. psc-interpreter-builtins.ad?), because they provide the "built-in" routines for ParaSail.

-Tuck

>>> To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming...@googlegroups.com.

dpt

unread,
Feb 4, 2019, 5:05:28 AM2/4/19
to ParaSail Programming Language
Hi Tuck

there is currently no LLVM compiler for Ada available.
So, it is not possible to get the full LLVM bitcode from a parasail program, or?

Regards
>>> To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming-language+unsub...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming-language+unsub...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming-language+unsub...@googlegroups.com.

Tucker Taft

unread,
Feb 4, 2019, 8:00:05 AM2/4/19
to ParaSail Programming Language
There is a compiler for Ada 95, which is what the ParaSail tools are written in, which produces C or C++.  From there you could go to LLVM.  Let me know if you would like to use it.

-Tuck

>>> To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming...@googlegroups.com.

dpt

unread,
Feb 4, 2019, 10:11:29 AM2/4/19
to ParaSail Programming Language
Hello Tuck

Yes, I am interested to use the compiler for Ada 95.

Regards
>>> To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming-language+unsub...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming-language+unsub...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming-language+unsub...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "ParaSail Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to parasail-programming-language+unsub...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages