/[eiffelstudio]/branches/CAT_mono/Src/framework/parser/AST/factory/ast_null_factory.e
ViewVC logotype

Log of /branches/CAT_mono/Src/framework/parser/AST/factory/ast_null_factory.e

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 69687 - (view) (annotate) - [select for diffs]
Modified Wed Jul 25 18:55:08 2007 UTC (12 years, 4 months ago) by martins
File length: 31499 byte(s)
Diff to previous 69629
* monomorph for formals
* covaraince for generics (syntax only)

Revision 69629 - (view) (annotate) - [select for diffs]
Modified Mon Jul 23 21:36:18 2007 UTC (12 years, 4 months ago) by manus
File length: 31485 byte(s)
Diff to previous 67856
Creation of CAT_mono branch to implement variant/invariant proposal

Revision 67856 - (view) (annotate) - [select for diffs]
Modified Mon Apr 16 19:22:30 2007 UTC (12 years, 8 months ago) by martins
Original Path: trunk/Src/framework/parser/AST/factory/ast_null_factory.e
File length: 31485 byte(s)
Diff to previous 67227
Cosmetics: I replaced double (or more) lines in the source code by single lines automatically. So you might hit anomalies. But I hope they are just a few exceptions.

Revision 67227 - (view) (annotate) - [select for diffs]
Modified Tue Mar 13 01:32:16 2007 UTC (12 years, 9 months ago) by martins
Original Path: trunk/Src/framework/parser/AST/factory/ast_null_factory.e
File length: 31486 byte(s)
Diff to previous 66895
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 66895 - (view) (annotate) - [select for diffs]
Modified Sun Feb 25 17:11:57 2007 UTC (12 years, 9 months ago) by manus
Original Path: trunk/Src/framework/parser/AST/factory/ast_null_factory.e
File length: 31464 byte(s)
Diff to previous 64590
Support for FreeELKS:
- Added byte code for `floor' and `ceiling' operation on real types.
- Made `c_tagged_out' take an EIF_REFERENCE rather than an EIF_OBJECT, updated
  all C code using it accordingly and ANY/ISE_RUNTIME.
- Added `eif_built_in.h' to keep all macros used for external "built_in' features
  not implemented with Eiffel code.
- Added BUILT_IN_AS node for representing external "built_in' features:
  * when a built_in routine is found, we look in $ISE_EIFFEL/studio/built_ins to
    see if it has a corresponding implementation and the FEATURE_I/STD_BYTE_CODE
	is generated from the implementation. Otherwise we consider it as a special
	C routines.
  * In the formatters, we show the actual code of the implementation and not the
    external body, the same for debugging.
- Partial fix for Precursor call when call is made in an expanded class, the ancestor
  version might have non-expanded arguments and return type (e.g. like Current).
- Changed CLASS_TYPE for basic types so that `type_i' is a CL_TYPE_I and not
  a BASIC_I. It solves issues when you have code defined in basic types which
  would not be properly generated. Since it would be generated as if it was a
  normal expanded type but the types where still EIF_XXX instead of EIF_REFERENCE.
  This was needed for FreeELKS since now we have implementation in the basic types.
  Added some queries to CLASS_TYPE to avoid accessing `type' to get the information
  since sometime we still want to know that we are in basic types. Added `basic_type'
  to be used when it is a basic type. It has mostly an implication with .NET code
  generation.
- Updated debugger so that one can debug all features but attributes, deferred and
  constants.


Revision 64590 - (view) (annotate) - [select for diffs]
Modified Wed Oct 25 17:04:38 2006 UTC (13 years, 1 month ago) by juliant
Original Path: trunk/Src/framework/parser/AST/factory/ast_null_factory.e
File length: 31314 byte(s)
Diff to previous 64544
code cleanup

Revision 64544 - (view) (annotate) - [select for diffs]
Modified Tue Oct 24 17:49:38 2006 UTC (13 years, 1 month ago) by juliant
Original Path: trunk/Src/framework/parser/AST/factory/ast_null_factory.e
File length: 31311 byte(s)
Diff to previous 64520
added parsing of octal/binary encoded integers
added parsing of hexadecimal/octal/binary encoded manifest characters

Revision 64520 - (view) (annotate) - [select for diffs]
Modified Mon Oct 23 18:54:55 2006 UTC (13 years, 1 month ago) by patrickr
Original Path: trunk/Src/framework/parser/AST/factory/ast_null_factory.e
File length: 31305 byte(s)
Diff to previous 63360
moved libraries from the compiler into the framework

Revision 63360 - (view) (annotate) - [select for diffs]
Modified Thu Sep 7 22:19:31 2006 UTC (13 years, 3 months ago) by manus
Original Path: trunk/Src/Eiffel/parser/AST/factory/ast_null_factory.e
File length: 31305 byte(s)
Diff to previous 59675
No need for `has_externals' query. It was there to force a freeze when `melt_all' was called.
  But now we fixed `melt_all' to trigger a freeze when one of the routine to be melted is
  an external feature.


Revision 59675 - (view) (annotate) - [select for diffs]
Modified Tue Jun 13 11:00:22 2006 UTC (13 years, 6 months ago) by alexk
Original Path: trunk/Src/Eiffel/parser/AST/factory/ast_null_factory.e
File length: 31318 byte(s)
Diff to previous 59276
Allowed to avoid the keyword 'is' in the feature declaration and to use an equal sign in the constant attribute declaration.

Revision 59276 - (view) (annotate) - [select for diffs]
Modified Tue May 30 18:04:29 2006 UTC (13 years, 6 months ago) by konradm
Original Path: trunk/Src/Eiffel/parser/AST/factory/ast_null_factory.e
File length: 31309 byte(s)
Diff to previous 58325
added support for identifier lists in named tuples, i.e: TUPLE [x1, x2: INTEGER; y1: STRING]

Revision 58325 - (view) (annotate) - [select for diffs]
Modified Thu Apr 20 16:05:16 2006 UTC (13 years, 7 months ago) by manus
Original Path: trunk/Src/Eiffel/parser/AST/factory/ast_null_factory.e
File length: 31327 byte(s)
Diff to previous 58218
Moved trunk/Src/bench/Eiffel to trunk/Src/Eiffel.

Revision 58218 - (view) (annotate) - [select for diffs]
Modified Mon Apr 17 15:54:40 2006 UTC (13 years, 7 months ago) by manus
Original Path: trunk/Src/bench/Eiffel/parser/AST/factory/ast_null_factory.e
File length: 31327 byte(s)
Diff to previous 58026
Moved from Src/common/parser to Src/bench/Eiffel/parser.

Revision 58026 - (view) (annotate) - [select for diffs]
Modified Wed Apr 5 06:55:57 2006 UTC (13 years, 8 months ago) by manus
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 31327 byte(s)
Diff to previous 57500
Fixed mixing paranthesis in indexing clause for the licensing.
Added missing license reference in newly created Eiffel classes.


Revision 57500 - (view) (annotate) - [select for diffs]
Modified Thu Mar 16 23:49:15 2006 UTC (13 years, 9 months ago) by raphaels
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 31317 byte(s)
Diff to previous 57379
Updated `new_class_as' to take into account new argument used for partial classes.

Revision 57379 - (view) (annotate) - [select for diffs]
Modified Wed Mar 8 23:45:14 2006 UTC (13 years, 9 months ago) by raphaels
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 31309 byte(s)
Diff to previous 57172
Added `new_line_pragma' used for line pragma processing.

Revision 57172 - (view) (annotate) - [select for diffs]
Modified Mon Feb 27 05:27:13 2006 UTC (13 years, 9 months ago) by manus
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 31204 byte(s)
Diff to previous 56972
Implementation of labeled tuples with a limitation which is that the identifier
  list is reduced to only one element, as it is causing the grammar to be too
  difficult.


Revision 56972 - (view) (annotate) - [select for diffs]
Modified Wed Feb 8 20:27:15 2006 UTC (13 years, 10 months ago) by jasonw
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 31097 byte(s)
Diff to previous 56807
1. Removed PRE_POST_AS class.
2. Removed all dependent usage of PRE_POST_AS.

Revision 56807 - (view) (annotate) - [select for diffs]
Modified Mon Jan 30 21:23:20 2006 UTC (13 years, 10 months ago) by jasonw
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 31390 byte(s)
Diff to previous 56712
1. Changed needed EIFFEL_LIST [AST_EIFFEL] to its own type to facilitate roundtrip usage.
2. Added ERT_PARENT_LIST_MODIFIER to merge text of parent list from two classes.

Revision 56712 - (view) (annotate) - [select for diffs]
Modified Wed Jan 25 16:54:03 2006 UTC (13 years, 10 months ago) by jasonw
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 29431 byte(s)
Diff to previous 56644
Finished match_list merging:
1. AST_ROUNDTRIP_FACTORY will generate match_list during parsing, while AST_ROUNDTRIP_LIGHT_FACTORY will not  generate match_list. You can use EIFFEL_ROUNDTRIP_SCANNER with AST_ROUNDTRIP SCANNER_FACTORY to generate match_list separately.

2. AST_ROUNDTRIP_COMPILER_FACTORY will generate match_list during parsing AST_ROUNDTRIP_COMPILER_LIGHT_FACTORY will not generte match_list.

Revision 56644 - (view) (annotate) - [select for diffs]
Modified Fri Jan 20 20:25:40 2006 UTC (13 years, 10 months ago) by jasonw
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 29686 byte(s)
Diff to previous 56536
1. Added `first_token' and `last_token' in AST_EIFFEL and implemented all needed descendant versions.
2. Changed text modification from character-based to token-based.

Revision 56536 - (view) (annotate) - [select for diffs]
Modified Tue Jan 17 01:53:39 2006 UTC (13 years, 10 months ago) by manus
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 30039 byte(s)
Diff to previous 56499
Added text of the GPL license to all classes of the compiler. 


Revision 56499 - (view) (annotate) - [select for diffs]
Modified Thu Jan 12 18:02:52 2006 UTC (13 years, 11 months ago) by jasonw
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 29313 byte(s)
Diff to previous 56473
1.Added AST merge facility.
2.Added item removal functions in EIFFEL_LIST and PARENT_AS.

Revision 56473 - (view) (annotate) - [select for diffs]
Modified Mon Jan 9 23:58:36 2006 UTC (13 years, 11 months ago) by jasonw
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 29139 byte(s)
Diff to previous 56181
1.Added complete_start_location and complete_end_location to give the pricise position of an AST node. And changed start_location/end_location to call the above 2 features.
2. Added text modification facility into AST nodes.

Revision 56181 - (view) (annotate) - [select for diffs]
Modified Thu Dec 15 19:07:14 2005 UTC (14 years ago) by jasonw
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 28573 byte(s)
Diff to previous 53973
Roundtrip facility added.

Revision 53973 - (view) (annotate) - [select for diffs]
Modified Tue Aug 2 11:32:08 2005 UTC (14 years, 4 months ago) by alexk
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 19355 byte(s)
Diff to previous 53246
Introduced a location for the "frozen" keyword in feature name as otherwise
it is not shown in feature basic text view.


Revision 53246 - (view) (annotate) - [select for diffs]
Modified Sat Jul 9 20:29:03 2005 UTC (14 years, 5 months ago) by manus
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 19411 byte(s)
Diff to previous 52923
Reintroduced `fbody_pos' as `body_start_position' is not properly computed
 in ROUTINE_AS, because if before the first instruction of the routine you
 have comments, they are taken into account when displaying the feature header
 comments when it should not.


Revision 52923 - (view) (annotate) - [select for diffs]
Modified Sat Jul 2 20:11:12 2005 UTC (14 years, 5 months ago) by manus
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 19404 byte(s)
Diff to previous 52536
Fixed bug where end_location of actual generics was not properly recorded,
  we recorded the end_location of the last actual generic parameter, thus causing
  some errors with positioning and code that actually modify the class text.
  In the process created a new class TYPE_LIST_AS to replace EIFFEL_LIST [TYPE_AS]
  which record the position of `[' and `]' properly.


Revision 52536 - (view) (annotate) - [select for diffs]
Modified Thu Jun 23 14:10:33 2005 UTC (14 years, 5 months ago) by alexk
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 19431 byte(s)
Diff to previous 52158
Associated location information with infix/prefix keywords to fix bug #4967
when basic text view in feature tool does not show infix/prefix keyword.


Revision 52158 - (view) (annotate) - [select for diffs]
Modified Wed Jun 15 00:09:02 2005 UTC (14 years, 6 months ago) by manus
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 19399 byte(s)
Diff to previous 51814
Removed fbody_pos, it is now a query computed in ROUTINE_AS rather than being stored.
Added `next_pos' passed to `new_feature_as' to create a new FEATURE_AS node:
  `next_pos' records the position of the next thing after a found FEATURE_AS.
  It is mostly useful to extract comments of an attribute.


Revision 51814 - (view) (annotate) - [select for diffs]
Modified Tue Jun 7 09:53:36 2005 UTC (14 years, 6 months ago) by alexk
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 19392 byte(s)
Diff to previous 50946
Supported declaration of assigner command.


Revision 50946 - (view) (annotate) - [select for diffs]
Modified Wed May 11 05:44:53 2005 UTC (14 years, 7 months ago) by manus
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 19382 byte(s)
Diff to previous 50885
Updated to new signature of INTEGER_AS/INTEGER_CONSTANT and REAL_AS which
  now take TYPE_AS instead of TYPE_A.
Added missing redefinition of `new_real_as'.


Revision 50885 - (view) (annotate) - [select for diffs]
Modified Tue May 10 16:19:57 2005 UTC (14 years, 7 months ago) by alexk
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 19282 byte(s)
Diff to previous 50613
Changed creation of STRING_AS to explicitly set manifest sting token length
as calculating it from string size does not work for strings with escaped
characters, multi-line and verbatim  strings.


Revision 50613 - (view) (annotate) - [select for diffs]
Modified Mon May 2 17:04:04 2005 UTC (14 years, 7 months ago) by alexk
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 19276 byte(s)
Diff to previous 50134
Supported new syntax for feature alias (operator) names.


Revision 50134 - (view) (annotate) - [select for diffs]
Added Tue Apr 19 03:28:38 2005 UTC (14 years, 7 months ago) by manus
Original Path: trunk/Src/common/parser/AST/factory/ast_null_factory.e
File length: 19054 byte(s)
Refactoring and merging of the 2 sets of _AS nodes we had for the compiler
  and the others (CodeDom, Build). Now we have only one set and visitors
  to do domain specific processing of an Eiffel class.
However due to some complexity in the compiler, the `compiler_override' and
  `types' subcluster are dupplicated in the compiler (for the override it is
  not too bad, but for types we should not have this duplication which wil
  hopfully be fixed in the future).


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