Własny język do tworzenia stron

Własny język do tworzenia stron
Piotr Bednarski
  • Rejestracja:prawie 6 lat
  • Ostatnio:ponad 5 lat
  • Postów:9
0

Nie piszcie że tworzenie własnego języka to duża trudność i to nie jest takie proste bo mam już za sobą jeden własny język programowania, język skryptowy jak i kilka kompilatorów, lub translatorów.

Chciałbym stworzyć język "znaczników" taki jak HTML lub rozszerzenie do języka JavaScript pozwalające na ingerencje w komputer użytkownika np. pobieranie tekstu z pliku z dowolnej ścieżki bez potrzeby wyrażania zgody.
Mam tylko pytanie jak działają takie języki jak HTML i JavaScript?, oczywiście są one wspierane od przeglądarki i to przeglądarka je uruchamia ale co bym musiał zrobić żeby przeglądarka uruchamiała moje skrypty i mój własny język? :)

Zobacz pozostałe 4 komentarze
Silv
@Piotr Bednarski: ale czy ja dobrze zrozumiałem?
somedev
Heh - ciekawe jak namówi do instalacji tego. To będzie przez pierwsze 5 lat dziurawe jak sito i to pod warunkiem udziału ekipy kilkudziesięciu programistów bo w pojedynkę nie zobaczymy pierwszej wersji która nie padnie w godzinę po publikacji.
cerrato
Jak namówić? Moim zdaniem wystarczy wielki, czerwono-zielony banner z napisem "kliknij tutaj, żebym mógł bez twojej wiedzy grzebać Ci w Twoich plikach na dysku". Już widzę te setki milionów zainteresowanych osób :D
KamilAdam
@light Czy THC nawiązuje jakoś do GHC?
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:41 minut
  • Lokalizacja:Poznań
  • Postów:8797
14

W sumie to jest dość proste, powiedziałbym że nawet trywialne.

Wystarczy, że stworzysz swój język, potem sprawisz, że stanie się dominującym w WWW standardem, a wtedy producenci wszystkich przeglądarek sami będą zabiegać o to, żeby skrypty pisane w twoim języku dało się u nich odpalić.


somedev
  • Rejestracja:prawie 7 lat
  • Ostatnio:prawie 5 lat
  • Postów:666
6

No silnik przeglądarki musi obsłużyć znaczniki Twojego języka. Niemniej to co piszesz to jedna wielka luka bezpieczeństwa. Zresztą to nic nowego. Microsoft swojego czasu wydał activex i można było pisać aplikacje działające po stronie klienta w c#. Stoi ma tym wiele korpo softów dlatego IE żyje. Niemniej odchodzi się już dawno od tego. Nie ma co ze strony robic aplikacji desktopowej. Dla zadań heavy duty zawsze będą aplikacje standalone natywne.

mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
5

No jak to co? Musisz napisać swoją przeglądarkę która będzie potrafiła interpretować twój język.


It's All About the Game.
AK
  • Rejestracja:prawie 7 lat
  • Ostatnio:około miesiąc
  • Postów:3561
3

Kolega Piotr jakby łączy i myli dwa zagadnienia
a) alternatywny język
b) przeglądarkę nie mającą blokady do plików
Jedno nie jest związane z drugi. Ja tu wyczuwam Problem XY. Jaki RZECZYWISTY problem ma to rozwiązywać.

Współczesne przeglądarki są w większości projektami open-source. Nie jest koncepcyjnie trudne pobrać źródła, znaleźć, spatchować, skompilować (choć również uważam, że to dziura)


Bo C to najlepszy język, każdy uczeń ci to powie
Yukiteru Gromadzki
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad rok
  • Postów:192
1

No to sobie wybrałeś zajęcie....

Jedyne opcje jakie widzę to:
a) Napisać translator TwójJęzyk>JS (I zapomnieć o ingerowaniu w maszyne | Albo działać tylko w IE)
b) Napisać własną przeglądarke, czyli:
- Parser HTML
- Parser, silnik JS
- Parser, css
- Renderer wszystkiego (OpenGL/DirectX/Vulcan)

c) Przerobić istniejący kod przeglądarki tak aby wspierała to co chcesz

...aaa jeżeli chcesz po prostu czytać pliki to po prostu pobierz jakąś starą wersję przeglądarki która ma masę luk.....

EDIT: Jeżeli chciałbyś tylko customowe znaczniki to możesz je obsłużyć w Js'ie.

edytowany 3x, ostatnio: Yukiteru Gromadzki
elwis
  • Rejestracja:ponad 18 lat
  • Ostatnio:4 dni
2

No, to jedna wielka dziura bezpieczeństwa, to prawda. Choć nie jestem pewny czy rzeczywiście trzeba modyfikować przegladarkę, może wystarczyłoby napisać wtyczkę? A tak poza tym ingerowaniem w system plików bez pytania wystarczyłby chyba zwykły translator do javascriptu/htmla. To da się zrobić. Pierwsze co przychodzi do głowy do flex i bison, nie wiem czy wynaleziono juz coś lepszego. No, w sumie do XMLa jest XSLT, ale nie wiem czy to lepsze niż flex i bison. :P


edytowany 1x, ostatnio: elwis
cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:41 minut
  • Lokalizacja:Poznań
  • Postów:8797
2

A tak poza tym ingerowaniem w system plików bez pytania wystarczyłby chyba zwykły translator

Tylko mam wrażenie, że właśnie głównie o to grzebanie na dysku chodzi pytającemu :D


elwis
Dlatego nie piszemy, że pewnie przeglądarki mają swoje bugi i znając życie, dałoby się to zaimplementować w JS. xD Jednak zrobienie tego przenośnym to już ciężka sprawa.
PerlMonk
  • Rejestracja:około 6 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa 🐪
  • Postów:1719
8

Jak to możliwe, że autor tematu ma za sobą język programowania a nie wie jak stworzyć kolejny? Może zioło się skończyło.


Nie sztuka uciec gdy w dupie sztuciec. 🐪🐪🐪
RG
Zioło odpada. To coś silniejszego się skończyło.
ankiedos
  • Rejestracja:prawie 4 lata
  • Ostatnio:ponad 2 lata
  • Postów:1
0

Trochę późno piszę, ale... można w SGMLu język znaczników stworzyć. 1. HTMLa w nim stworzono; 2. jest bardziej rozbudowany od XMLa (który również powstał właśnie w SGMLu).

DP
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:159
3
Piotr Bednarski napisał(a):

Nie piszcie że tworzenie własnego języka to duża trudność i to nie jest takie proste bo mam już za sobą jeden własny język programowania, język skryptowy ...

Mam tylko pytanie jak działają takie języki jak HTML i JavaScript?

Najpierw piszesz, że napisałeś język skryptowy, a potem pytasz jak to działa JS :/

DP
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:159
1

https://blog.comandeer.pl/bujajac-sie-na-galezi-ast.html
https://blog.sessionstack.com/how-javascript-works-parsing-abstract-syntax-trees-asts-5-tips-on-how-to-minimize-parse-time-abfcf7e8a0c8
https://itnext.io/ast-for-javascript-developers-3e79aeb08343
https://github.com/estree/estree

Ale chodziło Tobie o nakładkę na JS albo template ?

  • peter.michaux.ca/articles/javascript-template-libraries

  • webcodegeeks.com/javascript/templating-in-javascript/

  • code.google.com/p/trimpath/wiki/JavaScriptTemplates

  • code.google.com/p/trimpath/wiki/JavaScriptTemplateAPI

  • ejohn.org/blog/javascript-micro-templating/

  • flippinawesome.org/2014/03/24/string-templating-considered-harmful/

  • code.tutsplus.com/tutorials/best-practices-when-working-with-javascript-templates--net-28364

  • strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/

  • github.com/ohanhi/hyperscript-helpers - Terse syntax for hyperscript.

edytowany 1x, ostatnio: donPietro

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.