/[eiffelstudio]/branches/eth/eve/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
ViewVC logotype

Log of /branches/eth/eve/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Revision:

Revision 94983 - (view) (annotate) - [select for diffs]
Modified Fri May 2 11:05:28 2014 UTC (5 years, 5 months ago) by jasonw
File length: 11171 byte(s)
Diff to previous 94740
<<Merged from trunk#94978.>>

Revision 94740 - (view) (annotate) - [select for diffs]
Modified Fri Mar 28 09:42:08 2014 UTC (5 years, 6 months ago) by jasonw
File length: 11235 byte(s)
Diff to previous 94581
<<Merged from trunk#94739.>>

Revision 94581 - (view) (annotate) - [select for diffs]
Modified Fri Mar 7 11:57:58 2014 UTC (5 years, 7 months ago) by jasonw
File length: 11023 byte(s)
Diff to previous 92723
<<Merged from trunk#94580.>>

Revision 92723 - (view) (annotate) - [select for diffs]
Modified Fri Jun 21 07:47:04 2013 UTC (6 years, 4 months ago) by jasonw
File length: 10762 byte(s)
Diff to previous 92684
<<Merged from trunk#92722.>>

Revision 92684 - (view) (annotate) - [select for diffs]
Modified Fri Jun 7 15:28:53 2013 UTC (6 years, 4 months ago) by jasonw
File length: 11029 byte(s)
Diff to previous 92499
<<Merged from trunk#92682.>>

Revision 92499 - (view) (annotate) - [select for diffs]
Modified Fri Apr 26 23:06:21 2013 UTC (6 years, 5 months ago) by jasonw
File length: 11029 byte(s)
Diff to previous 92434
<<Merged from trunk#92492.>>

Revision 92434 - (view) (annotate) - [select for diffs]
Modified Fri Apr 12 10:41:30 2013 UTC (6 years, 6 months ago) by jasonw
File length: 11029 byte(s)
Diff to previous 91379
<<Merged from trunk#92433.>>

Revision 91379 - (view) (annotate) - [select for diffs]
Modified Fri Mar 15 08:48:07 2013 UTC (6 years, 7 months ago) by jasonw
File length: 10762 byte(s)
Diff to previous 89347
<<Merged from trunk#91375.>>

Revision 89347 - (view) (annotate) - [select for diffs]
Modified Fri Aug 10 15:09:25 2012 UTC (7 years, 2 months ago) by jasonw
File length: 11593 byte(s)
Diff to previous 84268
<<Merged from trunk#89346.>>

Revision 84268 - (view) (annotate) - [select for diffs]
Modified Tue Aug 24 14:02:11 2010 UTC (9 years, 1 month ago) by jasonw
File length: 12092 byte(s)
Diff to previous 83445
<<Merged from trunk#84267.>>

Revision 83445 - (view) (annotate) - [select for diffs]
Modified Sat Jun 5 15:29:40 2010 UTC (9 years, 4 months ago) by jasonw
File length: 13438 byte(s)
Diff to previous 83441
<<Merged from trunk@83442.>>

Revision 83441 - (view) (annotate) - [select for diffs]
Modified Sat Jun 5 13:52:53 2010 UTC (9 years, 4 months ago) by jasonw
File length: 13425 byte(s)
Diff to previous 83331
Renamed branch eve3 to eve. The eve branch serves as the new branch for the EVE project.

Revision 83331 - (view) (annotate) - [select for diffs]
Modified Wed May 26 18:49:35 2010 UTC (9 years, 4 months ago) by jasonw
Original Path: branches/eth/eve3/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 13425 byte(s)
Diff to previous 82736
<<Breanched from trunk@83330>> Created a branch to upgrade Eiffel Transform library to trunk.

Revision 82736 - (view) (annotate) - [select for diffs]
Modified Thu Apr 1 05:19:53 2010 UTC (9 years, 6 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 13425 byte(s)
Diff to previous 82735
Cosmetics: fixed wrong identation.


Revision 82735 - (view) (annotate) - [select for diffs]
Modified Thu Apr 1 05:13:43 2010 UTC (9 years, 6 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 13426 byte(s)
Diff to previous 82731
Merged REAL_32_A and REAL_64_A into REAL_A for simplicity and letting us add a new descendant MANIFEST_REAL_A to represent the type of manifest real type. That way we can assign a manifest real to either a REAL_32 or a REAL_64 (this is done the same way as we do for manifest integer/naturals).
The next thing to do is to validate the value to ensure that it fits on either a REAL_32 or REAL_64 but this won't be done now.


Revision 82731 - (view) (annotate) - [select for diffs]
Modified Wed Mar 31 20:43:06 2010 UTC (9 years, 6 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 13420 byte(s)
Diff to previous 82434
Changed the understanding of `sk_type' in the compiler to be a NATURAL_32 as it is in the runtime. Only a few cases of a conversion from integer to natural or from natural to integer have been added with comments stating that they are safe.


Revision 82434 - (view) (annotate) - [select for diffs]
Modified Thu Feb 25 17:45:30 2010 UTC (9 years, 7 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 13413 byte(s)
Diff to previous 82277
Removed usage of {SPECIAL}.do_all_in_bounds since it does not in non-experimental mode.


Revision 82277 - (view) (annotate) - [select for diffs]
Modified Sun Feb 7 10:23:57 2010 UTC (9 years, 8 months ago) by alexk
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 13390 byte(s)
Diff to previous 81128
Supported type checking (except code generation for creation and object
test) for qualified anchored types.
Supported structured output for qualified anchored types.
Simplified interface and logic behind detection of cyclic anchors.


Revision 81128 - (view) (annotate) - [select for diffs]
Modified Sat Oct 10 03:44:57 2009 UTC (10 years ago) by tedf
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 11238 byte(s)
Diff to previous 80802
- Removed duplicated code AST_OUTPUT_HELPER. Use the code from E_FEATURE instead.
- Use `infix_symbol' and `prefix_symbol' instead of the extracting methods.
- Print alias name based on the feature rather than the AS. Because the feature could be renamed.

Revision 80802 - (view) (annotate) - [select for diffs]
Modified Tue Sep 22 16:05:45 2009 UTC (10 years ago) by tedf
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 11296 byte(s)
Diff to previous 80744
- Extracted routine for printing infix/prefix feature name, and use that for interval as and anchored type.
- Left name of unqualified infix/prefix feature call as it is, rather than trying to make it a qualified call `@ Current'. See discussion at http://eiffelstudio.origo.ethz.ch/node/311

Revision 80744 - (view) (annotate) - [select for diffs]
Modified Thu Sep 17 07:30:16 2009 UTC (10 years, 1 month ago) by tedf
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 11940 byte(s)
Diff to previous 77703
Added infix/prefix formatting for anchored type. Fixed bug#11356.

Revision 77703 - (view) (annotate) - [select for diffs]
Modified Wed Mar 11 23:59:15 2009 UTC (10 years, 7 months ago) by paulb
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 11253 byte(s)
Diff to previous 76432
Replaced documentation generation of !/? marks with attached/detachable.


Revision 76432 - (view) (annotate) - [select for diffs]
Modified Mon Dec 29 23:41:59 2008 UTC (10 years, 9 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10818 byte(s)
Diff to previous 75211
Removal of `is' keyword.
Replacement of `is' by `=' for constant definitions.
Replaced `indexing' by `note'.


Revision 75211 - (view) (annotate) - [select for diffs]
Modified Tue Oct 21 16:43:16 2008 UTC (11 years ago) by king
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10910 byte(s)
Diff to previous 71150
Updated to work with non-conforming routines, if a feature has a replicated AST then we retrieve the generic information from its written class

Revision 71150 - (view) (annotate) - [select for diffs]
Modified Wed Nov 14 19:34:34 2007 UTC (11 years, 11 months ago) by alexk
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10523 byte(s)
Diff to previous 70927
Supported attachment marks for formal generic parameter (in internal
structures only).
Refactored types that can have attachment marks into a separate class.
Fixed issue when "like Current" was not considered as attached even when
compiling with an option "is_attached_by_default".
Taken into account attachment status when comparing types for equality.
Made TUPLE type in an agent type (PROCEDURE or FUNCTION) attached in
void-safe context, so that it conforms to the usual type declaration.
Ensured actual type preserves attachment status of the corresponding
anchored type.


Revision 70927 - (view) (annotate) - [select for diffs]
Modified Sat Oct 27 08:44:50 2007 UTC (11 years, 11 months ago) by alexk
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10456 byte(s)
Diff to previous 69973
Removed a space after an attachment mark.

Revision 69973 - (view) (annotate) - [select for diffs]
Modified Tue Aug 14 19:15:39 2007 UTC (12 years, 2 months ago) by alexk
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10688 byte(s)
Diff to previous 68589
Promoted attachment properties to descendants of TYPE_A.

Revision 68589 - (view) (annotate) - [select for diffs]
Modified Tue May 22 23:48:04 2007 UTC (12 years, 5 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9680 byte(s)
Diff to previous 68089
Put the routines in alphabetical order (process_renamed_type_a).


Revision 68089 - (view) (annotate) - [select for diffs]
Modified Thu May 3 18:36:31 2007 UTC (12 years, 5 months ago) by martins
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9681 byte(s)
Diff to previous 67875
Refactored RENAMED_TYPE_A to RENAMED_TYPE [G -> TYPE_A]
This change allows us to program type safe if possible.

Revision 67875 - (view) (annotate) - [select for diffs]
Modified Wed Apr 18 00:40:15 2007 UTC (12 years, 6 months ago) by martins
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9672 byte(s)
Diff to previous 67862
Further adapted refactoring away from EXTENDED_TYPE_A to RENAMED_TYPE_A.

Revision 67862 - (view) (annotate) - [select for diffs]
Modified Tue Apr 17 02:11:27 2007 UTC (12 years, 6 months ago) by martins
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9673 byte(s)
Diff to previous 67227
* Fixed minor bug in FORMAL_CONSTRAINT_AS (renaming of single constraint type was not checked)
* Adapted precondition of conformance features in TYPE_SET_A
* Refactored EXTENDED_TYPE_A into RENAMED_TYPE_A.
* Refactored MC_ERROR_REPORT into MC_FEATURE_INFO

Revision 67227 - (view) (annotate) - [select for diffs]
Modified Tue Mar 13 01:32:16 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9674 byte(s)
Diff to previous 65165
Support for multi constraint generics:
- Central new class is TYPE_SET_A: It provides features for type checking and feature lookup.
  (the TYPE_A interface is not perfectly complete until now)
- Added EXTENDED_TYPE_A: It basically encapsulates a type and a feature renaming.
- Changed parser to accept the new syntax.
- Adapted validity checks for generics to reflect the new rules.
- Changed AST_FEATURE_CHECKER_GENERATOR in particular `process_call' and its siblings
  to select the so called `multi_constrained_static'. This is the actual static type
  of the target. It is done for each access on a multi constraint generic.
- Added error classes VTGC*, VTGD* and VTMC*.
- Changed code which called `constrained_type' feature to make it capable
  of handling multi constraints. This is in most cases achieved through handling these cases
  explicitly: Autocompletion, query language and debugger are not yet adapted and don't work
  properly in the presence of multi constraint formals.
- Changed AST_DECORATED_OUTPUT_STRATEGY and the like to pretty print the multi constraints correctly.

Support for recursive formals:
- I added a second pass AST_FORMAL_GENERICS_PASS2 which handles the registration of suppliers
  and transformation of the types into the right class (formal or class type).

The rest of the changes are targeted to either one of these.


Revision 65165 - (view) (annotate) - [select for diffs]
Modified Tue Nov 21 01:36:22 2006 UTC (12 years, 11 months ago) by patrickr
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9311 byte(s)
Diff to previous 63743
made old and new HASH_TABLE compatible
added some catcall detection and prevention features to HASH_TABLE
changed ID_AS not to inherit form STRING but have a name_id which is an id into the names heap
switched compiler from the obsolete HASH_TABLE to the normal HASH_TABLE of base

Revision 63743 - (view) (annotate) - [select for diffs]
Modified Wed Sep 20 21:19:03 2006 UTC (13 years, 1 month ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 9306 byte(s)
Diff to previous 63687
Removed `process_generic_in_type' because it was useless. Indeed the code was made to solve the case
  were in the ancestor you have a formal and in the current class it is not. But here we always
  process a type in a class. Therefore when we have a formal it is still a formal and no special
  handling is required.
  This fixes eweasel test#term043, test#term050 and test#incr157 because sometime we can call
  this visitor for processing types that did not go through degree 4 yet.


Revision 63687 - (view) (annotate) - [select for diffs]
Modified Tue Sep 19 00:29:36 2006 UTC (13 years, 1 month ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10261 byte(s)
Diff to previous 63558
Use the name from `l_feat' since it is the proper one when a feature is
  being renamed in a descendand. Fixes bug#11306.


Revision 63558 - (view) (annotate) - [select for diffs]
Modified Thu Sep 14 00:07:41 2006 UTC (13 years, 1 month ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10269 byte(s)
Diff to previous 63452
Fixed bug#11182 where if a constraint of a class had generics, they would not be shown
  in the descendant/ancestor format as well as in error messages for that class. Now
  we made AST_TYPE_OUTPUT_STRATEGY one of the stateless visitor and updated the
  AST_DECORATED_OUTPUT_STRATEGY to use its new interface.
  And finally we use AST_TYPE_OUTPUT_STRATEGY in FORMAL_CONSTRAINT_AS to properly
  display the constraint type.


Revision 63452 - (view) (annotate) - [select for diffs]
Modified Mon Sep 11 01:52:29 2006 UTC (13 years, 1 month ago) by jasonw
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10109 byte(s)
Diff to previous 59042
Fixed a bug that keyword "BIT" is not colored in class/feature browser and in feature flat form.

Revision 59042 - (view) (annotate) - [select for diffs]
Modified Wed May 17 22:28:03 2006 UTC (13 years, 5 months ago) by tedf
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10040 byte(s)
Diff to previous 58325
Fixed a bug that a named tuple type should have a semi-colon between type entries rather than a comma.

Revision 58325 - (view) (annotate) - [select for diffs]
Modified Thu Apr 20 16:05:16 2006 UTC (13 years, 6 months ago) by manus
Original Path: trunk/Src/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10035 byte(s)
Diff to previous 58027
Moved trunk/Src/bench/Eiffel to trunk/Src/Eiffel.

Revision 58027 - (view) (annotate) - [select for diffs]
Modified Wed Apr 5 07:08:57 2006 UTC (13 years, 6 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 10035 byte(s)
Diff to previous 57484
Fixed mixing paranthesis in indexing clause for the licensing.
Added missing license reference in newly created Eiffel classes.


Revision 57484 - (view) (annotate) - [select for diffs]
Modified Wed Mar 15 23:05:12 2006 UTC (13 years, 7 months ago) by tedf
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 8630 byte(s)
Diff to previous 57426
After compilation errors occur, we do not have routine id correctly set and some classes are missing. In this case, we do not evaluate types, but send simple text to output.
Fixed a bug in CLICKABLE_TEXT that sometimes the last line did not appear after processing as a text formatter.

Revision 57426 - (view) (annotate) - [select for diffs]
Added Fri Mar 10 20:30:45 2006 UTC (13 years, 7 months ago) by tedf
Original Path: trunk/Src/bench/Eiffel/API/evaluated_type/visitor/ast_type_output_strategy.e
File length: 8693 byte(s)
1. Removed all STRUCTURED_TEXT within the compiler.
2. Replaced with TEXT_FORMATTER for editor and documentation output formatting.
 Generally, there are five descendents for the moment.
-OUTPUT_WINDOW: For simple string output. i.e. Command line, file, buffered string etc.
-TEXT_FILTER: For various documentation formatting.
-EB_OUPUT_MANAGER: Mainly for EB_GRAPHICAL_OUTPUT_MANAGER decoration.
-EDITOR_TOKEN_WRITER: Editor tokens are translated here for colorized editor views.
-TEXT_FORMATTER_DECORATOR: A decorator of TEXT_FORMATTERS. Handles context and formatting information. AST visits for outputs are mainly mediated here.
 There are two sets of interface, process_* and add_*. The main one is process_* which is recommended to use. add_* is from STRUCTURED_TEXT which does not exist any more. As it affected vastly, I still keep its interfaces.
3. SHARED_TEXT_ITEMS are all strings now, as items in structured text have been removed.
4. Wrote AST_OUTPUT_STRATEGY which is an AST_VISITOR processing AST to TEXT_FORMATTER. Wrote AST_DECORATED_OUTPUT_STRATEGY a client of TEXT_FORMATTER_DECORATOR. And one AST_DOCUMENTATION_OUTPUT_STRATEGY only for documentation.
5. Removed flat/short views buffering of STRUCTURED_TEXT. It is slightly slower than before, but in my opinion acceptable.
6. Wrote a AST_TYPE_OUTPUT_STRATEGY which visit a type and print its ‘text’ representation output to a TEXT_FORMATTER.
7. Rewrote TOKEN_VISITOR and a descendant EIFFEL_TOKEN_VISITOR for editor tokens in library and in the compiler.
8. Leave printer command prints simple text in current editor. Further work will be done a little later.
9. We gain 22% faster of documentation generation for the moment. Less than we expected, I think, mainly because of additions and accuracy we gain.



This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.23