Clojurians
#clojure-italy
<
2018-01-15
>

This page is not created by, affiliated with, or supported by Slack Technologies, Inc.

reborg10:01:16

giorno gente

bronsa10:01:22

@richiardiandrea intendi tools.reader?

richiardiandrea17:01:58

si scusa che ho scritto :smile:

richiardiandrea17:01:42

voglio scrivere un parser, ma mi sembra che ci sia in giro abbastanza per ridurre l'ammontare di lavoro

richiardiandrea17:01:47

sto leggendo tools.reader e mi piacerebbe generalizzarlo cosi' che possa diventare "pluggabile"...pensavo producesse gia' un AST, ma sembra che ritorni direttamente strutture e data "nativi" (`garray` per JS per esempio)

bronsa17:01:14

si`, tools.reader non e` propriamente un parser

bronsa17:01:35

o meglio, ha un recursive descent parser ma non passa mai per un’AST

bronsa17:01:54

https://dev.clojure.org/jira/browse/TRDR-49 c’e` richiesta per un parser in mezzo

bronsa17:01:06

ma per ora non ho ancora avuto tempo, anche se e` decisamente qualcosa che mi interesserebbe fare

richiardiandrea17:01:42

:smile: grazie, si mi sembrava che fosse qualcosa di gia' chiesto :smile:

bronsa17:01:40

per invece la parte di domanda riguardando il “compilatore”, da quel lato c’e` tools.analyzer che produce effettivamente un AST agnostica

bronsa17:01:47

ma sempre partendo da EDN, non da un parse tree

richiardiandrea17:01:24

si non e' mai probabilmente servito l'anello di congiunzione tra i due

richiardiandrea17:01:48

sono sicuro che Colin ha scritto esattamente quello per Intellij

bronsa17:01:07

un parser? indubbiamente

bronsa17:01:14

ma ce ne sono un tot di parser clojure su github eh

richiardiandrea17:01:37

ah davvero? ok allora cerco meglio

richiardiandrea17:01:50

forse Joker fa parsing adesso che ci penso

bronsa17:01:18

per esmpio uno che ho scritto io molti anni fa usando parsley https://github.com/Bronsa/om/blob/master/src/om/parser/grammar.clj#L4

bronsa17:01:42

(ora incompleto visto che era per 1.3)

richiardiandrea17:01:25

eh ma a me in teoria serve in C

richiardiandrea17:01:53

cerco meglio, sono sicuro che qualche linter lo fa gia'

bronsa17:01:06

si` certo ti stavo dando uno spunto in caso non trovassi di prefatto :)

richiardiandrea17:01:28

grazie grazie :smile:

richiardiandrea17:01:16

scritto in un file .org!

bronsa17:01:28

ah, stavo cercando il sorgente e non lo trovavo :)

bronsa17:01:49

usa comunque il reader di clojure

richiardiandrea18:01:52

@bronsa grazie, pensavo a cljs perche' piu' facile da integrare in C...ma non so ancora, mi serve piu' hammock time :smile: