Re: m4-discuss Digest, Vol 72, Issue 1

daniel daniel <[email protected]>
Newsgroups gmane.comp.gnu.m4.general
Message-ID <CAF5U=ufT+B1GVE0sKojQ6aTpbcmbaOT7PDBX5XNGiN7vHeO=QA@mail.gmail.com>
Hi John, I had a little think about this, and the solution is quite easy:
1. cd to home directory, create a new sub-directory called m4proj, and cd
into that directory: # cd ~/; mkdir m4proj; cd m4proj
2. create your inputFile.m4 with the text: A word can expand to many
things.: # echo "A word can expand to many things.">inputFile.m4
3. open a text editor of your choice to create your def.m4 m4 file, and save
it with the following code:
define(word,term)`'define(many,a great `many')dnl
include(inputFile.m4)
4. run your code: m4 def.m4

Note how the inputFile.m4 is referred to via inclusion, so that if the
contents of that change, then the output changes!

Having a little think,
Daniel.

On Mon, Jul 18, 2011 at 4:10 AM, John Allsup <[email protected]> wrote:

> I've had a little think about this.  The simplest problem I can set you m4
> people is the task of writing
> a simple macro driven input that does the following:
>
> Given a source file in1.m4 which contains the following:
>    A word can expand to many things.
> and the file def.m4 which contains
>    define(word,term)define(many,a great `many')
> the challenge is to generate the output
>    The phrase 'A word can expand to many things' may be expanded to the
> following.
>        A term can expand to a great many things.
> using the simplest m4 input possible and by referring to the contents of
> the file via inclusion so that
> if the contents of the input file change, the output changes accordingly.
>
> Have a think.
>
> John
>
>
>
> On 18/07/11 03:57, John Calcote wrote:
>
>> Hi John,
>>
>> I see exactly what you want, but I'm not sure what you're asking for is
>> reasonable. Why would you want to run a file though a macro processor and
>> not have it process any macros? Given your original input files, "a" and
>> "b", consider this sequence of commands:
>>
>> cat a | m4>  out.txt
>> cat b>>  out.txt
>>
>> This would see to accomplish exactly what you want, wouldn't it?
>>
>> Regards,
>> John Calcote
>>
>> -----Original Message-----
>> From: m4-discuss-bounces+john.**[email protected]
>> [mailto:m4-discuss-bounces+**john.calcote<m4-discuss-bounces%2Bjohn.calcote>
>> [email protected]**] On Behalf Of
>> [email protected]
>> Sent: Sunday, July 17, 2011 10:00 AM
>> To: [email protected]
>> Subject: m4-discuss Digest, Vol 72, Issue 1
>>
>> Send m4-discuss mailing list submissions to
>>        [email protected]
>>
>> To subscribe or unsubscribe via the World Wide Web, visit
>>        https://lists.gnu.org/mailman/**listinfo/m4-discuss<https://lists.gnu.org/mailman/listinfo/m4-discuss>
>> or, via email, send a message with subject or body 'help' to
>>        [email protected]
>>
>> You can reach the person managing the list at
>>        [email protected]
>>
>> When replying, please edit your Subject line so it is more specific than
>> "Re: Contents of m4-discuss digest..."
>>
>>
>> Today's Topics:
>>
>>    1. Simple method of including a file that bypasses macro
>>       expansion (John Allsup (M4))
>>
>>
>> ------------------------------**------------------------------**
>> ----------
>>
>> Message: 1
>> Date: Sun, 17 Jul 2011 08:15:04 +0100 (BST)
>> From: "John Allsup (M4)"<[email protected]>
>> To: [email protected]
>> Subject: Simple method of including a file that bypasses macro
>>        expansion
>> Message-ID:
>>
>> <315299693.53381.**1310886904889.JavaMail.open-**
>> [email protected]<315299693.53381.1310886904889.JavaMail.open-xchange@oxltgw02.schlund.de>
>> >
>>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Hi,
>> ?
>> I am relatively new to m4, but can't seem to find an equivalent to include
>> that bypasses macro expansion.
>> ?
>> Suppose file 'a' contains
>> ? hello world
>> and file 'b' contains
>> ? goodbye world
>> and in my m4 I have defined
>> ? define(world,and).
>> I a macro which I will call 'oinclude' such that ? include(a) oinclude(b)
>> expands to ? hello and goodbye world.
>>
>> Is there a simple method?
>> ?
>> Thanks,
>> ?
>> John?
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>> URL:
>> </archive/html/m4-discuss/**attachments/20110717/1a5f3c41/**
>> attachment.html>
>>
>> End of m4-discuss Digest, Vol 72, Issue 1
>> *******************************************
>>
>>
>>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.