88 Commits

Author SHA1 Message Date
rogerl%netscape.com
09e69e2106 New (incomplete but functional) implementation of operator overriding.
git-svn-id: svn://10.0.0.236/trunk@84756 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-11 00:03:05 +00:00
rogerl%netscape.com
cc115b820f Fixed bit-rot in exception handling, removed unused locals.
git-svn-id: svn://10.0.0.236/trunk@84214 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-30 01:13:06 +00:00
waldemar%netscape.com
cf2680a180 Fixed C++ errors
git-svn-id: svn://10.0.0.236/trunk@83750 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-16 01:14:36 +00:00
rogerl%netscape.com
3192db65c0 Sweeping set of changes to implement closures. Also re-targetted entire
front-end to Cobol and back-end now generates pdp11 assembly code in
spanish.


git-svn-id: svn://10.0.0.236/trunk@83413 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-08 23:55:39 +00:00
rogerl%netscape.com
ddf0366c42 Added notion of binding a 'this' to a method to construct a mini-closure
for call semantics. Fixed MSVC warnings from lexutils. Added BindThis
instructionand removed 'this' from Call instruction (is now extracted
from target argument).


git-svn-id: svn://10.0.0.236/trunk@82707 18797224-902f-48f8-a5cc-f745e15eee43
2000-11-16 23:48:42 +00:00
rogerl%netscape.com
7ccc093f31 Removed unused parameter.
git-svn-id: svn://10.0.0.236/trunk@81901 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-28 00:01:58 +00:00
rogerl%netscape.com
8133677bfb Named parameter work.
git-svn-id: svn://10.0.0.236/trunk@81899 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-27 23:55:31 +00:00
rogerl%netscape.com
289f607a92 Changed ArgumentList to ArgumentList*. Changed ICodeGenerator to take a
Context instead of world & global pair. Connected to ICodeAssembler from
XMLParser.


git-svn-id: svn://10.0.0.236/trunk@81552 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-21 00:30:23 +00:00
rogerl%netscape.com
129334e4ff Added XMLparsing to load a class. Fixed handling of forward references to
class methods/fields.


git-svn-id: svn://10.0.0.236/trunk@81410 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-18 23:37:44 +00:00
rogerl%netscape.com
0f281d3f25 Mods for getter/setter methods.
git-svn-id: svn://10.0.0.236/trunk@80752 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-09 22:21:26 +00:00
rogerl%netscape.com
7f0909298e Added getter/setter for names.
git-svn-id: svn://10.0.0.236/trunk@78782 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-11 22:10:44 +00:00
rogerl%netscape.com
d9a424fb09 Named arguments
git-svn-id: svn://10.0.0.236/trunk@78410 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-07 19:22:13 +00:00
rogerl%netscape.com
f287b862db Optional and rest parameters.
Named arguments (just begun).


git-svn-id: svn://10.0.0.236/trunk@77963 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-02 01:01:04 +00:00
rogerl%netscape.com
609feb88b0 Prototype munging for built-in global properties, implemented Function
object & Boolean object.


git-svn-id: svn://10.0.0.236/trunk@75594 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 20:28:35 +00:00
rogerl%netscape.com
27cfac201d More ECMA 3 mucking about to support constructors etc.
git-svn-id: svn://10.0.0.236/trunk@74774 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-25 22:58:04 +00:00
rogerl%netscape.com
f236eeaaff Removed all xxxCall, using simple call for everything.
Changed methods to use mMethods vector instead.
Various other fixes etc.


git-svn-id: svn://10.0.0.236/trunk@74388 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 20:53:03 +00:00
rogerl%netscape.com
d2493254c5 Type targetted binary operators.
Added 'time()' function as native.


git-svn-id: svn://10.0.0.236/trunk@74226 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-14 01:00:53 +00:00
rogerl%netscape.com
1fc062cb5a Switching to generic binary operator in order to distinguish situation
where Operators package had been loaded and be able to generate typed
versions of the binary operators otherwise.


git-svn-id: svn://10.0.0.236/trunk@74134 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 00:14:54 +00:00
rogerl%netscape.com
11c82ac5b9 Some parts of x@<name> working.
git-svn-id: svn://10.0.0.236/trunk@73964 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 23:18:07 +00:00
rogerl%netscape.com
07b641917e Support for 'constructor'.
git-svn-id: svn://10.0.0.236/trunk@73865 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 01:08:29 +00:00
rogerl%netscape.com
ceb54a7f92 Removed preprocess step, consolidated identifier handling.
git-svn-id: svn://10.0.0.236/trunk@73767 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 18:26:26 +00:00
rogerl%netscape.com
a02f6ce0d8 use handleDot for call, too.
git-svn-id: svn://10.0.0.236/trunk@73525 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 18:30:47 +00:00
beard%netscape.com
ea7ae68414 delete property support.
git-svn-id: svn://10.0.0.236/trunk@73523 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 18:14:14 +00:00
rogerl%netscape.com
0e43b9fadb Implicit this and class lookup stuff.
git-svn-id: svn://10.0.0.236/trunk@73493 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 01:21:41 +00:00
rogerl%netscape.com
b1eb71fadb First set of unified 'dot' handling changes for statics.
git-svn-id: svn://10.0.0.236/trunk@73418 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 18:41:30 +00:00
rogerl%netscape.com
0ab4d1b650 lots of stuff me and Patrick did
git-svn-id: svn://10.0.0.236/trunk@73275 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 02:39:32 +00:00
rogerl%netscape.com
e8e7f3718b typing 'this'
git-svn-id: svn://10.0.0.236/trunk@73134 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 01:02:34 +00:00
rogerl%netscape.com
9d9a6a599f Got newClass working, added printProperties for instances, some slot
stuff is happening.


git-svn-id: svn://10.0.0.236/trunk@73133 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 00:50:59 +00:00
rogerl%netscape.com
071facaac6 Adding slot handling to code gen.
git-svn-id: svn://10.0.0.236/trunk@73116 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:43:24 +00:00
rogerl%netscape.com
f0dcf103dd Removed FUNCTION instruction, other class related junk.
git-svn-id: svn://10.0.0.236/trunk@73106 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:53:09 +00:00
rginda%netscape.com
0deba46ad9 Added debugger opcode, change InstructionMap to a std::map, print source lines while tracing
git-svn-id: svn://10.0.0.236/trunk@73101 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:27:17 +00:00
rogerl%netscape.com
60220bebd1 Add return statement if the function doesn't end with one
git-svn-id: svn://10.0.0.236/trunk@73092 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 21:20:03 +00:00
rogerl%netscape.com
c263fddb6c Work to support 'this'.
git-svn-id: svn://10.0.0.236/trunk@72823 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:32:21 +00:00
rogerl%netscape.com
ae69e1c56c Changed use of Register to TypedRegister throughout.
git-svn-id: svn://10.0.0.236/trunk@72685 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 22:45:45 +00:00
rogerl%netscape.com
5f2e9befeb Mucking about with operator overlaoding plus initializing global context
- beginning type stuff.


git-svn-id: svn://10.0.0.236/trunk@72337 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 01:36:59 +00:00
rogerl%netscape.com
27c8e7b5f6 Adding support for Functions and Vars, preXcrement, object literals.
git-svn-id: svn://10.0.0.236/trunk@72247 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:26:15 +00:00
rogerl%netscape.com
bbfb961ed9 Statement fun
git-svn-id: svn://10.0.0.236/trunk@70952 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-26 22:33:05 +00:00
rogerl%netscape.com
2cd8ea4b80 Codegen for statements. Blew off old statement API and most of the test
functions for now, sorry.


git-svn-id: svn://10.0.0.236/trunk@70700 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-24 02:11:39 +00:00
waldemar%netscape.com
7d8705ed17 Fixed syntax errors: can't use qualified names in class definitions, and 'not' is a C++ reserved word
git-svn-id: svn://10.0.0.236/trunk@70692 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-24 00:54:28 +00:00
rogerl%netscape.com
5bd38c3d54 Added operator overloading support
git-svn-id: svn://10.0.0.236/trunk@70634 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-23 00:08:29 +00:00
rogerl%netscape.com
d62fe47db9 Moved genExpr to ICodeGenerator - added most expression ops.
git-svn-id: svn://10.0.0.236/trunk@70415 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-18 00:03:23 +00:00
rogerl%netscape.com
1ed0e7b17e Added post inc/dec for properties & names.
git-svn-id: svn://10.0.0.236/trunk@69110 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-11 00:35:06 +00:00
beard%netscape.com
e625f9653f Needed to transfer ownwership of iCode from ICodeGenerator to ICodeModule
git-svn-id: svn://10.0.0.236/trunk@68858 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 18:59:12 +00:00
rogerl%netscape.com
343526f153 Fixed leakage of ICodeModule via JSFunction
git-svn-id: svn://10.0.0.236/trunk@68849 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 18:09:33 +00:00
rogerl%netscape.com
8ba0e32346 Added more string handling + valueToString/Number code.
NativeFunction support.


git-svn-id: svn://10.0.0.236/trunk@68732 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-08 22:59:42 +00:00
waldemar%netscape.com
5875d7f848 Fixed syntax error
git-svn-id: svn://10.0.0.236/trunk@68488 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-06 03:31:50 +00:00
rogerl%netscape.com
eb993faee7 Basic string literal & value support
git-svn-id: svn://10.0.0.236/trunk@68461 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-05 23:22:31 +00:00
rogerl%netscape.com
dee0321fd6 New arithmetic ops.
git-svn-id: svn://10.0.0.236/trunk@68433 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-05 21:38:16 +00:00
beard%netscape.com
9c590eb7bd remove unnecessary #include <iostream>
git-svn-id: svn://10.0.0.236/trunk@68336 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-05 04:44:01 +00:00
beard%netscape.com
2ba8cac7bf removed unused macro NS_JSICG.
git-svn-id: svn://10.0.0.236/trunk@68329 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-05 04:04:23 +00:00