Skip to content

Commit

Permalink
Merge branch 'master' into nqp_pct
Browse files Browse the repository at this point in the history
  • Loading branch information
Benabik committed Aug 18, 2011
2 parents 559ced1 + 865c881 commit 21ba7f8
Show file tree
Hide file tree
Showing 69 changed files with 10,892 additions and 9,762 deletions.
14 changes: 13 additions & 1 deletion CREDITS
Expand Up @@ -8,7 +8,7 @@
grepping and beautification by scripts.
The fields are: name (N), email (E), web-address (W),
description (D), main username (U), alias usernames (A)
and snail-mail address (S).
and geographic location (S).

Thanks,

Expand Down Expand Up @@ -454,6 +454,12 @@ A: gerd
E: pokorra@uni-siegen.de
D: Release manager for 1.9.0, 2.3.0, 2.5.0, 2.8.0, 2.9.0, 3.2.0 and 3.4.0

N: Gerhard R.
U: gerdr
A: not_gerd
W: http://gerdr.github.com/on-parrot/
D: MSYS fixes

N: Goplat
D: Win98 and other fixes.

Expand Down Expand Up @@ -579,6 +585,12 @@ D: coding standard tests
N: John Paul Wallington
D: pir-mode.el: fix for xemacs plus bugfixes and cleanups

N: Jonathan Gentle
E: atrodo@atrodo.org
U: atrodo
A: atrodo
S: Ohio, USA

N: Jonathan "Duke" Leto
E: jonathan@leto.net
W: http://leto.net
Expand Down
4 changes: 4 additions & 0 deletions ChangeLog
@@ -1,5 +1,9 @@
#1

2011.08.15 coke
* Released 3.7.0
See NEWS for more information.

2011.07.19 jkeenan
* Released 3.6.0
See NEWS for more information.
Expand Down
2 changes: 2 additions & 0 deletions MANIFEST
Expand Up @@ -591,6 +591,8 @@ examples/languages/abc/t/abc_special_variables [examples]
examples/languages/abc/t/abc_statement [examples]
examples/languages/squaak/MAINTAINER [examples]
examples/languages/squaak/README [examples]
examples/languages/squaak/doc/pct-stages.png [examples]
examples/languages/squaak/doc/pct-stages.svg [examples]
examples/languages/squaak/doc/tutorial_episode_1.pod [examples]
examples/languages/squaak/doc/tutorial_episode_2.pod [examples]
examples/languages/squaak/doc/tutorial_episode_3.pod [examples]
Expand Down
6 changes: 2 additions & 4 deletions MANIFEST.generated
@@ -1,11 +1,11 @@
# See tools/dev/install_files.pl for documentation on the
# format of this file.
# Please re-sort this file after *EVERY* modification
blib/lib/libparrot.3.6.0.dylib [main]lib
blib/lib/libparrot.3.7.0.dylib [main]lib
blib/lib/libparrot.a [main]lib
blib/lib/libparrot.dylib [main]lib
blib/lib/libparrot.so [main]lib
blib/lib/libparrot.so.3.6.0 [main]lib
blib/lib/libparrot.so.3.7.0 [main]lib
compilers/data_json/data_json.pbc [data_json]
config/gen/call_list/opengl.in []
docs/ops/bit.pod [doc]
Expand Down Expand Up @@ -143,8 +143,6 @@ installable_parrot-prove.exe [main]bin
installable_parrot.exe [main]bin
installable_parrot_config [main]bin
installable_parrot_config.exe [main]bin
installable_parrot_debugger [main]bin
installable_parrot_debugger.exe [main]bin
installable_parrot_nci_thunk_gen [main]bin
installable_pbc_disassemble [main]bin
installable_pbc_disassemble.exe [main]bin
Expand Down
11 changes: 11 additions & 0 deletions NEWS
@@ -1,6 +1,17 @@
New in 3.7.0
- Core
+ Added mem_sys_strndup function.
+ Added new load_bytecode_p_s opcode as an eventual replacement for load_bytecode_s
+ Added new :tag() syntax to IMCC for PIR
+ Improved configuration support for msys
+ known-buggy parrot_debugger is no longer installed
- Languages
+ Winxed
- Updated snapshot to version 1.1.0
- multi functions and methods
- cast to var
- load_packfile builtin
- __NAMESPACE__ and __CLASS__ predefined constants
- Documentation
+ The Archive::Tar and Archive::Zip libraries now have POD docs
- Tests
Expand Down
2 changes: 1 addition & 1 deletion README
@@ -1,4 +1,4 @@
This is Parrot, version 3.6.0
This is Parrot, version 3.7.0
------------------------------

Parrot is Copyright (C) 2001-2011, Parrot Foundation.
Expand Down
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
3.6.0
3.7.0
1 change: 1 addition & 0 deletions api.yaml
Expand Up @@ -17,6 +17,7 @@
tags:
- 'C'
- 'deprecated'
- 'completed'
ticket: 'http://trac.parrot.org/parrot/ticket/2010'
-
name: '":init" Sub flag'
Expand Down
1 change: 1 addition & 0 deletions compilers/imcc/imcc.l
Expand Up @@ -308,6 +308,7 @@ SP [ ]
<emit,INITIAL>":init" return INIT;
<emit,INITIAL>":immediate" return IMMEDIATE;
<emit,INITIAL>":postcomp" return POSTCOMP;
<emit,INITIAL>":tag" return SUBTAG;
<emit,INITIAL>":anon" return ANON;
<emit,INITIAL>":outer" return OUTER;
<emit,INITIAL>":lex" return NEED_LEX;
Expand Down
141 changes: 90 additions & 51 deletions compilers/imcc/imcc.y
Expand Up @@ -1054,7 +1054,7 @@ do_loadlib(ARGMOD(imc_info_t *imcc), ARGIN(const char *lib))
%token <t> PCC_BEGIN PCC_END PCC_CALL PCC_SUB PCC_BEGIN_RETURN PCC_END_RETURN
%token <t> PCC_BEGIN_YIELD PCC_END_YIELD INVOCANT
%token <t> MAIN LOAD INIT IMMEDIATE POSTCOMP METHOD ANON OUTER NEED_LEX
%token <t> MULTI VTABLE_METHOD LOADLIB SUB_INSTANCE_OF SUBID
%token <t> MULTI SUBTAG VTABLE_METHOD LOADLIB SUB_INSTANCE_OF SUBID
%token <t> NS_ENTRY
%token <s> LABEL
%token <t> EMIT EOM
Expand All @@ -1071,9 +1071,10 @@ do_loadlib(ARGMOD(imc_info_t *imcc), ARGIN(const char *lib))
%type <i> pcc_sub_call
%type <sr> sub_param pcc_arg pcc_result pcc_args pcc_results sub_param_type_def
%type <sr> pcc_returns pcc_yields pcc_return pcc_call arg arglist the_sub multi_type
%type <sr> subtags
%type <t> argtype_list argtype paramtype_list paramtype
%type <t> pcc_return_many
%type <t> proto sub_proto sub_proto_list multi multi_types outer
%type <t> proto sub_proto sub_proto_list multi subtag multi_types outer
%type <t> vtable instanceof subid
%type <t> method ns_entry_name
%type <i> instruction assignment conditional_statement labeled_inst opt_label op_assign
Expand Down Expand Up @@ -1407,6 +1408,76 @@ multi:
MULTI '(' multi_types ')' { $$ = 0; }
;

multi_types:
/* empty */
{
add_pcc_multi(imcc, imcc->cur_call, NULL);
}
| multi_types COMMA multi_type
{
$$ = 0;
add_pcc_multi(imcc, imcc->cur_call, $3);
}
| multi_type
{
$$ = 0;
add_pcc_multi(imcc, imcc->cur_call, $1);
}
;

multi_type:
INTV { $$ = mk_const(imcc, "INTVAL", 'S'); }
| FLOATV { $$ = mk_const(imcc, "FLOATVAL", 'S'); }
| PMCV { $$ = mk_const(imcc, "PMC", 'S'); }
| STRINGV { $$ = mk_const(imcc, "STRING", 'S'); }
| IDENTIFIER
{
SymReg *r;
if (strcmp($1, "_") != 0)
r = mk_const(imcc, $1, 'S');
else {
r = mk_const(imcc, "PMC", 'S');
}
mem_sys_free($1);
$$ = r;
}
| STRINGC
{
SymReg *r;
if (strcmp($1, "\"_\"") == 0 || strcmp($1, "'_'") == 0)
r = mk_const(imcc, "PMC", 'S');
else {
r = mk_const(imcc, $1, 'S');
}
mem_sys_free($1);
$$ = r;
}
| '[' keylist ']' { $$ = $2; }
;


subtag:
SUBTAG '(' subtags ')' { $$ = 0; }
;

subtags:
subtags COMMA STRINGC
{
SymReg * const r = mk_const(imcc, $3, 'S');
add_pcc_flag_str(imcc, imcc->cur_call, r);
mem_sys_free($3);
$$ = r;
}
| STRINGC
{
SymReg * const r = mk_const(imcc, $1, 'S');
add_pcc_flag_str(imcc, imcc->cur_call, r);
mem_sys_free($1);
$$ = r;
}
;


outer:
OUTER '(' STRINGC ')'
{
Expand Down Expand Up @@ -1491,53 +1562,6 @@ subid:
}
;

multi_types:
/* empty */
{
add_pcc_multi(imcc, imcc->cur_call, NULL);
}
| multi_types COMMA multi_type
{
$$ = 0;
add_pcc_multi(imcc, imcc->cur_call, $3);
}
| multi_type
{
$$ = 0;
add_pcc_multi(imcc, imcc->cur_call, $1);
}
;

multi_type:
INTV { $$ = mk_const(imcc, "INTVAL", 'S'); }
| FLOATV { $$ = mk_const(imcc, "FLOATVAL", 'S'); }
| PMCV { $$ = mk_const(imcc, "PMC", 'S'); }
| STRINGV { $$ = mk_const(imcc, "STRING", 'S'); }
| IDENTIFIER
{
SymReg *r;
if (strcmp($1, "_") != 0)
r = mk_const(imcc, $1, 'S');
else {
r = mk_const(imcc, "PMC", 'S');
}
mem_sys_free($1);
$$ = r;
}
| STRINGC
{
SymReg *r;
if (strcmp($1, "_") != 0)
r = mk_const(imcc, $1, 'S');
else {
r = mk_const(imcc, "PMC", 'S');
}
mem_sys_free($1);
$$ = r;
}
| '[' keylist ']' { $$ = $2; }
;

sub_body:
/* empty */
| statements
Expand Down Expand Up @@ -1590,14 +1614,29 @@ sub_proto_list:
;

proto:
LOAD { $$ = P_LOAD; }
| INIT { $$ = P_INIT; }
LOAD {
$$ = P_LOAD;
/*
SymReg * const r = mk_const(imcc, "load", 'S');
add_pcc_flag_str(imcc, imcc->cur_call, r);
$$ = r;
*/
}
| INIT {
$$ = P_INIT;
/*
SymReg * const r = mk_const(imcc, "load", 'S');
add_pcc_flag_str(imcc, imcc->cur_call, r);
$$ = r;
*/
}
| MAIN { $$ = P_MAIN; }
| IMMEDIATE { $$ = P_IMMEDIATE; }
| POSTCOMP { $$ = P_POSTCOMP; }
| ANON { $$ = P_ANON; }
| NEED_LEX { $$ = P_NEED_LEX; }
| multi
| subtag
| outer
| vtable
| method
Expand Down

0 comments on commit 21ba7f8

Please sign in to comment.