[svn:parrot] r47428 - in trunk: compilers/opsc compilers/opsc/src/Ops config/gen/makefiles include/parrot include/parrot/oplib src/ops

cotto at svn.parrot.org cotto at svn.parrot.org
Sun Jun 6 08:32:35 UTC 2010


Author: cotto
Date: Sun Jun  6 08:32:34 2010
New Revision: 47428
URL: https://trac.parrot.org/parrot/changeset/47428

Log:
[ops] update docs and generated code to make bootstap-ops build target more discoverable

Modified:
   trunk/compilers/opsc/ops2c.nqp
   trunk/compilers/opsc/src/Ops/Emitter.pm
   trunk/config/gen/makefiles/root.in
   trunk/include/parrot/oplib/core_ops.h
   trunk/include/parrot/oplib/ops.h
   trunk/include/parrot/opsenum.h
   trunk/src/ops/bit.ops
   trunk/src/ops/cmp.ops
   trunk/src/ops/core.ops
   trunk/src/ops/core_ops.c
   trunk/src/ops/experimental.ops
   trunk/src/ops/io.ops
   trunk/src/ops/math.ops
   trunk/src/ops/object.ops
   trunk/src/ops/pmc.ops
   trunk/src/ops/set.ops
   trunk/src/ops/string.ops
   trunk/src/ops/sys.ops
   trunk/src/ops/var.ops

Modified: trunk/compilers/opsc/ops2c.nqp
==============================================================================
--- trunk/compilers/opsc/ops2c.nqp	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/compilers/opsc/ops2c.nqp	Sun Jun  6 08:32:34 2010	(r47428)
@@ -38,11 +38,6 @@
 $arg.long('help');
 $arg.short('h');
 
-# regenerate ops.num et. al. even if it's not necessary
-$arg := $getopts.add();
-$arg.long('force-regen');
-$arg.short('f');
-
 # suppress timing and debug output on stdout
 $arg := $getopts.add();
 $arg.long('quiet');
@@ -72,15 +67,20 @@
     @files.push( $opts<dynamic>);
 }
 elsif (+$opts == 0 || $opts<help>) {
-    say("This is ops2c, part of Parrot build infrastructure.
-usage:
-ops2c --core
-ops2c --dynamic path/to/dynops.ops");
+    say("This is ops2c, part of the Parrot VM's build infrastructure.
+normal options:
+ -c --core                generate the C code for core ops (must be run from within Parrot's build directory)
+ -d --dynamic <file.ops>  generate the C code for the dynamic ops in a single .ops file
+ -q --quiet               don't report any non-error messages
+ -h --help                print this usage information
+ -n --no-lines            do not print #line directives in generated C code (line numbers are not currently supported)
+
+#debugging options:
+ -g --debug               perform all processing but do not write to any files
+");
     pir::exit(0);
 }
 
-my $force_regen := ?$opts<force-regen>;
-
 if ($opts<no-lines>) {
     #TODO: figure out how to generate line numbers
     # $emit_lines is currently ignored

Modified: trunk/compilers/opsc/src/Ops/Emitter.pm
==============================================================================
--- trunk/compilers/opsc/src/Ops/Emitter.pm	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/compilers/opsc/src/Ops/Emitter.pm	Sun Jun  6 08:32:34 2010	(r47428)
@@ -369,7 +369,8 @@
  * This file is generated automatically from '{self<file>}' (and possibly other
  * .ops files). by {self<script>}.
  *
- * Any changes made here will be lost!
+ * Any changes made here will be lost!  To regenerate this file after making
+ * changes to any ops, use the bootstap-ops makefile target.
  *
  */
 |);

Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/config/gen/makefiles/root.in	Sun Jun  6 08:32:34 2010	(r47428)
@@ -807,7 +807,7 @@
 	@echo "  tags-vi:           Create tags for the vi editor."
 	@echo "  tags-emacs:        Create tags for the Emacs editor."
 	@echo "  perlcritic:        Check Perl code with Perl::Critic."
-        @echo "  bootstrap-ops:     Update bootstrap ops."
+	@echo "  bootstrap-ops:     Generate C code from .ops files."
 	@echo ""
 	@echo "Release:"
 	@echo "  release:           Create a tarball."

Modified: trunk/include/parrot/oplib/core_ops.h
==============================================================================
--- trunk/include/parrot/oplib/core_ops.h	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/include/parrot/oplib/core_ops.h	Sun Jun  6 08:32:34 2010	(r47428)
@@ -11,7 +11,8 @@
  * This file is generated automatically from 'src/ops/core.ops' (and possibly other
  * .ops files). by ops2c.nqp.
  *
- * Any changes made here will be lost!
+ * Any changes made here will be lost!  To regenerate this file after making
+ * changes to any ops, use the bootstap-ops makefile target.
  *
  */
 

Modified: trunk/include/parrot/oplib/ops.h
==============================================================================
--- trunk/include/parrot/oplib/ops.h	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/include/parrot/oplib/ops.h	Sun Jun  6 08:32:34 2010	(r47428)
@@ -11,7 +11,8 @@
  * This file is generated automatically from 'src/ops/core.ops' (and possibly other
  * .ops files). by ops2c.nqp.
  *
- * Any changes made here will be lost!
+ * Any changes made here will be lost!  To regenerate this file after making
+ * changes to any ops, use the bootstap-ops makefile target.
  *
  */
 

Modified: trunk/include/parrot/opsenum.h
==============================================================================
--- trunk/include/parrot/opsenum.h	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/include/parrot/opsenum.h	Sun Jun  6 08:32:34 2010	(r47428)
@@ -11,7 +11,8 @@
  * This file is generated automatically from 'src/ops/core.ops' (and possibly other
  * .ops files). by ops2c.nqp.
  *
- * Any changes made here will be lost!
+ * Any changes made here will be lost!  To regenerate this file after making
+ * changes to any ops, use the bootstap-ops makefile target.
  *
  */
 enum OPS_ENUM {

Modified: trunk/src/ops/bit.ops
==============================================================================
--- trunk/src/ops/bit.ops	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/bit.ops	Sun Jun  6 08:32:34 2010	(r47428)
@@ -32,6 +32,9 @@
 
 The variant with an appended B<s> like B<bands> work on strings.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =over 4
 
 =cut

Modified: trunk/src/ops/cmp.ops
==============================================================================
--- trunk/src/ops/cmp.ops	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/cmp.ops	Sun Jun  6 08:32:34 2010	(r47428)
@@ -15,6 +15,9 @@
 Some of these operations affect control flow directly; others
 do not.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =cut
 
 ###############################################################################

Modified: trunk/src/ops/core.ops
==============================================================================
--- trunk/src/ops/core.ops	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/core.ops	Sun Jun  6 08:32:34 2010	(r47428)
@@ -26,6 +26,9 @@
 Core operations are primarily flow control and interpreter
 introspection.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =cut
 
 # ' for emacs
@@ -823,7 +826,7 @@
     opcode_t        *dest;
     opcode_t * const ret       = expr NEXT();
     PMC      * const resume    = pmc_new(interp, enum_class_Continuation);
-    PMC      * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit, 
+    PMC      * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit,
                                                            CONTROL_EXIT, NULL);
 
     VTABLE_set_pointer(interp, resume, ret);

Modified: trunk/src/ops/core_ops.c
==============================================================================
--- trunk/src/ops/core_ops.c	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/core_ops.c	Sun Jun  6 08:32:34 2010	(r47428)
@@ -5,7 +5,8 @@
  * This file is generated automatically from 'src/ops/core.ops' (and possibly other
  * .ops files). by ops2c.nqp.
  *
- * Any changes made here will be lost!
+ * Any changes made here will be lost!  To regenerate this file after making
+ * changes to any ops, use the bootstap-ops makefile target.
  *
  */
 

Modified: trunk/src/ops/experimental.ops
==============================================================================
--- trunk/src/ops/experimental.ops	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/experimental.ops	Sun Jun  6 08:32:34 2010	(r47428)
@@ -27,6 +27,8 @@
 If you rely on any of these opcodes, please open a
 Trac ticket at L<https://trac.parrot.org/>.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
 
 =cut
 

Modified: trunk/src/ops/io.ops
==============================================================================
--- trunk/src/ops/io.ops	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/io.ops	Sun Jun  6 08:32:34 2010	(r47428)
@@ -19,6 +19,9 @@
 
 Parrot's IO API
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =cut
 
 ###############################################################################

Modified: trunk/src/ops/math.ops
==============================================================================
--- trunk/src/ops/math.ops	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/math.ops	Sun Jun  6 08:32:34 2010	(r47428)
@@ -14,6 +14,9 @@
 Operations that perform basic mathematics. See F<src/dynoplibs/> for more
 advanced operations.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =head2 Arithmetic operations
 
 These operations store the results of arithmetic on other registers and

Modified: trunk/src/ops/object.ops
==============================================================================
--- trunk/src/ops/object.ops	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/object.ops	Sun Jun  6 08:32:34 2010	(r47428)
@@ -14,6 +14,9 @@
 
 Parrot's library of object ops
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =over 4
 
 =cut

Modified: trunk/src/ops/pmc.ops
==============================================================================
--- trunk/src/ops/pmc.ops	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/pmc.ops	Sun Jun  6 08:32:34 2010	(r47428)
@@ -15,6 +15,9 @@
 Operations that deal with PMCs, including creation and
 destruction, manipulation, and introspection.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =cut
 
 ###############################################################################

Modified: trunk/src/ops/set.ops
==============================================================================
--- trunk/src/ops/set.ops	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/set.ops	Sun Jun  6 08:32:34 2010	(r47428)
@@ -11,6 +11,9 @@
 
 These operations all set registers to various values.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =over 4
 
 =cut

Modified: trunk/src/ops/string.ops
==============================================================================
--- trunk/src/ops/string.ops	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/string.ops	Sun Jun  6 08:32:34 2010	(r47428)
@@ -12,6 +12,9 @@
 Operations that work on strings, whether constructing, modifying
 or examining them.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =over 4
 
 =cut

Modified: trunk/src/ops/sys.ops
==============================================================================
--- trunk/src/ops/sys.ops	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/sys.ops	Sun Jun  6 08:32:34 2010	(r47428)
@@ -11,6 +11,9 @@
 
 Operations that allow the user to interact with the system.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =over 4
 
 =cut

Modified: trunk/src/ops/var.ops
==============================================================================
--- trunk/src/ops/var.ops	Sun Jun  6 08:14:06 2010	(r47427)
+++ trunk/src/ops/var.ops	Sun Jun  6 08:32:34 2010	(r47428)
@@ -12,6 +12,9 @@
 These operations deal with both lexical and global variables,
 as well as the symbol tables that contain them.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =cut
 
 ###############################################################################


More information about the parrot-commits mailing list