alexey-t / econtrol Goto Github PK
View Code? Open in Web Editor NEWSyntax parser from EControl SDK, ported to Lazarus
Syntax parser from EControl SDK, ported to Lazarus
This is the base code of EControl Syntax Editor SDK http://econtrol.ru Ported from Delphi to Lazarus, requires ATSynEdit package. Code contains: - syntax parser - grammar parser - regex engine (parser requires it, it cannot use FPC RegExpr unit) - lexer manager (linked list of lexers) Code does not contain: - SyntaxMemo control - ecMemoStrings class - popup listbox classes - other visual controls Code is modified, to work with ATSynEdit (ecMemoStrings class deleted, replaced with ATStringBuffer class [same methods, much less code]). LICENSE EControl author [Michael Zakharov] gave permission to use this code (modified for ATSynEdit) only inside **open source** projects. It's NOT ALLOWED to use this code in closed source. For usage in closed source, you must buy a license from EControl (for full code). Copyright (c) 2004-2015, EControl Copyright for added parts (c) 2015 Alexey Torgashin, UVviewsoft.com
todo:
init LastChangePos=-1
on TextChanged(NewPos)
if LastChangePos>=0:
LastChangePos = Min(LastChangePos, NewPos)
else:
LastChangePos = NewChangePos
run from LastChangePos
forget LastChangePos=-1 only on parse finished!!
--> test it on 3M pascal file-
edit at begin, it parses 10sec, edit fast at end
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.