Algorytm kolorowania składni w JavaScript

0

Mam na zaliczenie napisać jakąś stronę internetową, wraz ze skryptem do niej w JavaScripcie. Na początku myślałem o arkanoidzie, ale moja wiedza o tym języku okazała się zbyt mała. Myślałem potem o "kolorowaczu składni C/C++ lub innego języka". Tylko nie za bardzo wiem w jaki sposób taki program miałby działać.

Proszę o podpowiedź - chodzi mi o algorytm dla kolorowacza składni. No bo mógłbym np. wczytać do zmiennej zawartość całego kodu programu do pokolorowania. Ale co potem. Mógłbym później rozdzielić - za pomocą metody split() - kod na poszczególne wyrazy. Ale co potem?

Proszę o podpowiedź.

0

Ja napisałbym prosty skaner tokenów; w tablicy trzymałbym, jaki token ma mieć jaki kolor tekstu (np.token _NUMBER na być niebieski itp.), a potem tylko zgodnie z tym kolorował tekst.
Ale imho, pisanie takiego czegoś w JS nie ma zbyt dużo sensu...

0

No dobrze, dzięki, ale w jaki sposób to zrobić? Jak pokolorować tylko fragment tekstu, jaki znajduje się w danym znaczniku?

Powiedzmy, że mam w tablicy wszystkie słowa kluczowe. Jak wyodrębnić z tekstu je a potem scalić tak, by wyglądało jak przed rozdzieleniem?

Np. jak będzie:
int x = 3;
To żeby nie zamienił np. na:
int x=3;

i odwrotnie
?

0

raczej rób to wyrażeniami regularnymi
ewentualnie leć po znaku - tak może być nawet szybciej i łatwiej, w przypadku bardziej złożonej składni; a regexpy mogą się stać zbyt złożone i trudne do debugowania
wyodrębnienie słów z pominięciem spacji nie jest najlepszym pomysłem jeśli chcesz te spacje zachować - sam przyznasz... musiałbyś trzymać osobno dane o wszystkich białych znakach - bezsensowne

tu masz 9 gotowych projektów kolorowania składni w javascript - http://www.webdesignbooth.com/9-useful-javascript-syntax-highlighting-scripts/
podejrzyj jak działają

poza tym - zrobienie arkanoida jest imho prostsze niż zrobienie dobrego kolorowania składni... a na pewno przyjemniejsze

1

wg. mnie arkanoid będzie dużo łatwiejszy

1 użytkowników online, w tym zalogowanych: 0, gości: 1