@JustJoinIT: Cześć Mirki i Mirabelki, przygotowaliśmy dla Was kolejne zestawienie wartościowych newsów. Techniczna wiedza na wyciągnięcie ręki! ( ͡° ͜ʖ ͡°)

-> Zapisz się na mirkolistę: https://mirkolisty.pvu.pl/list/kqLmWfjCV96YaWzk
-> AlertTag: #justnewsit

1 Dlaczego nigdy nie skończyłeś swojemu programu. Część 1 z nieskończenie wielu...
https://blog.plover.com/2018/09/03/

2 Przyspiesz używanie #python dzięki #rust
https://developers.redhat.com/blog/2017/11/16/speed-python-using-rust/

3 Wyciek ze stacji kosmicznej z powodowany wiertłem, a nie meteorytem. Tak twierdzi
Siemka,
Mam problem, otóż piszę program do analizy kodów źródłowych, i w String code mam kod źródłowy odczytaany z pliku.
Pierwszym zadaniem jest pozbycie się #include z początku String. Niestety nigdy nie wiem ile tych #include będzie.
Macie jakieś pomysły jak to zrobić ? Splitować jakoś ? aplikację piszę w javie i będzie obrabiała jedynie kody c++.
#cpp #java #parser
@DaxterPoker: rozbic na poszczegolne linie i albo szukac regexpem #[ ]*include[ ]+["<].*[">](niezbyt czesto pisze ale mniej wiecej cos takiego) albo zrob sobie sam prosty parser.

edit: ten regexp nie uwzglednia glupich bledow typu #include <asd.h"
Mam problem z ANTLRv4 otóż, potrzebuje posortować alfabetycznie nody w drzewie które zwraca mi ANTLR.

Klasa z implementacją ANTLR: https://pastebin.com/WqyPWg8c

Przykładowe drzewo które chciał bym posortować : http://imgur.com/a/tufRL

ANTLR'a mam już dość dlatego chciałem otrzymane drzewo przenieść na własną strukturę drzewa, gdzie będe mógł sobie implementować własne metody a w trakcie przenoszenia układać nody alfabetycznie. Mój zamysł : zczytywać pokolei dzieci drzewa ANTLR i zapisywać je w ArrayList, posortować listę i kolejno
Mireczki mam pytanie, zrobiłem importer w PHP, który obsługiwał małe pliki XML, teraz przyszedł plik który ma 30 000 linii i niestety ten importer nie wyrabia (dużo akcji się dzieje na każdym rekordzie), a robiłem to tym sposobem https://www.w3schools.com/php/php_xml_simplexml_read.asp

Niestety teraz już wiem, że nie jest to najoptymalniejszy sposób do parsowania XML i muszę podzielić sobie te pliki na mniejsze i wtedy uruchamiać mój importer - moje pytanie brzmi: Jaką metodę polecacie
@jaskowice1: link wyżej masz odpowiedź: https://www.w3schools.com/php/php_xml_parsers.asp

Tree-based parsers holds the entire document in Memory and transforms the XML document into a Tree structure. It analyzes the whole document, and provides access to the Tree elements (DOM).

Example of tree-based parsers:


SimpleXML

DOM

Event-based parsers do not hold the entire document in Memory, instead, they read in one node at a time and allow you to interact with in real time. Once
@sylwke3100: Powiem najprościej, od czego bym zaczął. Masz u siebie

for


for
i drabinkę if-else. Na początek: wydziel to, co każdy

if
robi do osobnej metody. I nazwij tę metodę rozsądnie. To na początek pracy z tym kodem, który masz.

Ale tak naprawdę zjeb jest już na poziomie projektowym. Co to jest?

class CristallParser : public CristallGrammar, CristallValues, CristallDetectTools
To mówi, że parser jest gramatyką (WTF?), wartościami (WTF??) i czymś,
@Rincewind: Nie, parser dziedziczy metody po klasie do Obsługi Gramatyki oraz po klasie do Obsługi Wyniku (CristallValues) oraz po detectTools (klasa zajmująca się sprawdzaniem wyrażeń )

Wiem że jest zepsute bo ja się wzorcami i całą tą projektową zabawą nie zajmowałem wcześniej gdyż ten parser miałbyć tylko z zamysłu do interpretera ale że zacząłem go bardziej rozwijać to niestety burdel się zrobił taki jaki widzisz. A chciałbym to z kimś sensownie
Witajcie

Chciałbym szerszej publiczności zaprezentować mój parserek w formie biblioteczki(w którym trochę mi pomagał @KrzaQ2). Obecnie jego możliwości są skromne. Potrafi:

- Rozpoznawać tekst, liczby całkowite, liczby zmiennoprzecinkowe (do wyboru przecinek bądź kropka jako serparator), znaki alfanumeryczne oraz inne które sobie ustalimy

- Szukać w znalezionych danych konkretnych ciągów znaków

- Wykonywać zapytanie w zapytaniu

Parserek jest napisany w C++. Kod staram się by był w miarę przejrzysty (ale wiadomo jak
@sylwke3100: Jak nie zaczniesz pisać, to się nie nauczysz. To jest naprawdę proste:

1. Napisz kod, który wywołuje jakąś funkcjonalność

2. Efektem tego jest powstanie pewnych struktur danych

3. Sprawdź, czy struktury są zgodne z oczekiwaniami

Skoro masz problem z "wykrywaniem" kropki skonstruuj test tak, by program wprowadzał tę kropkę i sprawdzał, czy jest wykrywana. Proste.