Home | History | Annotate | Line # | Download | only in unit-tests
dollar.exp revision 1.1
      1  1.1  rillig 
      2  1.1  rillig Printing dollar from literals and variables
      3  1.1  rillig 
      4  1.1  rillig To survive the parser, a dollar character must be doubled.
      5  1.1  rillig        1 dollar literal => <\>
      6  1.1  rillig        2 dollar literal => <$>
      7  1.1  rillig        4 dollar literal => <$$>
      8  1.1  rillig Some hungry part of make eats all the dollars after a :U modifier.
      9  1.1  rillig        1 dollar default => <>
     10  1.1  rillig        2 dollar default => <>
     11  1.1  rillig        4 dollar default => <>
     12  1.1  rillig This works as expected.
     13  1.1  rillig       1 dollar variable => <>
     14  1.1  rillig       2 dollar variable => <$>
     15  1.1  rillig       4 dollar variable => <$$>
     16  1.1  rillig Some hungry part of make eats all the dollars after a :U modifier.
     17  1.1  rillig    1 dollar var-default => <>
     18  1.1  rillig    2 dollar var-default => <>
     19  1.1  rillig    4 dollar var-default => <>
     20  1.1  rillig 
     21  1.1  rillig Dollar in :S pattern
     22  1.1  rillig 
     23  1.1  rillig               S,$,word, => <$XYword>
     24  1.1  rillig              S,$X,word, => <$XY>
     25  1.1  rillig             S,$$X,word, => <$XY>
     26  1.1  rillig            S,$$$X,word, => <$XY>
     27  1.1  rillig          S,$X,replaced, => <replaced>
     28  1.1  rillig         S,$$X,replaced, => <replaced>
     29  1.1  rillig        S,$$$X,replaced, => <replaced>
     30  1.1  rillig 
     31  1.1  rillig Dollar in :C character class
     32  1.1  rillig 
     33  1.1  rillig The A is replaced because the $$ is reduced to a single $,
     34  1.1  rillig which is then resolved to the variable X with the value VAR_X.
     35  1.1  rillig The effective character class becomes [VAR_XY].
     36  1.1  rillig           C,[$XY],<&>,g => <$<A><X><Y>>
     37  1.1  rillig 
     38  1.1  rillig Dollar in :C pattern
     39  1.1  rillig 
     40  1.1  rillig For some reason, multiple dollars are folded into one.
     41  1.1  rillig               C,$,word, => <>
     42  1.1  rillig              C,$$,word, => <>
     43  1.1  rillig 
     44  1.1  rillig Dollar in :S replacement
     45  1.1  rillig 
     46  1.1  rillig For some reason, multiple dollars are folded into one.
     47  1.1  rillig            S,word,a$Xo, => <aVAR_Xo>
     48  1.1  rillig           S,word,a$$Xo, => <aVAR_Xo>
     49  1.1  rillig          S,word,a$$$Xo, => <aVAR_Xo>
     50  1.1  rillig exit status 0
     51