NEO 541 Опубликовано: 30 марта, 2017 (изменено) Сегодня решил написать html парсер, суть его такова, распарсить теги, построить дерево, уметь определять атрибуты key=value и текст в теге. Пока есть мысли сделать примитивную программу для отображения дерева из тегов, браузером можно назвать, с натяжкой. P.S Кто там кричал про интернет и веб сайты? Присоединяйтесь. Гитхаб. https://github.com/Avaja/html-parser Изменено 30 марта, 2017 пользователем NEO 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
FluttyProger 84 Опубликовано: 30 марта, 2017 Круто! Главное не забрасывай это дело) Отправлено с моего HTC Desire 526G dual sim через Tapatalk Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 31 марта, 2017 (изменено) А что, предполагается этот браузер будет странички из реального Интернета тянуть и отображать? А как быть с графикой? Я б присоединился если задачу сформулируешь. return s:match"^%s*(.*)":match"(.-)%s*$" эквивалентно return s:match"^%s*(.-)%s*$" function nextWord(str) local word = '' while pos <= str_len do local char = string.sub(str, pos, pos) if char ~= ' ' and char ~= '>' then word = word .. char else return word, char == ' ' end pos = pos + 1 end return nil end эквивалентно function nextWord(str) local word word,pos=str:match("([^%s>]*)()",pos) -- или как-то так return word end Это я умничаю Изменено 31 марта, 2017 пользователем Zer0Galaxy 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 31 марта, 2017 А графику кстати Лёха пилил. Всякие кастомные шрифты, быструю отрисовку картинок и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 31 марта, 2017 Мы про ОС говорим? Какие там еще шрифты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 31 марта, 2017 Об OC. Обыкновенные шрифты. Текст можно набирать ими, если что. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 31 марта, 2017 Мы про ОС говорим? Какие там еще шрифты? Я щас скринов не найду, надо у Лёхи просить. Он там рендерил шрифты с помощью символов Брайля. Получалось очень даже ничего. Можно заюзать для отрисовки, например, хедеров. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 31 марта, 2017 А что, предполагается этот браузер будет странички из реального Интернета тянуть и отображать? А как быть с графикой? Я б присоединился если задачу сформулируешь. Я не думаю что из реального интернета есть смысл что - то тянуть, тут больше смысл сделать еще одну причину использовать сети в ОС P.S Плюс мне интересно как работают браузеры, парсеры и тд. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 31 марта, 2017 Я не думаю что из реального интернета есть смысл что - то тянуть, тут больше смысл сделать еще одну причину использовать сети в ОС P.S Плюс мне интересно как работают браузеры, парсеры и тд. Тут надо определиться IMHO. Потому что в контексте сетей в ОС нет смысла использовать всю громаду реального HTML. Возможно стоит реализовать "форк" с урезанными и адаптированными тегами, или вовсе запилить свой язык разметки (типа того, что делал я для инфопанели). 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 31 марта, 2017 Тут надо определиться IMHO. Потому что в контексте сетей в ОС нет смысла использовать всю громаду реального HTML. Возможно стоит реализовать "форк" с урезанными и адаптированными тегами, или вовсе запилить свой язык разметки (типа того, что делал я для инфопанели). Да, я это и планирую, такой язык разметки не будет поддерживать все теги из реального HTML, а только те что сделают нормальный вывод текстовой информации, конечно можно еще картинки добавить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 31 марта, 2017 В идеале надо ещё прикрутить стили в каком-то виде, чтобы юзать цвета и форматировать текст (отступы, колонки, блоки - всё такое). Разные элементы типа текстбоксов и кнопок. Ну и если скооперироваться с Лёхой, можно ещё нахреначить хедеров разного размера и разными шрифтами. А самый шик будет, если добавить возможность скриптовать странички на Луа. (Типа как JS в реальном вебе. Анимации делать всякие, формочки и т.п.) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 31 марта, 2017 (изменено) Вот только кто всё это юзать будет. Мы с Крутым это проходили Или возрождаем OpenNet? Изменено 31 марта, 2017 пользователем Zer0Galaxy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 31 марта, 2017 Вот только кто всё это юзать будет. Мы с Крутым это проходили Или возрождаем OpenNet? Мне интересно написать браузер, а будут ли пользоваться мне всё равно. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ALeXeR 67 Опубликовано: 31 марта, 2017 (изменено) пили XML парсер) его потом под HTML не представляет труда подстроить) странички из реального Интернета тянуть и отображать? не обязательно с инета) в конце-концов вебсервер в ОС запилить можно) с бекендом на lua) ну а зачем нам шрифты? как бы парсер HTML к этому мало что имеет, ну а если говорить о браузере - то links например юзает статический шрифт) Изменено 31 марта, 2017 пользователем ALeXeR Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 31 марта, 2017 ну а зачем нам шрифты? как бы парсер HTML к этому мало что имеет, ну а если говорить о браузере - то links например юзает статический шрифт) Потому что это круто. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 5 апреля, 2017 https://hastebin.com/dofafotabe.xml 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 154 Опубликовано: 6 апреля, 2017 @@NEO, для начала сгодится, но для большей совместимости с HTML цвет в шестнадцатеричном виде лучше указать не через 0x, а #. И пробел перед ld лишний. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 10 апреля, 2017 (изменено) Parser и lexer были переписаны на moonscript Изменено 10 апреля, 2017 пользователем NEO 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
MeXaN1cK 53 Опубликовано: 10 апреля, 2017 Нео, все конечно круто, и даже очень, но вот 1 вещь меня беспокоит: приведи пример использования твоих "лунных" библиотек. =) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO Автор темы 541 Опубликовано: 10 апреля, 2017 Нео, все конечно круто, и даже очень, но вот 1 вещь меня беспокоит: приведи пример использования твоих "лунных" библиотек. =) Хочу позже сделать движок который будет отображать документ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах