| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
slice2freeze.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
bug)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
operations, this doesn't work because of forward declarations
|
| |
|
|
|
|
| |
has (or inherits) operations.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Normal, Nonmutating, and Idempotent operations. Fixed bug introduced
into Freeze with previous changes for saving object state. (State
wasn't saved for idempotent operations.) Retested everything. I'm
getting a failure in the Yellow (C++) tests, and another failure in the
IceBox (Java) tests, but I don't think these are related to these
changes.
|
| |
|
| |
|
| |
|
|
|
|
| |
class for nonmutable operations.
|
|
|
|
|
| |
torture test IDL compiles correctly now.
Removed a few commented-out sections of code that I left behind earlier.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
That way, we can check whether meaning changes as identifiers are
introduced into parameter declarartions.
Changes were quite extensive because one thing dragged another behind it...
Got rid of some of the pesky parse errors caused by returning zero from
some creation operations. In general, it seems easier to, whenever
possible, to create a dummy instance of something that doesn't quite
parse or doesn't quite get through a semantic check. This avoids
calling YYERROR, which can make a big mess of the scope stack. (I got
stuck on this for quite a long time before I figured out what was going
on.)
Took the opportunity to get rid of the awkward parsing for parameter lists.
We now have only a single parameters non-terminal, which simplifies
things (and also got rid of the one remaining shift/reduce conflict in
the grammar).
Updated all the code generators to work with the new structure for the
syntax tree.
Kept a rather ugly hack in Grammar.y to still permit use of semicolons to
indicate out params. This will go with stable_39, so I don't mind that
it's ugly for now.
|
|
|
|
|
|
| |
keywords with a "_cpp_" prefix.
Changed Java code generator to use binary_search() instead of the
hand-coded binary search.
|
| |
|
|
|
|
|
| |
That was cleaner than polluting the generated files with the macro
definition over and over...
|
|
|
|
|
| |
approach used now (a macro) makes the generated source more readable
than the previous one.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
only.) I couldn't avoid adding a few #ifdefs because of the different
64-bit integer APIs across Linux and Windows. (#including config.h
wasn't an option because that would have created a circular dependency
between Ice and Slice.)
Added sufficient test cases to convince myself that things actually work as
intended.
Will compile under Windows now, so bear with me if things are broken under
Windows for a few minutes...
Some things that aren't quite right yet:
- No support for universal character names (\uxxxx)
- gcc appears to have a preprocessor bug. For example, preprocessing a file
containing a single '@' character just echos that '@' character to the
output. According to the C++ spec, '@' should be translated to its
universal character name (because it isn't part of the basic C++ source
character set).
- Why is the Slice string type mapped to std::string? Given that we are
supposed to support unicode for everything, shouldn't that be mapped to
std::wstring?
Once Windows compiles OK, I'll start on the Java code generation.
|
|
|
|
|
|
|
|
| |
quite correct yet for enums and long long). The other code generators
(java, xsl, etc.) ignore constants for now. Semantic checks are in
place, apart from enums.
Still more work to do -- this is just an intermediate check-in. (About to
test this on Windows too...)
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|