summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* added predeclared identifiers to CP scanner.dodidodi2010-10-261-26/+95
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16225 3ad0048d-3df7-0310-abae-a5850022a9f2
* + implemented CP scanner.dodi2010-10-262-19/+728
| | | | | | | | + some improvements of the CP parser. Hello.cpas compiles now :-) git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16223 3ad0048d-3df7-0310-abae-a5850022a9f2
* + some improvements of the CP parser. The first run with real source code ↵dodi2010-10-254-688/+694
| | | | | | | | revealed the need for an exact scanner: + made scanner virtual. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16222 3ad0048d-3df7-0310-abae-a5850022a9f2
* + added new parser for Oberon/Component Pascal, according to thedodi2010-10-244-63/+890
| | | | | | | grammar of Oberon Microsystems. It only compiles, so far, does nothing but parse. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16214 3ad0048d-3df7-0310-abae-a5850022a9f2
* + cloned and separated pdecsubOPL, pstatmntOPL dodi2010-10-2311-1558/+5489
| | | | | | + added missing return values to pbase... git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16201 3ad0048d-3df7-0310-abae-a5850022a9f2
* + reverted current_scanner to a global variable, by default.dodi2010-10-174-28/+26
| | | | | | + try inline current_parser. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16177 3ad0048d-3df7-0310-abae-a5850022a9f2
* + added virtual methods to TParser, to support alternate parsers. added ↵dodi2010-10-175-98/+210
| | | | | | | | | | | static forwarders to these methods. + override virtual methods in parserOPL. + exported and renamed pstatmnt.statement() and other procedures. + extracted semantics from statement, try_statement and statement_block(). git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16176 3ad0048d-3df7-0310-abae-a5850022a9f2
* converted semantic Classes into Objects.dodi2010-10-164-68/+195
| | | | | | try/finally no more needed :-) git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16173 3ad0048d-3df7-0310-abae-a5850022a9f2
* + unified conditional "sem" into "semclass".dodi2010-10-152-11/+23
| | | | | | | + added SCheckIncompleteClassDefinitions, extracted from read_declarations. + simplified obsolete try_to_consume into consume. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16169 3ad0048d-3df7-0310-abae-a5850022a9f2
* + renamed conditional sem into semclass, for consistency with other units.dodi2010-10-153-9/+22
| | | | | | | + extracted SBlockVarInitialization from ParseBlock. This code could become a method of tprocinfo or tprocdef? git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16168 3ad0048d-3df7-0310-abae-a5850022a9f2
* + Moved do_generate_code() from read_proc_body into tcgprocinfo.dodi2010-10-151-18/+19
| | | | | | This allows to use this procedure from alternate parsers. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16167 3ad0048d-3df7-0310-abae-a5850022a9f2
* + Added new psubOPL and ssub units, cloned from psub.pas.dodi2010-10-152-0/+889
| | | | | | | These units are part of the alternate OPL parser. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16166 3ad0048d-3df7-0310-abae-a5850022a9f2
* Added comment on IsLibrary dummy - this symbol is also defined in system! ↵dodi2010-10-151-0/+4
| | | | | | Should be renamed into is_library in the compiler? git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16165 3ad0048d-3df7-0310-abae-a5850022a9f2
* using splitted psub.tcgprocinfo.parse_body in parseropl.pasdodi2010-10-151-1/+14
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16164 3ad0048d-3df7-0310-abae-a5850022a9f2
* split psub.tcgprocinfo.parse_body, to allow for alternate parser.dodi2010-10-141-15/+31
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16160 3ad0048d-3df7-0310-abae-a5850022a9f2
* added defines for shared code steps to smodules.dodi2010-10-142-55/+129
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16159 3ad0048d-3df7-0310-abae-a5850022a9f2
* sharing code in smodules, for module initializationdodi2010-10-132-20/+157
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16153 3ad0048d-3df7-0310-abae-a5850022a9f2
* removed "outlined" define.dodi2010-10-132-1533/+178
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16152 3ad0048d-3df7-0310-abae-a5850022a9f2
* + using TSemModule in new parser - looks okay.dodi2010-10-132-49/+159
| | | | | | $ifdefs look horrible, should be reduced :-( git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16150 3ad0048d-3df7-0310-abae-a5850022a9f2
* + added TSemModule class in SModules.pasdodi2010-10-132-8/+1078
| | | | | | | moved procedures into methods. deserves some cleanup (handle exits, unclear local/common variables). git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16149 3ad0048d-3df7-0310-abae-a5850022a9f2
* + separated parser module variables into local and common.dodi2010-10-131-151/+174
| | | | | | | a ...Module class should hold the common variables and procedures. + cleanup modulename checks in ProcUnit (CheckUnitName). git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16148 3ad0048d-3df7-0310-abae-a5850022a9f2
* + fixed flaw in pmodules.release_main_proc.dodi2010-10-121-3/+3
| | | | | | argument pi should be VAR, otherwise setting it to NIL is useless. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16140 3ad0048d-3df7-0310-abae-a5850022a9f2
* + start sorting out local and global variables in parserOPL.dodi2010-10-121-78/+138
| | | | | | + found bug(?) in release_main_proc, requires VAR parameter. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16139 3ad0048d-3df7-0310-abae-a5850022a9f2
* + added unit header to parseropl.pasdodi2010-10-121-22/+186
| | | | | | | | + added $define OUTLINE for further refactoring. the original (inlined) code *must* stay part of the parser, for tracking changes to the p* units. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16138 3ad0048d-3df7-0310-abae-a5850022a9f2
* moved SUsesAdd and SUsesDone to unit level.dodi2010-10-121-48/+50
| | | | | | fixed parameter list. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16137 3ad0048d-3df7-0310-abae-a5850022a9f2
* + renamed SIntfUses into SUsesAdd, added local var (doesn't fix the bug)dodi2010-10-121-11/+18
| | | | | | + split SProgLibImplInit, added SProgLibBodyInit. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16136 3ad0048d-3df7-0310-abae-a5850022a9f2
* moved SUsesDone() to unit level.dodi2010-10-121-37/+38
| | | | | | todo: add required variables, to all extracted subroutines. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16135 3ad0048d-3df7-0310-abae-a5850022a9f2
* + isolated semantic code in ProcPackage and ProcProgram.dodi2010-10-111-6/+701
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16134 3ad0048d-3df7-0310-abae-a5850022a9f2
* + isolated semantic code in ProcUnit.dodi2010-10-115-10/+581
| | | | | | | | | | + suspect compiler bug in parserOPL.loadunits :-( added debug features to parseropl.pas, see "BugHere". + made current_scanner a function, to catch bad assignments (see "ifdef gbl"). + found questionable code in tmodule.destroy (see "todo") git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16130 3ad0048d-3df7-0310-abae-a5850022a9f2
* added alternative parser class.dodi2010-10-114-5/+1355
| | | | | | | cloned pmodules into parserOPL. published pmodules helper procedures. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16126 3ad0048d-3df7-0310-abae-a5850022a9f2
* Create branch for alternative parsers.dodi2010-10-1111972-0/+4379370
| | | | | | Add parser registration and selection. git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@16125 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: merged module PrjType from booleansdodi2010-09-0910-29/+53
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15959 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: merged IsLibrary etc. into status.PrjTypedodi2010-09-099-146/+91
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15958 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: restored aasmsym.pas, splitted GlobVars into cgGlobVarsdodi2010-09-0812-37/+414
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15949 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: updated target specific unitsdodi2010-09-08133-145/+154
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15948 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: fixed make alldodi2010-09-04149-315/+525
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15943 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: release candidate, ready for merging into trunk.dodi2010-08-193-9/+9
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15858 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: some cleanupdodi2010-08-1914-208/+2316
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15852 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: fixed PendingState during initializationdodi2010-08-187-121/+32
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15844 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: added preprocessordodi2010-08-183-104/+141
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15841 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: some cleanup, moved testcurobjectdodi2010-08-1811-172/+34
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15840 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: fixed systemunit initialization and more globalsdodi2010-08-187-19/+122
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15839 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: cleanup status variablesdodi2010-08-1732-212/+285
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15836 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: moved pendingstate into scanner and switches.pasdodi2010-08-1712-2388/+296
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15833 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: some cleanupdodi2010-08-156-51/+49
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15819 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: cleanup compile/compileMaindodi2010-08-155-130/+71
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15814 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: moved macrosymtablestack (clumsy)dodi2010-08-156-2/+141
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15813 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: some cleanupdodi2010-08-1412-243/+27
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15807 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: fixed further usages of current_settingsdodi2010-08-14104-417/+417
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15806 3ad0048d-3df7-0310-abae-a5850022a9f2
* NG: moved symtablestackdodi2010-08-147-6/+71
| | | | git-svn-id: http://svn.freepascal.org/svn/fpc/branches/dodi@15805 3ad0048d-3df7-0310-abae-a5850022a9f2