[SP-pm] [OFF-TOPIC] Masturbações Mentais sobre Undefined Behavior

Eden Cardim edencardim at gmail.com
Mon Feb 14 16:23:27 PST 2011


>>>>> "Stanislaw" == Stanislaw Pusep <creaktive em gmail.com> writes:

    Stanislaw> Não sei pq, mas lembrei da seguinte sintaxe, compilável em Perl:
    -f> @+?*<.-&'_:$#/%!

Não vi a relação disso com o post original, todas as construções
semânticas que você usou aí são bem definidas em perl, vamos lá:

-f  # função sem argumento, usa $_ por padrão
    # documentado em perldoc -f -f
    # usado como operando esquerdo do
 >  # operador binário "maior que" numérico
    # documentado e definido em  perldoc perlop
 @+ # AKA @LAST_MATCH_END, armazena os índices do último match de regex
    # no escopo atual, usado como operando direito em contexto numérico
    # documentado e definido em perldoc perlvar

 ?  # primeiro caracter do operador ternário "?:" (if-else)
    # usa o resultado do operador ">" anterior como operando esquerdo
    # documentado e definido em perldoc perldoc

 *  # operador de dereferenciação de tipo prefixado (sigil) do tipo glob
    # documentado e definido em perldoc perldata
 <  # nome do glob referenciado pelo "*"
    # AKA REAL_USER_ID, AKA UID
    # documentada e definida em perldoc perlvar
    # usado como operando esquerdo do
 .  # operador binário de concatenação
    # documentado e definido em perldoc perlop 

 -  # operador unário de negação aritmética
    # documentado e definido em perldoc perlop

 &  # operador de dereferenciação de tipo prefixado (sigil)
    # do tipo subrotina
    # documentado e definido em perldoc perlsub

 '  # delimitador de pacote, é equivalente a "::"
    # (obsoleto desde o perl 4 mas mantido por retro-compatibilidade)
    # documentado e definido em perldoc -f package

 _  # nome da variável referenciada pelo operador "&"

 :  # segundo caracter do operador ternário "?:" (if-else)
    # documentado e definido em perldoc perlop

 $  # operador de deferenciação de tipo prefixado (sigil)
    # do tipo escalar
    # definido e documentado em perldoc perldata
 #  # variável especial de formatação de números
    # (obsoleta desde o perl 5.10)
    # documentada e definida em perldoc perlvar
    # usado como operando esquerdo do
 /  # operador binário de divisão aritmética

 %  # operador de dereferenciação de tipo prefixado (sigil)
    # do tipo hash
    # definido e documentado em perldoc perlvar

 !  # AKA OS_ERROR, AKA ERRNO
    # documentada e definida em perldoc perlvar
    # usada como operando direito do operador "/"

Faltou alguma coisa? Onde está o comportamento não-definido?

-- 
Eden Cardim
Software Engineer
+55 73 9986-3963
edencardim.com


More information about the SaoPaulo-pm mailing list