Własny język do tworzenia stron

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? :)

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ć.

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.

5

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

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)

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.

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

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

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.

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).

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 :/

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.

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