/[eiffelstudio]/branches/CAT_mono/Src/framework/parser/parser/eiffel_parser_skeleton.e
ViewVC logotype

Log of /branches/CAT_mono/Src/framework/parser/parser/eiffel_parser_skeleton.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: 22784 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: 22733 byte(s)
Diff to previous 69039
Creation of CAT_mono branch to implement variant/invariant proposal

Revision 69039 - (view) (annotate) - [select for diffs]
Modified Tue Jun 12 22:02:33 2007 UTC (12 years, 5 months ago) by manus
Original Path: trunk/Src/framework/parser/parser/eiffel_parser_skeleton.e
File length: 22733 byte(s)
Diff to previous 68907
Made sure to reset `is_constraint_renaming' to False otherwise if not reset we might get
  a syntax error at next parsing of an empty inheritance rename clause.


Revision 68907 - (view) (annotate) - [select for diffs]
Modified Wed Jun 6 17:58:16 2007 UTC (12 years, 6 months ago) by martins
Original Path: trunk/Src/framework/parser/parser/eiffel_parser_skeleton.e
File length: 22698 byte(s)
Diff to previous 67856
Fixes bug#12775 which is documented in test#multicon042.
eiffel.y: Added syntax warning/error for empty rename clauses dependant on the context (constraint renaming or class inheritance).
eiffel_parser_skeleton.e: Added boolean flag to store this context.

Revision 67856 - (view) (annotate) - [select for diffs]
Modified Mon Apr 16 19:22:30 2007 UTC (12 years, 7 months ago) by martins
Original Path: trunk/Src/framework/parser/parser/eiffel_parser_skeleton.e
File length: 22556 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, 8 months ago) by martins
Original Path: trunk/Src/framework/parser/parser/eiffel_parser_skeleton.e
File length: 22560 byte(s)
Diff to previous 65185
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 65185 - (view) (annotate) - [select for diffs]
Modified Wed Nov 22 00:54:06 2006 UTC (13 years ago) by patrickr
Original Path: trunk/Src/framework/parser/parser/eiffel_parser_skeleton.e
File length: 22209 byte(s)
Diff to previous 65166
some changes to make use of the new ID_AS behavior

Revision 65166 - (view) (annotate) - [select for diffs]
Modified Tue Nov 21 01:38:24 2006 UTC (13 years ago) by patrickr
Original Path: trunk/Src/framework/parser/parser/eiffel_parser_skeleton.e
File length: 22660 byte(s)
Diff to previous 64544
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 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/parser/eiffel_parser_skeleton.e
File length: 22723 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/parser/eiffel_parser_skeleton.e
File length: 22260 byte(s)
Diff to previous 63535
moved libraries from the compiler into the framework

Revision 63535 - (view) (annotate) - [select for diffs]
Modified Wed Sep 13 05:30:11 2006 UTC (13 years, 2 months ago) by manus
Original Path: trunk/Src/Eiffel/parser/parser/eiffel_parser_skeleton.e
File length: 22260 byte(s)
Diff to previous 63519
Reverted back to the previous formulation for an integer which is either
  too small or too large and no integer type has been specified.


Revision 63519 - (view) (annotate) - [select for diffs]
Modified Tue Sep 12 21:11:57 2006 UTC (13 years, 2 months ago) by manus
Original Path: trunk/Src/Eiffel/parser/parser/eiffel_parser_skeleton.e
File length: 22248 byte(s)
Diff to previous 63360
Fixed bug#5373 by improving the error message when you have an underflow or an overflow
  in the value of an integer/natural.


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/parser/eiffel_parser_skeleton.e
File length: 21876 byte(s)
Diff to previous 62447
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 62447 - (view) (annotate) - [select for diffs]
Modified Fri Aug 11 23:18:55 2006 UTC (13 years, 3 months ago) by konradm
Original Path: trunk/Src/Eiffel/parser/parser/eiffel_parser_skeleton.e
File length: 21991 byte(s)
Diff to previous 61506
- Corrected several problems with inline agents. (Specially when they occur in assertions)
- Added semantic checks for locals and arguments (VPID) of inline agents
- Optimized agents calls for classic eiffel. 
- It is now possible to make agents on named tuple attributes.


Revision 61506 - (view) (annotate) - [select for diffs]
Modified Thu Jul 20 17:23:17 2006 UTC (13 years, 4 months ago) by manus
Original Path: trunk/Src/Eiffel/parser/parser/eiffel_parser_skeleton.e
File length: 20936 byte(s)
Diff to previous 61501
Ensure suppliers are recorded by default.


Revision 61501 - (view) (annotate) - [select for diffs]
Modified Thu Jul 20 16:13:32 2006 UTC (13 years, 4 months ago) by manus
Original Path: trunk/Src/Eiffel/parser/parser/eiffel_parser_skeleton.e
File length: 20872 byte(s)
Diff to previous 60616
When we are in non .NET parsing mode, we are not checking that the classes mentioned in
  custom attributes are indeed part of the system. This fixes bug#10367.


Revision 60616 - (view) (annotate) - [select for diffs]
Modified Tue Jun 27 18:02:28 2006 UTC (13 years, 5 months ago) by konradm
Original Path: trunk/Src/Eiffel/parser/parser/eiffel_parser_skeleton.e
File length: 20748 byte(s)
Diff to previous 59452
- Support for agents on attributes and externals
- Support for inline agents.
- No freeze anymore when creating a new agent.
- Removed bug in Named tuples

Revision 59452 - (view) (annotate) - [select for diffs]
Modified Wed Jun 7 14:33:32 2006 UTC (13 years, 6 months ago) by alexk
Original Path: trunk/Src/Eiffel/parser/parser/eiffel_parser_skeleton.e
File length: 20466 byte(s)
Diff to previous 59276
Tracked the expression variants that may be used as instruction to detect the cases when an expression is used as an instruction and to report the corresponding error (this allows to avoid additional checks performed using AST node information so that AST factory (such as AST_NULL_FACTORY) is not required to create the real nodes that are used to check if the construct is valid).

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/parser/eiffel_parser_skeleton.e
File length: 20409 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/parser/eiffel_parser_skeleton.e
File length: 19320 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/parser/eiffel_parser_skeleton.e
File length: 19320 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/parser/eiffel_parser_skeleton.e
File length: 19320 byte(s)
Diff to previous 57739
Fixed mixing paranthesis in indexing clause for the licensing.
Added missing license reference in newly created Eiffel classes.


Revision 57739 - (view) (annotate) - [select for diffs]
Modified Fri Mar 24 05:05:32 2006 UTC (13 years, 8 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 19310 byte(s)
Diff to previous 57554
Removed `single_parser_type' because it is using `xor' and this is not
  wel supported by gcc 4.0 for some reasones.


Revision 57554 - (view) (annotate) - [select for diffs]
Modified Tue Mar 21 22:08:11 2006 UTC (13 years, 8 months ago) by jasonw
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 19838 byte(s)
Diff to previous 57541
Make every string constants used in eiffel.l and eiffel.y once strings.

Revision 57541 - (view) (annotate) - [select for diffs]
Modified Mon Mar 20 19:39:39 2006 UTC (13 years, 8 months ago) by paulb
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 19831 byte(s)
Diff to previous 57505
Added features for feature and invariant unit parsers

Revision 57505 - (view) (annotate) - [select for diffs]
Modified Thu Mar 16 23:53:04 2006 UTC (13 years, 8 months ago) by raphaels
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 18504 byte(s)
Diff to previous 57172
Added `is_partial_class' and now handles partial classes.

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/parser/eiffel_parser_skeleton.e
File length: 18304 byte(s)
Diff to previous 56807
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 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/parser/eiffel_parser_skeleton.e
File length: 18104 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/parser/eiffel_parser_skeleton.e
File length: 18124 byte(s)
Diff to previous 56536
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 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/parser/eiffel_parser_skeleton.e
File length: 18336 byte(s)
Diff to previous 56500
Added text of the GPL license to all classes of the compiler. 


Revision 56500 - (view) (annotate) - [select for diffs]
Modified Thu Jan 12 18:05:18 2006 UTC (13 years, 10 months ago) by jasonw
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 17615 byte(s)
Diff to previous 56494
1. Removed unused comments.
2. Fixed a location issue of old_static_access to give more precise infomation when possible.
3. Changed forzen keyword match from LOCATION_AS to KEYWORD_AS.

Revision 56494 - (view) (annotate) - [select for diffs]
Modified Tue Jan 10 20:16:20 2006 UTC (13 years, 10 months ago) by jasonw
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 17571 byte(s)
Diff to previous 56473
Removed unused code.

Revision 56473 - (view) (annotate) - [select for diffs]
Modified Mon Jan 9 23:58:36 2006 UTC (13 years, 10 months ago) by jasonw
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 20235 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 (13 years, 11 months ago) by jasonw
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 22818 byte(s)
Diff to previous 55126
Roundtrip facility added.

Revision 55126 - (view) (annotate) - [select for diffs]
Modified Fri Oct 14 00:08:07 2005 UTC (14 years, 1 month ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 21487 byte(s)
Diff to previous 54782
Use `is_number_sequence' instead of `is_integer' since now `is_integer' will
  also ensures that the value can fit into an integer variable.


Revision 54782 - (view) (annotate) - [select for diffs]
Modified Tue Sep 27 23:51:06 2005 UTC (14 years, 2 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 21479 byte(s)
Diff to previous 54073
Updated to reflect changes in the new Gobo 3.4 delivery.


Revision 54073 - (view) (annotate) - [select for diffs]
Modified Thu Aug 4 15:24:51 2005 UTC (14 years, 4 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 21483 byte(s)
Diff to previous 53973
Fixed eweasel test `term137' where having `{UNKNOWN} 1' would cause the compiler
  to crash rather than reporting an error stating that `UNKNOWN' is not a valid
  type for an INTEGER constant.
  In the process we also fixed the same problem for REAL constants.


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/parser/eiffel_parser_skeleton.e
File length: 21176 byte(s)
Diff to previous 53421
Introduced a location for the "frozen" keyword in feature name as otherwise
it is not shown in feature basic text view.


Revision 53421 - (view) (annotate) - [select for diffs]
Modified Thu Jul 14 08:30:47 2005 UTC (14 years, 4 months ago) by alexk
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 21263 byte(s)
Diff to previous 53246
Fixed an issue with frozen features appearing in clickable view (bug #4756)
in adaptation clauses because `is_frozen' flag was not reset before parsing
a new class.


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/parser/eiffel_parser_skeleton.e
File length: 21241 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/parser/eiffel_parser_skeleton.e
File length: 21169 byte(s)
Diff to previous 52298
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 52298 - (view) (annotate) - [select for diffs]
Modified Fri Jun 17 12:25:11 2005 UTC (14 years, 5 months ago) by alexk
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 21178 byte(s)
Diff to previous 52158
Added a helper routine to check if an Expression can be an Instruction and
to perform the corresponding conversion.


Revision 52158 - (view) (annotate) - [select for diffs]
Modified Wed Jun 15 00:09:02 2005 UTC (14 years, 5 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 20176 byte(s)
Diff to previous 51000
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 51000 - (view) (annotate) - [select for diffs]
Modified Thu May 12 11:46:30 2005 UTC (14 years, 6 months ago) by alexk
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 20247 byte(s)
Diff to previous 50957
Moved checks for VFAV from parser to compiler factory so that EiffelBuild
does not depend on classes that represent VFAV errors.


Revision 50957 - (view) (annotate) - [select for diffs]
Modified Wed May 11 14:46:14 2005 UTC (14 years, 6 months ago) by alexk
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 21833 byte(s)
Diff to previous 50949
Introduced validity checks for alias names.


Revision 50949 - (view) (annotate) - [select for diffs]
Modified Wed May 11 05:46:32 2005 UTC (14 years, 6 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 20247 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.


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/parser/eiffel_parser_skeleton.e
File length: 20247 byte(s)
Diff to previous 50642
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 50642 - (view) (annotate) - [select for diffs]
Modified Tue May 3 15:30:13 2005 UTC (14 years, 7 months ago) by alexk
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 20163 byte(s)
Diff to previous 50638
Provided more descriptive error messages for integer values that do not fit
any integer type.


Revision 50638 - (view) (annotate) - [select for diffs]
Modified Tue May 3 14:49:19 2005 UTC (14 years, 7 months ago) by alexk
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 20037 byte(s)
Diff to previous 50611
Supported underscores in hexadecimal integer literals.
Changed processing of underscores in integer literals to make sure the value
string is not truncated in feature basic text view.
Simplified interface of the feature that processes integer literals.
Slightly improved error reporting for integer literals by using original token value
rather than the one without underscores.


Revision 50611 - (view) (annotate) - [select for diffs]
Modified Mon May 2 16:52:10 2005 UTC (14 years, 7 months ago) by alexk
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 19934 byte(s)
Diff to previous 50124
Added new token for bracket operator declaration.
Added flag for "convert" mark of operator features.


Revision 50124 - (view) (annotate) - [select for diffs]
Modified Tue Apr 19 01:41:15 2005 UTC (14 years, 7 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 19741 byte(s)
Diff to previous 50086
INTEGER_AS and REAL_AS nodes are now generated from the AST_FACTORY.


Revision 50086 - (view) (annotate) - [select for diffs]
Modified Sun Apr 17 15:50:42 2005 UTC (14 years, 7 months ago) by alexk
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 19702 byte(s)
Diff to previous 49753
Corrected query `has_parsing_type' to return expected result.


Revision 49753 - (view) (annotate) - [select for diffs]
Modified Mon Apr 4 05:25:41 2005 UTC (14 years, 8 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 19726 byte(s)
Diff to previous 49702
New Eiffel parser which records properly position of various constructs during
  parsing and because LOCATION_AS is much more compact that its previous TOKEN_LOCATION
  counterpart it saves some space in memory (about 1-2 percent).
Improved parser to fully used the AST_FACTORY or let you specify one, thus
  we removed all assertions on the factory to enable you to use the AST_NULL_FACTORY
  which does not create any node.
Various improvments include:
 - validity of feature declaration is done at the syntax level (not in `new_declaration_body'
   which has been removed)
 - All lists are created with the right size using counters (this saves 2-3 percent
   in size)
 - It now accepts indexing clause without tags (but reports a warning instead)


Revision 49702 - (view) (annotate) - [select for diffs]
Modified Thu Mar 31 22:16:51 2005 UTC (14 years, 8 months ago) by neilc
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 32064 byte(s)
Diff to previous 48808
Added a entity_declaration parser for parsing entity declarations.  Used for parsing localsa and argument signatures.


Revision 48808 - (view) (annotate) - [select for diffs]
Modified Tue Mar 1 01:19:19 2005 UTC (14 years, 9 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 31565 byte(s)
Diff to previous 47819
Frozen is now accepted even in classic.


Revision 47819 - (view) (annotate) - [select for diffs]
Modified Tue Jan 25 00:31:20 2005 UTC (14 years, 10 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 31635 byte(s)
Diff to previous 46303
NATURAL_XX support.
New "{X} expression" support.
New "{BASIC_TYPE} value" support.
However we broke support for:
 - {X} Precursor
 - agent f ({NONE})
For the last one, we have introduced an alternative syntax `agent f (? {NONE})'
  to avoid breaking code at our customers site.
Added more checking for ensuring the validity of the parser we created against
  the type of parsing we are trying to do. Added also a new parsing type for
  indexing clause only.


Revision 46303 - (view) (annotate) - [select for diffs]
Modified Wed Nov 3 10:34:52 2004 UTC (15 years, 1 month ago) by alexk
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 27663 byte(s)
Diff to previous 45835
Added FIXMEs for Integer_too_large and Integer_too_small errors.


Revision 45835 - (view) (annotate) - [select for diffs]
Modified Fri Sep 24 18:56:34 2004 UTC (15 years, 2 months ago) by alexk
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 27384 byte(s)
Diff to previous 45583
Supported indented and non-indented verbatim strings.
Avoided warning messages for verbatim strings in indexing clauses.


Revision 45583 - (view) (annotate) - [select for diffs]
Modified Mon Sep 13 14:30:49 2004 UTC (15 years, 2 months ago) by alexk
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 27047 byte(s)
Diff to previous 44435
Supported once manifest strings.


Revision 44435 - (view) (annotate) - [select for diffs]
Modified Wed Jul 21 04:52:13 2004 UTC (15 years, 4 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 26880 byte(s)
Diff to previous 43410
Updated parser so that `reference X' types are refused.
Made the following syntax `expanded X' obsolete as ECMA decided it should
  be disallowed.


Revision 43410 - (view) (annotate) - [select for diffs]
Modified Wed Jun 2 00:07:27 2004 UTC (15 years, 6 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 26903 byte(s)
Diff to previous 42633
Renamed TYPE into TYPE_AS


Revision 42633 - (view) (annotate) - [select for diffs]
Modified Fri Apr 9 03:11:52 2004 UTC (15 years, 8 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 26888 byte(s)
Diff to previous 41956
Implemented constraints that are either reference or expanded.


Revision 41956 - (view) (annotate) - [select for diffs]
Modified Tue Mar 9 16:47:58 2004 UTC (15 years, 9 months ago) by jfiat
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 26878 byte(s)
Diff to previous 41711
added expression parsing  functionality (in prevision of futur commits about debugger and evaluation expression)


Revision 41711 - (view) (annotate) - [select for diffs]
Modified Fri Mar 5 07:12:44 2004 UTC (15 years, 9 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 26559 byte(s)
Diff to previous 39541
Added support for `reference' keyword.
Made `Void' a keyword.
Added syntax support for `once manifest_string' as an expression.

Ensure that all class names, type names are given in upper case; Ensure that
all feature names are given in lower case. This reduces the need to perform
casing conversion all the time in the code of the compiler while displaying
class names.

Allowed for qualified calls using `infix "..."' and `prefix "..."' to satisfy the UAP.

Separated grammar so that we distinguish between old and new syntax for
agents. And improved grammar for new agent syntax.

Use `twin' instead of `clone' now obsolete.

Updated CLASS_TYPE_AS creation since it now replaces EXP_TYPE_AS and SEPARATE_TYPE_AS.


Revision 39541 - (view) (annotate) - [select for diffs]
Modified Fri Oct 10 22:26:19 2003 UTC (16 years, 2 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 27893 byte(s)
Diff to previous 38884
Added `attribute' and `assign' as keyword. For the moment they return something
of type `TE_ID' but when we will implement their semantic in the compiler
they will return something different. For the moment if `syntax_warning'
is enabled, we trigger a warning so that user code can update their source
code even before the new keyword is introduced.


Revision 38884 - (view) (annotate) - [select for diffs]
Modified Thu Sep 4 21:36:34 2003 UTC (16 years, 3 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 28179 byte(s)
Diff to previous 37665
Added `has_externals' to EIFFEL_PARSER_SKELETON so that when a class has
an external declaration, it is set to True.
Useful for the compiler to find out if it needs to freeze or not when
 creating a new generic derivation of a class.


Revision 37665 - (view) (annotate) - [select for diffs]
Modified Tue Jun 10 23:50:26 2003 UTC (16 years, 6 months ago) by julieng
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 28064 byte(s)
Diff to previous 37117
Replace !! with create keyword.


Revision 37117 - (view) (annotate) - [select for diffs]
Modified Mon May 5 03:52:18 2003 UTC (16 years, 7 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 28004 byte(s)
Diff to previous 36957
Because there is no more special cases in lexer for the name of basic type
base classes, there is no need for having special factory routines to
generate those values. We got rid of all `new_XX_id_as' and `new_XX_type'.
Updated `new_class_type' so that it knows how to create an instance of
 NONE type.
Updated `Dummy_clickable_as' to use `new_none_type_a' rather than
 `new_integer_type_as' which has been removed for the above reason.


Revision 36957 - (view) (annotate) - [select for diffs]
Modified Thu Apr 24 22:22:52 2003 UTC (16 years, 7 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 32119 byte(s)
Diff to previous 36845
New assertions that states that `convertors' is either Void or not empty.


Revision 36845 - (view) (annotate) - [select for diffs]
Modified Fri Apr 18 22:40:57 2003 UTC (16 years, 7 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 32071 byte(s)
Diff to previous 36527
Added support for new `convert' keyword.
Added position information for TYPE_DEC_AS instances.


Revision 36527 - (view) (annotate) - [select for diffs]
Modified Thu Apr 3 07:18:43 2003 UTC (16 years, 8 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 31945 byte(s)
Diff to previous 36355
Updated to use new Gobo 3.1 library.


Revision 36355 - (view) (annotate) - [select for diffs]
Modified Sat Mar 15 02:32:05 2003 UTC (16 years, 8 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 31934 byte(s)
Diff to previous 36329
Now we report a syntax warning only if `has_syntax_warning' is set on Current
parser.


Revision 36329 - (view) (annotate) - [select for diffs]
Modified Thu Mar 13 07:51:27 2003 UTC (16 years, 8 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 31625 byte(s)
Diff to previous 33902
Added extra argument to `new_precursor' which points out to location where
old syntax specification for Precursor is used. When this is specified we
raise a SYNTAX_WARNING so that code can be updated to new syntax.


Revision 33902 - (view) (annotate) - [select for diffs]
Modified Thu Aug 22 03:12:31 2002 UTC (17 years, 3 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 31326 byte(s)
Diff to previous 33098
Update since FEATURE_AS and CLICK_AST now takes a line_number info.


Revision 33098 - (view) (annotate) - [select for diffs]
Modified Thu Jul 18 19:47:00 2002 UTC (17 years, 4 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 31225 byte(s)
Diff to previous 31718
Added ability to just parse TYPE.


Revision 31718 - (view) (annotate) - [select for diffs]
Modified Mon Apr 22 22:07:04 2002 UTC (17 years, 7 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 30942 byte(s)
Diff to previous 30795
Now use creation routine of ID_AS instead of factory feature `new_id_as'.


Revision 30795 - (view) (annotate) - [select for diffs]
Modified Thu Feb 21 02:19:53 2002 UTC (17 years, 9 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 30887 byte(s)
Diff to previous 26913
`fclause_pos' is now a TOKEN_LOCATION which provides more information.


Revision 26913 - (view) (annotate) - [select for diffs]
Modified Sun Aug 12 23:50:20 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 30880 byte(s)
Diff to previous 16996
Merged branch `dev46_manu' to the trunc.


Revision 16996 - (view) (annotate) - [select for diffs]
Modified Thu Sep 2 04:00:05 1999 UTC (20 years, 3 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 28108 byte(s)
Diff to previous 16429
Fixed an incorrect postcondition in `new_class_description' where we do not have
always `invariant_part_set' because there is a case where `Result.invariant' and `inv'
could not match (eg when you just use the keyword `invariant' without any real invariants).


Revision 16429 - (view) (annotate) - [select for diffs]
Modified Sun Aug 15 20:04:17 1999 UTC (20 years, 3 months ago) by manus
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 27963 byte(s)
Diff to previous 14608
New parser which allows you to have an indexing clause at the end of a class text
just before the final `end'.


Revision 14608 - (view) (annotate) - [select for diffs]
Modified Tue May 25 00:46:46 1999 UTC (20 years, 6 months ago) by ericb
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 27606 byte(s)
Diff to previous 14455
Bug fixed in rescue clause of feature `parse'.


Revision 14455 - (view) (annotate) - [select for diffs]
Modified Sat May 15 02:09:34 1999 UTC (20 years, 6 months ago) by ericb
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 27702 byte(s)
Diff to previous 14206
First working implementation.


Revision 14206 - (view) (annotate) - [select for diffs]
Added Fri Apr 30 11:49:32 1999 UTC (20 years, 7 months ago) by ericb
Original Path: trunk/Src/common/parser/parser/eiffel_parser_skeleton.e
File length: 15100 byte(s)
*** empty log message ***


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