CodeSnip Old Code (SVN)
A repository for source code snippets, designed with Pascal in mind.
Brought to you by:
delphidabbler
{DONE -oSelf -cRefactor : Replace literal class names in EBug and Assert statements with ClassName method calls.} {DONE -oSelf -cImprovement : Redo enumerator in TWarings (UWarnings.pas) - can probably simplify greatly.} {DONE -oSelf -cImprovement : Rationalise error handling in UTaggedTextLexer - use exception rather than LastError properties. Also check how they bubble up the chain to snippets editor.} {DONE -oSelf -cRefactor : Extract common code in UDropDownButtons and UTVCheckBoxes into common base class.} {TODO -oSelf -cProposal : Consider what gesture support to add (needs Delphi 2010).} {TODO -oSelf -cRefactor : Rename identifiers that refer to "routine" with "snippet".} {TODO -oSelf -cProposal : UView - completely overhaul this unit (careful of assignements tho - check if this actually happens between different types (may need wrapper for various IView implementations?)} {TODO -oSelf -cProposal : Consider moving syntax highlighting setting (CSS builder) down into FrInfo from FrDetailView since comp check tab no longer uses highlighting} {TODO -oSelf -cProposal : Move Compile, View compile errors and configure compilers menu options to a new Compile menu?} {TODO -oSelf -cRefactor : See if we can pull out common HTML and REML code into SGML unit} {TODO -oSelf -cRefactor : Re-implement MakeSafeHTML in terms of a char entity class like that for REML? Use common base class with entities class in UREMLDataIO?} {TODO -oSelf -cRefactor : Merge the IO and UI manager code into WBController} {TODO -oSelf -cRefactor : Try to decouple UPageSetup, UPrintMgr and source code manager objects from associated dialog boxes} {TODO -oSelf -cFeature : Add parsing for standard user routine. Must start with procedure or function. Need to parse. Grammar is: <proc_proto> ::= "procedure" <ident> [<param_list>] ";" [<directives>] <fn_proto> ::= "function" <ident> [<param_list>] ":" <ident> ";" [<directives>] <param_list> ::= "(" <param_def> (*repeat ";" <param_def> *) ")" <param_def> ::= <ident> [ ":" <ident> ] <ident> ::= valid Pascal identifier <directives> ::= <directive> (*repeat ";" <directive> *) <directive> ::= "register" | "pascal" | "cdecl" | "stdcall" | "safecall" | "overload" Parsing for consts and types for our purpose is simple: <type-def> ::= "type" <definitions> <const-def> ::= "const" <definitions>}