[SP-pm] SaoPaulo-pm Digest, Vol 71, Issue 49

Pinguim Azul bluepenguin at gmail.com
Fri Aug 20 12:43:48 PDT 2010


2010/8/20 Eden Cardim <edencardim at gmail.com>:
> Ok, mas "Vamos ali" não vai gerar uma árvore sintática ambígua, vai
> gerar uma árvore contendo um token VERBO seguido de um token ADVERBIO (a
> não ser que você esteja considerando que "Vamos" é um NOME_PROPRIO
> válido). E depois na avaliação de semântica o compilador iria incluir um
> SUJEITO_OCULTO na árvore (é o que perl faz com "print()" sem
> argumentos). Se você respondeu "Onde?" é porque você conseguiu construir
> a árvore sintática. Acho que é nesse sentido que o OP quis expressar a
> "tendência a se aproximar de linguagens humanas"

Pois é, mas ainda não é suficiente pra avaliar quem é o destino do
verbo vamos né? Um compilador não conseguiria gerar código porque
falta um parâmetro, então o melhor que ele pode fazer é escolher um
parâmetro arbitrariamente (*)

Se fosse Perl, o destino implicitamente seria $_, como é no split, mas
eu não gosto disso nos meus programas (quer dizer, nos meus programas
que não são pra concursos de shortest code). Aqui no trabalho é normal
eu ter que ler código escrito em várias linguagens, incluindo algumas
que eu não conheço; e o código que não tem nada implícito eu consigo
entender mesmo que não nunca tenha visto a linguagem antes.

Mas agora estamos no gosto pessoal, depende dos constraints de cada um.

(*) Quer dizer, tudo isso é pra linguagens eager. Uma linguagem lazy
como Haskell poderia segurar o "ali" por mais tempo, mas embora ele
compile, ele não consegue avaliar a expressão até alguem dizer pra ele
onde fica o tal do ali.

-- 
Ricardo Bittencourt
http://www.ricbit.com


More information about the SaoPaulo-pm mailing list