Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

include a snapshot of winxed installable compiler and driver and set …

…the parrot config system to build and install them
  • Loading branch information...
commit b7355295499bb9709179f61b9806e985145cfe1c 1 parent 47df0fb
@NotFound NotFound authored
View
4 MANIFEST
@@ -862,6 +862,10 @@ ext/nqp-rx/t/p6regex/rx_modifiers [test]
ext/nqp-rx/t/p6regex/rx_quantifiers [test]
ext/nqp-rx/t/p6regex/rx_subrules [test]
ext/nqp-rx/t/p6regex/rx_syntax [test]
+ext/winxed/Defines.mak []
+ext/winxed/Rules.mak []
+ext/winxed/compiler.pir []
+ext/winxed/driver.pir []
frontend/parrot/main.c []
frontend/parrot_debugger/main.c []
frontend/pbc_dump/main.c []
View
3  MANIFEST.generated
@@ -153,6 +153,8 @@ installable_pbc_merge [main]bin
installable_pbc_merge.exe [main]bin
installable_pbc_to_exe [main]bin
installable_pbc_to_exe.exe [main]bin
+installable_winxed [main]bin
+installable_winxed.exe [main]bin
lib/Parrot/Config/Generated.pm [devel]lib
lib/Parrot/PMC.pm [devel]lib
lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm [devel]lib
@@ -248,6 +250,7 @@ runtime/parrot/include/tm.pasm [main]
runtime/parrot/include/vtable_methods.pasm [main]
runtime/parrot/include/warnings.pasm [main]
runtime/parrot/languages/JSON/JSON.pir [data_json]
+runtime/parrot/languages/winxed/winxed.pbc [winxed]
runtime/parrot/library/Archive/Tar.pbc [main]
runtime/parrot/library/Archive/Zip.pbc [main]
runtime/parrot/library/CGI/QueryHash.pbc [main]
View
11 config/gen/makefiles/root.in
@@ -131,6 +131,7 @@ include compilers/pct/Defines.mak
include compilers/opsc/Defines.mak
include ext/nqp-rx/Defines.mak
include compilers/data_json/Defines.mak
+include ext/winxed/Defines.mak
###############################################################################
#
@@ -530,6 +531,7 @@ NQP_RX = .@slash@parrot-nqp$(EXE)
NCI_THUNK_GEN = .@slash@parrot_nci_thunk_gen$(EXE)
PROVE = .@slash@parrot-prove$(EXE)
OPS2C = .@slash@ops2c$(EXE)
+WINXED = .@slash@winxed$(EXE)
# Installable executables
INSTALLABLEPARROT = .@slash@installable_parrot$(EXE)
@@ -543,6 +545,7 @@ INSTALLABLENQP = .@slash@installable_parrot-nqp$(EXE)
INSTALLABLENCITHUNKGEN = .@slash@installable_parrot_nci_thunk_gen$(EXE)
INSTALLABLEPROVE = .@slash@installable_parrot-prove$(EXE)
INSTALLABLEOPS2C = .@slash@installable_ops2c$(EXE)
+INSTALLABLEWINXED = .@slash@installable_winxed$(EXE)
# Libraries
LIBPARROT_STATIC = @blib_dir@/@libparrot_static@
@@ -624,6 +627,8 @@ all : \
$(DATA_JSON_LIB_PBCS) \
$(JSON_LANG) \
$(NQP_LIB_PBCS) \
+ $(WINXED_LANG) \
+ $(WINXED) \
#IF(has_dynamic_linking): $(DYNOPLIBS_TARGETS) \
#IF(has_dynamic_linking): $(LIBNCI_TEST_SO) \
$(GEN_LIBRARY) \
@@ -834,7 +839,7 @@ world : parrot_utils
parrot_utils : all $(PDUMP) $(DIS) $(PDB) $(PBC_MERGE) $(PBC_TO_EXE) $(PARROT_CONFIG) src/install_config$(O) $(PROVE) $(OPS2C)
-installable: all $(INSTALLABLEPARROT) $(INSTALLABLEPDUMP) $(INSTALLABLEDIS) $(INSTALLABLEPDB) $(INSTALLABLEPBC_MERGE) $(INSTALLABLEPBCTOEXE) $(INSTALLABLECONFIG) $(INSTALLABLENQP) $(INSTALLABLENCITHUNKGEN) $(INSTALLABLEPROVE) $(INSTALLABLEOPS2C)
+installable: all $(INSTALLABLEPARROT) $(INSTALLABLEPDUMP) $(INSTALLABLEDIS) $(INSTALLABLEPDB) $(INSTALLABLEPBC_MERGE) $(INSTALLABLEPBCTOEXE) $(INSTALLABLECONFIG) $(INSTALLABLENQP) $(INSTALLABLENCITHUNKGEN) $(INSTALLABLEPROVE) $(INSTALLABLEOPS2C) $(INSTALLABLEWINXED)
bootstrap-ops : $(OPS2C)
$(OPS2C) --core --quiet
@@ -2250,6 +2255,7 @@ clean : \
$(RM_F) $(DYNOPLIBS_CLEANUPS) $(DYNPMC_CLEANUPS)
$(RM_F) $(GEN_PASM_INCLUDES) $(GEN_PM_INCLUDES)
$(RM_F) $(NQPRX_CLEANUPS) $(OPSC_CLEANUPS)
+ $(RM_F) $(WINXED_CLEANUPS)
$(RM_RF) blib
prog-clean :
@@ -2269,11 +2275,13 @@ prog-clean :
$(INSTALLABLENQP) \
$(INSTALLABLENCITHUNKGEN) \
$(INSTALLABLEPROVE) \
+ $(INSTALLABLEWINXED) \
pbc_to_exe.pbc pbc_to_exe.c pbc_to_exe$(O) pbc_to_exe$(EXE) \
$(NCI_THUNK_GEN) parrot_nci_thunk_gen.c parrot_nci_thunk_gen$(O) parrot_nci_thunk_gen.pbc \
ops2c.pbc ops2c.c ops2c$(O) ops2c$(EXE) ops2c.pir \
parrot-prove.pbc parrot-prove.c parrot-prove$(O) parrot-prove$(EXE) \
parrot_config$(EXE) parrot_config.c parrot_config$(O) parrot_config.pbc \
+ winxed.pbc winxed.c winxed$(O) $(WINXED) \
compilers/imcc/main$(O) \
$(PDUMP) frontend/pbc_dump/main$(O) frontend/pbc_dump/packdump$(O) \
$(PDB) frontend/parrot_debugger/main$(O) \
@@ -3053,6 +3061,7 @@ include compilers/opsc/Rules.mak
include compilers/tge/Rules.mak
include compilers/data_json/Rules.mak
include ext/nqp-rx/Rules.mak
+include ext/winxed/Rules.mak
# Local variables:
# mode: makefile
View
3  ext/winxed/Defines.mak
@@ -0,0 +1,3 @@
+WINXED_LANG = runtime/parrot/languages/winxed/winxed.pbc
+
+WINXED_CLEANUPS = $(WINXED_LANG)
View
14 ext/winxed/Rules.mak
@@ -0,0 +1,14 @@
+# Build winxed snapshot.
+
+$(WINXED_LANG): ext/winxed/compiler.pir $(PARROT)
+ $(MKPATH) runtime/parrot/languages/winxed
+ $(PARROT) -o $@ ext/winxed/compiler.pir
+
+winxed.pbc: ext/winxed/driver.pir $(PARROT)
+ $(PARROT) -o $@ ext/winxed/driver.pir
+
+$(WINXED) : winxed.pbc $(PBC_TO_EXE)
+ $(PBC_TO_EXE) winxed.pbc
+
+$(INSTALLABLEWINXED) : winxed.pbc src/install_config$(O) $(PBC_TO_EXE)
+ $(PBC_TO_EXE) winxed.pbc --install
View
29,121 ext/winxed/compiler.pir
29,121 additions, 0 deletions not shown
View
701 ext/winxed/driver.pir
@@ -0,0 +1,701 @@
+# Begin generated code
+
+
+.sub initial_load_bytecode :anon :load :init
+ load_bytecode 'Getopt/Obj.pbc'
+.end
+
+# end libs
+.namespace [ ]
+# Constant DEBUG evaluated at compile time
+.namespace [ 'WinxedDriverOptions' ]
+
+.sub 'WinxedDriverOptions' :method
+ .param pmc __ARG_1
+# Body
+# {
+.annotate 'file', 'winxed_installed.winxed'
+.annotate 'line', 21
+# var options: $P1
+ root_new $P1, ['parrot';'ResizablePMCArray']
+.annotate 'line', 22
+ root_new $P4, ['parrot';'ResizablePMCArray']
+ box $P5, 'c'
+ push $P4, $P5
+ box $P5, 'Compile to pir'
+ push $P4, $P5
+.annotate 'line', 21
+ push $P1, $P4
+.annotate 'line', 23
+ root_new $P6, ['parrot';'ResizablePMCArray']
+ box $P7, 'e=s'
+ push $P6, $P7
+ box $P7, 'Evaluate'
+ push $P6, $P7
+.annotate 'line', 21
+ push $P1, $P6
+.annotate 'line', 24
+ root_new $P8, ['parrot';'ResizablePMCArray']
+ box $P9, 'o=s'
+ push $P8, $P9
+ box $P9, 'Object name'
+ push $P8, $P9
+.annotate 'line', 21
+ push $P1, $P8
+.annotate 'line', 25
+ root_new $P10, ['parrot';'ResizablePMCArray']
+ box $P11, 'target=s'
+ push $P10, $P11
+ box $P11, 'Set target type'
+ push $P10, $P11
+.annotate 'line', 21
+ push $P1, $P10
+.annotate 'line', 26
+ root_new $P12, ['parrot';'ResizablePMCArray']
+ box $P13, 'L=s'
+ push $P12, $P13
+ box $P13, 'Add to parrot library search path'
+ push $P12, $P13
+.annotate 'line', 21
+ push $P1, $P12
+.annotate 'line', 27
+ root_new $P14, ['parrot';'ResizablePMCArray']
+ box $P15, 'I=s'
+ push $P14, $P15
+ box $P15, 'Add to parrot include search path'
+ push $P14, $P15
+.annotate 'line', 21
+ push $P1, $P14
+.annotate 'line', 28
+ root_new $P16, ['parrot';'ResizablePMCArray']
+ box $P17, 'nowarn'
+ push $P16, $P17
+ box $P17, 'No warnings'
+ push $P16, $P17
+.annotate 'line', 21
+ push $P1, $P16
+.annotate 'line', 29
+ root_new $P18, ['parrot';'ResizablePMCArray']
+ box $P19, 'noan'
+ push $P18, $P19
+ box $P19, 'No code annotations'
+ push $P18, $P19
+.annotate 'line', 21
+ push $P1, $P18
+.annotate 'line', 30
+ root_new $P20, ['parrot';'ResizablePMCArray']
+ box $P21, 'help'
+ push $P20, $P21
+ box $P21, 'Show this help'
+ push $P20, $P21
+.annotate 'line', 21
+ push $P1, $P20
+.annotate 'line', 32
+ setattribute self, 'options', $P1
+.annotate 'line', 33
+ iter $P22, $P1
+ set $P22, 0
+ __label_1: # for iteration
+ unless $P22 goto __label_2
+ shift $P2, $P22
+.annotate 'line', 34
+ $P3 = $P2[0]
+ self.'push_string'($P3)
+ goto __label_1
+ __label_2: # endfor
+.annotate 'line', 35
+ self.'notOptStop'(1)
+.annotate 'line', 36
+ $P4 = __ARG_1.'shift'()
+ setattribute self, 'name', $P4
+.annotate 'line', 37
+ $P4 = self.'get_options'(__ARG_1)
+ setattribute self, 'opts', $P4
+# }
+.annotate 'line', 38
+
+.end # WinxedDriverOptions
+
+
+.sub 'getbool' :method
+ .param string __ARG_1
+# Body
+# {
+.annotate 'line', 41
+# var value: $P1
+ getattribute $P2, self, 'opts'
+ $P1 = $P2[__ARG_1]
+.annotate 'line', 42
+ isnull $I1, $P1
+ not $I1
+ .return($I1)
+# }
+.annotate 'line', 43
+
+.end # getbool
+
+
+.sub 'getstring' :method
+ .param string __ARG_1
+# Body
+# {
+.annotate 'line', 46
+# var value: $P1
+ getattribute $P2, self, 'opts'
+ $P1 = $P2[__ARG_1]
+.annotate 'line', 47
+# result: $S1
+ null $S1
+.annotate 'line', 48
+ if_null $P1, __label_1
+.annotate 'line', 49
+ set $S1, $P1
+ __label_1: # endif
+.annotate 'line', 50
+ .return($S1)
+# }
+.annotate 'line', 51
+
+.end # getstring
+
+
+.sub 'showhelp' :method
+# Body
+# {
+.annotate 'line', 54
+ getattribute $P2, self, 'name'
+# predefined say
+ print 'Usage: '
+ print $P2
+ say ' [options] [program] [args]'
+# predefined say
+.annotate 'line', 55
+ say ' Available options:'
+.annotate 'line', 56
+# l: $I1
+ null $I1
+.annotate 'line', 57
+# i: $I2
+ null $I2
+.annotate 'line', 58
+# var o: $P1
+ null $P1
+.annotate 'line', 59
+ getattribute $P2, self, 'options'
+ iter $P3, $P2
+ set $P3, 0
+ __label_1: # for iteration
+ unless $P3 goto __label_2
+ shift $P1, $P3
+# {
+.annotate 'line', 60
+ $P4 = $P1[0]
+ set $S2, $P4
+# predefined length
+ length $I3, $S2
+ add $I2, $I3, 4
+.annotate 'line', 61
+ le $I2, $I1, __label_3
+ set $I1, $I2
+ __label_3: # endif
+# }
+ goto __label_1
+ __label_2: # endfor
+.annotate 'line', 63
+ getattribute $P2, self, 'options'
+ iter $P5, $P2
+ set $P5, 0
+ __label_4: # for iteration
+ unless $P5 goto __label_5
+ shift $P1, $P5
+# {
+.annotate 'line', 64
+# s: $S1
+ $S1 = $P1[0]
+.annotate 'line', 65
+# predefined length
+ length $I4, $S1
+ isgt $I3, $I4, 1
+ unless $I3 goto __label_8
+# predefined substr
+ substr $S2, $S1, 1, 1
+ isne $I3, $S2, '='
+ __label_8:
+ unless $I3 goto __label_6
+.annotate 'line', 66
+ concat $S0, '--', $S1
+ set $S1, $S0
+ goto __label_7
+ __label_6: # else
+.annotate 'line', 68
+ concat $S0, '-', $S1
+ set $S1, $S0
+ __label_7: # endif
+.annotate 'line', 69
+# predefined length
+ length $I3, $S1
+ sub $I2, $I1, $I3
+.annotate 'line', 70
+ repeat $S2, ' ', $I2
+ $P2 = $P1[1]
+# predefined say
+ print ' '
+ print $S1
+ print $S2
+ print '-> '
+ say $P2
+# }
+ goto __label_4
+ __label_5: # endfor
+# }
+.annotate 'line', 72
+
+.end # showhelp
+
+.sub Winxed_class_init :anon :load :init
+ newclass $P0, [ 'WinxedDriverOptions' ]
+.annotate 'line', 13
+ get_class $P1, [ 'Getopt'; 'Obj' ]
+ addparent $P0, $P1
+.annotate 'line', 15
+ addattribute $P0, 'name'
+.annotate 'line', 16
+ addattribute $P0, 'options'
+.annotate 'line', 17
+ addattribute $P0, 'opts'
+.end
+.namespace [ ]
+
+.sub 'extname' :subid('WSubId_1')
+ .param string __ARG_1
+ .param string __ARG_2
+# Body
+# {
+.annotate 'line', 80
+# newname: $S1
+ null $S1
+.annotate 'line', 81
+# l: $I1
+# predefined length
+ length $I1, __ARG_1
+.annotate 'line', 82
+ isgt $I2, $I1, 7
+ unless $I2 goto __label_3
+# predefined substr
+ substr $S2, __ARG_1, -7
+ iseq $I2, $S2, '.winxed'
+ __label_3:
+ unless $I2 goto __label_1
+.annotate 'line', 83
+ sub $I3, $I1, 7
+# predefined substr
+ substr $S3, __ARG_1, 0, $I3
+ concat $S0, $S3, __ARG_2
+ set $S1, $S0
+ goto __label_2
+ __label_1: # else
+.annotate 'line', 85
+ concat $S0, __ARG_1, __ARG_2
+ set $S1, $S0
+ __label_2: # endif
+.annotate 'line', 86
+ .return($S1)
+# }
+.annotate 'line', 87
+
+.end # extname
+
+
+.sub 'main' :main
+ .param pmc __ARG_1
+# Body
+# {
+.annotate 'line', 91
+# var optionset: $P1
+ new $P1, [ 'WinxedDriverOptions' ]
+ $P1.'WinxedDriverOptions'(__ARG_1)
+.annotate 'line', 93
+# help: $I1
+ $P15 = $P1.'getbool'('help')
+ set $I1, $P15
+.annotate 'line', 94
+# compileonly: $I2
+ $P15 = $P1.'getbool'('c')
+ set $I2, $P15
+.annotate 'line', 95
+# target: $S1
+ $P15 = $P1.'getstring'('target')
+ null $S1
+ if_null $P15, __label_1
+ set $S1, $P15
+ __label_1:
+.annotate 'line', 96
+# eval: $S2
+ $P15 = $P1.'getstring'('e')
+ null $S2
+ if_null $P15, __label_2
+ set $S2, $P15
+ __label_2:
+.annotate 'line', 97
+# objectname: $S3
+ $P15 = $P1.'getstring'('o')
+ null $S3
+ if_null $P15, __label_3
+ set $S3, $P15
+ __label_3:
+.annotate 'line', 98
+# opt_L: $S4
+ $P15 = $P1.'getstring'('L')
+ null $S4
+ if_null $P15, __label_4
+ set $S4, $P15
+ __label_4:
+.annotate 'line', 99
+# opt_I: $S5
+ $P15 = $P1.'getstring'('I')
+ null $S5
+ if_null $P15, __label_5
+ set $S5, $P15
+ __label_5:
+.annotate 'line', 100
+# nowarn: $I3
+ $P15 = $P1.'getbool'('nowarn')
+ set $I3, $P15
+.annotate 'line', 101
+# noan: $I4
+ $P15 = $P1.'getbool'('noan')
+ set $I4, $P15
+.annotate 'line', 103
+ unless $I1 goto __label_6
+# {
+.annotate 'line', 104
+ $P1.'showhelp'()
+# predefined exit
+.annotate 'line', 105
+ exit 0
+# }
+ __label_6: # endif
+.annotate 'line', 108
+ if_null $S4, __label_7
+# {
+.annotate 'line', 109
+# var interp: $P2
+ null $P2
+.annotate 'line', 110
+# pirop getinterp
+ getinterp $P2
+.annotate 'line', 111
+# var lpaths: $P3
+ $P3 = $P2[9]
+.annotate 'line', 112
+# var pathlib: $P4
+ $P4 = $P3[1]
+.annotate 'line', 113
+# predefined string
+ set $S10, $S4
+ $P4.'push'($S10)
+# }
+ __label_7: # endif
+.annotate 'line', 115
+ if_null $S5, __label_8
+# {
+.annotate 'line', 116
+# var interp: $P5
+ null $P5
+.annotate 'line', 117
+# pirop getinterp
+ getinterp $P5
+.annotate 'line', 118
+# var lpaths: $P6
+ $P6 = $P5[9]
+.annotate 'line', 119
+# var pathlib: $P7
+ $P7 = $P6[0]
+.annotate 'line', 120
+# predefined string
+ set $S10, $S5
+ $P7.'push'($S10)
+# }
+ __label_8: # endif
+.annotate 'line', 123
+# var compileoptions: $P8
+ root_new $P8, ['parrot';'Hash']
+ $P8["noan"] = $I4
+ $P8["nowarn"] = $I3
+.annotate 'line', 124
+ unless $I2 goto __label_9
+# {
+.annotate 'line', 125
+ if_null $S1, __label_11
+# predefined die
+.annotate 'line', 126
+ die "options -c and --target can't be used together"
+ __label_11: # endif
+.annotate 'line', 127
+ $P8["target"] = "pir"
+# }
+ goto __label_10
+ __label_9: # else
+# {
+.annotate 'line', 130
+ unless_null $S1, __label_12
+.annotate 'line', 131
+ set $S1, ''
+ __label_12: # endif
+# switch
+.annotate 'line', 132
+ set $S10, $S1
+ set $S11, ''
+ if $S10 == $S11 goto __label_15
+ set $S11, 'run'
+ if $S10 == $S11 goto __label_16
+ set $S11, 'pir'
+ if $S10 == $S11 goto __label_17
+ set $S11, 'include'
+ if $S10 == $S11 goto __label_18
+ goto __label_14
+ __label_15: # case
+ __label_16: # case
+ goto __label_13 # break
+ __label_17: # case
+ __label_18: # case
+.annotate 'line', 138
+ set $I2, 1
+.annotate 'line', 139
+ $P8["target"] = $S1
+ goto __label_13 # break
+ __label_14: # default
+.annotate 'line', 142
+ concat $S12, "Invalid target '", $S1
+ concat $S12, $S12, "'"
+# predefined die
+ die $S12
+ __label_13: # switch end
+# }
+ __label_10: # endif
+.annotate 'line', 146
+ isnull $I8, $S3
+ not $I8
+ unless $I8 goto __label_20
+ not $I8, $I2
+ __label_20:
+ unless $I8 goto __label_19
+# predefined die
+.annotate 'line', 147
+ die '-o without -c or --target is not supported yet'
+ __label_19: # endif
+.annotate 'line', 149
+# var compiler: $P9
+ null $P9
+.annotate 'line', 150
+# try: create handler
+ new $P15, 'ExceptionHandler'
+ set_label $P15, __label_21
+ push_eh $P15
+# try: begin
+.annotate 'line', 151
+# predefined load_language
+ load_language 'winxed'
+ compreg $P9, 'winxed'
+# try: end
+ pop_eh
+ goto __label_22
+.annotate 'line', 150
+# catch
+ __label_21:
+ .get_results($P16)
+ finalize $P16
+ pop_eh
+# catch end
+ __label_22:
+.annotate 'line', 154
+ unless_null $P9, __label_23
+# {
+# predefined die
+.annotate 'line', 162
+ die "winxed: Cannot load language"
+# }
+ __label_23: # endif
+.annotate 'line', 165
+# var code: $P10
+ null $P10
+.annotate 'line', 166
+# outfilename: $S6
+ null $S6
+.annotate 'line', 167
+ unless_null $S2, __label_24
+# {
+.annotate 'line', 168
+# predefined elements
+ elements $I8, __ARG_1
+ ge $I8, 1, __label_26
+# {
+# predefined say
+.annotate 'line', 169
+ say "ERROR: No program specified"
+.annotate 'line', 170
+ $P1.'showhelp'()
+# predefined exit
+.annotate 'line', 171
+ exit 1
+# }
+ __label_26: # endif
+.annotate 'line', 173
+# srcfilename: $S7
+ $S7 = __ARG_1[0]
+.annotate 'line', 174
+ set $I8, $I2
+ unless $I8 goto __label_28
+ isnull $I8, $S3
+ __label_28:
+ unless $I8 goto __label_27
+.annotate 'line', 175
+.const 'Sub' $P17 = 'WSubId_1'
+ $P15 = $P17($S7, '.pir')
+ set $S6, $P15
+ __label_27: # endif
+.annotate 'line', 176
+ $P10 = $P9.'compile_from_file'($S7, $P8 :flat :named)
+# }
+ goto __label_25
+ __label_24: # else
+# {
+.annotate 'line', 180
+# expr: $S8
+ concat $S8, 'function main[main](argv){', $S2
+ concat $S8, $S8, ';}'
+.annotate 'line', 181
+ $P10 = $P9.'compile'($S8, $P8 :flat :named)
+.annotate 'line', 183
+ not $I8, $I2
+ unless $I8 goto __label_29
+.annotate 'line', 184
+ __ARG_1.'unshift'('__EVAL__')
+ __label_29: # endif
+# }
+ __label_25: # endif
+.annotate 'line', 187
+ unless $I2 goto __label_30
+# {
+.annotate 'line', 188
+ unless_null $S6, __label_31
+.annotate 'line', 189
+ set $S6, $S3
+ __label_31: # endif
+.annotate 'line', 190
+# create: $I5
+ isnull $I5, $S6
+ not $I5
+ unless $I5 goto __label_32
+ isne $I5, $S6, "-"
+ __label_32:
+.annotate 'line', 191
+# var outfile: $P11
+ unless $I5 goto __label_34
+# predefined open
+ root_new $P11, ['parrot';'FileHandle']
+ $P11.'open'($S6,'w')
+ goto __label_33
+ __label_34:
+# predefined getstdout
+ getstdout $P11
+ __label_33:
+.annotate 'line', 192
+ $P11.'print'($P10)
+.annotate 'line', 193
+ unless $I5 goto __label_35
+.annotate 'line', 194
+ $P11.'close'()
+ __label_35: # endif
+# predefined exit
+.annotate 'line', 195
+ exit 0
+# }
+ __label_30: # endif
+.annotate 'line', 199
+# var sub: $P12
+ null $P12
+# for loop
+.annotate 'line', 200
+# i: $I6
+ null $I6
+ __label_38: # for condition
+# {
+.annotate 'line', 201
+ $P12 = $P10[$I6]
+.annotate 'line', 202
+ unless_null $P12, __label_39
+ goto __label_37 # break
+ __label_39: # endif
+.annotate 'line', 203
+# predefined string
+ set $S10, $P12
+ ne $S10, 'main', __label_40
+ goto __label_37 # break
+ __label_40: # endif
+# }
+ __label_36: # for iteration
+.annotate 'line', 200
+ inc $I6
+ goto __label_38
+ __label_37: # for end
+.annotate 'line', 206
+# retval: $I7
+ null $I7
+.annotate 'line', 207
+# try: create handler
+ new $P15, 'ExceptionHandler'
+ set_label $P15, __label_41
+ $P15.'handle_types_except'(64)
+ push_eh $P15
+# try: begin
+# {
+.annotate 'line', 208
+# var retvalp: $P13
+ $P13 = $P12(__ARG_1)
+.annotate 'line', 209
+ if_null $P13, __label_43
+.annotate 'line', 210
+ set $I7, $P13
+ __label_43: # endif
+# }
+# try: end
+ pop_eh
+ goto __label_42
+.annotate 'line', 207
+# catch
+ __label_41:
+ .get_results($P14)
+ finalize $P14
+ pop_eh
+# {
+.annotate 'line', 213
+# msg: $S9
+ $S9 = $P14['message']
+.annotate 'line', 214
+ isnull $I8, $S9
+ not $I8
+ unless $I8 goto __label_45
+ isne $I8, $S9, ''
+ __label_45:
+ unless $I8 goto __label_44
+.annotate 'line', 215
+# predefined cry
+ getstderr $P0
+ print $P0, $S9
+ print $P0, "\n"
+ __label_44: # endif
+.annotate 'line', 216
+ set $I7, 1
+# }
+# catch end
+ __label_42:
+.annotate 'line', 218
+# predefined exit
+ exit $I7
+# }
+.annotate 'line', 219
+
+.end # main
+
+# End generated code
View
2  tools/dev/install_dev_files.pl
@@ -79,7 +79,7 @@ =head1 SEE ALSO
srcdir => '/usr/src/', # parrot/ subdir added below
versiondir => '',
'dry-run' => 0,
- packages => 'devel|pct|tge|nqp|data_json',
+ packages => 'devel|pct|tge|nqp|data_json|winxed',
);
my @manifests;
Please sign in to comment.
Something went wrong with that request. Please try again.